토픽 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