TCP 핸드셰이크 (TCP Handshake)
TCP는 데이터를 주고받기 전에 3-way 핸드셰이크로 양방향 통신 준비를 확인하고, 끝낼 때는 4-way 핸드셰이크로 각 방향을 차례로 닫습니다. 각 단계마다 SYN·ACK·FIN 플래그와 순서 번호(seq/ack)를 교환하며 양쪽의 연결 상태가 단계적으로 바뀝니다.
01 Concept at a Glance
Interactive Step-by-StepTCP 연결은 3번의 메시지로 서로의 통신 준비를 확인합니다. 시작 전 클라이언트는 CLOSED, 서버는 연결을 기다리는 LISTEN 상태입니다.
연결을 끊을 땐 각 방향을 따로 닫아야 해서 보통 4번의 메시지가 오갑니다. 시작은 양쪽 모두 ESTABLISHED 상태입니다.
02 Understand It Simply
For Everyone전화 통화처럼 "들려요?"(SYN) → "네 들려요, 그쪽은요?"(SYN+ACK) → "저도 들려요"(ACK)로 서로를 확인한 뒤 대화를 시작하고, 끝낼 땐 양쪽이 각자 "이만 끊을게요"라고 인사합니다.
연결을 열 때는 SYN → SYN+ACK → ACK 세 번을 주고받아 양쪽 모두 보내고 받을 준비가 됐음을 확인합니다(ESTABLISHED).
닫을 때는 한 방향씩 닫아야 해서 FIN → ACK → FIN → ACK 네 번이 오가며, 마지막엔 지연 패킷을 대비해 TIME-WAIT로 잠시 기다린 뒤 완전히 종료합니다.
- –신뢰성 있는 연결(HTTP·HTTPS·SSH 등) 동작 원리 이해
- –연결 지연·포트 상태(TIME-WAIT) 진단
- –방화벽·로드밸런서 동작 분석
03 Frequently Asked Questions
FAQWhat is TCP 핸드셰이크 (TCP Handshake)?+
TCP는 데이터를 주고받기 전에 3-way 핸드셰이크로 양방향 통신 준비를 확인하고, 끝낼 때는 4-way 핸드셰이크로 각 방향을 차례로 닫습니다. 각 단계마다 SYN·ACK·FIN 플래그와 순서 번호(seq/ack)를 교환하며 양쪽의 연결 상태가 단계적으로 바뀝니다.
Where is TCP 핸드셰이크 (TCP Handshake) used?+
신뢰성 있는 연결(HTTP·HTTPS·SSH 등) 동작 원리 이해, 연결 지연·포트 상태(TIME-WAIT) 진단, 방화벽·로드밸런서 동작 분석
What's a simple analogy for TCP 핸드셰이크 (TCP Handshake)?+
전화 통화처럼 "들려요?"(SYN) → "네 들려요, 그쪽은요?"(SYN+ACK) → "저도 들려요"(ACK)로 서로를 확인한 뒤 대화를 시작하고, 끝낼 땐 양쪽이 각자 "이만 끊을게요"라고 인사합니다.
