TCP 3-way handshake란
- TCP/IP 프로토콜을 이용해서 통신하는 응용프로그램이 데이터를 전송하기 전에 먼저, 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세선을 수립하는 과정을 의미
Client -> Server : TCP SYN
Server -> Client : TCP SYN, ACK
Client -> Server : TCP ACK
SYN: Synchronize sequece numbers 약자이고,
ACK: Acknowledgment의 약자이다.
3-Way handshaking 역할
- 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이터 전달이 시작하기 전에
한쪽이 준비되었다는 것을 알 수 있도록 한다.
3-Way handshaking 과정
- 1) A 클라이언트는 B 서버에 접속을 요청하는 SYN을 보낸다.
- 이때 A 클라이언트는 SYN을 보내고 SYN/ACK 응답을 기다리는 SYN_SENT 상태, B 서버는 Wait for Client 상태이다.
- 2) B 서버는 SYN 요청을 받아들이고, A 클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고,
A가 다시 ACK로 응답하기를 기다린다
- 이때 B 서버는 SYN_RECEIVED 상태가 된다.
- 3) A 클라이언트느 B 서버에게 ACK를 보내고 이후로부터는 연결이 이루어지고 데이터가 들어오게 된다.
- 이때의 B 서버 상태가 ESTABLISHED 이다.
'IT 용어 정리 > Network' 카테고리의 다른 글
[IT용어] Proxy란? (0) | 2023.03.13 |
---|---|
[IT용어] UDP란? (0) | 2023.03.08 |
[IT용어] 패킷 이란? (0) | 2023.03.08 |
[IT용어] 라우터란? (0) | 2023.03.08 |
[IT용어] NAT란? (0) | 2023.03.08 |