Network core

youngwiki
Pinkgo (토론 | 기여)님의 2025년 3월 13일 (목) 04:45 판

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

개요

network core란 상호연결된 라우터들의 집합이며 네트워크들의 네트워크 그자체이다. 일반적인 유저에게는 드러나지 않은채 host들 사이의 연결이 이루어진다.

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
    1. host는 시간이 0일때 전송을 시작하며, 시간이 L/R이 되었을 때까지 라우터는 첫번째 패킷을 수신하고 저장한다.
    2. 라우터는 첫번째 패킷을 저장하였으므로 이를 destination으로 송신하고, 이는 L/R초가 소요된다.
    • 시간 2L/R초가 되면 라우터는 전체 패킷을 전송 완료하였고 목적지는 전체 패킷을 수신 완료한다.
  • 전체 패킷의 전송 시간: 4L/R
    1. 앞선 경우와 마찬가지로 host는 시간이 0일때 전송을 시작하며, 시간이 L/R이 될 때까지 라우터는 첫번째 패킷을 수신하고 저장한다.
    2. 시간이 L/R초가 되었을 때 라우터는 첫번째 패킷의 전송을 시작하고 host는 두번째 패킷의 전송을 시작한다.
    3. 시간이 2L/R초가 되었을 때 라우터는 두번째 패킷의 전송을 시작하고 host는 세번째 패킷의 전송을 시작한다.
    4. 시간이 3L/R초가 되었을 때 라우터는 세번째 패킷의 전송을 시작하고 host는 네번째 패킷의 전송을 시작한다.
    5. 시간이 4L/R초가 되면 destination은 마지막 세번째 패킷의 수신까지 완료한다.

또한 host에서부터 N개의 link를 걸쳐 destination까지 패킷을 전송 완료할 때까지의 시간은 다음과 같다.

<math>d_{end-to=end} = N \cdot \frac{L}{R}</math>

이를 응용하여 N 개의 링크를 따라 PP 개의 패킷을 전송할 때의 지연 시간을 구하면 다음과 같다.

<math>d_{end-to=end} = (N+P-1) \cdot \frac{L}{R}</math>

첫번째 패킷이 destination 까지 도착하는 데에는 NLR의 시간이 걸린다. 또한 그 이후로 P-1개의 패킷이 destination의 직전 라우터에서 destination까지 전송되는데 추가로 P1LR의 시간이 걸리므로 위 공식이 성립한다.

각주

  1. router와 switch로 구분된다.
  2. transmission rate
  3. propagation delay는 무시한다.