CS STUDY/네트워크
TCP 3-Way Handshake
cha_eyoon
2024. 3. 3. 10:14
TCP
- 연결지향적
- 신뢰성
- Sequence Number: TCP 세그먼트의 연속된 데이터 번호
- Ack Number: 상대방으로부터 받아야 하는 다음 TCP 세그먼트 데이터 번호
- 데이터의 전송 순서 보장
- IP가 배달은 한다면 TCP는 패킷의 추적 및 관리
- 흐름 제어 => 수신자 버퍼 오버플로우 방지
- 혼잡 제어 => 패킷 수가 과도하게 증가하는 것 방지
- 연결의 설정(3-Way Handshaking), 해제(4-Way Handshaking)
3-Way Handshake (연결 설정)
- 클라이언트가 서버에게 SYN(x) 패킷 전송
- 서버가 SYN(x)를 받고, 받았다는 신호인 ACK(x+1)과 SYN(y) 패킷 전송
- 클라이언트는 받았다는 신호인 ACK(y+1)을 서버로 전송
4-Way Handshake(연결 해제)
- 클라이언트가 연결을 종료하겠다는 FIN 플래그 전송 후 FIN-WAIT-1 상태
- 서버는 확인 메세지인 ACK를 클라이언트에게 전송 후 CLOSE WAIT 상태, Client도 FIN을 받기 위해 FIN-WAIT-2 상태
- Close 준비 마친 후 서버는 클라이언트에게 FIN 플래그 전송
- 클라이언트는 정상 응답인 ACK를 서버에 전송 후 TIME-WAIT 상태로 변경
Q. 3-Way Handshaking의 과정에 대해 설명하시오
Q. TCP에 대해 설명하시오.
참고