-
네트워크 6주차: TL (rdt 3.0, Packet pipelining (GBN, SR))교내 강의/컴퓨터 네트워크 2024. 4. 12. 17:19
RDT 3.0:
packet los에 대비, sender는 '적당한' 시간만큼만 ACK를 기다리고 오지 않으면 패킷을 재전송 한다.
premature time-out = ack의 도착 시간이 time-out 보다 길 때 발생
5. Performance of RDT 3.0
stop and wait operation: 정확하지만 느림(전체회선 사용량이 낮음)
round trip time, RTT: 패킷을 보내고 ack가 도착하기까지의 시간.
1. Pipelining이란
stop and wait는 회선의 사용량이 낮으니 패킷을 한번에 몰아서 보내는 방식
2. Go-Back-N
수신자가 어떤 패킷을 받지 못하면 그 패킷부터 모든 패킷을 다시 보내는 방식.
보내야 될 전체 파일에서 window size(버퍼)를 지정, n개를 보냄.
receiver는 n개를 받은 뒤 cumulative ack을 보냄, 하나의 ack로 n개를 전부 받은걸로 가정.
time-out 발생시 sender는 unacked packet부터 n개까지의 packet을 전부 보냄.
time-out은 처음으로 보내는 패킷으로 설정.
참고용 FSM
3. Selective Repeat
GBN은 정상적으로 도착한 패킷이라고 하더라도 재전송해야 하기 때문에 비효율적임.
SR은 ack가 도착하지 않은 패킷에 한해 재전송하는 방식.
패킷별로 ack를 각각 보내고 각각의 패킷별로 time-out을 적용.
unacked 패킷만 재전송.
window size는 반드시 sequence number의 절반보다 작아야 함.
sequence number로 순서를 파악하는데 여러개의 패킷이 동시에 loss될 경우 문제 발생
'교내 강의 > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 7주차: Handshake, Flow Control, Congestion Control (0) 2024.04.19 네트워크 6주차: TL (TCP: Window, Timeout) (0) 2024.04.13 네트워크 5주차: Transport Layer (Multiplexing, Demultiplexing, PDU, RDT) (1) 2024.04.03 컴퓨터 네트워크 4주차: p2p, BitTorrent, DHT (0) 2024.03.27 네트워크 3주차 (0) 2024.03.19