앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.04.17 - [Computer Science/네트워크] - [네트워크] Principles of Reliable Data Transfer
[네트워크] Principles of Reliable Data Transfer
앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.15 - [Computer Science/네트워크] - [네트워크] Transport-Layer Protocols [네트워크] Transport-Layer Protocols 앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.07
hi-guten-tag.tistory.com
1. rdt 3.0 Utilization
- rdt 3.0의 유일한 단점은 바로
stop-and-wait
방식이라는 점입니다. - 아무리 고속으로 전송한다 해도, 송신자나 수신자는 전송/기다림을 반복해야 합니다.
- 기다리는 이 시간이 너무 아깝지 않나요?
- 1 Gbps link, 15 ms propagation, 8000 bit packet이 있다고 가정해 봅시다.
- 송신자의
Utilization
의 정의는 Tx / (RTT + Tx)입니다. - Tx = L/R = 8000/ 10^9 이므로 약 8 microsecond가 됩니다.
- RTT는 2 * propagation이므로 30ms입니다.
- 따라서 0.008 / 30.008 = 0.00027 이므로, 송신자가 비트를 링크로 넣어서 바쁜 시간의 비율인 Utilization은 0.00027입니다.
2. Pipelining
- 만약 거리가 엄청 멀다면 어떻게 될까요? Utilization은 더 낮아지겠죠? Propagation 시간은 점점 늘어나는데, Tx는 똑같으니까요.
- 아무래도 기다리는 시간을 더 줄여야 할 것 같습니다.

- 이렇게 3개의 패킷을 Pipeline으로 전송한다면, 송신자의 Utilization은 3 * Tx / (RTT + Tx)가 되므로 0.00081이 됩니다.
- 확실히 파이프라인 버전으로 하는 게 도움이 되는 것 같습니다. 그러나 Reliable 한 파이프라인 버전을 하기 위해선 3가지 조건이 더 필요합니다.
Sequence Number
는 증가해야 합니다. rdt 3.0처럼 0과 1로 반복된다면 이는 반드시 어떠한 오류가 발생합니다. 따라서 각 패킷에 대해서는 고유한 번호가 입력되어야 합니다.- 송신자와 수신자는 반드시 하나 이상의 패킷을 위한
Buffer
가 필요합니다. 최소한 송신자는 전송되었지만, 아직 ACK를 받지 못한 패킷에 대한 버퍼를 가지고 있어야 합니다. 정상적으로 받은 패킷에 대한 버퍼 또한 수신자에서도 필요할 수도 있습니다. - sequence number와 buffer는 왜 필요할까요? 이는 패킷의 손실, 손상, 그리고 과도하게 늦게 오는 패킷에 대해 처리하는 프로토콜을 만들기 위해서입니다.
- 파이프라인 버전에서 발생하는 에러를 복구하기 위해 사용되는 두 가지 접근법이 있는데,
Go-Back-N
,Selective Repeat
이 있습니다.
참고
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망 수업
Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년
Chat GPT, Bing AI
다음 글에서는 Go-Back-N에 대해 알아보겠습니다.
2023.04.17 - [Computer Science/네트워크] - [네트워크] Go-Back-N (GBN)
[네트워크] Go-Back-N (GBN)
앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.17 - [Computer Science/네트워크] - [네트워크] Pipelined Reliable Data Transfer Protocols [네트워크] Pipelined Reliable Data Transfer Protocols 앞의 글을 읽으시면 이해
hi-guten-tag.tistory.com
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] Selective Repeat (SR) (0) | 2023.04.17 |
---|---|
[네트워크] Go-Back-N (GBN) (0) | 2023.04.17 |
[네트워크] Principle of RDT - rdt 3.0 (0) | 2023.04.17 |
[네트워크] Principle of RDT - rdt 2.2 (0) | 2023.04.17 |
[네트워크] Principle of RDT - rdt 2.1 (0) | 2023.04.17 |