1.3.1 패킷 교환(packet switching)
출발지 종단 시스템에서 목적지 종단 시스템으로 메시지를 보내기 위해, 송신 시스템은 긴 메시지를 패킷(packet)이라고 하는 작은 덩어리로 분할한다. 송신 측과 수신 측 사이에서 각 패킷은 통신 링크, 패킷 스위치(packet switch)를 거치게 된다.
- 패킷 스위치(packet switch): 라우터(router), 링크 계층 스위치(link-layer switch)
- 패킷의 전송 속도 = 링크의 최대 전송률 속도
--> 출발지의 종단 시스템/패킷 스위치가 R비트/sec의 속도로 링크에서 L비트의 패킷을 송신한다면, 그 패킷을 전송하는 데 걸리는 시간 = L/R초
저장-후-전달 전송(store-and-forward transmission)
패킷 스위치는 저장-후-전달 전송(store-and-forward transmission) 방식을 이용한다.
저장-후-전달은 스위치가 출력 링크로 패킷의 첫 비트를 전송하기 전에 전체 패킷을 받아야 함을 의미한다.
<그림>에서 보이는 순간에 출발지는 패킷1의 일부분을 전송했고, 패킷1의 앞쪽이 이미 라우터에 도착했다. 라우터가 이 순간에 저장-후-전달을 채택하고 있기 때문에 라우터는 수신한 비트를 전송할 수 없다. 대신에 그 패킷의 비트를 먼저 저장(store)한 후, 라우터가 패킷의 모든 비트를 수신한 후에만 출력 링크로 그 패킷을 전송(forward)하기 시작한다.
▶ 출발지에서 패킷을 송신하기 시작해서 전체 패킷을 목적지에서 수신할 때까지 경과 시간 계산하기
(전파 지연(propagation delay)는 무시한다.)
- 출발지는 시각 0에서 전송하기 시작한다.
- L/R초: 출발지가 전체 패킷을 전송했고, 전체 패킷이 라우터에 수신되고 저장되었다. (전파 지연x)
- 라우터는 L/R초에 목적지를 향해 그 패킷을 출력 링크로 전송하기 시작한다.
- 2L/R초: 라우터가 전체 패킷을 전송했고, 수신 시스템이 전체 패킷을 수신했다.
--> 전체 지연 시간 = 2L/R
Cf) 만약 스위치에 비트가 도착하자마자(즉, 전체 패킷을 수신할 때까지 기다리지 않고) 전달한다면, 비트가 라우터에서 지연되지 않기 때문에 전체 지연 = L/R 이 된다.
큐잉 지연, 패킷 손실
각 패킷 스위치는 접속된 여러 개의 링크를 갖고 있다. 각 링크에 대해 패킷 스위치는 출력 버퍼(output buffer)를 갖고 있으며, 그 링크로 송신하려고 하는 패킷을 저장하고 있다.
- 출력 버퍼(output buffer)
: 도착하는 패킷이 어떤 링크로 전송되어야 하는데 그 링크가 다른 패킷을 전송하고 있다면, 도착하는 패킷은 출력 버퍼에서 대기해야 한다. --> 패킷은 저장-후-전달 지연뿐만 아니라, 출력 버퍼에서 큐잉 지연(queuing delay)을 겪게 된다. - 큐잉 지연(queuing delay)
: 버퍼 공간의 크기가 유한하기 때문에 도착하는 패킷은 버퍼가 전송을 위해 대기 중인 다른 패킷들로 꽉 차 있는 경우를 당할 수 있다. 이 경우, 패킷 손실(packet loss)이 발생한다. (도착하는 패킷 또는 이미 큐에 대기 중인 패킷을 폐기한다.)
포워딩 테이블, 라우팅 프로토콜
Q. 라우터는 어떻게 어떤 패킷을 어느 링크로 전달해야 하는지 결정하는가?
A. 포워딩 테이블(forwarding table)
: 각 라우터는 목적지 주소를 라우터의 출력 링크로 매핑하는 포워딩 테이블(forwarding table)을 갖고 있다. 패킷이 라우터에 도착하면, 라우터는 올바른 출력 링크를 찾기 위해 주소를 조사하고, 이 목적지 주소를 이용하여 포워딩 테이블을 검색한다. 그런 후에 라우터는 그 패킷을 출력 링크로 보낸다.
Q. 포워딩 테이블(forwarding table)은 어떻게 설정되는가?
A. 라우팅 프로토콜(routing protocol)
: 인터넷은 자동으로 포워딩 테이블을 설정하는 라우팅 프로토콜(routing protocol)을 갖고 있다.
1.3.2 회선 교환(circuit switching)
: 회선 교환(circuit switching) 네트워크에서 종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원(버퍼, 링크 전송률)은 통신 세션 동안에 예약된다. 세션 메시지는 온디맨드(on-demand) 방식으로 자원을 요청하여 사용하고 그 결과, 통신 링크에 대한 접속을 위해 기다릴(큐에서 대기) 수도 있다.
- 회선(circuit): 송신자와 수신자 간의 경로에 있는 스위치들이 해당 연결 상태를 유지해야 하는 연결
--> 주어진 전송률이 송신자-수신자 연결을 위해 예약되므로, 송신자는 수신자에게 보장된(guaranteed) 일정 전송률로 데이터를 보낼 수 있다.
- 호스트(예: PC, 워크스테이션)는 스위치 중 하나에 직접 연결된다.
- 두 호스트가 통신하고 싶을 때 네트워크는 두 호스트 사이에 지정된 종단 간 연결(end-to-end connection)을 설정한다.
--> 호스트 A가 호스트 B와 통신하기 위해 네트워크는 먼저 2개의 링크 각각에 한 회선(circuit)을 예약한다.
--> 링크는 4개의 회선을 가지므로, 종단 간 연결을 사용하는 각 링크에 대해 그 연결은 연결이 지속되는 동안 링크 전체 전송 용량의 1/4를 얻는다.
Cf) 패킷 교환(packet switching)
: 패킷 교환(packet switching)도 회선 교환(circuit switching)과 마찬가지로 패킷은 일련의 통신 링크를 통해 전송된다. 그러나 회선 교환과 달리 패킷은 링크 자원을 예약하지 않고 네트워크로 보내진다. 만약 그 시간에 링크로 다른 패킷들이 전송되어야 해서 링크 중 하나가 혼잡하다면, 그 패킷은 전송 링크의 송신 쪽 버퍼에서 기다려야 하고, 지연이 발생한다.
회선 교환 네트워크에서의 다중화
▶ 주파수 분할 다중화(FDM: frequency-division multiplexing)
: FDM에서 링크를 통해 설정된 연결은 그 링크의 주파수 스펙트럼을 공유한다. 특히 그 링크는 연결되는 동안 각 연결에 대해 주파수 대역(bandwidth)을 고정 제공한다.
- 주파수 영역을 x개의 대역으로 분할한다.
▶ 시분할 다중화(TDM: time-division multiplexing)
: TDM 링크에서는 시간을 일정 주기의 프레임으로 구분하고, 각 프레임은 고정된 수의 시간 슬롯으로 나뉜다. 네트워크가 링크를 통해 하나의 연결을 설정할 때, 네트워크는 모든 프레임에서 시간 슬롯 1개를 그 연결에 할당한다. 이들 슬롯은 그 연결을 위해 사용되도록 할당되고, 그 연결의 데이터를 전송하기 위해 모든 프레임에 하나의 시간 슬롯을 갖게 된다.
- 시간 영역을 시간 프레임으로 분할한다.
- TDM 회선의 전송률 = 한 슬롯 안의 비트 수 * 프레임 전송률
패킷 교환 vs. 회선 교환
- 회선(circuit switching) 옹호자들은 패킷 교환(packet switching)의 경우, 가변적이고 예측할 수 없는 종단 간의 지연(주로 불규칙적이고 예측할 수 없는 큐잉 지연(버퍼)에서 발생)때문에 패킷 교환이 실시간 서비스에는 적당하지 않다고 주장한다.
- 패킷(packet swtiching) 옹호자들은 회선 교환(circuit switching)의 경우, 할당된 회선이 비활용 기간(silent period)에는 놀게 되므로 낭비라고 주장한다.
- packet switching이 circuit switching보다 전송 용량의 공유에서 더 효율적이다.
- packet switching이 더 간단하고 효율적이며, circuit switching보다 구현 비용이 적다.
▷ 결론: 패킷 교환(packet switching)이 더 효율적이다!
▷ 이유:
packet switching에서 패킷의 통합 도착률리 링크의 출력 용량을 초과하여 출력 큐가 커지지 않는 한, packet switching은 거의 항상 circuit switching과 대등한 지연 성능을 가지면서도, 거의 3배 이상의 사용자 수를 허용한다.
- Circuit switching: 요구에 관계없이 미리 전송 링크의 사용을 할당한다.
- Packet switching: 요구할 때만 전송 링크의 사용의 할당한다.
1.3.3 네트워크의 네트워크
- 종단 시스템(PC, 스마트폰, 웹 서버, 메일 서버 등): 접속 ISP를 통해 인터넷에 연결된다.
- 접속 ISP: DSL, 케이블, FTTH, 와이파이, 셀룰러(이동 통신) 등의 다양한 접속 기술을 이용하여 유선/무선 연결을 제공한다.
But, 종단 사용자들과 콘텐츠 제공자들을 접속 ISP로 연결하는 것은 인터넷을 구성하는 수많은 종단 시스템을 연결하는 퍼즐의 해결 방법 중 극히 일부분에 해당된다.
--> 접속 ISP들끼리 연결되어야 한다: 네트워크의 네트워크(network of network)
▶ 네트워크의 네트워크(network of network)
- 네트워크 구조 1: 접속 ISP + 하나의 글로벌 통신(transit) ISP --> 2계층구조
- 네트워크 구조 2: 접속 ISP + 다중의 글로벌 ISP --> 2계층구조
- 네트워크 구조 3: 접속 ISP + 지역(regional) ISP + 1계층(tier-1) ISP --> 다중계층구조
네트워크 구조 4
▶ PoP(points of presense)
: 단지 제공자의 네트워크 내에 있는 하나 이상의 라우터(router) 그룹
- 고객 ISP가 제공자 ISP에 연결될 수 있다.
- 고객 네트워크가 제공자의 PoP에 연결되기 위해, 고객은 자신의 라우터 중 하나를 PoP에 있는 라우터에 직접 연결하도록 고속 링크를 제3자 통신 서비스 제공자로부터 임대할 수 있다.
▶ 멀티홈(multi-homing)
: 둘 이상의 제공자 ISP에 연결하도록 하는 것
- 1계층 ISP를 제외한 모든 ISP는 멀티홈(multi-homing)이 가능하다.
▶ 피어링(peering)
: 같은 계층에 있는 ISP들 간에는 송수신되는 모든 트래픽을 상위 계층 ISP를 통하지 않고 직접 송수신할 수 있도록 서로 직접 연결하는 것
▶ IXP(Internet exchange point)
: 다양한 인터넷 서비스 제공업체(ISP) 및 네트워크 운영자 간에 데이터 트래픽을 교환하고 공유하는 데 사용되는 중요한 인프라스트럭처 요소 중 하나
네트워크 구조 5
: 네트워크 구조 4 + 콘텐츠 제공자 네트워크(content-provider network)
- 콘텐츠 제공자 네트워크
예) 구글(구글 데이터 센터는 모두 구글의 사설 TCP/IP 네트워크를 통해 연결되어 있다.)
'네트워크' 카테고리의 다른 글
[네트워크] 1.5 프로토콜 계층과 서비스 모델 (0) | 2023.09.10 |
---|---|
[네트워크] 1.4 패킷 교환 네트워크에서의 지연, 손실, 처리율 (0) | 2023.09.10 |
[네트워크] 1.2 네트워크의 가장자리 (0) | 2023.09.05 |
[네트워크] 1.1 인터넷이란 무엇인가? (0) | 2023.09.05 |
[모두의 네트워크] 9장 - 무선 랜 이해하기 (0) | 2023.08.16 |