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

     

    728x90

    댓글