3-way handshake란 무엇인가요?
TCP 연결을 수립하는 과정으로, 클라이언트와 서버 간에 신뢰성 있는 연결을 보장하기 위해 존재합니다. 이 과정은 크게 세 단계로 구성됩니다.
첫째, 클라이언트가 서버에 SYN 패킷을 보내면서 연결 요청을 시작합니다. 이 패킷에는 클라이언트의 초기 시퀀스 번호(Initial Sequence Number)가 포함됩니다.
둘째, 서버는 클라이언트의 SYN을 받고 SYN-ACK 패킷으로 응답합니다. 서버가 클라이언트로부터 요청을 잘 받았다고 확인하고, 데이터를 주고받을 준비가 되었음을 알리는 과정입니다. 이 패킷에는 클라이언트의 시퀀스 번호에 1을 더한 값(ACK)과 서버 자신의 초기 시퀀스 번호(SYN)가 포함됩니다.
마지막으로, 클라이언트는 서버의 SYN-ACK를 받고 ACK 패킷을 보냅니다. 이 패킷에는 서버의 시퀀스 번호에 1을 더한 값이 포함됩니다.
이 세 단계가 완료되면 TCP 연결이 수립되어 신뢰성 있는 데이터 전송이 가능해집니다.
3-way handshake 과정이 필요한 이유는 무엇인가요?
TCP는 신뢰성 있는 데이터 전송을 보장해야 하기 때문에, 송신자와 수신자가 서로를 확인하고 준비 상태를 점검하는 3-way handshake 과정을 거치는 것입니다. 단순히 패킷을 한 번 보내는 것이 아니라, 세 번의 패킷 교환을 통해 실제 연결이 정상적으로 설정되었는지 확인할 수 있습니다. 만약 이 과정이 없다면, 네트워크 지연이나 패킷 손실로 인해 잘못된 연결이 설정될 가능성이 있습니다.
3-way handshake 없이 데이터를 전송할 수 있는 프로토콜도 있나요?
네, 대표적으로 UDP가 있습니다. UDP는 TCP와 달리 연결을 설정하는 과정 없이 데이터를 바로 전송합니다. 따라서 속도는 빠르지만(장점) 신뢰성이 보장되지 않습니다(단점). 영상 스트리밍이나 온라인 게임처럼 실시간성이 필요한 경우에는 UDP를 사용합니다.
'자기계발' 카테고리의 다른 글
| 자취생이 써본 브리타 정수기 스타일 에센셜 후기 (물맛 솔직 리뷰)💧 (1) | 2026.03.11 |
|---|---|
| 한성 GK888B 맥북 / 윈도우 모드 변경 방법 총정리 (0) | 2026.03.03 |
| 워크숍 5차시 (0) | 2026.01.06 |
| 2026 word & thought (1) | 2026.01.03 |
| 머신아트랩 3-4 회차 (0) | 2026.01.02 |