CS 기초 · 중급
TCP의 3-way handshake와 4-way handshake에 대해 설명해주세요.
힌트 · 연결 수립과 연결 종료 과정의 각 단계를 설명해보세요.
SYNACK연결 설정FIN연결 종료
모범답안
네, TCP의 3-way handshake와 4-way handshake에 대해 설명드리겠습니다.
먼저 3-way handshake는 TCP 연결을 설정하는 과정입니다. 클라이언트가 서버에 연결 요청을 위해 SYN 패킷을 보냅니다. 서버는 SYN_RECEIVED 상태로 변경되고, SYN/ACK 패킷을 클라이언트에게 응답합니다. 마지막으로 클라이언트는 ACK 패킷을 서버에게 보내고, 연결이 설정됩니다. 이로써 클라이언트와 서버는 ESTABLISHED 상태가 되어 데이터를 주고받을 수 있습니다.
다음으로 4-way handshake는 TCP 연결을 종료하는 과정입니다. 한쪽(클라이언트 또는 서버)에서 연결 종료를 위해 FIN 패킷을 보냅니다. 상대방은 ACK 패킷으로 응답하고, CLOSE_WAIT 상태로 변경됩니다. 이후 상대방도 FIN 패킷을 보내 연결 종료를 알립니다. 마지막으로 처음 FIN 패킷을 보낸 쪽에서 ACK 패킷을 보내면 연결이 완전히 종료됩니다. 이 과정은 양방향 연결을 안전하게 종료하기 위해 필요합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.