Network core
상위 문서: 컴퓨터 네트워크

개요
network core란 상호연결된 라우터들의 집합이며 네트워크들의 네트워크 그자체이다. 일반적인 유저에게는 드러나지 않은채 host들 사이의 연결이 이루어진다.
packet switching과 circuit switching
packet switching
host에서 destination으로 data를 보내기 위해, 출발 host는 data를 더 작은 data 조각들로 나누는데, 이를 packet(패킷)이라고 한다. packet은 도착점으로 삼은 host까지 각 패킷은 communication link와 packet switch[1]를 통해 이동한다.
이때 각 패킷은 링크의 최대 link capacity[2]으로 전송된다. 즉, 패킷이 링크를 통해 전송될 때, 해당 링크의 Transmission Rate(R)로 보낸다는 뜻이다. 예를 들어, 링크의 전송 속도가 10 Mbps(메가비트/초) 라면, 패킷이 이 링크를 통과할 때 10 Mbps의 속도로 전송된다는 의미이다. 따라서, 링크가 병목이 되거나 대역폭이 제한되지 않는 한, 패킷은 항상 링크가 허용하는 최대 속도로 전송된다.
또한 packet switcing은 store-and-forward 방식으로 동작한다. store-and-forward란 전체의 패킷이 라우터에서 output link로 전송되기 위해서는 전체 패킷이 모두 라우터에 수신되어야 함을 의미한다. 위 그림에서 첫번째 패킷의 일부가 라우터로 전송되었으나, 아직 첫 패킷 전체가 라우터에 전달되지 않아 이를 destination으로 전송할 수 없다. 그 대신의 라우터는 패킷의 bit를 버퍼에 저장해야 한다. 라우터가 패킷의 모든 bit를 수신한 후에는 비로소 패킷을 출력 링크로 전송할 수 있다. 이를 통해서 하나의 패킷과 전체(3개)의 패킷이 destination까지 전송되는 시간을 계산할 수 있다.[3]
- 하나의 패킷의 전송 시간: 2L/R
- host는 시간이 0일때 전송을 시작하며, 시간이 L/R이 되었을 때까지 라우터는 첫번째 패킷을 수신하고 저장한다.
- 라우터는 첫번째 패킷을 저장하였으므로 이를 destination으로 송신하고, 이는 L/R초가 소요된다.
- 시간 2L/R초가 되면 라우터는 전체 패킷을 전송 완료하였고 목적지는 전체 패킷을 수신 완료한다.
- 전체 패킷의 전송 시간: 4L/R
- 앞선 경우와 마찬가지로 host는 시간이 0일때 전송을 시작하며, 시간이 L/R이 될 때까지 라우터는 첫번째 패킷을 수신하고 저장한다.
- 시간이 L/R초가 되었을 때 라우터는 첫번째 패킷의 전송을 시작하고 host는 두번째 패킷의 전송을 시작한다.
- 시간이 2L/R초가 되었을 때 라우터는 두번째 패킷의 전송을 시작하고 host는 세번째 패킷의 전송을 시작한다.
- 시간이 3L/R초가 되었을 때 라우터는 세번째 패킷의 전송을 시작하고 host는 네번째 패킷의 전송을 시작한다.
- 시간이 4L/R초가 되면 destination은 마지막 세번째 패킷의 수신까지 완료한다.
또한 host에서부터 N개의 link를 걸쳐 destination까지 패킷을 전송 완료할 때까지의 시간은 다음과 같다.
이를 응용하여 N 개의 링크를 따라 PP 개의 패킷을 전송할 때의 지연 시간을 구하면 다음과 같다.
첫번째 패킷이 destination 까지 도착하는 데에는 의 시간이 걸린다. 또한 그 이후로 P-1개의 패킷이 destination의 직전 라우터에서 destination까지 전송되는데 추가로 의 시간이 걸리므로 위 공식이 성립한다.
Queueing delay, loss
각각의 패킷 스위치는 여러개의 link에 연결되어 있으며, 패킷 스위치는 각각의 link에 대한 output buffer[4]를 가지고 있다. 패킷 스위치에 도착한 패킷은 특정한 output link로 전송되어야 하지만 해당 link가 다른 패킷을 전송하느라 사용 중일 경우[5]에는 해당 link의 output buffer에 저장되어 전송될 때까지 대기하여야 한다. 이러한 이유로 생기는 대기 시간을 queueing delay라고 한다. 또한 패킷이 output buffer에 저장되고자 할 때 해당 버퍼가 가득 차있다면 packet loss가 발생할 수 있다. 즉, 도착한 패킷이나 이미 대기 중인 패킷들 중 하나가 drop(삭제)될 수 있다. 삭제된 패킷은 다시 재전송 되어야한다.
Forwarding Tables and Routing Protocols

인터넷의 모든 end system에는 IP Address라는 고유한 주소가 할당된다. source end system에서 destination end system으로 패킷을 전송하고자 할 때 해당 패킷에는 destination의 IP 주소가 포함된다. IP 주소는 계층적 주소를 지니고 있어 라우터는 패킷의 주소를 일부만 확인하고도 어떤 output link로 패킷을 전송할지 결정할 수 있다. 이를 가능케 하는 것이 바로 forwarding table이다.
각 라우터에는 forwarding table이 존재한다. 라우터는 forwarding table을 이용해 destination의 주소(혹은 일부)와 해당 패킷을 전송할 outbound link를 매핑한다. 매핑된 input link로 들어온 패킷을 outbound link로 송신하여 다음 라우터로 보내고, 해당 과정을 반복하여 destination에 패킷이 도달한다. 이렇게 forwarding table을 활용해 input link로 들어온 패킷을 outbound link로 송신하는 것을 forwarding이라고 하며, 이러한 작업은 switch와 라우터에 의해서 수행된다.
routing이란 source에서 destination까지 패킷이 도달할 수 있도록 shorteset path를 찾고 결정하는 과정이다. routing은 오직 라우터에 의해서만 실행된다. 추후 과정을 상세히 설명
https://chatgpt.com/c/67d25576-2144-8012-b28b-448a47cf7201
https://aws.amazon.com/ko/what-is/routing/
Circuit Switching
Circuit Switching Network에서는 source와 destination간의 통신을 위한 경로의 resource[6]를 통신 전에 미리 reserve한다. 이러한 특성은 예약된 자원이 오로지 예약된 통신만을 위해 사용되기 때문에 항상 빠르고 안정적인 통신이 가능하다. 예를 들어서 위 그림에서 host간의 통신을 위해서는 2개의 링크에서 각각 1개의 circuit(회선)을 예약해야 한다. 이 경우에서는 첫 번째 링크에서는 2번째 회선이, 두 번째 링크에서는 네번째 회선이 사용되었다.[7]
Multiplexing
Circuit Switching Network에서 하나의 링크를 여러 회선이 공유할 수 있도록 하는 방식에는 Frequency-Division Multiplexing(FDM), Time-Division Multiplexing(TDM)이 있다.
- FDM: link의 주파수 스펙트럼을 여러개의 대역으로 나누어 각 연결에 할당하는 방식이다.
- 이를 통해서 각 연결은 회선이 유지되는 동안 일정한 주파수 대역을 독점적으로 사용한다.
- TDM: 시간을 일정한 길이의 frame으로 나누고, 각 프레임을 다시 여러 개의 time slot으로 분할하여 각 time slot마다 각 유저의 네트워크 연결을 할당한다.
- 이러한 연결은 time slot 동안 해당 회선에 대해 독점적으로 할당되어 매 프레임마다 하나의 time slot에서 유저가 해당 link를 독점적으로 사용할 수 있다.
packet switch VS circuit switch
packet switch는 circuit switch보다 더욱 많은 유저가 네트워크에 접속할 수 있도록 한다.
- 예를 들어서 link가 1 Mb/s의 대역폭을 지원하고, 활성화 되어 있을때 100kb/s의 대역폭을 요구하는 유저가 전체 시간의 10% 동안만 활성화되어 있다고 하자.
- circuit switching은 오직 10명의 유저가 접속하는 것을 허용한다. 하지만 이를 통해서 활성화된 모든 유저들에게 보장된 대역폭을 제공한다.
- packet switching은 35명의 유저가 접속하는 것을 허용한다. 11명 이상의 유저가 동시에 활성화될 가능성은 0.0004%이다. 이는 99.9996%의 시간 동안은 circuit switching과 거의 비슷한 대역폭을 사용자에게 제공한다. 만약 11명 이상의 유저가 동시에 활성화되면 패킷의 도착 capacity가 링크의 출력 capacity를 초과하여 output queue가 증가하며 일시적으로 속도가 느려진다.
이러한 packet switcing의 특징은 유저들이 실제 활성화되어 있는 시간 사이에 쉬어가는 시간이 많기 때문에 가능하다. circuit switching은 각 유저에게 고정된 대역폭을 제공하므로 유저가 대기 중일 때도 자원을 예약해두어 더 적은 수의 유저만 동시에 접속할 수 있다는 특징이 있다. 반면 packet switching은 유저가 실제로 활성화된 시간 사이에 비활성화되어 있는 시간이 길다는 점에서 착안해 네트워크 자원을 더욱 유동적으로 사용하여 더욱 많은 사람이 하나의 link를 통해 통신을 할 수 있도록 허용한다.
결국 packet switching은 현재의 network에서 이견이 없는 지배자라고 볼 수 있다. 이는 packet switching이 resource의 분배가 더욱 효율적이고, 회선에 대한 reservation이 필요가 없어 더욱 간단하여 대부분의 network 연결에서 사용되고 있기 때문이다. 하지만 circuit switching이 아예 쓰이지 않는 것은 아니다. circuit switching은 국가의 명령 체계나 비행기와 관제탑의 연결처럼 안정적인 정보의 송수신이 필요한 분야에서 사용되고 있다.
A Network of Networks
end system(host)는 access ISP[8]를 통해 인터넷에 연결된다. 하지만 end system과 ISP를 연결하는 것 만으로는 전세계를 하나로 묶을 수 없다. 즉 전세계를 네트워크를 통해서 연결하기 위해서는 access ISP가 서로 연결되어야 한다. 전세계를 하나로 묶는 인터넷은 a network of nwtworks를 만들어서 구현된다.
이때 a network of networks는 매우 복잡한 구조로 발달하였다. 이는 네트워크 간의 연결이 ISP의 숫자가 매우 늘어난 것 외에도 경제성, 국가 간의 정치적인 지형에 의해 영향을 받았기 때문이다. 결국 a network of networks는 계층적인 구조로 발달하였다.
a network of networks의 구성
- 극 초창기에는 ISP의 숫자가 그리 많지 않았기 때문에 각각의 ISP들 사이를 모두 연결하였다. 하지만 ISP의 숫자가 늘어남에 따라 이러한 방식은 쓸 수 없게 되었다. 그 이유는 ISP의 개수가 N개일 경우 요구되는 연결의 수는 O(n2)이기 때문이다.
- 이러한 문제를 해결하기 위해서 모든 access ISP를 하나의 global ISP에 연결하는 방식이 도입되었다. 이러한 방식은 각각의 access ISP가 global ISP를 구축한 회사에 요금을 지불하며 유지된다. 그 결과 수익성이 있는 global ISP가 구축되면, 이에 경쟁하는 또다른 global ISP가 도입된다. 이 경우 서로 경쟁하며 가격과 서비스가 개선되는 효과가 있다. 이 경우에는 각각의 global ISP도 서로 연결되어야 한다. 그렇지 않으면 하나의 global ISP에 연결된 액세스 ISP는 다른 global ISP에 연결된 액세스 ISP와 통신할 수 없기 때문이다.
- 이 때문에 global ISP간의 연결을 가능하게 하기 위해서 PoP[9], peering link, IXP, multi-homing이 새롭게 추가된다. peering link는 거대 global Network간의 서로 간의 요금 지불 없이 직접 연결을 지원해 그보다 상위의 ISP를 거치지 않도록 한다. 또한 IXP는 이러한 peering link들이 서로 직접연결되는 허브의 역할을 하는 물리적인 장소이다.
각주
- ↑ router와 switch로 구분된다.
- ↑ transmission rate
- ↑ propagation delay는 무시한다.
- ↑ output queue라고도 한다.
- ↑ 라우터에 전송되는 패킷의 전송 속도가 라우터가 ouput link에 전송하는 속도보다 더 빠른 경우
- ↑ 버퍼, 링크 전송 속도 등
- ↑ 각 링크에는 총 4개의 회선이 있기 때문에 각 링크에서 전체 전송 용량의 1/4이 해당 회선에 할당된다.
- ↑ 반드시 통신사나 케이블 회사일 필요는 없으며, 예를 들어 대학(학생, 교직원, 교수에게 인터넷 접근을 제공)이나 회사(직원에게 인터넷 접근을 제공)일 수도 있다.
- ↑ 해당 provider ISP 내에 하나 이상의 라우터를 설치하여 그곳에서 customer ISP들이 provider ISP에 연결할 수 있도록 하는 지점이다.