TCP 3-way Handshake와 4-way Termination 과정을 인터랙티브 시각화로 학습하세요. SYN, SYN-ACK, ACK 패킷 흐름과 시퀀스 번호, 연결 상태 변화를 단계별로 이해할 수 있습니다.
TCP 3-way Handshake는 클라이언트와 서버 간에 신뢰할 수 있는 TCP 연결을 수립하기 위한 3단계 과정입니다. 클라이언트가 SYN 패킷을 보내고, 서버가 SYN-ACK으로 응답하며, 클라이언트가 ACK를 보내면 연결이 설정됩니다.
TCP 연결 종료가 4단계인 이유는 양방향 연결을 각각 독립적으로 종료해야 하기 때문입니다. 한쪽이 FIN을 보내 자신의 송신을 종료하더라도 상대방은 아직 보낼 데이터가 있을 수 있어, 각 방향의 종료에 FIN+ACK 쌍이 필요합니다.
시퀀스(SEQ) 번호는 송신 데이터의 바이트 위치를 나타내고, 확인응답(ACK) 번호는 수신 측이 다음에 기대하는 바이트 번호입니다. 3-way Handshake에서 각 측은 랜덤 초기 시퀀스 번호(ISN)를 선택하고, SYN/FIN 플래그는 시퀀스 번호를 1 증가시킵니다.
TCP 3-way Handshake는 클라이언트와 서버 간에 신뢰할 수 있는 TCP 연결을 수립하기 위한 3단계 과정입니다. 클라이언트가 SYN 패킷을 보내고, 서버가 SYN-ACK으로 응답하며, 클라이언트가 ACK를 보내면 연결이 설정됩니다.
TCP 연결 종료가 4단계인 이유는 양방향 연결을 각각 독립적으로 종료해야 하기 때문입니다. 한쪽이 FIN을 보내 자신의 송신을 종료하더라도 상대방은 아직 보낼 데이터가 있을 수 있어, 각 방향의 종료에 FIN+ACK 쌍이 필요합니다.
시퀀스(SEQ) 번호는 송신 데이터의 바이트 위치를 나타내고, 확인응답(ACK) 번호는 수신 측이 다음에 기대하는 바이트 번호입니다. 3-way Handshake에서 각 측은 랜덤 초기 시퀀스 번호(ISN)를 선택하고, SYN/FIN 플래그는 시퀀스 번호를 1 증가시킵니다.
TCP 3-way Handshake, 데이터 전송, 4-way Termination 과정을 단계별로 학습하세요
서버는 LISTEN 상태에서 클라이언트의 연결 요청을 대기합니다.