기어가더라도 제대로

2. TCP(UDP) 본문

CS/네트워크

2. TCP(UDP)

Damagucci-juice 2022. 12. 3. 02:31
  • 패킷 소실

  • 순서가 꼬인다던가

하는 IP의 문제들을 해결해준다.

‏‏‎ ‎

2. TCP(UDP) image

  • IP 라는 것 위에 살짝 올라타서 TCP 가 보완을 해준다고 생각하면 일단 오케이다.

2. TCP(UDP) image

우리가 채팅앱으로 "Hello world" 같은 메시지를 보내면 애플리케이션 부터 OS, 네트워크 인터페이스까지 거치면서 상대방의 서버로 찾아간다.

  1. 프로그램이 메시지 생성

  2. SOCKET 라이브러리를 통해 전달

  3. TCP 정보생성, 메시지 데이터 포함

  4. IP 패킷 생성, TCP 데이터 포함

점점 아래 프로토콜로 갈 수록 해당 계층에서 담고싶은 정보를 마트료시카 만들듯이 감싸면서 진행한다. 이를 캡슐화라고 한다.

‏‏‎ ‎

IP 패킷 정보

패킷 = 패키지 + 버킷

"수하물 + 박스" 를 뜻하는 단어다.

2. TCP(UDP) image

IP 만으로 해결이 되지 않았던 순서 문제를 해결할 수 있다.

‏‏‎ ‎

TCP 특징

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결지향 - TCP 3 way handshake(가상 연결)

  • 데이터 전달 보증

  • 순서 보장

  • 신뢰할 수 있는 프로토콜

  • 현재는 대부분 TCP 사용

‏‏‎ ‎

면접 보다가 면접질문으로 웹 주소를 주소창에 치면 어떤 일이 일어나느냐는 질문을 받았을 때

TCP 3 way handshake 를 빼먹어서 낭패본 기억이 있다.

2. TCP(UDP) image

  1. 클라이언트가 SYN 을 보내면

  2. 서버가 SYN 과 ACK 를 보낸다

  3. 이걸 받은 클라이언트는 ACK 를 보낸다.

    1. 그 후에 데이터를 전송하는 것이다.

그러나 이 연결이 물리적으로 연결된 것은 아니다.

  • 목적지와 출발지 서버간에 수많은 노드가 존재하는데 이 노드들간에는 체결하지 않고

  • 목적지와 출발지만 약속을 체결하고 "연결되었음" 이라고 논리적으로 약속하는 것이다.

‏‏‎ ‎

데이터 전달 보증

  1. 클라이언트가 데이터를 보내면

  2. 서버가 잘 받았다고 메시지를 보내줌

2. TCP(UDP) image

전송을 했는데 서버에서 응답이 없다면 문제상황을 인식함

순서 보장

2. TCP(UDP) image

  • 패킷이 순서대로 오지않으면 잘못된 그 부분부터 다시 보내라고 요청한다.

‏‏‎ ‎


UDP

사용자 데이터그램 프로토콜(User Datagram Protocol)

‏‏‎ ‎

  • 하얀 도화지에 비유(기능이 거의 없음)

  • 연결 지향 - TCP 3 way handshake X

  • 데이터 전달 보증 X

  • 순서 보장 X

  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름

  • 정리

    • IP와 거의 같다. + PORT + 체크섬 정도만 추가

    • 어플리케이션에서 추가 작업 필요

‏‏‎ ‎

Comments