Computer Science/네트워크

[네트워크] Principle of RDT - rdt 2.2

바보1 2023. 4. 17. 13:33

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

 

2023.04.17 - [Computer Science/네트워크] - [네트워크] Principle of RDT - rdt 2.1

 

[네트워크] Principle of RDT - rdt 2.1

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.17 - [Computer Science/네트워크] - [네트워크] Principle of RDT - rdt 2.0 [네트워크] Principle of RDT - rdt 2.0 앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.1

hi-guten-tag.tistory.com


1. rdt 2.2

 

 

  • 앞선 글에서 말했듯이 굳이 NAK이라는게 필요할까요?
  • 만약 오류가 난다면 어떻게 될까요? 수신자가 0을 받았는데, 오류가 발생해서 NAK을 보내야 합니다.
  • 수신자가 0을 기다린다는 뜻은 이미 1은 정상적으로 수신되었다는 의미입니다. 그러면 수신자는 그냥 NAK 대신에 내가 가장 최근에 받은 정상적인 번호와 ACK을 보냅니다.
  • 따라서 NAK이 아니라 ACK(1)을 전송합니다.
  • 어떠한 오류가 발생해서 동일한 패킷에 해당하는 두 개의 ACK를 Duplicate ACK라고 합니다.

2. FSM

 

 

출처 : Computer Networking 3장. Figure 3.13
출처 : Computer Networking 3장. Figure 3.14

  • 다시 보면, 송신자가 0을 보냈습니다. 그리고 수신자로부터 정상적으로 받았다는 ACK(0)이 왔습니다.
  • 이제 송신자는 1을 보냅니다. 그런데 송신자는 수신자로부터 ACK(0)을 받았습니다.
  • 송신자는 ACK(1)을 기다리고 있는데, ACK(0)을 받았다는 것은 어떤 오류가 발생했다는 의미입니다.
  • 따라서 송신자는 1을 다시 보냅니다.
  • 그러면 이제 오류가 아닌, 손실이 일어나는 경우도 생각해봅시다.

참고

 

 

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

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

Chat GPT, Bing AI


다음 글에서는 rdt 3.0에 대해 알아보겠습니다.

 

2023.04.17 - [Computer Science/네트워크] - [네트워크] Principle of RDT - rdt 3.0

 

[네트워크] Principle of RDT - rdt 3.0

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.17 - [Computer Science/네트워크] - [네트워크] Principle of RDT - rdt 2.2 [네트워크] Principle of RDT - rdt 2.2 앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.1

hi-guten-tag.tistory.com

감사합니다.

지적 환영합니다.