본문 바로가기

CS STUDY/네트워크

TCP 3-Way Handshake

TCP

  • 연결지향적
  • 신뢰성
    • Sequence Number: TCP 세그먼트의 연속된 데이터 번호
    • Ack Number: 상대방으로부터 받아야 하는 다음 TCP 세그먼트 데이터 번호
  • 데이터의 전송 순서 보장
  • IP가 배달은 한다면 TCP는 패킷의 추적 및 관리
  • 흐름 제어 => 수신자 버퍼 오버플로우 방지
  • 혼잡 제어 => 패킷 수가 과도하게 증가하는 것 방지 
  • 연결의 설정(3-Way Handshaking), 해제(4-Way Handshaking)

3-Way Handshake (연결 설정)

  1. 클라이언트가 서버에게 SYN(x) 패킷 전송
  2. 서버가 SYN(x)를 받고, 받았다는 신호인 ACK(x+1)과 SYN(y) 패킷 전송 
  3. 클라이언트는 받았다는 신호인 ACK(y+1)을 서버로 전송

4-Way Handshake(연결 해제)

  1. 클라이언트가 연결을 종료하겠다는 FIN 플래그 전송 후 FIN-WAIT-1 상태 
  2. 서버는 확인 메세지인 ACK를 클라이언트에게 전송 후 CLOSE WAIT 상태, Client도 FIN을 받기 위해 FIN-WAIT-2 상태
  3. Close 준비 마친 후 서버는 클라이언트에게 FIN 플래그 전송
  4. 클라이언트는 정상 응답인 ACK를 서버에 전송 후 TIME-WAIT 상태로 변경

 

Q. 3-Way Handshaking의 과정에 대해 설명하시오

Q. TCP에 대해 설명하시오.

 

참고

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/TCP%203%20way%20handshake%20%26%204%20way%20handshake.md

 

'CS STUDY > 네트워크' 카테고리의 다른 글

TCP/IP 흐름제어 & 혼잡제어  (0) 2024.03.08
UDP  (0) 2024.03.03
OSI 7 계층  (0) 2024.03.02
동기/비동기 & 블로킹/논블로킹  (0) 2023.12.22
로드밸런싱(Load Balancing)  (0) 2023.12.16