Client 에서 Server로 request를 보내고, 이에 대한 답으로 Server에서는 4개로 나누어진 TCP segments를 Client로 되돌려 준다.
하지만 두번째 packet이 drop된 상황이다.
1 : Segment #2가 손실되었다.
2 : Client는 Segment #3을 받았다. 하지만 Segment #2가 누락된 것을 알게되고 Server에 Segment #1의 ACK를 2번 보내어
Segment #2의 손실을 Server쪽에 알린다.
3: 아직 Server쪽에서는 Client로 부터 중복된 Segment #1의 ACK를 못받은 상태인지라 계속 다음 Segment인 Segment #4를 전송한다.
하지만 Client는 아직 Segment #2를 못받았으므로 다시 Segment #1의 ACK를 전송한다.
4: Server가 Client로 부터 중복된 Segment #1의 ACK를 받았다.이에 Segment #2부터 이후 #3,#4에 대해 다시 재전송한다.
두번째로 전달된 중복된 Segment #1의 ACK는 무시된다.
5: Client가 나머지 Segment를 전송받고, ACK도 정상적으로 전송한다.
Selective ACK이 적용된 TCP를 통한 Data 전송 Flow

Reference
http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowledgments-sack/
[RFC 2018] http://tools.ietf.org/html/rfc2018
'Network' 카테고리의 다른 글
Netis ST3105G 구입기 (0) | 2017.01.15 |
---|---|
WiFi - BPSK, QPSK, 16 QAM, 64 QAM (0) | 2016.04.06 |
랜선이라고 다같은 랜선이 아니다. (0) | 2016.03.31 |
LTE-U, LTE-LAA 의 등장과 Wi-Fi의 대응 (0) | 2016.03.30 |
RF 신호의 단위. db 그리고 dbm (0) | 2016.03.25 |
FDD, TDD 개념 정리 (0) | 2016.03.15 |
OSI(Open System Interconnection) 7 layers와 Internet protocol suite(TCP/IP) (0) | 2015.11.24 |
IPv6 (0) | 2015.08.04 |