TCP 3, 4 way handshake에 대해서 설명해주세요

 

SYN / ACK / 프로토콜 / TCP에 대해 잘 모르겠다면?

같이 곁들이면 좋은 포스팅입니다 :) 

 

 

개발에 사용되는 약어 정리

개발 약어 정리 헷갈리는 개발 약어들을 정리한 페이지입니다. www.notion.so 공부하면서 만난 약어들을 이 곳에 정리하고 있습니다. 필요하신 분들은 가져가셔도 좋습니다 ! * 출처는 꼭 ! 남겨주세

seongeun-it.tistory.com

 

 

OSI7계층과 그 존재 이유, TCP/IP 에 대해 설명해주세요

키워드 OSI의 정의 하위 계층 / 상위계층 OSI 7계층의 장점 Application Layer = 응용계층 - Application이란? 입력/ 가공 표현계층 = 어떤 언어로 작성할지 / encoding / 암호화 / 압축 세션계층 = 어떤 방식으로.

seongeun-it.tistory.com

 


키워드

  • 3 way handshake → 연결 ( 이것 좀 해줘! -> 알겠어 포트 열어 줄래? -> 연결 성공! )
  • 4 way handshake → 해제 ( 나 다했어 ! -> 잠깐만! 기다려줘 -> 나도 끝났어 ~!~ -> 연결 종료 성공! )
  • SYN → 연결 설정
  • ACK → 응답 확인
  • FIN → 연결 해제

 


 

TCP 3 way handshake

TCP 3 way handshake란 데이터를 전송하기 위해 네트워크 연결을 설정하는 과정입니다.

양쪽 모두 데이터를 전송할 준비가 되어있다는 것을 보장합니다.

 

 

👋 이것 좀 해줘 !

클라이언트가 서버에게 SYN (연결 요청 메시지)를 전송합니다. 송신자가 최초로 데이터를 전송할 때 Sequence Number를 임의의 숫자로 지정하고, SYN 플래그 비트를 1로 설정한 세그먼트(데이터를 메시지의 형태로 보내는 블록 단위)를 전송합니다.

 

👋 알겠어 포트 열어 줄래? 

접속 요청을 받은 서버가 요청을 수락했으며, 클라이언트도 포트를 열어 달라는 메시지를 전송합니다. ( SYN + ACK )

수신자는 ACK를 SEQ + 1로 지정하고, SYN과 ACK 플래그 비트를 1로 설정한 세그먼트를 전송합니다.

 

🤝연결 성공! 

마지막으로 클라이언트가 수락 확인을 보내 연결을 맺습니다.

이때 전송할 데이터가 있으면 이 단계에서 데이터를 전송할 수 있습니다.

 

 


TCP 4 way handshake

TCP 4 way handshake란 연결을 해제하는 과정을 의미합니다.

 

 

🙌 나 다했어!

클라이언트가 서버에게 연결을 종료하겠다는 FIN 플래그를 전송합니다. 서버가 FIN 플래그로 응답하기 전까지 연결을 유지합니다.

 

잠깐만! 기다려줘

서버는 확인 메시지를 보내고 자신의 통신이 끝날 때까지 기다립니다. ( TIME_WAIT 상태 ) 

 

👋 나도 끝났어 ~!~

서버가 통신이 끝났으면 연결 종료 요청에 합의한다는 뜻으로 클라이언트에 FIN 플래그를 전송합니다

 

👋 연결 종료 성공! 

클라이언트는 확인했다는 ACK 메시지를 전송합니다.

 

 


 

참고 블로그

 

[Network] TCP 3-way handshaking과 4-way handshaking - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

소켓(Socket) 포트(Port) 뜻과 차이

나도 개발자지만 소켓과 포트의 정확한 의미 차이가 헷갈릴 때가 있어서, 최근에 다시 꼼꼼하게 공부를 했...

blog.naver.com

 

댓글