앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.03.14 - [Computer Science/네트워크] - [네트워크] The Network Core
1. Queuing Delay
- 각 패킷 스위치에는 여러 개의 링크가 연결되어 있습니다. 패킷 스위치는 연결된 링크마다 output buffer를 가지고 있어, 해당 링크로 전송할 패킷을 저장합니다.
- 하지만 도착한 패킷이 링크로 전송되어야 하지만 다른 패킷의 전송으로 링크가 사용 중인 경우, 도착한 패킷은 출력 버퍼에서 대기해야 합니다.
- 해당 경우는 어떤 라우터에 패킷이 도착하는 속도가 output link로 패킷을 내보내는 속도보다 빠를 경우 큐에 패킷이 쌓이게 되고, 이때 Queuing Delay가 생깁니다.
- 따라서 store and forward 방식의 delay 외에도 패킷은 output buffer의 Queuing delay를 겪습니다.
- 해당 딜레이은 네트워크의 혼잡도에 따라 변동합니다. 따라서 전혀 예상하거나 예측할 수 없습니다.
2. Queuing Delay 예시
- 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
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] Circuit Switching, Multiplexing (0) | 2023.04.06 |
---|---|
[네트워크] Forwarding Table and Routing Protocols (0) | 2023.03.16 |
[네트워크] The Network Core (2) | 2023.03.14 |
[네트워크] The Network Edge (0) | 2023.03.09 |
[네트워크] What is the Internet? (0) | 2023.03.09 |