3-웨이 핸드셰이크 ★★★
by yjym333-way 핸드셰이크(3-way handshake)는 네트워크 통신에서 사용되는 연결 설정 프로세스 중 하나로, 주로 TCP (Transmission Control Protocol) 프로토콜에서 사용됩니다. 이 핸드셰이크 과정은 데이터를 안전하게 전송하기 위해 두 호스트 간의 신뢰성 있는 연결을 설정하는 데 사용됩니다.
3-way 핸드셰이크의 단계:
호스트 A에서 호스트 B로 연결 요청 (SYN):
통신을 시작하려는 호스트 A는 먼저 호스트 B로 연결 요청 패킷을 보냅니다.
이 패킷에는 SYN (Synchronize Sequence Numbers) 플래그가 설정되어 있으며, 초기 순서 번호(Sequence Number)도 포함됩니다. 이 번호는 이후 데이터 전송을 식별하기 위해 사용됩니다.
호스트 B에서 호스트 A로 연결 응답 (SYN-ACK):
호스트 B는 호스트 A로부터의 연결 요청을 받으면, 연결을 수락하는 패킷을 생성하여 호스트 A로 보냅니다.
이 패킷에는 SYN과 ACK (Acknowledgment) 플래그가 설정되어 있으며, 호스트 B의 초기 순서 번호도 포함됩니다.
ACK는 호스트 A로부터 받은 초기 순서 번호에 1을 더한 값을 가리킵니다. 이로써 호스트 A는 자신이 보낸 패킷이 정상적으로 도착했음을 확인할 수 있습니다.
호스트 A에서 호스트 B로 연결 확인 (ACK):
호스트 A는 호스트 B로부터의 연결 응답을 받으면, 연결이 수립되었음을 확인하는 패킷을 생성하여 호스트 B로 보냅니다.
이 패킷에는 ACK 플래그가 설정되어 있으며, 호스트 B로부터 받은 초기 순서 번호에 1을 더한 값을 가리킵니다.
이제 호스트 A와 호스트 B 사이에 신뢰성 있는 연결이 설정되었고, 데이터의 안전한 전송이 가능합니다.
3-way 핸드셰이크의 목적:
이 핸드셰이크 프로세스는 두 호스트 간에 초기 순서 번호를 동기화시키고, 데이터 전송을 시작하기 전에 상호 간에 신뢰성 있는 연결을 설정하는 데 사용됩니다.
각 단계에서 ACK (확인)을 통해 연결이 정상적으로 이루어졌음을 확인하며, 이를 통해 데이터 손실 및 순서 오류를 방지하고 안전한 데이터 전송을 보장합니다.
'Development > CS' 카테고리의 다른 글
| 라우팅의 개념과 라우터 ★★★ (0) | 2023.10.01 |
|---|---|
| 4-웨이 핸드셰이크와TIME_WAIT ★★★ (0) | 2023.09.30 |
| 인터넷 계층(network) 과 ICMP ★★★ (1) | 2023.09.30 |
| 전송 계층(transport) : TCP와 UDP ★★★ (0) | 2023.09.29 |
| 애플리케이션 계층(application) : HTTP, SSH, FTP, SMTP ★★★ (0) | 2023.09.29 |
블로그의 정보
생각보다 실천을
yjym33