오늘 하루, develop

#15. [4계층] TCP 상태전이도 본문

네트워크

#15. [4계층] TCP 상태전이도

toZoe 2024. 5. 7. 23:56

 소개

패킷을 주고 받으면서 TCP의 연결 상태가 변화한다!

TCP의 연결 상태 변화에 대해 간단히 알아보자.


TCP 상태도

- 실선 : 클라이언트의 상태 변화

- 점선 : 서버의 상태 변화

 

LISTEN

서버가 포트 번호를 열어놓고 있는 상태 (클라이언트의 요청을 듣고 있는 상태)

 

ESTABLISHED

연결이 수립된 상태 (3 way handshake가 끝난 상태)

 

✔ 3 way handshake로 연결 상태 변화 살펴보기

 

0. 상황

  • 클라이언트 : CLOSED
  • 서버 : LISTENING ( LISTENING 상태가 아니면 클라이언트의 요청을 받을 수 없음)

1. 클라이언트-> 서버 : 연결 요청 패킷 전송

  • 클라이언트 : CLOSED -> SYN_SENT
  • 서버 : LISTENING -> SYN_RECEIVED

2. 서버 -> 클라이언트 : 요청을 받아들이는 패킷 전송

  • 클라이언트 : SYN_SENT 유지
  • 서버 : SYN_RECEIVED 유지

3. 클라이언트-> 서버 : 최종 수락 패킷 전송

  • 클라이언트 : SYN_SENT -> ESTABLISHED
  • 서버 : SYN_RECEIVED -> ESTABLISHED

출처

https://youtu.be/yY0uQf0BTH8?si=qFb6AimQDAgquq_Q