-
전송계층 -1TodayILearned/네트워크 2021. 8. 16. 20:39
Pipelined protocols
Sender가 패킷을 보내고 Receiver가 응답을 하는것을 일일이 기다리면서 작업하면
RTT가 너무 길어진다.
그래서 파이프라이닝 방식, 한번에 많은 패킷을 쏟아 붓는 방식으로 효율성을 높인다.
한 번에 얼만큼의 패킷을 보내는가의 여부는
window size(피드백 없이 한번에 보낼 수 있는 크기)
Go-Back-N
- Receiver는 Sender가 보내는 #Seq 들을 기억해두었다가, 누락된 #Seq가 있을 경우, 다음 #Seq에 대해 ACK를 날리지 않고 계속 누락된 것을 기다린다.
Selective Reapeat
- Receiver는 올바르게 전송된 모든 패킷에 대해 각각 Ack함
- Sender는 누락되어 Ack받지 못한 패킷에 대해서만 재전송
- 아래 그림에서, 패킷2번은 전송실패했지만 나머지 패킷에 대해서 버퍼에 저장한다
- Sender는 ack2를 받지 못했기 때문에, 버퍼에 기록한다.
- 윈도우 크기만큼(그림에서는 N=4),3번 패킷까지 전달받으면, 2번 패킷에 대한 타임아웃이 발생한다.
- Sender는 2번 패킷을 재전송한다.
Selective Reapeat dilemma
윈도우 사이즈를 넘어갈 때, 시퀀스넘버가 한정되어있다면,
패킷 손실이 일어날 때 시퀀스 넘버가 0부터 다시 시작하게 된다면, Receiver는 이 때 받는 패킷이 손실된 데이터에 대한 것인지 새로운 패킷인지 알 방법이 없다.
해결 : 시퀀스 넘버를 늘린다.'TodayILearned > 네트워크' 카테고리의 다른 글
애플리케이션 계층2 (0) 2021.08.16 컴퓨터 네트워크 기본2 (0) 2021.08.16 컴퓨터네트워크 기본1 - 컴퓨터네트워크 및 인터넷 역사 (0) 2021.08.16