Shine's dev log

패킷의 지연과 손실 (Packet delay, loss, throughput) 본문

컴퓨터 네트워크

패킷의 지연과 손실 (Packet delay, loss, throughput)

dong1 2021. 1. 15. 18:15

1. 패킷의 지연 (Packet delay)

 

network core에서 라우터를 통해 패킷들이 전달된다는 것을 알고 있다.

 

패킷들이 전송되는 과정에서 막힘없이 전송되면 가장 좋겠지만, 실제 환경에서는 여러가지 요인들로 인해 지연이 발생한다. 패킷이 지연되는 요소는 아래와 같이 크게 4가지로 생각해볼 수 있다.

 

1) Processing delay

2) Queueing delay

3) Transmission delay

4) Propagation delay

 

즉 패킷이 전송될 때 발생되는 총 지연인 Nodal delay = Processing delay + Queueing delay + Transmission delay + Propagation delay 인 것이다.

 

 

 

2. Processing delay

 

Processing 과정은 라우터 내에서 패킷이 진행하는 과정이다. 이 과정에서 패킷 내 데이터의 에러체크와 어디로 나갈지 결정을 한다. 이 과정에서 발생하는 지연을 Processing delay라 한다.

 

Processing delay는 매우 짧은 시간동안만 발생하며, 라우터 내의 하드웨어의 성능에 따라 좌지우지되므로 가변적이지 않다는 특징이 있다.

 

 

 

3. Queueing delay

 

라우터로 패킷들이 한번에 많이 들어올 경우, 라우터는 패킷들을 queue 형태로 보관하여 차례대로 처리한다. 이때, 전송을 위해 output link의 queue에서 기다리면서 발생하는 지연을 Queueing delay라 한다.

 

Queueing delay는 라우터의 congestion(혼란) 정도가 결정하며, 상황에 따라 가변적이라 예측이 어렵다는 특징이 있다.

 

 

 

4. Transmission delay

 

queue를 빠져나가 라우터의 output link를 통해 빠져나가기 전까지 발생하는 delay이다. 즉, 전송하려는 패킷을 output link로 밀어내는데 걸리는 시간이다.

패킷이 전송되는 link의 성능에 따라 갈리며, 품질이 좋은 link를 사용할 경우 Transmission delay가 줄어든다.

 

Transmission delay는 link의 bandwidth (link가 최대로 전송할 수 있는 데이터 양) 에 따라 결정되며, link bandwidth는 불변값이며 패킷의 길이도 대부분 비슷하므로 Transmission delay도 비교적 가변적이지 않다는 특징이 있다.

참고로, 여기서 가변적이지 않다는 말은 1개의 패킷을 기준으로 계산했을 때 가변적이지 않다는 뜻이다. 실제 상황에서 Transmission delay는 보내는 데이터의 양에 따라서 매우 가변적으로 변한다.

Transmission delay = (Packet Length) / (link bandwidth) 로 계산한다. 

 

 

 

5. Propagation delay

 

실제 link를 타고 데이터가 전송될 때 발생하는 delay이다.

 

Propagation delay는 거리link의 매체가 결정하는 delay로, 다른 delay에 비해 매우 짧은 시간이 걸린다. 특히나 요즘같이 광통신을 하는 경우에는 거의 없다고 봐도 될 정도로 짧다.

Propagation delay = (distance) / (Propagation speed) 로 계산한다.

 

 

 

6. Throughput

 

Throughput은 송신자와 수신자가 통신을 할 때, 전송되는 데이터의 rate 이다.

 

앞서 언급한 Bandwidth는 최대로 전송할 수 있는 데이터의 rate이고, Throughput은 실제로 측정하는 값이므로 Throughput < Bandwidth 라고 볼 수 있다.

 

참고로 Throughput은 bottleneck link라고 하는데, 이는 여러개의 link를 거쳐갈 때 가장 rate이 낮은 곳을 기준으로 Throughput이 결정되기 때문이다.

 

예를 들어 차가 아무리 10차선 도로로 쌩쌩 달려도 목적지 부근이 1차선 도로라면, 결국 걸리는 시간은 1차선 도로를 기준으로 측정되는 것처럼 말이다.

 

 

오늘 배운 내용을 정리해보면,

 

1. 패킷이 전송되는데 발생하는 delay는 Processing delay, Queueing delay, Transmission delay, Propagation delay 가 있다.

 

2. Throughput은 실제 전송되는 데이터의 rate이고, Bandwidth는 최대로 전송될 수 있는 rate이다.

 

 

위 내용은 공부하며 정리한 것으로, 오류가 있을 수 있습니다.

'컴퓨터 네트워크' 카테고리의 다른 글

HTTP의 개념 (application layer)  (0) 2021.01.21
Application Layer 개요  (0) 2021.01.19
네트워크 구성 (Network core, Network edge, Access network)  (2) 2021.01.15
WiFi 6 란? (feat. OFDMA)  (0) 2020.11.29
IPsec의 개념  (2) 2020.08.18