본문 바로가기

IT

TCP연결 3,4-way handshake

728x90
  • 3-Way handshake

  • 정의
  • TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에먼저정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다

[STEP 1]

A클라이언트는 B서버에 접속을 요청하는 SYN 패킷을 보낸다. 이때 A클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 되는 것이다.

[STEP 2]

B서버는 SYN요청을 받고 A클라이언트에게 요청을 수락한다는 ACK 와 SYN flag 가 설정된 패킷을 발송하고 A가 다시 ACK으로 응답하기를 기다린다. 이때 B서버는 SYN_RECEIVED 상태가 된다.

[STEP 3]

A클라이언트는 B서버에게 ACK을 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 되는것이다. 이때의 B서버 상태가 ESTABLISHED 이다.

 

 

  • 4-Way handshake
    • 정의
    • 3-Way handshake는 TCP의 연결을 초기화 할 때 사용한다면, 4-Way handshake는 세션을 종료하기 위해 수행되는 절차입니다.

[STEP 1]

클라이언트가 연결을 종료하겠다는 FIN플래그를 전송한다.

[STEP 2]

서버는 일단 확인메시지를 보내고 자신의 통신이 끝날때까지 기다리는데 이 상태가 TIME_WAIT상태다.

[STEP 3]

서버가 통신이 끝났으면 연결이 종료되었다고 클라이언트에게 FIN플래그를 전송한다.

[STEP 4]

클라이언트는 확인했다는 메시지를 보낸다.

 

 

  •  

'IT' 카테고리의 다른 글

애자일 방법론  (0) 2022.08.09
웹 동작 원리  (0) 2022.08.09
Docker 왕기초 5분 사용해보기 (node js)  (0) 2022.05.19
로그인 + 게시판(8: 댓글 추가)  (1) 2022.01.25
로그인 + 게시판(7: 게시글 상세 조회)  (0) 2022.01.23