.. _network_tcp: **************** TCP **************** 기본적으로 TCP는 SYN_SENT, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT 의 상태를 갖는다. 포트는 16비트로 하나의 NIC에서 최대 65,535개의 소켓을 수용할 수 있다. ===================== TCP 재전송 ===================== - 기본적으로 특정 세그먼트를 송신한뒤 타이머를 두어 시간안에 ACK가 오기를 기다리는 방식 - 3연속으로 같은 ACK를 받게된다면 해당 ACK번호의 SEQ를 갖는 세그먼트를 보내는 방식 (fast retransmits) ===================== TCP 종료 ===================== 1) 서버(한쪽)에서 FIN을 세팅하여 세그먼트를 전송한다. (서버는 FIN_WAIT_1 상태) 2) 클라이언트는 확인응답(ACK)을 보낸다. (서버는 FIN_WAIT_2 상태) 3) 클라이언트는 FIN을 세팅하여 전송한다. 4) 서버는 응답을 보낸다. (그리고 서버는 TIME_WAIT 상태) 5) 양쪽 자원이 해제된다.