엔드 포인트를 연결하는 패킷 스위치(라우터, 링크레이어 스위치), 링크 그물망에 대해 알아보자
엔드 포인트들은 메세지(데이터)를 주고 받는데, 이 메세지를 송신하기위해 패킷으로 분할하여 송신한다.
이때 한 메세지를 분할해서 여러 패킷을 송신할때 항상 같은 data path를 거치는것은 아니다.
링크와 스위치의 네트워크를 통해 데이터를 이동시키는 두 가지 기본 방식이 있다
패킷 스위칭은 data를 여러 패킷으로 용량을 나누어 end point에서 라우터를 거쳐 수신지로 보내는 교환 방법이다.
이때 한 데이터에서 나온 패킷이 항상 같은 data path를 통해 이동하는 것은 아니다.
cf) 패킷의 순서는 수신자가 도착한 패킷을 확인하면서 처리하게 되며, 라우터는 그저 패킷을 경로를 따라 전송하는 역할만 수행
data path가 다르기 때문에 도착하는 순서가 달라질수 있는것이다.
(TCP 프로토콜을 통해 순서가 안 맞으면, 재전송 요청을 하거나 / 버퍼링을 통해 해결)
저장 후 전달 방식을 사용한다

세개의 패킷이 위와 같이 송신되는 상황일때,
라우터에 한 패킷의 비트가 모두 도착할때 까지는 목적지로 전송하지 않는다.
즉, 딜레이가 생긴다.
출발-라우터 transmission delay(bit / rate): L/R
라우터-출발 transmission delay(bit / rate): L/R
총 2L/R 소요
패킷1 : 출발 ------ 라우터 ------ 목적지
패킷2 : 출발 ------ 라우터 ------ 목적지
패킷3 : 출발 ------ 라우터 ------ 목적지
위의 방식으로 저장 후 전달되기 때문에 총 4L/R의 end-end delay가 소요된다.
네트워크 병목 현상 방지: 대형 메시지를 전송하는 대신 작은 단위로 쪼개어 보내면 네트워크 트래픽을 효과적으로 분산
효율적인 전송: 패킷 중 하나가 손실되더라도 모든 데이터를 다시 전송할 필요 없이 손실된 패킷만 재전송, 이를 통해 전체 전송 속도를 향상시키고 재전송으로 인한 대역폭 낭비를 줄일 수 있습니다.
에러 처리 용이: 각 패킷에 대해 독립적으로 오류 검사를 할 수 있습니다.
비용 효율성: 링크 전송률을 높이기 위해서는 하드웨어(피지컬미디어) 업그레이드가 필요하다(비쌈)
딜레이 시간 감소: 메세지를 나누어 보내면 통째로 보냈을 때 보다 총 딜레이 시간이 감소한다.
오버헤드 증가: 각 패킷에는 헤더 정보가 포함되므로, 전체 메시지 크기에 비해 추가적인 오버헤드가 발생
복잡한 재조립 과정: 수신 측에서 패킷을 다시 원래의 메시지로 조립하는 데 시간이 소요
지연 발생 가능성: 중간 패킷의 손실이나 순서 뒤바뀜으로 인해 재전송이 필요할 경우 지연이 발생

각 패킷 스위치는 접속된 여러 링크를 가지고 있으며, 패킷 스위치는 각 링크에 대해 출력 버퍼(=출력 큐)를 가지고 있다.
여러 엔드포인트에서 패킷을 한번에 보내게 되면 위와 같은 상황이 일어난다.
도착하는 패킷은 한 링크로 전송되어야 하지만 그 링크가 다른 패킷을 전송하고 있는 중이면 딜레이가 일어난다.
들어오는 속도(arrival rate)가 나오는 속도(transimission rate)보다 빠르다면 라우터에 패킷이 쌓이게 되고(큐잉 딜레이), 점점 쌓이다 보면 출력 버퍼 크기 이상으로 패킷이 쌓이게 된다
-> 어쩔수 없이 도착하는 패킷 또는 큐에 대기 중인 패킷을 폐기(drop)한다.(packet loss)
라우터는 접속된 통신 링크 중 하나로 도착하는 패킷을 받아, 접속된 통신 링크 중 다른 링크로 그 패킷을 전달한다.
그렇다면 라우터는 그 패킷을 어느 링크로 전달해야 하는지를 어떻게 결정할까?
이러한 경로의 결정하는 것이 각 라우터의 포워딩 테이블이다.

각 라우터들은 라우팅 알고리즘을 통해 목적지 주소(또는 일부)를 라우터의 출력 링크로 매핑하는 포워딩 테이블을 가지고 있다.
과정을 다음과 같다.
1. 패킷이 라우터에 도착
2. 라우터는 패킷의 IP 주소를 조사
3. 해당 목적지 주소를 이용하여 포워딩 테이블을 검색
4. 그 패킷을 출력 링크로 보낸다.
쉽게 말하면, 데이터를 보낼 때 네트워크의 리소스를 미리 예약을 하고 데이터를 보내는 방식이다.(데이터를 분할하지 않고 통째로 보낸다)
시간 내에 데이터를 전달하는 것을 보장하지 않는 패킷 스위칭과 달리
리소스를 예약했기 떄문에 transmission rate가 보장된다.

한 링크가 위에 그림과 같이 네개의 서킷로 나눠 사용하는 것이다.
한 링크가 100Mbps 라면 그중 하나의 서킷를 예약을 했다면 25Mbps를 보장받고, 사용하는 것이다.(보통은 전화망에서 사용된다)
이 방식의 단점은 리소스를 예약하고 사용시간 동안 해당 리소스를 점유하게되는데, 이 때 실질적인 데이터의 전송이 일어나지 않으면 그 점유시간동안 리소스가 아무 일도 안하고 낭비되게된다.
-> 전화통화 100분 중 실질적으로 말하는 시간이 10분이라면 90분을 리소스를 점유한 채로 낭비한다는 것이다.
이러한 낭비를 최소화 하기 위해 서킷 스위칭 다중화라는 것을 지원한다.
한 링크 내 하나의 서킷이 구현되는 방법에는 FDM TDM두 가지가 있다

FDM은 주파수를 기준으로 서킷을 나눈다.
그 링크는 연결되는 동안 각 연결에 대해 주파수 대역을 고정 제공한다. = 대역폭(bandwidth)
-> 하나를 쭉 사용한다
<조건>
패킷 사이즈 : 640000 bit
transmission rate : 1.536 Mdps
리소스 예약 시간 : 0.5초
이 링크는 24개의 서킷으로 나눈다.
<문제>
1. 1개의 서킷이 사용하는 transmission rate :
- 1.536 Mdps / 24 = 64 Kbps
2. 하나의 서킷으로 파일을 전송하는데 걸리는 시간 :
- (전송지연) + 리소스 예약시간
= (640000 bit / 64 Kbps) + 0.5 = (640000 bit / 64000 bps) + 0.5 = 10.5 초
TDM은 시간을 일정 주기의 프레임으로 구분하고(파초노빨), 각 프레임은 고정된 수의 time slot으로 나뉜다.(파란색 칸)
그 후 번갈아 가며 한 슬롯 동안 전체 대역폭을 얻는다.
하나의 서킷에 해당하는 transimission rate = 프레임 rate X 하나의 time slot에 들어가는 bit 수
ex) 8000 프레임/sec * 8 bit = 64000 bps(bit/sec)
| 특징 | TDM | FDM |
|---|---|---|
| 데이터 전송 방식 | 시간을 분할하여 여러 사용자에게 대역폭을 할당 | 주파수를 분할하여 여러 사용자에게 대역폭을 할당 |
| 대역폭 사용 방식 | 전체 대역폭을 시간 단위로 나누어 사용 | 주파수 대역을 분할하여 동시에 사용 |
| 동시 전송 | time slot에 따라 순차적으로 전송 | 여러 사용자가 동시에 전송 가능 |
| 지연 | 대기 시간이 발생할 수 있음 | 지연이 적음 |
| 대역폭 효율성 | 비활성 time slot에서는 대역폭이 낭비됨 | 각 주파수 대역이 고정되면 사용하지 않아도 낭비 |
| 필터링 필요 여부 | 불필요 | 주파수 간 간섭 방지를 위한 필터링이 필요 |
| 주로 사용되는 곳 | 디지털 통신, 전화 시스템 | 아날로그 방송, 케이블 TV, 초기 셀룰러 네트워크 |
| 복잡성 | 시간 동기화 필요, 상대적으로 간단 | 주파수 필터링이 필요해 상대적으로 복잡 |
| 특징 | 서킷 스위칭(Circuit Switching) | 패킷 스위칭(Packet Switching) |
|---|---|---|
| 데이터 전송 방식 | 고정된 경로를 통해 연속적으로 전송 | 데이터를 작은 패킷으로 나누어 다양한 경로로 전송 |
| 경로 설정 | 통신 전 미리 경로를 설정 | 각 패킷이 독립적으로 경로를 결정 |
| 대역폭 사용 | 통신 중에 항상 대역폭이 차지됨 | 필요할 때만 대역폭을 사용 (on demand) |
| 지연 시간 | 지연 시간이 거의 없음 (실시간 통신에 적합) | 패킷이 다른 경로로 전송되므로 지연이 발생할 수 있음 |
| 실시간 통신 | 실시간 음성/영상 통신에 적합 | 실시간 통신에서 추가적인 지연 관리가 필요 |
| 효율성 | 통신하지 않을 때도 대역폭 낭비 | 대역폭을 효율적으로 사용 |
| 오류 처리 | 경로 고정, 오류가 적음 | 패킷 손실 시 재전송이 필요 |
| 예 | 전화 통신, ISDN | 인터넷, TCP/IP, 이더넷 |
근거
비활용 기간(silent period)에는 자원을 점유한 채로 놀게 되기 때문에 자원 이용률이 감소한다.패킷 교환은 실시간 서비스에는 적당하지 않다.
근거 : 주로 큐잉 지연에서 발생하는 종단 간의 지연 (불규칙적이고 예측할 수 없음)
패킷 스위칭은 혼잡 상황에서 더 나은 효율성을 제공할 수 있지만, 반드시 속도가 더 빠르다고 할 수는 없다. (혼잡 상황에서는 오히려 패킷이 지연되거나 손실될 수 있다)
상황 1
서킷 스위칭: 10명 까지만 사용가능
패킷 스위칭: 최대인원인 35명 모두 사용가능하다
Q. 35명 보다 유저가 많아지면..?
상황 2
서킷 스위칭: 100만 비트를 모두 전송하려면 10초가 걸린다.
패킷 스위칭: 100만 비트는 1초 만에 모두 전송된다.
정리하면 패킷 스위칭이 더 좋은 성능을 발휘한다.
서킷 스위칭 : 요구에 관계없이 미리 전송 링크의 사용을 할당한다. + 예약 구현 복잡 + 오디오 비디오 애플리케이션에서 데이터 전송을 보장하는데 좋다.
패킷 스위칭 : 요구할 때만 링크의 사용을 할당한다. + 단순 + bursty 데이터에 적합하다(데이터 몰림)
오늘날의 인터넷(네트워크의 네트워크)는 12개 정도의 1계층 ISP들과 수십만 개의 하위 계층 ISP들로 구성되어 있다.
하위 계층 ISP들은 상위 계층 ISP들과 연결하고, 상위 계층 ISP들은 서로 연결한다.
사용자와 콘텐츠 제공자는 하위 계층 ISP 고객이고, 하위 계층 ISP들은 상위 계층 ISP들의 고객이다.
최근에 주요 콘텐츠 제공자(구글)도 자신의 네트워크를 구축했고 가능한 곳에서 하위 계층 ISP들과 직접 연결한다.

여러개의 global ISP가 IXP로 연결되고,
그 ISP가 하위 지역 ISP와 연결되고,
그 지역 ISP가 각 access net에 연결되어 인터넷이 구축된다.

최근에는 구글 같은 콘텐츠 제공자들이 자신의 네트워크를 구축한다.
-> 상위 계층 ISP들에게 지불하는 요금을 줄일 수 있다.