Learning
토픽 15 / 147·네트워크 기초 및 프로토콜

TCP 3-Way Handshake / 4-Way Termination

TCP 3-Way Handshake / 4-Way Termination

TCP 연결 수립(3-Way)과 해제(4-Way)를 위한 시퀀스 번호 동기화 및 상태 전이 절차 (133회 출제)

특징: Full-Duplex, Stateful, ISN 랜덤화(보안), TIME_WAIT(지연 패킷 처리)

3-Way Handshake

  • SYN(Client→Server, seq=x) → SYN+ACK(Server→Client, seq=y, ack=x+1) → ACK(Client→Server, ack=y+1)
  • 상태 전이: CLOSED → SYN_SENT → ESTABLISHED / LISTEN → SYN_RECEIVED → ESTABLISHED
  • ISN: 연결마다 랜덤 생성(RFC 6528), 세션 하이재킹 방어

4-Way Termination

  • FIN → ACK → FIN → ACK (Half-Close: FIN/ACK 분리로 잔여 데이터 전송 허용)
  • 상태 전이: ESTABLISHED → FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED

TIME_WAIT: 2MSL(120초) 대기, 마지막 ACK 유실 대비 + 지연 패킷 혼동 방지

  • 문제: 대량 연결 시 포트 고갈 → SO_REUSEADDR/SO_REUSEPORT로 완화

비정상 종료: RST 패킷(존재하지 않는 포트, 강제 종료, 방화벽 차단)

비교: 3-Way(수립/1.5RTT/SYN Flood 취약) vs 4-Way(종료/2RTT/TIME_WAIT) vs TFO(재연결/0RTT)

연관: TCP, 혼잡 제어, SYN Flood, TCP Fast Open, QUIC