목차
개요
TCP 프로토콜은 신뢰성 있는 데이터 전달을 위해, 통신 전 3-way handshake를 통해 기기 간의 연결을 설정해야 합니다. 3-way handshake가 무엇인지 알아봅시다.
3-Way Handshake
네트워크에서 TCP(Transmission Control Protocol) 연결을 설정할 때 사용하는 3단계 통신 절차를 말합니다. 이는 클라이언트와 서버 간의 신뢰성 있는 연결을 수립하기 위해 사용됩니다.
3단계 절차
1. SYN(synchronize) - 클라이언트 ➝ 서버
클라이언트가 서버에 연결 요청을 보냅니다. 이때 SYN 플래그("연결을 시작하고 싶다")가 설정된 패킷을 보냅니다.
- 패킷에는 자신의 초기 시퀀스 번호(ISN)를 포함합니다.
(이를 통해 TCP 프로토콜이 데이터 전송 순서를 관리합다.)
2. SYN-ACK (synchronize + acknowledge) – 서버 ➝ 클라이언트
서버가 요청을 수락하고 클라이언트에게 응답합니다. 이때 SYN과 ACK 플래그가 동시에 설정된 패킷을 보냅니다.
- 서버도 자신의 ISN을 포함. (클라이언트 시퀀스 번호에 1을 더한 값을 ACK로 응답합니다.)
- 동시에 클라이언트의 SYN 요청에 대한 확인(ACK)을 포함.
3. ACK (acknowledge) – 클라이언트 ➝ 서버
클라이언트가 서버의 SYN-ACK에 대해 확인 응답을 보냅니다. 이때는 ACK 플래그만 설정됩니다.
✅ 3단계 과정을 거치면, TCP 연결이 성공적으로 설정되어 양측이 데이터 통신을 시작할 수 있습니다.
'CS' 카테고리의 다른 글
[CS] 웹 주소 체계: DNS, URI, URL, URN (0) | 2025.05.06 |
---|---|
[CS] 포트(PORT) (0) | 2025.05.06 |
[CS] TCP와 UDP (0) | 2025.05.04 |
[CS] IP (Internet Protocol) (0) | 2025.05.04 |
프론트엔드(Front-End)와 백엔드(Back-End)는 뭐가 다를까? (0) | 2025.04.19 |