티스토리 뷰
3 Way-Handshake란?
- 전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식이다.
- 더 쉽게 말해서 송수신자 사이에 연결을 확인하는 과정이다.
- TCP 프로토콜은 연결지향적이다. 이는 상대방이 내 신호를 받을 수 있는지 확인하고 전송을 하는 것을 의미한다. 이때 내 신호를 받을 수 있는 지 확인하는 것이 3 way handshake이다.
#1 SYN
1단계: 들려?
- 클라이언트가 연결요청 메시지(SYN)을 전송한다. 클라이언트는 Synchronize Sequence Number(SYN)라는 임의의 랜덤 숫자를 함께 전송한다.
#2 SYN+ACK
2단계: 응 들려! 너도 들려?
- 서버가 요청을 수락하며, 클라이언트에게도 들리냐는 연결요청 메시지를 전송한다.
- 그 메시지에는 Acknowledgement number(ACK)를 포함하고 있으며, 이 번호는 받은 Synchronize Sequence Number(SYN)보다 +1한 값을 가진다. 이 번호를 전송함으로써, 잘 들린다는 것을 알려준다.
- 그리고 클라이언트에게 전송이 잘되냐고 물어본다. 동일하게 Sequence Number을 전송한다.
#3 ACK
3단계: 응 들려!
- 클라이언트가 그 질문이 잘들린다고 Acknowledgement number(ACK)에 받은 Sequence number+1해서 전송한다.
요약
3-way handshake는 TCP/IP 프로토콜로 통신하기 전, 정확한 정보 전송을 위해 상대방 컴퓨터와 세션을 수립하는(연결을 하는) 과정이다.(TCP 연결 초기화)
클라이언트가 서버에게 접속을 요청하는 SYN 패킷을 보내면, 서버는 요청을 수락하는 ACK를 포함하여 SYN+ACK 패킷을 클라이언트에게 발송한다. 클라이언트가 이것을 수신한 후, 다시 ACK를 서버에게 발송하면 연결이 이루어지고, 이로써 데이터를 주고받을 수 있게 된다.
'CS > 컴퓨터네트워크' 카테고리의 다른 글
만약 www.naver.com으로 브라우저에서 접근하여 화면이 본인에게 나오기까지의 과정을 네트워크 관점에서 설명해주세요. (0) | 2023.07.07 |
---|---|
HTTP에 대해 설명하고 추가로 HTTPS에 대해서도 말씀해주세요 (0) | 2023.07.07 |
TCP와 UDP를 비교 설명해주세요 (0) | 2023.07.05 |
OSI 7 계층과 TCP/IP 4계층을 비교 설명 및 각 층의 프로토콜에 대해 말씀해주세요. (0) | 2023.07.05 |
[Computer Network] 6.1~6.3 (0) | 2022.12.11 |