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 |