인터넷은 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크이다.
네트워크 가장자리
인터넷의 모든 장치(데스크톱 PC, 리눅스 서버, 스마트폰, 태플릿, TV, 게임 콘솔 등)은 호스트 혹은 종단 시스템이라고 불린다.
데이터 전송 기초
종단 시스템은 통신 링크와 패킷 스위치가 있는 네트워크로 연결된다.
통신 링크에서는 다양한 전송률을 이용해서 패킷을 전송한다.
전송할 데이터가 만들어지면 종단 시스템에서 해당 데이터를 세그먼트로 나누고, 각 세그먼트에 헤더를 붙인다.
이렇게 만들어진 정보는 '패킷' 이라고 불리며 목적지까지 전송된다.
패킷 스위치는 라우터와 링크 계층 스위치를 가장 널리 사용한다. 스위치는 최종 목적지 방향에 있는 통신 링크로 패킷을 전달한다. 링크 계층 스위치는 보통 엑세스 네트워크(종단 시스템에서 첫 번째 패킷 스위치로 가는 네트워크)에서 사용되고, 라우터는 네트워크 코어(패킷 스위치들과 링크들의 연결 망)에서 사용된다.
프로토콜이란?
네트워크에서의 프로토콜의 정의는 아래와 같다.
둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들이 정의 된 것
프로토콜을 사람이 사용하는 경우를 알아보자.
우리가 사람들과 대화할 때는 항상 일련의 프로토콜에 정의된 행동을 하게 된다.
A : 안녕하세요?
B : 안녕하세요!
A : 점심 뭐 드셨어요?
B : 불고기 먹었어요
위와 같은 대화가 자연스러운 맥락을 이루고 있는 이유가 A, B 사람이 프로토콜을 지키며 대화를 했기 때문이다. 우리는 특정한 메시지를 상대방에게 보내고 상대방은 수신된 메시지에 대응하는 특정한 행동, 말이 있는데 이를 사람간의 대화에 존재하는 프로토콜이라고 할 수 있다.
이제 네트워크에서의 프로토콜을 알아보자
네트워크에서의 프로토콜 중에서는 HTTP 프로토콜이 대표적이다.
우리가 웹브라우저에 웹 페이지의 URL을 입력하면 어떤일이 발생할까? URL에 해당하는 웹 페이지를 요청하면 웹 서버는 요청 메시지를 받고, 응답 메시지를 다시 브라우저로 보낸다. 이 때 GET 요청이 보내진 것이고 우리는 원하는 웹 페이지를 서버로 부터 받을 수 있는 것이다.
클라이언트가 URL을 GET으로 보내면 -> 서버는 URL에 해당하는 자원을 넘겨준다.
위와 같은 과정에 대한 클라이언트의 요청은 GET, POST, PUT, DELETE 등으로 다양하게 약속되어있다. 이러한 약속을 HTTP 프로토콜이라고 한다.
Access Network
접속 네트워크(access-network)는 한 종단 시스템을 다른 종단 시스템으로 가는 경로상에 있는 첫 번째 라우터에 연결하는 네트워크이다.
그림에서 초록색 부분에 해당한다고 볼 수 있다. 쉽게 생각하자면 컴퓨터에 연결하는 랜선이라고 볼 수 있다. 휴대폰에서는 와이파이를 예로 들 수 있다.
가정에서의 접속 네트워크를 알아보자 (residential access network)
가장 널리 보급된 광대역 가정 접속 유형은 DSL(digital sub-scriber line)과 케이블이다.
1. DSL
기존의 전화 회선(꼬임쌍선)을 사용한 네트워크이다.
사람의 목소리는 아무리 고주파라도 4kHz까지의 파형을 통해서 모두 전달이 가능하다. 따라서 사람의 목소리와 네트워크 디지털 신호를 구분해서 전달할 수 있다. 이렇게 둘을 구분해 주는 역할이 스플리터 라는 장치이다. 스플리터를 통해서 변환된 주파수가 중앙국(CO)의 DSLAM에 도착하게되고 이 장치는 파형을 구분해 사람의 목소리는 전화망으로 내보내고 그 이상의 주파수를 가진 데이터는 인터넷으로 내보내게 된다.
DSLAM(Digital Subscriber Line Access Multiplexer)은 DSL 모뎀에서 송수신되는 데이터를 모아 다시 DSL가정 네트워크로 전송하는 DSL 접속을 위한 다중화 장비다.
업스트림(upstream) : 클라이언트에서 서버로 보내지는 데이터 또는 보내는 것을 의미한다.
다운스트림(downstream) : 반대로 서버에서 로컬 기기로 전송되는 데이터의 흐름을 말한다.
- 고속 다운스트림 채널 : 50kHz ~ 1MHz
- 중간 속도의 업 스트림 채널 : 4 ~ 50kHz
- 일반적인 양방향 전화 채널 : 0 ~ 4kHz
이 방식은 단일 DSL 링크로 3개의 분리된 데이터를 한 번에 전송할 수 있다.
DSL 표준
다운스트림 : 12Mbps, 55Mbps
업스트림 : 1.8Mbps, 15Mbps
표준은 위와 같지만 CO가 의도적으로 전송속도를 줄일 수 있고, 가정과 CO간의 거리에 따라 속도가 달라질 수 있으며, 꼬임쌍선의 규격 및 전기적 간섭의 정도에 따라 제한될 수 있다.
2. 케이블
우리가 쓰는 와이파이나 인터넷 대부분이 케이블일 것이다.
케이블 인터넷은 케이블 TV회사의 기존 기반구조를 이용한다. 가정은 케이블 TV서비스를 제공하는 같은 회사로부터 인터넷 접속 서비스를 받는다.(ex)KT, LGU+)
광케이블을 통해서 전송된 데이터는 광 노드를 거쳐서 동축 케이블로 이동하고, 가정으로 데이터를 전송한다. 이와같이 광케이블과 동축케이블 모두를 사용하는 방식은 HFC(Hybrid Fiber Coax)라고 한다.
케이블 인터넷 접속은 케이블 모뎀이라고 하는 특별한 모뎀이 필요하다. 보통 외장형 장치이고 이더넷(유선 네트워크 인터페이스) 포트를 통해서 가정 PC에 연결된다.
DSL에서의 CO와 비슷한 역할을 하는 곳을 케이블 헤드엔드라고 한다. 그리고 DSLAM과 비슷한 역할을 하는 것을 CMTS(cable madem termination system)라고 한다.
(접속이 비대칭, 보통 다운스트림 채널이 업스트림 채널보다 빠른 전송속도 할당)
케이블 표준 - DOCSIS(Data Over Cable Service Interface Specification)
DOCSIS 2.0 표준은 다운스트림 속도를 최대 42.8MHz, 업스트림 속도를 30.7MHz로 정의한다.
케이블의 중요한 특성은 공유 방송 매체라는 것이다. 헤드엔드가 보낸 모든 패킷이 모든 링크의 다운스트림 채널을 통해 모든 가정으로 전달되고 가정에서 보낸 모든 패킷은 업스트림을 채널을 통해 헤드엔드로 전달된다.
3. FTTH(Fiber To The Home)
DSL과 케이블보다 빠른 속도를 제공하는 미래 기술은 FTTH이다. FTTH의 개념은 말 그대로 HFC방식이 아니라 가정까지 광케이블이 직접 연결된다는 것이다. 우리나라에서 가장 일반적인 인터넷 사용형식이다. DSL이나 케이블보다 전달할 수 있는 데이터 양이 훨씬 많다.
기업 또는 가정에서의 접속 네트워크를 알아보자
1. LAN
LAN(local area network)은 일반적으로 종단 시스템의 가장자리 라우터에 연결하기 위해 사용한다.
여러 LAN 기술 중에서, 이더넷(LAN카드)이 기업, 대학, 홈 네트워크에서 가장 널리 사용되는 접속 기술이다.
이더넷 스위치(이더넷 프레임(같은 네트워크 내부에 전달한 정보가 있는 컨테이너)을 올바르게 전달하는 장비)라는 장비에 연결하기 위해 꼬임쌍선을 이용한다.
사용자들은 보통 이더넷 스위치에 100Mbps로 접속하고, 서버는 1Gbps 또는 10Gbps로 접속한다.
이더넷은 매우 중요한데 나중에 자세히 다룰 예정이다.
그러나 점차적으로 노트북, 스마트폰 처럼 무선으로 접속하는 경우가 많아지게되어 3G, LET, Wifi가 등장한다.
2. Wifi
무선 랜 환경에서 무선 사용자들은 기업 네트워크 (유선 이더넷 포함)에 연결된 AP(access point)로 패킷을 송신/수신한다.
AP는 유선 네트워크에 다시 연결되고, 무선 LAN 사용자들은 일반적으로 AP의 수십 m 반경 내에 있어야 한다.
와이파이라고 더 잘 알려진 IEEE 802.11 기술에 기반한 무선 LAN 접속은 이제 거의 모든 곳에 존재한다.
2019년 말 802.11ax 라고 불리는 새로운 표준이 배포되었다. 아래 그림을 참고하면 편하다.
와이파이 2.4GHz와 5GHz의차이점
3. LTE, 3G
와이파이와 달리, 사용자는 기지국의 수십 km내에 있으면 된다.
LTE('Long-Term Evolution')은 3G에 뿌리를 두고, 잠재적으로 10Mbps 이상의 전송속도를 얻을 수 있다고 한다.
'CS > Network' 카테고리의 다른 글
[Network] 트랜트포트 계층 : TCP 연결 (연결 지향형) (0) | 2021.09.24 |
---|---|
[Network] 트랜스포트 계층 : 다중화와 역다중화 (0) | 2021.09.17 |
[Network] 트랜스포트 계층 : 개요(Intro) (0) | 2021.09.16 |
[Network] 인터넷 프로토콜 계층과 캡슐화 (0) | 2021.09.09 |
[Network] 네트워크 코어 (0) | 2021.09.06 |