목차
3.1 Transport-layer services
3.2 Multiplexing and demultiplexing
3.3 Connectionless transport
3.4 Principles of reliable Data Transfer
3.2 Multiplexing and demultiplexing
3.3 Connectionless transport
3.4 Principles of reliable Data Transfer
본문내용
저 도착했다고 가정하자. 만일 패킷 n이 손실된다면 송신자에서 GBN 재전송 규칙에 따라
패킷 n과 n+1 모두 재전송될 것이다.
이러한 접근의 이점은 수신자 버퍼링이 간단하다는 것이다.
수신자는 어떤 순서가 잘못된 패킷에 대해 버퍼링을 할 필요가 없다.
□ Selective Repeat (SR)
GBN은 패킷 하나의 오류 때문에 많은 패킷을 재전송하므로, 많은 패킷을 불필요하게 재전송하는 경우가 발생한다.
선택적 반복 프로토콜은 수신자에서 오류가 발생한 수신 패킷만을 송신자가 다시 전송하므로 불필요한 재전송을 없다.
각각의 재전송은 수신자가 올바르게 수신한 패킷에 대한 개별 확인응답을 요구할 것이다.
윈도우 크가 N은 파이프라인에서 아직 확인응답이 안 된 패킷 수를 제한하는 데 사용될 것이다.
SR 수신자는 패킷의 순서와 무관하게 올바르게 수신된 패킷에 대한 확인응답을 할 것이다.
순서가 틀린 패킷들은 분실된 패킷들이 수신될 때까지 버퍼에 저정하고, 그 시점에서 일련의 패킷을 순서대로
상위계층에 전달할 수 있다.
손실된 패킷이 존재할 때 수신자는 처음에 나중 패킷을 버퍼에 저장하고 마지막으로 손실될 패킷을 다시
수신되었을 때 그 패킷과 함께 상위 계층에 전달한다.
□ SR: sender and receiver
sender
1. 상위에서 데이터 받음: 상위에서 데이터가 수신될 때, SR 송신자는 패킷의 다음 순서번호를 검사한다.
순서번호가 송신자 윈도우 내에 있으면, 데이터는 패킷으로 송신된다.
2. 타임아웃: 타이머는 손실된 패킷을 보호하기 위해 다시 사용된다.
각 패킷은 자신의 논리 타이머를 가져야 한다.
3. ACK 수신: ACK 수신된다면, SR 송신자는 그것이 윈도우에 있다면 그 패킷을 수신된 것으로 표기한다.
패킷 순서번호가 send base와 같다면, 윈도우 베이스는 가장 작은 순서번호를 가진 미확인 패킷으로 옮겨진다.
미전송 패킷이 있다면, 이 패킷들은 전송된다.
receiver
1. [rcv_base, rcv base+N-1] 순서번호를 가진 패킷이 올바르게 수신된다.
수신된 패킷이 수신자의 윈도우에 속하면, 선택적인 ACK 패킷이 송신자에게 되돌려진다.
수신되지 않았다면, 이는 버퍼에 저장된다.
2. [rcv_base-N, rcv base-1] 순서번호를 가진 패킷이 수신된다.
패킷이 수신자가 이전에 확인응답한 것이라도, ACK가 생성되어야 한다.
3. 그렇지 않으면, 패킷을 무시한다.
패킷 n과 n+1 모두 재전송될 것이다.
이러한 접근의 이점은 수신자 버퍼링이 간단하다는 것이다.
수신자는 어떤 순서가 잘못된 패킷에 대해 버퍼링을 할 필요가 없다.
□ Selective Repeat (SR)
GBN은 패킷 하나의 오류 때문에 많은 패킷을 재전송하므로, 많은 패킷을 불필요하게 재전송하는 경우가 발생한다.
선택적 반복 프로토콜은 수신자에서 오류가 발생한 수신 패킷만을 송신자가 다시 전송하므로 불필요한 재전송을 없다.
각각의 재전송은 수신자가 올바르게 수신한 패킷에 대한 개별 확인응답을 요구할 것이다.
윈도우 크가 N은 파이프라인에서 아직 확인응답이 안 된 패킷 수를 제한하는 데 사용될 것이다.
SR 수신자는 패킷의 순서와 무관하게 올바르게 수신된 패킷에 대한 확인응답을 할 것이다.
순서가 틀린 패킷들은 분실된 패킷들이 수신될 때까지 버퍼에 저정하고, 그 시점에서 일련의 패킷을 순서대로
상위계층에 전달할 수 있다.
손실된 패킷이 존재할 때 수신자는 처음에 나중 패킷을 버퍼에 저장하고 마지막으로 손실될 패킷을 다시
수신되었을 때 그 패킷과 함께 상위 계층에 전달한다.
□ SR: sender and receiver
sender
1. 상위에서 데이터 받음: 상위에서 데이터가 수신될 때, SR 송신자는 패킷의 다음 순서번호를 검사한다.
순서번호가 송신자 윈도우 내에 있으면, 데이터는 패킷으로 송신된다.
2. 타임아웃: 타이머는 손실된 패킷을 보호하기 위해 다시 사용된다.
각 패킷은 자신의 논리 타이머를 가져야 한다.
3. ACK 수신: ACK 수신된다면, SR 송신자는 그것이 윈도우에 있다면 그 패킷을 수신된 것으로 표기한다.
패킷 순서번호가 send base와 같다면, 윈도우 베이스는 가장 작은 순서번호를 가진 미확인 패킷으로 옮겨진다.
미전송 패킷이 있다면, 이 패킷들은 전송된다.
receiver
1. [rcv_base, rcv base+N-1] 순서번호를 가진 패킷이 올바르게 수신된다.
수신된 패킷이 수신자의 윈도우에 속하면, 선택적인 ACK 패킷이 송신자에게 되돌려진다.
수신되지 않았다면, 이는 버퍼에 저장된다.
2. [rcv_base-N, rcv base-1] 순서번호를 가진 패킷이 수신된다.
패킷이 수신자가 이전에 확인응답한 것이라도, ACK가 생성되어야 한다.
3. 그렇지 않으면, 패킷을 무시한다.