본문 바로가기

IT 용어 정리/Network

[IT용어] 3-way handshake 란?

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