TCP vs UDP

SunA·2020년 8월 10일

💡 OSI 7 Layer의 전송계층에서 사용되는 프로토콜 2가지에 대해 알아보자! 💡

📌 TCP 와 UDP의 차이 표로 보기

TCPUDP
연결 방식연결형비연결형
패킷 교환 방식가상 회선 방식데이터 그램 방식
전송 순서순서 보장 🔴보장 ❌
수신 여부확인 🔴확인 ❌
통신 방식1 : 11 : 1 or 1 : N or N : N
신뢰성높다낮다
속도느리다.빠르다.

TCP (Transmission Control Protocol)

인터넷 상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용되는 프로토콜

연결형 서비스를 지원하는 프로토콜

✅ 장점

  • 연결형 서비스

    • 가상 회선 방식을 제공한다.

      : 발신자와 수신자를 연결하여 패킷📌 을 전송하기 위한 논리적 경로를 배정

  • 3-way handshaking📌 을 통해 연결 설정

    • 목적지와 수신지를 확실히 하여 정확한 전송을 보장하기 위한 세션을 수립하는 과정
  • 4-way handshaking📌 을 통해 연결 해제

  • 흐름 제어📌 및 혼잡 제어📌

➔➔➔➔➔➔➔➔➔  높은 신뢰성 보장 ❗❗❗

❎ 단점

  • 빠른 속도를 보장할 수 없다.
    • UDP에 비해 속도가 느린 편
    • 연속성보다는 신뢰성있는 전송이 중요할 때 사용

UDP (User Datagram Protocol)

데이터를 데이터 그램 단위 📌로 처리하는 프로토콜

비연결성 서비스를 지원하는 프로토콜

✅ 장점

  • 비연결형 서비스
    • 데이터 그램 방식 제공
    • 연결을 설정하거나 해제하는 과정이 없다.
  • 속도가 빠르고 네트워크 부하가 적다
    • 서로 다른 경로로 독립적으로 처리
    • 패킷의 순서부여, 재조립, 흐름 제어 및 혼잡 제어의 기능을 처리하지 않는다.

➔➔➔➔➔➔➔➔➔ 속도와 연속성 보장 ❗❗❗

❎ 단점

  • 신뢰성이 낮다.

  • 송, 수신 신호 절차를 거치지 않는다.

    • UDP 헤더의 CheckSum📌 필드를 통해 최소한의 오류만 검출 가능
    • 신뢰도 보다 연속성이 중요한 서비스 (실시간 서비스 : streaming) 에 주로 사용

📌 패킷

  • 데이터를 여러 개의 조각들로 나누어 전송하는데, 하나의 조각을 패킷 이라고 한다.

  • 인터넷에서 데이터를 보내기 위한 라우팅 (경로 설정) 을 효율적으로 할 수 있다.

  • TCP에서 패킷을 추적하는 방법

    • 패킷에 번호를 부여
      • 수신지 (목적지) 에서 재조립
        • 분실 확인 등의 높은 신뢰성을 보장!
  • 전이중(Full-Duplex), 점대식(Point to Point) 방식

📌 3-way handshaking / 4-way handshaking


📌 흐름 제어 (Flow Control)

  • 송신하는 곳과 수신하는 곳의 데이터 처리 속도 조절
    • 수신자의 버퍼 오버플로우 방지

📌 혼잡 제어 (Congestion Control)

  • 네트워크 내의 패킷 수가 넘치지 않게 방지
    • 정보의 소통량의 파악하여 패킷의 양을 조절
    • 혼잡 붕괴 현상 예방

📌 데이터 그램

  • 독립적인 관계를 지닌 패킷

📌 CheckSum

  • TCP 세그먼트에 포함되는 프로토콜 헤더와 데이터에 대한 오류 검출 용도
profile
꾸준하게 열심히!

0개의 댓글