Replies: 2 comments
-
TCP 통신에서 데이터를 전송하기 전 먼저 정확한 전송을 보장하기 위해 통신 대상 호스트와 사전에 세션을 수립하는 과정을 의미한다. 전체적인 과정은 아래 사진과 같음 #1 : 클라이언트에서 서버에 SYN패킷을 보낸다, 이때 클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 된다. #2 : 서버는 SYN 패킷을 받고, 클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고 클라이언트가 다시 ACK를 응답하기를 기다린다, 이때 서버 상태를 SYN_RECEIVED 상태라고 한다. #3 : 클라이언트는 서버에게 ACK를 보내고, 이후 부터는 연결이 이루어짐을 확인하고 실제 데이터를 통신하게 된다. 이때 서버의 상태를 EST_ABLISHED 라고 한다. 위와 같은 방식으로 TCP는 통신에 있어서 신뢰성을 보장한다.
번외 : TCP 4-way HandShake 4-Way handshake는 세션을 종료하기 위해 수행되는 절차 출처 : 네트워크 쉽게 이해하기 22편 |
Beta Was this translation helpful? Give feedback.
-
TCP 3-way handshake는 TCP/IP 네트워크에서 안정적이고 연결 지향적인 통신을 설정하기 위해 사용되는 절차입니다. 이 절차는 클라이언트와 서버 간에 신뢰할 수 있는 연결을 설정하기 위해 세 개의 메시지(세그먼트)를 교환하는 과정을 포함합니다. 이 과정은 다음과 같은 단계로 이루어집니다: 1. SYN (Synchronize)
클라이언트는 서버에 연결을 요청하는 SYN 세그먼트를 보냅니다. 2. SYN-ACK (Synchronize-Acknowledge)
서버는 클라이언트의 요청을 수락하고, SYN과 ACK 플래그가 설정된 세그먼트를 클라이언트에 보냅니다. 3. ACK (Acknowledge)
클라이언트는 서버의 응답을 확인하고, ACK 플래그가 설정된 세그먼트를 서버에 보냅니다. TCP 3-way Handshake의 중요성
4-way Handshake모든 통신이 끝난 후 연결을 해제하기 위해 4단계의 과정을 거칩니다. 1. FIN
클라이언트는 연결을 종료하겠다는 FIN 세그먼트를 서버에 보냅니다. 2. ACK
FIN 세그먼트를 수신한 서버는 ACK를 클라이언트에게 응답하고 CLOSE-WAIT상태로 변경합니다. 3. FIN
Close 준비가 다 되면 서버는 FIN 세그먼트를 클라이언트에게 보내고 LAST_ACK 상태로 변경하여 클라이언트의 ACK를 기다립니다. 4. ACK
FIN 세그먼트를 수신한 클라이언트는 ACK를 서버에게 응답하고 TIME_WAIT 상태로 기다리다가 타임이 초과되면 CLOSED 상태로 변경됩니다. |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions