ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 전송계층 -1
    TodayILearned/네트워크 2021. 8. 16. 20:39

    Pipelined protocols

    Sender가 패킷을 보내고 Receiver가 응답을 하는것을 일일이 기다리면서 작업하면

    RTT가 너무 길어진다. 

    그래서 파이프라이닝 방식, 한번에 많은 패킷을 쏟아 붓는 방식으로 효율성을 높인다.

    한 번에 얼만큼의 패킷을 보내는가의 여부는

    window size(피드백 없이 한번에 보낼 수 있는 크기)

     

    Go-Back-N

    •  Receiver는 Sender가 보내는 #Seq 들을 기억해두었다가, 누락된 #Seq가 있을 경우, 다음 #Seq에 대해 ACK를 날리지 않고 계속 누락된 것을 기다린다.

    출처)강의자료-한양대 네트워크2015

    Selective Reapeat

    • Receiver는 올바르게 전송된 모든 패킷에 대해 각각 Ack함
    • Sender는 누락되어 Ack받지 못한 패킷에 대해서만 재전송
    • 아래 그림에서, 패킷2번은 전송실패했지만 나머지 패킷에 대해서 버퍼에 저장한다
    • Sender는 ack2를 받지 못했기 때문에, 버퍼에 기록한다.
    • 윈도우 크기만큼(그림에서는 N=4),3번 패킷까지 전달받으면, 2번 패킷에 대한 타임아웃이 발생한다.
    • Sender는 2번 패킷을 재전송한다.

    출처)강의자료-한양대 네트워크2015

    Selective Reapeat dilemma

    윈도우 사이즈를 넘어갈 때, 시퀀스넘버가 한정되어있다면,
    패킷 손실이 일어날 때 시퀀스 넘버가 0부터 다시 시작하게 된다면, Receiver는 이 때 받는 패킷이 손실된 데이터에 대한 것인지 새로운 패킷인지 알 방법이 없다.

    해결 : 시퀀스 넘버를 늘린다.
Designed by Tistory.