✨3-Way Handshake
TCP 통신 프로토콜 에 따라 두 호스트 간의 연결을 세단계로 설정한것.
클라이언트, 서버 모두 데이터를 전송할 준비가 되었다는 것을 보장하기 위한 것이다
연결 시 TCP 데이터 전송에 사용할 시퀀스 번호를 정의한다.
(가상의 통신로를 확보하기 위해)
TCP 패킷의 TCP 플래그 부분이 활용된다(CWR,ECE,URG,ACK,PSH,SYN,FIN)
✨3-Way Handshake 순서
1.연결 확립 요청 SYN(Synchronize)
클라이언트 ->서버
SYN의 비트가 활성화되어 1 바뀐 세그먼트를 전송
-SYN를 1로 설정
-Sequence Number는 클라이언트의 최초 순서 번호(client_isn)로 설정
(SYN 연결이 이루어지도록 요청하는 의미)
2.연결 확립에 대한 응답 SYN-ACK(Synchronize-Acknowledgement)
서버 -> 클라이언트
연결 요청을 받고 응답을 위해 SYN,ACK가 바뀐 세그먼트를 전송
-SYN를 1로 설정
-ACK를 client_isn + 1설정
-Sequence Number는 서버의 최초 순서 번호(server_isn)로 설정
(SYN 다시한번 연결이 이루어지도록 요청하는 의미)
(ACK 요청을 확인했다는 응답)
3.ACK(Acknowledgement)
클라이언트 -> 서버
요청을 확인했다는 응답을 서버에 다시 보낸다.
-ACK를 1로 설정
-SYN를 0으로 설정(연결요청이 아님)
🎈참고자료
https://jeongkyun-it.tistory.com/180
https://fr.wikipedia.org/wiki/Three-way_handshake
https://mr-zero.tistory.com/36
https://hojunking.tistory.com/106
'Computer Science > Server&Network' 카테고리의 다른 글
GET, POST 메소드 (0) | 2024.05.07 |
---|---|
OSI 7계층 vs TCP/IP (0) | 2024.04.04 |
패킷(packet) (0) | 2024.04.04 |