문제
다음 설명에 해당하는 TCP 프로토콜의 패킷으로 알맞은 것은?
클라이언트에서 서버로 전송하는 최초의 패킷으로 이 패킷을 받으면 서버는 half-open 상태가 된다.
① RST ② SYN ③ ACK ④ SYN/ACK
정답
2번
해설
정답: 2. TCP 3-way handshake 에서 클라이언트가 서버로 보내는 최초의 연결 요청 패킷은 SYN 이다. 서버가 이를 받으면 연결이 절반만 성립된 half-open(SYN_RECEIVED) 상태가 된다.
오답 풀이
- 1번: RST 는 연결을 강제로 끊거나 거부할 때 보내는 리셋 패킷이다.
- 2번: SYN 은 연결 시작을 요청하는 최초 패킷이며 half-open 을 유발하므로 옳다.
- 3번: ACK 는 수신 확인 응답 패킷으로 핸드셰이크의 마지막 단계 등에 쓰인다.
- 4번: SYN/ACK 는 서버가 클라이언트의 SYN 에 응답하며 보내는 두 번째 단계 패킷이다.
보충 개념 3-way handshake: ① 클라이언트→서버 SYN, ② 서버→클라이언트 SYN/ACK, ③ 클라이언트→서버 ACK 후 ESTABLISHED. SYN 만 받고 ACK 가 오지 않는 상태가 누적되면 SYN flooding 공격이 된다.