<파이프라인된 신뢰적 데이터 전송 프로토콜>
Rdt3.0이 기능적으로 정확한 프로토콜이지만 효율적이지는 않다.
기본적으로 rdt3.0이 전송 후 대기 방식의 프로토콜이기 때문인데
RTT = 30msec, 전송률 1Gbps, 패킷당 8000비트의 패킷 크기 L을 가지고 있다고 가정해보자
전송하는데 필요한 시간 d = L / R = 8 microseconds가 나온다.
송신자 측은 ack패킷을 rtt + l/r = 30.008msec 후에 다시 받을 수 있다 그러므로 이 시간동안 0.008msec 동안만 데이터를 전송한 셈이다.
따라서 이용률 U = (L/R) / (RTT+ L/R) = 0.00027이 된다.
이러한 해결책으로 확인응답을 기다리지 않고 여러 패킷을 전송하도록 허용하는 방법인 파이프라이닝이 있다.
이 때 패킷은 각각의 순서번호를 가져야 전송 중 확인 응답이 안된 여러 패킷을 식별할 수 있다.
파이프라이닝에는 n부터 반복과 선택적 반복 등이 있다.
N부터 반복, 선택적 반복에 대한 포스트들을 바로 다음 페이지에서 다뤄보도록 하겠다.
[참조] Computer Networking: A Top Down Approach - J.F Kurose and K.W. Ross