Protocol
TCP
연결
- A에서 B로 SEQ를 보낸다
- B가 A로 SEQ+ACK를 보낸다 ACK는 SEQ 번호+1이다.
- A가 B로 SEQ+ACK를 보낸다
데이터 송수신
- A에서 B로 SEQ와 데이터를 보낸다.
- B가 A로 ACK를 보낸다. ACK는 SEQ의 번호+전송된 바이트 크기+1이다.
- A는 수신받은 ACK를 토대로 다음 데이터를 보낸다.
- 데이터가 유실된 경우, 응답이 돌아오는 시간이 time out length만큼 지나면 재전송한다.
연결 해제
- A에서 B로 FIN+SEQ를 보낸다.
- B가 A로 SEQ+ACK를 보낸다.
- B에서 A로 FIN+SEQ+ACK를 보낸다. 2번 전송 이후 데이터 수신이 없어 ACK는 재전송된다.
- A에서 B로 SEQ+ACK를 보낸다.