Transmission Control Protocol
TCP의 가장 큰 목표는 host-to-host 데이터 전달에 신뢰성을 주는 것이라고 함.
TCP는 데이터를 전송하기 전에 연결을 설정하기 때문에 connection-oriented 프로토콜이라 불림.
rfc 793 - TCP
모든 TCP 통신은 TCP 헤더에 있는 발신지, 목적지 포트 번호를 이용한다고 함.
서버로 요청하는 경우, 발신지 포트는 그다지 중요하지 않고, 수신 대기 중인 목적지 포트를 알아야 함.
port 분류
모든 TCP 기반 통신은 두 호스트 간의 3 way handshake로 시작해야 한다고 함.
연결 설정 과정
TCP 연결 해제는 통신이 완료된 후 두 컴퓨터 간의 연결을 정상적으로 종료하는데 사용된다고 함.
연결 해제 과정
A -> B, FIN/ACK
B -> A, ACK
B -> A, FIN/ACK
A -> B, ACK
TCP 연결 종료가 QUIC 이런 프로토콜에 영향을 받아서 좀 최적화되는거 같은데..?
관찰해보니.. 마지막 ACK 같은 경우는 SYN/ACK로 쓰이기도 하는듯?
재전송 타이머 확실히 모름.