인터넷이란 무엇인가?
구성요소로 본 인터넷
오늘날 네트워크에 연결되는 모든 장치를 호스트(host) 또는 종단 시스템(end system)이라고 부른다.
종단 시스템은 통신 링크(communication link)와 패킷 스위치(packet switch)의 네트워크로 연결된다.
=> 통신 링크는 동축케이블, 구리선, 광케이블, 라디오 스펙트럼을 포함한 다양한 물리 매체로 구성
각각의 링크들은 다양한 전송률(transmission rate, 링크 대역폭)을 이용하여 데이터를 전송하며
전송률은 초당 비트 수를 의미하는 bps(bit per second) 단위를 사용한다.
종단 시스템이 다른 종단 시스템으로 보낼 데이터를 갖고 있을 때,
송신 종단 시스템은 그 데이터를 세그먼트(segment)로 나누고 각 세그먼트에 헤더(header)를 붙인다.
이렇게 만들어진 정보 패키지를 컴퓨터 네트워크에서 패킷(packet)이라고 부른다.
패킷은 목적지 종단 시스템에 도착하면 원래의 데이터로 다시 복원된다.
패킷 스위치(또는 패킷 교환기)는 입력 통신 링크의 하나로 도착하는 패킷을 받아서 출력 통신 링크의 하나로 그 패킷을 전달한다.
오늘날 인터넷에서 가장 널리 사용되는 패킷 스위치는 두 가지로 라우터(router)와 링크 계층 스위치(link-layer switch)가 있다.
=> 스위치는 최종 목적지 방향으로 패킷을 전달
링크 계층 스위치는 접속 네트워크에서 사용되고, 라우터는 네트워크 코어에서 사용된다.
패킷이 송신 종단 시스템에서 수신 종단 시스템에 도달하는 동안 거쳐온 일련의 통신 링크와 패킷 스위치를
네트워크 상의 경로(route 혹은 path)라고 한다.
종단 시스템은 ISP(Internet Service Provider)를 통해 인터넷에 접속한다.
ISP는 지역 케이블 혹은 전화 회사와 같은 가정 ISP, 법인 ISP, 대학 ISP,
스마튼폰과 다른 장치들에 이동 접속을 제공하는 셀룰러 데이터 ISP를 포함한다.
=> 각 ISP는 통신 링크와 패킷 스위치로 이루어진 네트워크다.
인터넷은 종단 시스템을 연결하는 것이므로 종단 시스템에 접속을 제공하는 ISP들도 서로 연결되어야만 한다.
이러한 하위 계층 ISP는 국가 혹은 국제 상위 계층 ISP를 통해 서로 연결한다.
그리고 이들 상위 계층 ISP는 서로 직접 연결된다.
상위 계층 ISP는 광 링크로 연결된 고속 라우터로 구성된다.
상위 계층과 하위 계층 모두 각 ISP 네트워크는 따로 관리되고 IP 프로토콜을 수행(*)하며
네이밍(naming)과 주소배정 방식을 따른다.
*
종단 시스템, 패킷 스위치를 비롯한 인터넷의 다른 구성요소는 인터넷에서 정보 송수신을 제어하는 여러 프로토콜을 수행한다.
특히 TCP(Transmission Control Protocol)와 IP(Internet Protocol)는 인터넷에서 가장 중요한 프로토콜이다.
IP 프로토콜은 라우터와 종단 시스템 사이에서 송수신되는 패킷 포맷을 기술한다.
이러한 인터넷의 주요 프로토콜을 통칭하여 TCP/IP라고 한다.
인터넷에서 각각의 프로토콜이 무엇을 어떻게 수행하는지에 대해 합의함으로써 상호 호환되는 시스템과 제품을 만들 수 있다.
이것이 표준을 만드는 이유다.
인터넷 표준은 IETF(Internet Engineering Task Force)에서 개발하며 IETF 표준 문서를 RFC(request for comment)라고 한다.
서비스 측면에서 본 인터넷
애플리케이션에 서비스를 제공하는 인프라스트럭처로서 인터넷을 기술할 수 있다.
전자메일, 웹 서핑과 같은 전통적인 애플리케이션뿐만 아니라
인터넷 메시징, 실시간 도로 교통 정보를 반영한 지도 서비스, 음암과 영화 및 텔레비전 스트리밍, 온라인 소셜 미디어, 비디오 콘퍼런스, 다자간 게임, 위치 기반 추천 시스템을 포함하는 모바일 스마트폰과 태블릿 애플리케이션을 포함한다.
이러한 애플리케이션은 서로 데이터를 교환하는 많은 종단 시스템을 포함하고 있기 때문에
분산 애플리케이션(distributed application)이라고 부른다.
중요한 것은 인터넷 애플리케이션은 종단 시스템에서 수행된다(네트워크 코어에 있는 패킷 스위치에서 수행되지 않는다)는 점이다.
그렇다면 한 종단 시스템에서 다른 종단 시스템으로 어떻게 데이터를 전송할까?
인터넷에 접속된 종단 시스템들은 한 종단 시스템에서 다른 종단 시스템으로 어떻게 데이터를 전달할 것인지를 명시하는
소켓 인터페이스(soket interface)를 제공한다.
인터넷 소켓 인터페이스는 송신 프로그램이 따라야 하는 규칙의 집합이며 인터넷은 이 규칙에 따라
데이터를 목적지 프로그램으로 전달하게 된다.
프로토콜이란 무엇인가?
사람과의 비교
사람은 항상 프로토콜을 수행하므로 사람의 경우와 비교하면 컴퓨터 네트워크 프로토콜 개념을 쉽게 이해할 수 있다.
여자가 남자에게 "안녕"이라고 인사를 건넨다.
남자는 여자에게 "안녕"이라고 응답한다.
여자는 남자의 응답에서 계속해서 의사소통할 의사가 있다는 것을 읽고 메세지를 전달하여 그에 따른 응답을 받는다.
만약 남자가 의사소통할 마음이 없다면 여자가 건넨 "안녕"에 대해 부정적인 답을 돌려줄 것이다.
그러면 여자는 남자가 더이상 소통을 이어나갈 마음이 없다고 판단하고 이후 질문을 포기하게 된다.
이처럼 명확하게 송수신된 메시지와 이러한 메시지가 송수신될 때나 다른 상황이 발생했을 때 취하는 행동을 통틀어서 프로토콜이라고 볼 수 있다.
다른 사람이 이해하지 못하는 행동을 하거나 질문을 하는 경우처럼 사람마다 다른 프로토콜을 수행한다면 그 통신에서는 상호작용할 수 없으며 원하는 작업을 수행할 수 없다.
네트워킹도 마찬가지다.
어떤 일을 수행하려면 둘 이상의 통신 개체(entity)가 함께 인식하는 프로토콜이 필요하다.
네트워크 프로토콜
프로토콜은 통신하는 둘 이상의 원격 개체가 포함된 인터넷에서의 모든 활동을 제어한다.
또한 컴퓨터 사이에 연결된 '선로상'의 비트 흐름을 제어한다.
예를 들어, 종단 시스템에 있는 혼잡 제어(congestion-control) 프로토콜은 송수신자 간에 전송되는 패킷 전송률을 조절한다.
라우터에서 프로토콜은 출발지(source)에서 목적지(destination)까지 패킷 경로로 설정한다.
이번엔 웹 브라우저에 URL을 입력했을 때의 동작을 살펴보자.
그림 1.2에서처럼 호스트는 연결 요청 메세지를 웹 서버에 보내고 응답을 기다린다.
웹 서버는 연결 요청 메세지를 받고 연결 응답 메세지를 호스트에게 보낸다.
웹 문서를 요청해도 좋다는 것을 확인한 후 호스트는 웹 서버에서 얻으려는 웹 페이지의 이름을 GET 메세지에 넣어서 보낸다.
마지막으로 웹 서버는 호스트로 웹 페이지 내용(웹 파일)을 전송한다.
📌 프로토콜은 둘 이상의 통신 개체 간에 교환되는 메세지 포맷과 순서뿐만 아니라, 메세지의 송수신과 다른 이벤트에 따른 행동들을 정의한다.
네트워크의 가장자리
종단 시스템(end system): 인터넷에 연결되는 컴퓨터와 그밖의 장치들
=> 인터넷의 가장자리를 차지하고 있기 때문에 종단 시스템이라고 함
인터넷의 종단 시스템
- 데스크톱 컴퓨터 (데스크톱 PC, 매킨토시, 리눅스 컴퓨터)
- 서버 (웹과 전자메일 서버)
- 이동 컴퓨터 (랩톱, 스마트폰, 태블릿)
- 비전통적인 사물들 (TV, 냉장고, 에어컨 등 IoT)
종단 시스템은 웹 브라우저 프로그램, 웹 서버 프로그램, 전자메일 클라이언트 프로그램 또는 전자메일 서버 프로그램 같은 애플리케이션을 수행하므로 호스트(host)라고도 부른다.
호스트는 때때로 클라이언트(client)와 서버(server)로 구분된다.
비공식적으로 클라이언트는 데스크톱, 이동 PC, 스마트폰 등을 의미한다.
서버는 웹 페이지를 저장하고 분배하고 비디오를 스트림하며 전자메일을 릴레이하는 더 강력한 기능을 갖춘 컴퓨터다.
오늘날 검색 결과, 전자메일, 웹 페이지, 비디오를 수신하는 많은 서버는 데이터 센터(data center) 내에 있다.
접속 네트워크
가정 접속: DSL, 케이블, FTTH, 5G 고정 무선
DSL(digital subscriber)
- 가장 널리 보급된 광대역 가정 접속 유형, 구리선 사용
- 유선 로컬 전화 서비스를 제공하는 지역의 전화 회사(telco)로부터 DSL 인터넷 접속 서비스를 받는다.
=> 때문에 DSL을 사용할 때 고객의 텔코(telco)가 ISP가 될 수 있음 - 각 고객의 DSL 모뎀은 기존 전화 회선을 이용한다.
=> 텔코의 CO(central office)에 위치한 DSLAM(digital subscriber line access multiplexer)과 데이터를 교환하기 위해서 - 디지털 데이터를 받은 DSL 모뎀은 고주파 신호로 변환하고 전화선을 통해 CO로 전송한다.
여러 가정으로부터 받은 아날로그 신호는 DSLAM에서 디지털 포맷으로 다신 변환된다. - 전화 회선은 데이터와 전화 신호를 동시에 전달하고 각각 다른 주파수 대역에서 인코딩된다.
전화 회선과 인터넷 연결이 동시에 DSL 링크를 공유하기 때문에 각 신호는 분리될 수 있어야 한다.
가정에 도달할 때는 스플리터(splitter)가 텔코에 도달할 때는 DSLAM이 분리한다.
스플리터는 데이터와 전화 신호를 분리하고 데이터 신호를 DSL 모뎀에 전송한다.
DSLAM도 마찬가지로 데이터와 전화신호를 분리하고 데이터를 인터넷으로 송신한다.
- 고속 다운스트림 채널: 50 kHz ~ 1 MHz 대역
- 중간 속도의 업스트림 채널: 4~5.kHz 대역
- 일반적인 양방향 전화 채널: 0~4 kHz 대역
다운스트림과 업스트림의 속도가 다르기 때문에 이 접속 방식을 비대칭(asymmetric)이라고 한다.
케이블 인터넷 접속
- 가장 널리 보급된 광대역 가정 접속 유형
- DSL이 텔코의 기존 로컬 인프라를 활용하는 것처럼 케이블 TV 회사의 기존 인프라를 이용한다.
- 광케이블은 케이블 헤드엔드(head end)를 이웃 레벨 정션(junction)에 연결하며 이로부터 개별 가정과 아파트에 도달하는 데 전통적인 동축케이블을 사용한다.
- 광케이블과 동축케이블 모두 이 시스템에 채택하고 있기 때문에 HFC(hybrid fiber coax)라고 부른다.
- 케이블 모뎀이라고 하는 특별한 모뎀이 필요하다. 보통 외장형 장치이고, 이더넷 포트를 통해 가정 PC에 연결된다.
- 케이블 헤드엔드에서 CMTS(cable modem termination system)는 네트워크의 DSLAM과 유사한 가능을 제공한다.
=> 아날로그 신호 디지털 포맷으로 변환 - 케이블 모뎀은 HFC 네트워크를 다운스트림과 업스트림 2개의 채널로 나눈다. => 비대칭 접속
- DSL 네트워크와 마찬가지로 낮은 전송 속도 계약 혹은 미디어 손실로 인해 최대 가능 속도가 실현되지 않을 수 있다.
- 케이블 인터넷의 한 가지 중요한 특성은 공유 방송 매체라는 것이다.
헤드엔드가 보낸 모든 패킷이 모든 링크의 다운스트림 채널을 통해 모든 가정으로 전달된다.
그리고 가정에서 보낸 모든 패킷은 업스트림 채널을 통해 헤드엔드로 전달한다.
따라서 여러 사용자가 다운스트림 채널에서 다른 비디오 파일을 동시에 수신하고 있다면
각 사용자가 비디오 파일을 수신하는 실제 수신율은 다운스트림 전송률보다 상당히 작아진다. - 반면, 단지 몇명만 접속하고 모두가 웹을 탐색 중이라면 각 사용자는 전체 다운 스트림 전송률로 웹 페이지를 수신할 수도 있다.
사용자가 동시에 웹 페이지를 요구하는 경우는 많지 않기 때문이다.
FTTH(fiber to the home)
- 현재 주류인 DSL과 케이블 네트워크보다 더 빠른 속도를 제공하는 미래 기술이다.
- FTTH는 이름에서 유추 가능하듯이 CO로부터 가정까지 직접 광섬유 경로를 제공하는 방법이다.
- 잠재적으로 Gbps의 인터넷 접속 속도를 제공할 수 있다.
다이렉트 광섬유(direct fier): 가장 간단한 광신호 분배 네트워크로 각 가정으로 CO에서 하나의 광섬유를 제공한다.
- 일반적으로 CO에서 시작되는 각 광섬유는 여러 가정이 공유한다.
- 가정에 가까운 곳까지 하나의 광섬유로 와서 이곳에서 고객별 광섬유로 분리된다.
- 스플리팅(splitting)을 수행하는 두 가지 경쟁적인 광신호 분배 네트워크 구조는
AON(active optical network)와 PON(passive optical network)다.
버라이즌(Verizon)의 FiOS 서비스에서 이용되는 PON을 보자.
그림 1.7은 PON 분배 구조를 이용하는 FTTH를 보여준다.
각 가정은 ONT(opticla network terminator)를 갖고 있으며 이는 지정된 광섬유로 이웃 스플리터에 연결된다.
스플리터는 여러 가정을 하나의 공유 광섬유로 결합하고 이를 텔코 CO에 있는 OLT(optical line terminator)에 연결한다.
광신호와 전기신호 간의 변환을 제공하는 OLT는 텔코 라우터를 통해 인터넷에 연결된다.
가정에서 사용하는 홈 라우터를 ONT에 연결하고 이 홈 라우터를 통해 인터넷에 접속한다.
PON 구조의 OLST에서 스플리터로 송신된 모든 패킷은 스플리터에서 복제된다.
5G 고정 무선(5G fixed wireless, 5G-FW)
- 5G-FW는 케이블 포설 작업을 하지 않아도 된다.
=> 케이블 포설 작업은 고속 가정 접속뿐만 아니라 전화회사 중심국에서 가정까지의 비용이 들고 고장이 잘 난다. - 서비스 제공자의 기지국에서 가정 내의 모뎀으로 데이터를 무선으로 전송한다.
- 와이파이 무선 라우터가 케이블 혹은 DSL 모뎀에 연결되어 있듯이 5G-FW에서도 와이파이 무선 라우터가 모뎀에 연결돼 있다.
기업 접속: 이더넷과 와이파이
LAN(local area network)은 일반적으로 종단 시스템을 가장자리 라우터에 연결하는데 사용된다.
이러한 LAN의 여러 유형 중 기업, 대학, 홈 네트워크에서 가장 널리 사용되는 기술은 바로 이더넷이다.
=> 이더넷 구리선 사용
그림 1.8에 보이는 바와 같이 이더넷은 이더넷 스위치에 연결하기 위해 꼬임쌍선을 이용한다.
이더넷 스위치 혹은 상호연결된 스위치들의 네트워크는 이제 다시 더 큰 인터넷으로 연결된다.
이더넷 접속에서 사용자는 보통 이더넷 스위치에 100Mbps부터 10Gpbs까지의 속도로 접속하고
서버는 1Gbps부터 10Gbps까지의 속도로 접속한다.
이후 사람들은 점차 랩톱, 스마트폰, 태블릿 등 다른 사물에서 와이파이로 인터넷에 무선으로 접속하고 있다.
무선 랜 환경에서 무선 사용자들은 기업 네트워크에 연결된 AP(access point)로
패킷을 송신/수신하고 이 AP는 유선 네트워크에 다시 연결된다.
무선 랜(wireless LAN) 사용자들은 일반적으로 AP의 수십 미터 반경 내에 있어야 한다.
=> 이동 접속 네트워크는 라디오 스펙트럼을 이용
이더넷과 와이파이 접속 네트워크가 초기에 기업 환경에 구축되었지만, 이들은 최근에 상대적으로 홈 네트워크의 공통 요소가 되었다.
그림 1.9는 전형적인 홈 네트워크다.
유선 PC뿐만 아니라 로밍 랩톱, 무선 PC와 가정 내의 다른 무선 장치들과 통신하는 기지국(base station, 무선 AP), 광대역 인터넷 접속을 제공하는 케이블 모뎀, 그리고 기지국과 케이블 모뎀을 가진 고정 PC를 연결하는 라우터 등으로 구성된다.
광역 무선 접속: 3G와 LTE 4G와 5G
모바일 장치 사용자들은 끊임 없이 이동하면서 서비스를 이용하고 있다.
따라서 모바일 장치의 경우 이동 전화망 사업자들이 운영하는 무선 인프라스트럭처를 통해 패킷을 송수신한다.
와이파이(수십 미터 반경)와 달리, 사용자는 기지국의 수십 킬로미터 반경 내에 있으면 된다.
전화 회사들은 최대 60Mbps의 다운로드 속도를 제공하는 4세대(4G) 서비스에 많은 투자를 했다.
그러나 더 빠른 고속 광역 접속 기술(5세대(5G) 광역 무선 네트워크)이 이미 구축되고 있다.
물리 매체
네트워크 접속 기술에서 사용하는 물리 매체
케이블 인터넷 접속(HFC) | 광섬유 케이블, 동출케이블 |
DSL, 이더넷 | 구리선 |
이동 접속 네트워크 | 이동 접속 라디오 스펙트럼 |
한 종단 시스템에서 비트를 전송하면 첫 번째 라우터가 수신하게 된다.
첫 번째 라우터가 그 비트를 전송하면 이번엔 두 번째 라우터가 비트를 수신하게 된다.
이후에도 첫 번째 라우터와 두 번째 라우터처럼 비트를 송신하고 수신하는 일이 반복될 것이다.
이처럼 비트가 출발지에서 목적지로 전달될 때 일련의 송신기-수신기 쌍을 거치게 되는데
이때 전달의 매체가 되는 것을 바로 물리 매체(physical media)라 한다.
물리 매체는 여러 형태이며 경로상의 각 송신기-수신기 쌍에 대해 같은 유형일 필요는 없다.
물리 매체로는 아래와 같은 것들이 있다.
=> 꼬임쌍선, 동축케이블, 다중모드 광섬유 케이블, 지상파와 위성파 등이 물리 매체의 예이다.
물리 매체는 두 부류로 나눌 수 있다.
유도 매체 (guided media) | 광섬유 케이블, 꼬임쌍선, 동축케이블 같은 견고한 매체를 따라 파형을 유도 |
비유도 매체 (unguided media) | 무선 랜, 디지털 위선 채널의 경우처럼 대기와 야외 공간으로 파형을 전파 |
꼬임쌍선
꼬임쌍선은 2개의 절연 구리선이고 각각은 약 1mm의 굵기로 규칙적인 나선 형태로 배열된다.
이웃하는 쌍들 간에 전기 간섭을 줄이기 위해 선들이 꼬여 있다.
일반적으로 여러 쌍이 보호물에 싸여 한 케이블 안에 함께 묶여 있다.
이러한 한 쌍의 선이 하나의 통신 링크를 구성한다.
UTP(unshielded twisted pari)는 빌딩의 컴퓨터 네트워크, 즉 LAN에 가장 많이 이용하는 매체다.
오늘날 꼬임쌍선을 이용하는 LAN의 데이터 전송률은 10Mbps에서 10Gbps에 이른다.
가능한 데이터 전송률은 전송선의 두께와 송신기와 수신기 사이의 거리에 따라 다르다.
사람들은 꼬임쌍선의 낮은 속도 때문에 광섬유 기술이 등장했을 때 매장될 것이라고 생각했지만 쉽게 사라지지 않았다.
지금은 카테고리 6a 케이블 같은 현대 꼬임쌍선 기술을 이용하여 수백 미터까지의 거리에서 10Gbps 속도를 얻을 수 있다.
짧은 거리에서는 더 높은 속도도 가능하다. 결국 꼬임쌍선이 고속 LAN 네트워킹의 주요 솔루션으로 등장하게 되었다.
꼬임쌍선은 가정에서의 인터넷 접속에도 널리 사용된다.
다이얼업 모뎀 기술이 꼬임쌍선을 통해 56kbps 속도까지 얻을 수 있음을 보았다.
또한 DSL 기술을 통해 가정 사용자가 꼬임쌍선으로 수십 Mbps(ISP 모뎀 근처에 사용자가 거주한다면)의 인터넷 접속 속도를 얻을 수 있는 것도 보았다.
동축케이블
꼬임쌍선처럼 동축케이블은 2개의 구리선으로 되어 있으나 두 구리선이 평행하지 않고 동심원 형태를 이루고 있다.
이러한 구조와 특수 절연 및 차폐를 가진 동축케이블은 꼬임쌍선보다 더 높은 데이터 전송률을 얻을 수 있다.
동축케이블은 케이블 TV 시스템에 흔히 사용된다.
동축케이블은 유도 공유 매체(shared medium)로 사용할 수 있다.
특히, 여러 종단 시스템은 케이블에 직접 연결할 수 있고 모든 종단 시스템은 다른 종단 시스템이 전송하는 모든 것을 수신한다.
광섬유
광섬유는 비트를 나타내는 빛의 파동을 전하는 가늘고 유연한 매체다.
단일 광섬유는 초당 10~100기가비트에 이르는 놀라운 비트율을 지원할 수 있다.
전자기성 간섭에 영향을 받지 않으며 100km까지는 신호 감쇠 현상이 매우 적고 태핑(tapping, 도청)하기가 어렵다.
이런 특성 때문에 광역 유도 전송 매체로 널리 이용한다.
=> 특히 해저 링크에 광섬유를 이용, 세계 여러 나라의 많은 광역 전화 네트워크는 거의 광섬유를 사용
광섬유는 인터넷의 백본에 널리 보급되었다.
송신기, 수신기, 스위치 등의 광 장비는 고가이므로 LAN이나 가장처럼 근거리 전송에는 이용하기 어렵다.
OC(Optical Carrier) 표준 링크 속도는 51.8 Mbps에서 39.8 Gbps까지의 범위에 이른다.
✔ 장단점 비교
장점 | - 신호 감쇠 현상이 매우 적다 - 태핑(tapping, 도청)하기가 어렵다 |
단점 | - 광 장비는 고가이므로 LAN이나 가장처럼 근거리 전송에는 이용하기 어렵다 |
지상 라디오 채널
라디오 채널은 전자기 스펙트럼으로 신호를 전달한다.
라디오 채널은 물리 선로를 설치할 필요가 없고, 벽을 관통할 수 있고, 이동 사용자에게 연결성을 제공하고 먼 거리까지 신호를 전달할 수 있는 가능성이 있다.
라디오 채널의 큰 특성은 전파 환경과 신호가 전달되는 거리에 많은 영향을 받는다.
주변 환경은 경로 손실(path loss)과 섀도 페이딩(shadow fading, 신호가 먼 거리를 지남에 따라 혹은 방해 물질을 돌아가거나 통과함에 따라 신호 강도가 약해지는 현상), 다중경로 페이딩(간섭 물체의 신호 반사 때문), 간섭(다른 라디오 채널이나 전자기 신호 때문)을 결정한다.
✔ 장단점 비교
장점 | - 선로를 설치할 필요가 없다. - 벽을 관통할 수 있다. - 이동 사용자에게 연결성을 제공한다. - 먼 거리까지 신호를 전달할 수 있다. |
단점 | - 전파 환경과 신호가 전달되는 거리에 많은 영향을 받는다. - 경로 손실(path loss) - 섀도 페이딩(shadow fading) - 다중경로 페이딩 - 간섭 |
지상 라디오 채널은 크게 3개의 그룹으로 분류된다.
- 1~2m이 매우 짧은 거리에서 동작하는 채널
- 십에서 수백 미터에 걸쳐 근거리 네트워크로 동작하는 채널
- 수십 킬로미터에 걸쳐 광역에서 작동하는 채널
위상 라디오 채널
통신 위성은 지상 스테이션이라는 둘 이상의 지상 기반 마이크로파 송신기/수신기를 연결한다.
위성은 한 주파수 대역으로 전송 신호를 수신하고 리피터(repeater)를 이용하여 그 신호를 재생하며
그 신호를 다른 주파수 대역으로 전송한다.
위성은 초당 기가비트의 전송률을 제공할 수 있다.
통신에는 정지 위성(geostationary satellite)과 저궤도 위성(low-earth orbiting(LEO) satellite) 이 두 가지의 위성이 이용된다.
✔ 정지 위성과 저궤도 위성 한 번에 보기
정지 위성 | - 지상 36,000km 위에 쏘아 올려 일정 위치에 영원히 머무르는 위성이다 - 지상 스테이션과 위성을 오가는 먼 거리는 280ms의 긴 신호 전파 지연을 일으킨다 - 그럼에도 수백 Mbps의 속도로 작동하는 위성 링크는 DSL 접속 혹은 케이블 기반 인터넷 접속을 할 수 없는 지역에서 주로 이용된다 |
저궤도 위성 | - 지구에 가깝게 위치하고 어느 한 곳에 고정되지 않은 위성이다 - 달이 지구를 돌듯이 회전하며 지상국뿐만 아니라 서로 통신할 수 있다 - 한 지역에 대한 지속적이 서비스를 위해서는 많은 위성이 궤도 안에 있어야 한다 |
네트워크 코어
패킷 교환
메세지(message): 종단 시스템 사이에서 주고 받는 데이터
패킷(packet): 메세지를 작은 데이터 덩어리로 분리한 것
각 패킷은 송신 측과 수신 측 사이에서 통신 링크와 패킷 스위치(packet switch)를 거치게 된다.
패킷 스위치 유형은 2가지로 아래와 같다.
- 라우터(router)
- 링크 계층 스위치(link-layer switch)
패킷은 링크의 최대 전송률과 같은 속도로 각각의 통신 링크에서 전송된다.
따라서 출발지 종단 시스템 혹은 패킷 스위치가 R비트/초의 속도로 링크에서 L비트의 패킷을 송신한다면
그 패킷을 전송하는데 걸리는 시간은 L/R초다.
* 온디맨드(on-demand) 방식으로 자원 요청
저장 후 전달
저장-후-전달 전송(store-and-forward transmission): 패킷 스위치에서 전체 패킷을 모두 받을 때까지 버퍼에 저장한 후 다음 출력 링크로 비트를 내보내는 방식
대부분의 패킷 스위치는 저장-후-전달 전송 방식을 이용한다.
그림 1.11을 보면 이해하기 쉽다.
출발지는 목적지로 전송할 3개의 패킷을 가지고 있다.
각각의 패킷은 L비트로 구성된다.
그림에서 출발지는 패킷 1의 일부분을 전송했다.
저장-후-전달 방식을 채택했기 때문에 전송된 비트는 패킷 스위치의 버퍼(buffer)에 저장된다.
이 비트는 바로 다음 출력 링크로 나가지 않고 나머지 비트들이 모두 모일 때까지 기다린다.
이후 패킷의 모든 비트를 수신하면 다음 출력 링크로 패킷을 전송(transmission, forward)할 수 있다.
저장-후-전달 전송에 대한 이해를 위해 출발지에서 패킷을 송신한 후 전체 패킷을 목적지에서 수신할 때까지 경과 시간을 계산해보자.
이때 전파 지연은 무시한다.
- 시각 0 => 출발지에서 전송 시작
- L/R => 출발지에서 전체 패킷 전송 후 라우터에서 수신 완료
- 2L/R => 라우터에서 전체 패킷 전송 후 목적지에서 수신 완료
따라서 전체 지연은 2L/R이다.
만약 비트를 도착하자마자 출력 링크로 전달한다면 라우터에서의 지연이 없기 때문에 전체 지연은 L/R이 된다.
이번엔 목적지에서 모든 패킷을 수신하는데까지 걸리는 시간을 계산해보자.
- L/R => 라우터는 첫 번째 패킷 송신, 출발지는 두 번째 패킷 송신
- 2L/R => 목적지는 첫 번째 패킷 수신, 라우터는 두 번째 패킷 수신
- 3L/R => 목적지는 처음 2개의 패킷을 수신, 라우터는 세 번째 패킷 수신
- 4L/R => 목적지는 3개의 모든 패킷을 수신
따라서 4L/R에 목적지는 모든 패킷을 수신한다.
이번엔 좀 더 일반화해보자.
출발지로부터 목적지까지 전송률이 R인 링크가 N개가 있을 때 하나의 패킷을 전송하는 경우 종단 간 지연은 얼마일까?
d = N * (L / R)
하나의 패킷을 보낼 때 한 링크 당 걸리는 지연이 L / R이므로 종단 간 지연은 여기에서 링크의 개수만큼 곱하면 된다.
그렇다면 연속된 N개의 링크를 통해 송신된 P개 패킷의 지연은 어떻게 될까?
큐잉 지연과 패킷 손실
출력 버퍼(output buffer) 또는 출력 큐(output queue): 패킷 스위치에서 링크로 송신하려고 하는 패킷을 저장하는 곳
패킷 스위치에는 여러 개의 링크가 있는 데 패킷 스위치는 각 링크에 대해서 출력 버퍼를 가지고 있다.
큐잉 지연(queuing delay): 링크가 다른 패킷을 전송하고 있어 출력 버퍼에서 대기해야 하는 상황
패킷은 저장-후-전달 지연뿐만 아니라 출력 버퍼에서 큐잉 지연을 겪게 된다.
큐잉 지연은 가변적이고 네트워크 혼잡 정도에 따른다.
패킷 손실(packet loss): 출력 버퍼가 꽉 차서 막 도착한 패킷 또는 이미 대기 중인 패킷이 drop되는 상황
그림 1.2는 간단한 패킷 교환 네트워크를 설명한다.
이 그림에서 모든 패킷의 길이는 같다.
호스트 A와 호스트 B는 호스트 E에게 패킷을 전송한다.
호스트 A, B는 100 Mbps 이더넷 링크로 패킷을 전송하고, 라우터는 15 Mbps 링크로 전달한다.
만약 라우터로 가는 패킷의 전송률이 15 Mbps를 초과하면 라우터에 혼잡이 발생하고 링크로 전송되기 전에
링크의 출력 버퍼에 큐잉된다.
포워딩 테이블과 라우팅 프로토콜
라우터는 패킷의 목적지를 어떻게 알고 출력 링크로 보내는 걸까?
인터넷에서 모든 종단 시스템은 IP 주소를 가진다.
패킷을 목적지로 보내고자 할 때, 출발지는 패킷의 헤더에 목적지의 IP 주소를 포함한다.
IP 주소는 우편 주소처럼 계층적 구조를 갖는다.
패킷이 네트워크의 한 라우터에 도착하면 라우터는 포워딩 테이블에서 패킷의 목적지 주소를 검색하고 이웃 라우터로 전달한다.
포워딩 테이블(forward table): 목적지 주소를 라우터의 각 출력 링크와 매핑한 테이블
그렇다면 포워딩 테이블은 어떻게 설정되는걸까?
이와 관련된 내용은 5장에서 나온다.
=> 인터넷엔 자동으로 포워딩 테이블을 설정하는데 이용되는 여러 특별한 라우팅 프로토콜(routing protocol)이 있음
회선 교환
회선 교환(circuit switching): 네트워크에서 종단 시스템 간에 통신을 위해 경로상에 필요한 자원을 통신 세션(session) 동안에
예약(reserve)하는 것. => 확보해야 하는 자원에는 버퍼, 링크 전송률 등이 있다.
회선(circuit): 통신을 위해 송신자와 수신자 사이의 경로에 있는 스위치들이 유지하는 연결
네트워크가 회선을 설정할 때, 그 연결이 이루어지는 동안 네트워크 링크에 일정한 전송률을 예약한다.
주어진 전송률이 송신자-수신자 연결을 위해 예약되므로 송신자는 수신자에게 보장된(guaranteed) 일정 전송률을 제공할 수 있다.
그림 1.3은 회선 교환 네트워크를 보여준다.
이 네트워크는 4개의 회선 스위치가 4개의 링크에 연결되어 있다.
각 링크는 4개의 회선을 가지므로 각 링크는 4개의 동시 연결을 지원할 수 있다.
호스트는 스위치 중 하나에 직접 연결된다.
두 호스트가 통신하고 싶을 때 네트워크는 두 호스트 사이에 지정된 종단 간 연결(end-to-end connection)을 설정한다.
그러므로 호스트 A가 호스트 B와 통신하기 위해 네트워크는 먼저 2개의 링크 각각에 한 회선을 예약한다.
이 그림에서 지정된 종단 간 연결은 첫 번째 링크의 두 번째 회선을 사용하고 두 번째 링크의 네 번째 회선을 사용한다.
각 회선은 링크 전체 전송 용량의 1/4을 얻는다.
예를 들어 링크 하나의 전송률이 1 Mbps라면 종단 간 회선 교환 연결은 지정된 전송률의 250 kbps를 얻게 된다.
패킷 교환 네트워크의 경우 회션 교환과는 달리 링크 자원을 예약하지 않는다.
만약 링크로 다른 패킷들이 전송되어야 해서 링크 중 하나가 혼잡하다면 그 패킷은 전송 링크의 송신 쪽 버퍼에서 기다려야 하고 지연이 발생한다.
회선 교환 네트워크에서의 다중화 (회선 할당)
링크 내 한 회선은 주파수 분할 다중화(FDM)와 시분할 다중화(TDM)로 구현된다.
주파수 분할 다중화 | - 링크를 통해 설정된 연결은 그 링크의 주파수 스펙트럼을 공유한다 - 링크는 연결되는 동안 그 링크에 주파수 대역을 고정 제공한다 - 전화망에서의 주파수 대역은 일반적으로 4kHz 폭을 가진다 - 이런 대역의 폭을 대역폭(bandwidth)이라고 한다 |
시분할 다중화 | - 시간을 일정 주기의 프레임으로 구분하고 각 프레임은 고정된 수의 시간 슬롯으로 나뉜다 - 네트워크가 링크를 통해 하나의 연결을 설정할 때, 모든 프레임에서 시간 슬롯 1개를 그 연결에 할당한다 |
요약하자면,
FDM은 각 회선이 지속적으로 대역폭의 일부를 얻는다.
TDM은 각 회선이 짧은 시간 동안 전체 대역폭을 사용한다. 여기서 짧은 시간은 슬롯을 말한다.
그림 1.14는 4개의 회선을 지원하는 특정 네트워크 링크에 대한 FDM과 TDM을 설명한다.
FDM의 경우 주파수 영역이 4개 대역으로 분할되었고 각각은 4kHz 대역폭을 갖는다.
TDM의 경우에는 시간 영여깅 시간 프레임으로 분할되고 각 프레임은 4개의 시간 슬롯을 갖는다.
TDM 회선의 전송률은 한 슬롯 안의 비트 수에 프레임 전송률을 곱한 것과 같다.
예를 들어, 링크가 초당 8,000 프레임을 전송하고 각 슬롯이 8비트로 구성된다면 회선의 전송률은 64 kbps와 같다.
회선 교환의 경우 할당된 회선이 비활용 기간(slient period)에는 낭비된다는 단점이 있다.
예를 들어, 전화 통화를 할 때 사람이이야기를 중단하더라도 사용되지 않는 네트워크 자원(연결 경로상의 링크 주파수 대역이나 슬롯)은 다른 진행 중인 연결이 대신해서 사용할 수 없다.
또한 종단 간 회선을 설정하고 대역폭을 보존하는 것이 복잡하고 경로에 있는 스위치들 사이의 운영을 조절하는
복잡한 신호 소프트웨어가 필요하다.
회선 교환 네트워크를 통해 호스트 A에서 호스트 B까지 640,000비트의 파일을 보내는 데 걸리는 시간을 생각해보자.
네트워크의 모든 링크는 24개의 슬롯을 가진 TDM을 사용하고 1.536 Mbps 전송률이 가능하다고 가정하자.
또한 호스트 A가 파일을 전송하기 전에 종단 간 회선을 설정하는 데 0.5초가 걸린다면, 파일 전송에 걸리는 시간은 얼마일까?
각 회선의 전송률은 (1.536 Mbps) / 24 = 64 kbps이므로 파일을 전송하는 데 총 (640,000) / (64 kbps) = 10초가 걸린다.
여기에 회신 설정 시간을 더하면 파일을 보내는 데 총 10.5초가 걸린다.
전송 시간은 링크 수와 무관하다는 점을 기억하자.
전송 시간은 종단 간 회선이 하나 혹은 100개의 링크를 지나더라도 10초다(실제 종단 간 지연에는 전파 지연도 포함된다).
✔ 회선교환 vs 패킷 교환
장점 | 단점 | |
회선 교환 | - 대용량의 데이터를 고속으로 전송 - 고정적인 대역폭을 사용 - 한 번 접속하면 연결이 항상 유지되어 전송 지연 X - 데이터 전송률이 일정 - 연속적인(실시간) 전송에 적합 |
- 회선을 이용한다는 면에서 비효율적 - 통신 회선이 독점되므로 통신 비용이 고가 - 교환망 내에서의 에러 제어가 어려움 - 연결된 두 장치는 반드시 전송률이 같은 기종 사이에서만 송수신이 가능 |
패킷 교환 | - 모든 사용자간에 빠른 응답시간을 제공 - 속도 변환과 프로토콜 변환이 가능 - 신뢰성이 높음 (저장 후 전달, 기억장치 사용) - 기종 간의 전송속도, 전송 제어 절차가 다르더라도 라우터에서 변환 처리를 제공하므로 통신이 가능 |
- 패킷 단위로 헤더를 추가하므로 오버헤드가 발생 - 가변적인 종단 간 지연 때문에 실시간 서비스는 적당하지 않음 |
패킷 교환이 회선 교환보다 전송 용량의 공유에서 더 효율적,
패킷 교환이 회선 교환보다 더 간단하고 구현 비용이 적다,
링크 전송률을 공유하는 두 방식의 가장 큰 차이점
- 회선 교환이 요구에 관계없이 미리 전송 링크의 사용을 할당
- 패킷 교환은 요구할 때만 링크의 사용을 할당
네트워크의 네트워크
최종적으로 모든 종단 시스템끼리 데이터를 주고 받기 위해서는 접속 ISP들이 연결되어야 한다.
이를 네트워크의 네트워크라고 한다.
한 가지 가장 간단한 방법은 각 접속 ISP를 직접 서로 다른 ISP와 연결하는 것이다.
하지만 이러한 설계는 접속 ISP에게 너무 많은 비용을 발생시킨다.
각 접속 ISP가 전 세계적으로 다른 접속 ISP와 수십만 개의 개별적인 통신 링크를 유지해야 하기 때문이다.
첫 번째 네트워크 구조(네트워크 구조 1)는 모든 접속 ISP를 하나의 글로벌 통과(transit) ISP와 연결한다.
글로벌 통과 ISP는 전 세계에 이르러서 적어도 수십만 개의 접속 ISP와 가까운 곳에 있는 라우터를 갖는 통신 링크의 네트워크다.
접속 ISP가 글로벌 ISP에게 요금을 지불하기 때문에 접속 ISP는 고객(customer)이고 글로벌 ISP는 제공자(provider)다.
이젠 어느 회사가 수익을 내는 글로벌 ISP를 구축하고 운영한다면 다른 회사가 자신의 글로벌 ISP를 구축하고 또 다른 글로벌 ISP와 경쟁하는 것은 자연스러운 현상이다.
이것은 네트워크 구조 2로 진화하며 수십만 개의 접속 ISP와 다중의 글로벌 ISP로 구성된다.
접속 ISP는 여러 글로벌 ISP 중 하나를 고를 수 있지만 글로벌 ISP들은 서로 연결해야만 한다.
그렇지 않으면 하나의 글로벌 ISP에 연결된 접속 ISP는 다른 글로벌 ISP에 연결된 접속 ISP와 통신할 수 없다.
네트워크 구조 2는 상위층에 글로벌 통과 서비스 제공자가 있고 하위층에 접속 ISP가 있는 형태의 2계층 구조다.
현실적으로, 전 세계의 모든 도시에 존재하는 ISP는 없다.
대신에 어느 주어진 지역에서 그 지역에 있는 접속 ISP들이 연결하는 지역(regional) ISP가 있다.
각 지역 ISP는 1계층 ISP들과 연결된다. 1계층 ISP는 우리의 (상상의)글로벌 ISP와 유사하다.
그러나 실제로 존재하는 1계층 ISP는 전 세계적으로 모든 도시에 존재하지는 않는다.
1계층 ISP는 계층구조의 최상위에 있기 때문에 아무에게도 요금을 지불하지 않는다.
좀 더 복잡한 경우, 어떤 지역에서는 작은 지역 ISP들이 연결하는 좀 더 큰 지역 ISP들이 있을 수 있다.
좀 더 큰 지역 ISP는 1계층 ISP에 연결된다.
예를 들어, 중국에서 각 도시에 접속 ISP가 있고 이들은 지방 ISP에 연결되며 또 다시 이들은 국가 ISP에 연결되고 최종적으로 1계층 ISP에 연결된다.
이러한 다중계층구조를 네트워크 구조 3이라고 하며, 오늘날의 인터넷과 대략적으로 유사하다.
오늘날의 인터넷과 좀 더 유사한 네트워크를 구축하기 위해서는 PoP, 멀티홈, 피어링, IXP를 계층적인 네트워크 구조 3에 포함해야 한다.
PoP(points of presence): 제공자의 네트워크 내에 있는 하나 혹은 그 이상의 라우터 그룹
최하위(접속 ISP) 계층을 제외하고 계층 구조의 모든 계층에 존재
여기서 고객 ISP가 제공자 ISP에 연결된다.
고객 네트워크가 제공자의 PoP에 연결되기 위해, 고객은 자신의 라우터 중 하나를 PoP에 있는 라우터에 직접 연결하도록 고속 링크를 제3자(third-party) 통신 서비스 제공자로부터 임대할 수 있다.
멀티홈(multi-homing): (1계층을 ISP를 제외한) 고객 ISP가 둘 혹은 그 이상의 제공자 ISP에 연결한 것
예를 들어, 한 접속 ISP가 2개의 지역 ISP와 연결하거나 2개의 지역 ISP와 함께 하나의 1계층 ISP에 연결할 수도 있다.
마찬가지로, 한 지역 ISP는 다중의 1계층 ISP들과 연결할 수도 있다.
한 ISP가 멀티홈을 하면 서비스 제공자 중 하나가 연결되지 않더라도 인터넷으로 패킷을 계속해서 송수신할 수 있다.
피어링(peering): 같은 계층에 있는 ISP들 사이에서는 상위 계층 ISP를 통하지 않고 송수신할 수 있게 서로 직접 연결하는 것.
두 ISP가 피어링하면 일반적으로 서로 요금을 지불하지 않는다.
1계층 ISP들도 서로 피어링할 수 있다.
제3의 회사가 IXP(Internet Exchange Point)를 구축할 수 있으며 이는 다중의 ISP들이 서로 피어링할 수 있는만남의 장소라고 할 수 있다. 인터넷상에 현재 약 600개 이상의 IXP가 있다. 우리는 이러한 생태계를 네트워크 구조 4라고 부른다.
패킷 교환 네트워크에서의 지연, 손실과 처리율
패킷 교환 네트워크에서의 지연 개요
패킷은 출발지에서 목적지까지의 경로상의 노드에서 다양한 지연을 겪는다.
중요한 지연으로는 노드 처리 지연, 큐잉 지연, 전송 지연, 전파 지연이 있다.
이 모든 지연을 합해서 전체 노드 지연(total node delay)이라고 한다.
처리 지연(processing delay)
패킷 헤더를 조사하고 그 패킷을 어디로 보낼지를 결정하는 시간을 말한다.
고속 라우터에서의 처리 지연은 일반적으로 수 마이크로초다.
이 노드 처리 후에 라우터는 그 패킷을 라우터 B에 이르는 링크의 큐에 보낸다.
큐잉 지연(queuing delay)
패킷이 큐에서 전송되기를 기다리는 시간이다.
큐잉 지연은 앞서 큐에서 대기하고 있는 다른 패킷의 수에 의해 결정된다.
큐가 비어있고 다른 패킷이 전송중인 상태가 아니라면 큐잉 지연은 0이다.
전송 지연(transmission delay)
패킷의 모든 비트를 링크로 내보내는 데 필요한 시간이다.
패킷의 길이가 L비트이고 링크의 전송률이 R이라면 전송 지연은 L / R로 나타낼 수 있다.
전송 지연은 일반적으로 수 마이크로초에서 수 밀리초에 이른다.
전파 지연(propagation delay)
패킷의 일부인 비트가 전송된 후 다음 라우터에 도달하기까지 걸리는 시간을 말한다.
비트는 링크의 전파 속도로 전파된다.
전파 속도는 링크의 물리 매체(광섬유, 꼬임쌍선 등)에 따라 다른데 범위는 다음과 같다.
2 X 10⁸미터/초 ~ 3 X 10⁸미터/초
전파 지연은 두 라우터 사이의 거리를 전파 속도로 나눈 것이다.
d / s => d는 라우터 사이의 거리, s는 링크의 전파 속도
✔ 전송 지연과 전파 지연 비교
전송 지연(transmission delay) | - 라우터가 패킷을 내보내는 데 필요한 시간 - 패킷의 길이와 링크 전송률에 대한 함수 - 두 라우터 사이의 거리는 관계가 없음 |
전파 지연(propagation delay) | - 비트가 한 라우터에서 다음 라우터로 전파되는 데 걸리는 시간 - 두 라우터 사이의 거리에 대한 함수 - 패킷의 길이나 링크 전송률과는 관계가 없음 |
=> 링크 전송률과 전파 속도는 다른 것!
링크 전송률: 라우터가 전송하는 초당 비트수(bps)
전파 속도: 비트가 한 라우터에서 다음 라우터로 전파되는 속도
큐잉 지연과 패킷 손실
큐잉 지연은 다른 지연들과는 다르게 패킷마다 다를 수 있다.
트래픽이 큐에 도착하는 비율, 링크의 전송률, 트래픽이 주기에 맞춰서 버스트(burst)하게 도착하느냐에 의해 주로 결정된다.
아래와 같이 가정해보자.
a: 패킷이 큐에 도착하는 평균율(패킷/초)
R(전송률): 비트가 큐에서 밀려나는 비율(비트/초)
패킷의 길이: L비트
이때 비트가 큐에 도착하는 평균율은 La비트/초다.
큐가 매우 커서 무한대 비트를 저장할 수 있다고 가정한다.
트래픽 강도, 즉 La/R은 큐잉 지연의 정도를 측정하는 데 매우 중요하다.
La/R > 1 이면 비트가 큐에 도착하는 평균울이 비트가 큐에서 전송되는 비율을 초과한다.
이 경우 큐는 끝없이 증가하고 큐잉 지연은 무한대에 도달한다.
따라서 트래픽 공학의 주요 규칙 중 하나는 트래픽 강도가 1보다 크지 않게 시스템을 설계하는 것이다.
La/R ≤ 1인 경우 도착 트래픽의 특성이 큐잉 지연에 영향을 미친다.
패킷의 도착 주기에 따라 살펴보자.
하나의 패킷이 L/R초마다 도착한다고 하면 모든 패킷은 빈 큐에 도착할 것이고 큐잉 지연은 겪지 않을 것이다.
그러나 주기적이 아니라 몰려서(burst) 도착한다면 상당한 평균 지연이 생길 것이다.
예를 들어, N개의 패킷이 동시에 (L/R)N초마다 도착한다고 하자.
처음에 전송되는 패킷은 큐잉 지연이 없다.
두 번째 전송되는 패킷은 L/R초의 지연을 갖는다.
일반화하면 n번째 전송되는 패킷은 (n-1)L/R초의 큐잉 지연을 겪는다.
큐의 도착률이 전송률보다 작아질 때 큐의 길이는 줄어든다.
패킷 손실
앞선 내용에서 큐가 무한대 패킷을 가질 수 있다고 가정했었다.
하지만 현실에서 큐의 용량은 유한하다.
트래픽 강도가 1에 접근함에 따라 큐잉 지연이 무한대가 되진 않는다.
대신 큐가 꽉 차는 상황이 발생하게 된다.
큐가 가득 차 패킷을 저장할 수 없는 경우 그 패킷을 버린다(drop). => 패킷을 잃어버림(lost)
손실된 패킷은 모든 데이터가 궁극적으로 출발지에서 목적지까지 전달되었음을 보장하기 위해 종단 간에 재전송될 수 있다.
종단 간 지연
이전까지는 한 라우터에서의 지연에 초점을 맞추었다면 이젠 출발지에서 목적지까지의 지연을 간략하게 생각해보자.
출발지 호스트와 목적지 호스트 사이에 N-1개의 라우터가 있다고 가정하자.
네트워크가 혼잡하지 않으며(큐잉 딜레이 무시), 각 라우터와 출발지 호스트의 처리 지연은 dproc이고, 각 호스트와 출발지 호스트에서의 전송률은 R비트/초다.
각 링크에서의 전파 지연은 ddrop이라고 하자. 종단 간 지연은 아래와 같다.
dend-end = N (dproc + dtrans + dprop)
=> dtrans = L / R, L은 패킷 크기
컴퓨터 네트워크에서의 처리율
지연과 패킷 손실 이외에 컴퓨터 네트워크에서의 또 다른 주요한 성능 수단은 종단 간 처리율(throughput)이다.
처리율 정의를 위해 컴퓨터 네트워크를 통해 호스트 A에서 호스트 B로 커다란 파일을 전송하는 것을 고려해보자.
순간적인 처리율(instantaneous throughput): 호스트 B가 파일을 수신하는 비율(비트/초)
평균 처리율(average throughput): 파일이 F비트고 모든 비트를 수신하는 데 T초 소요 => F/T 비트/초
인터넷 전화 같은 애플리케이션의 경우, 낮은 지연과 순간적인 처리율이 지속적으로
어떤 임곗값(threshold)을 넘는 것이 바람직하다.
파일 전송을 포함하는 다른 애플리케이션의 경우, 지연은 심각하지 않으나 가능한 한 높은 처리율을 갖는 것이 바람직하다.
일반적으로는 큐에 도착하는 프로세스는 랜덤하다.
즉 패킷의 도착에 전혀 고정된 패턴이 없고 패킷은 임의의 시간만큼 떨어져서 도착하게 된다.
패킷의 도착률이 전송률보다 작아질 때 큐의 길이가 줄어들 것이다.
반대로 트래픽 강도가 1에 가까워질수록 평균 큐의 길이는 점점 증가한다.
트래픽 강도에 대한 평균 큐잉 지연의 질적 의존도가 그림 1.18에 나타나 있다.
=>
그림 1.19(a)는 2개의 통신 링크와 라우터로 연결된 하나의 서버와 하나의 클라이언트를 보여주고 있다.
서버로부터 클라이언트로의 파일 전송에 대한 처리율을 고려하자.
Rs는 서버와 라우터 간의 링크 속도를 나타내고 Rc는 라우터와 클라이언트 간의 링크 속도를 나타낸다.
전체 비트는 서버에서 클라이언트로만 보내지는 비트라고 가정하자.
여기서 서버-클라이언트 처리율은 얼마인지 계산해보자.
비트는 유체(fluid)로, 통신 링크를 파이프(pipe)로 생각할 수 있다.
서버는 Rs bps 보다 빠른 속도로 링크상으로 비트를 보낼 수 없고, 라우터는 Rc bps 보다 빠른 속도로 비트를 전달할 수 없다.
만약 Rs < Rc이면, 서버가 배출한 비트는 라우터를 통해 올바로 '흘러갈' 것이고 Rs bps의 속도로 클라이언트에 도착하여 Rs bps의 처리율을 나타낼 것이다.
반면에, Rc < Rs라면, 라우터는 자신이 수신하는 비트만큼 빠르게 그 비트들을 전달할 수 없을 것이다.
이 경우 비트들은 라우터에서 Rc의 속도로 떠나게 되고 종단 간 처리율은 Rc가 될 것이다.
=> 이 상황이 지속되면 클라이언트의 전송을 기다리는 비트들이 라우터에 계속 증가할 것이다.
따라서 이 간단한 2개의 링크로 구성된 네트워크의 경우 처리율은 min{Rc, Rs},
즉 병목 링크(bottleneck link)의 전송률이 처리율이 된다.
=>
그림 1.19(b)는 서버와 클라이언트 간에 N개의 링크를 가진 네트워크를 보여준다.
여기서 N개의 링크의 전송률은 각각 R1, R2, ..., Rn이다.
2개의 링크 네트워크의 경우와 마찬가지의 분석을 적용하면 서버로부터 클라이언트로 파일을 전송하는 경우의 처리율이 min{R1, R2, ..., Rn}임을 알 수 있다.
이는 서버와 클라이언트 간 경로상에서의 병목 링크의 전송률이다.
=>
그림 1.20(a)는 컴퓨터 네트워크로 연결된 서버와 클라이언트를 보여준다.
서버로부터 클라이언트까지의 파일 전송에 대한 처리율을 고려하자.
서버는 Rs의 접속 링크 속도로, 클라이언트는 Rc의 접속 링크 속도로 네트워크에 연결되어 있다.
통신 네트워크의 코어에 있는 모든 링크가 Rs와 Rc보다 매우 높은 전송률을 갖고 있다고 가정하자.
전체 네트워크에서 보내진 비트들은 서버에서 클라이언트로 가는 비트가 유일하다고 가정하겠다.
컴퓨터 네트워크의 코어는 이 예에서 넓은 파이프와 같기 때문에 출발지에서 목적지로 흐를 수 있는 비트 속도는 Rs와 Rc의 최솟값,
즉 처리율 = min{Rs, Rc}이다.
그림 1.20(b)는 네트워크 코어에 연결된 10개의 서버와 클라이언트로 구성된 네트워크를 보여준다.
이 예에서는 10개의 동시적인 다운로드가 일어나고 있다.
현 시각에서 이 10개의 다운로드가 유일한 트래픽이라고 하자.
그림에서 보이는 것처럼 10개의 다운로드가 통과하는 코어에 하나의 링크가 있다. 이 링크의 전송률을 R이라고 하자.
모든 서버 접속 링크는 Rs. 클라이언트 접속 링크는 Rc의 속도를 갖고, R은 Rs와 Rc보다 크다고 가정한다.
R이 Rs와 Rc보다 수백 배 크다면 처리율은 다시 한 번 min{Rs, Rc}가 될 것이다.
하지만 셋 다 비슷한 수준이라면 얘기는 달라진다.
Rs = 2 Mbps, Rc = 1 Mbps, R = 5 Mbps라고 하고, 공통 링크는 10개의 트래픽이 똑같이 전송률을 나눠가진다.
그러면 각 다운로드에 대한 병목은 더 이상 접속 네트워크가 아니라 코어에서의 공유 링크가 된다.
이 공유 링크는 각 다운로드에 대해서 500 kbps의 처리율을 제공하기 때문에 각 다운로드에 대한 종단 간 처리율은 이제 500 kbps로 줄어든다.
=>
그림 1.19와 1.20(a)에서의 예는 처리율이 데이터가 흐르는 링크의 전송률에 의존한다는 것을 보여준다.
다른 간섭 트래픽이 없는 경우, 처리율은 출발지와 목적지 간 경로상에서의 최소 전송률로 근사화할 수 있다.
그림 1.20(b)의 예는 좀 더 일반적으로 처리율은 경로 링크의 전송률에 의존할 뿐만 아니라
간섭 트래픽에도 의존한다는 것을 보여주고 있다.
특히, 만약 많은 데이터 흐름이 높은 전송률을 가진 링크를 통해 지나간다면 파일 전송의 경우 그 링크가 병목 링크가 될 수 있다.
프로토콜 계층과 서비스 모델
스위칭 = 교환
라우팅 = 경로설정