Computer Science/네트워크

[네트워크] Queuing Delays and Packet Loss

바보1 2023. 3. 16. 01:35

앞의 글을 읽으시면 이해에 도움이 됩니다.

 

 

 

2023.03.14 - [Computer Science/네트워크] - [네트워크] The Network Core

 

[네트워크] The Network Core

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.03.09 - [Computer Science/네트워크] - [네트워크] The Network Edge [네트워크] The Network Edge 이전 글을 읽으시면 이해에 도움이 됩니다. 2023.03.09 - [Computer Scienc

hi-guten-tag.tistory.com


1. Queuing Delay

 

 

  • 패킷 스위치에는 여러 개의 링크가 연결되어 있습니다. 패킷 스위치는 연결된 링크마다 output buffer 가지고 있어, 해당 링크로 전송할 패킷을 저장합니다.
  • 하지만 도착한 패킷이 링크로 전송되어야 하지만 다른 패킷의 전송으로 링크가 사용 중인 경우, 도착한 패킷은 출력 버퍼에서 대기해야 합니다.
  • 해당 경우는 어떤 라우터에 패킷이 도착하는 속도가 output link로 패킷을 내보내는 속도보다 빠를 경우 큐에 패킷이 쌓이게 되고, 이때 Queuing Delay가 생깁니다.
  • 따라서 store and forward 방식의 delay 외에도 패킷은 output buffer의 Queuing delay를 겪습니다.
  • 해당 딜레이은 네트워크의 혼잡도에 따라 변동합니다. 따라서 전혀 예상하거나 예측할 수 없습니다.

2. Queuing Delay 예시

 

 

출처 : Computer Networking 1장. Figure 1.18

  • a를 큐에 도착하는 패킷의 평균 속도라 가정해봅시다.
  • 모든 패킷은 L bits를 가지고, 링크는 R 만큼의 전송 속도를 가지고 있다고 가정합니다.
  • 만약 La/R > 1이라면 패킷의 전송 속도에 비해 도착하는 패킷의 비트가 더 많으므로, 이는 traffic intensity를 발생시킵니다.
  • 해당 상황에서 큐는 무한정 증가하게 될것입니다. 따라서 Traffic을 제어하기 위한 가장 중요한 첫 번째 규칙은 Traffic Intensity를 1보다 크게 하지 않는 것입니다.
  • 그렇다면 La/R <= 1이라면 어떻게 될까요?
  • 만약 1보다 작고, 0에 가깝다면 Queuing Delay는 매우 작습니다.
  • 만약 1과 같다면, 도착률이 전송 용량을 초과하는 시간 간격이 생기고, 이러한 시간 간격 때문에 큐가 점점 커지게 됩니다.
  • 따라서 1에 가까울 수록 큐의 길이가 점점 커집니다.
  • 일반적으로 La = R이라면 큐에 쌓이지 않고, 바로바로 나가는게 아닌가라고 생각할 수 있지만, 이는 이상적인 환경일 때입니다.
  • 패킷은 일정한 시간에 도착하는 것이 아니고, 랜덤으로 도착합니다. 또한 다른 추가적인 딜레이 때문에 결국 큐에 패킷이 쌓이게 됩니다.
  • 결론적으로 La = R이라면 큐에 패킷이 쌓이게 되고, 이는 결국 무한대의 딜레이를 형성하게 됩니다.
  • 따라서 La/R >= 1이라면 Packet Loss가 발생합니다.

3. Packet Loss

 

 

 

  • 버퍼 공간이 무한하지 않기 때문에 새롭게 도착한 패킷이 전송을 기다리는 다른 패킷들로 인해 완전히 가득 버퍼를 발견할 있습니다.
  • 경우 Packet Loss 발생하며, 도착한 패킷 또는 이미 큐에 있는 패킷 하나가 삭제됩니다. (원서에서는 이미 큐에 있는 패킷도 버릴 수 있다고 설명합니다. 추가에서 자세히 설명합니다.)
  • 따라서 노드에서의 성능은 딜레이 뿐만 아니라 패킷 손실로도 측정됩니다.
  • 버퍼 공간이 가득 찼을 경우에 패킷을 버리는 이유는 다음과 같습니다.
  • 리소스 제한: 라우터는 메모리, 처리 능력 대역폭과 같은 제한된 리소스를 가지고 있습니다. 이러한 제한으로 인해 라우터는 동시에 처리할 있는 패킷의 수에 한계가 있습니다. 출력 버퍼가 가득 차면 라우터는 새로운 패킷을 저장할 있는 공간이 없게 되므로, 해당 패킷을 처리할 없게 됩니다. 
  • 네트워크 혼잡 관리: 출력 버퍼가 가득 차면 이는 보통 네트워크 혼잡의 징후입니다. 혼잡한 상황에서 패킷을 계속해서 받으면 기존 패킷들의 전송 지연이 더욱 증가할 있고, 결과적으로 네트워크 성능이 저하됩니다. 이러한 혼잡을 완화하기 위해 라우터는 출력 버퍼가 가득 상황에서 새로운 패킷을 버림으로써, 혼잡도를 줄이려고 시도합니다.

4. 추가

 

 

  • Packet Loss가 발생하더라도 라우터의 출력 버퍼에 있는 기존 패킷들은 일반적으로 영향을 받지 않습니다.Packet Loss가 발생할 , 라우터는 새로운 패킷을 받지 못하거나 그것을 버릴 있지만, 출력 버퍼에 이미 저장된 패킷들은 그대로 전송될 예정입니다. 
  • 그러나 Packet Loss가 발생한 원인에 따라서 출력 버퍼에 있는 패킷들도 영향을 받을 있습니다. 예를 들어, 네트워크 고장이나 링크 손상으로 인한 Packet Loss가 발생할 경우, 라우터의 출력 버퍼에 있는 패킷들도 전송되지 못하고 손실될 있습니다. Packet Loss가 발생했을 송신측은 이를 감지하고 데이터 전송을 조절합니다.
  • 예를 들어, TCP에서는 Packet Loss를 감지하면 혼잡 제어 알고리즘을 사용하여 송신 속도를 조절하고, 필요한 경우 재전송을 시도합니다. 이런 방식을 통해 Packet Loss가 발생하더라도 데이터의 정확한 전달이 보장됩니다.

참고

 

 

경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망 수업

Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년

Chat GPT, Bing AI


다음 글에서는 Forwarding Table과 Routing Protocol에 대해 설명하겠습니다.

 

2023.03.16 - [Computer Science/네트워크] - [네트워크] Forwarding Table and Routing Protocols

 

[네트워크] Forwarding Table and Routing Protocols

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.03.16 - [Computer Science/네트워크] - [네트워크] Queuing Delays and Packet Loss [네트워크] Queuing Delays and Packet Loss 앞의 글을 읽으시면 이해에 도움이 됩니다. 2

hi-guten-tag.tistory.com

감사합니다.

지적 환영합니다.