Computer Science/Computer Network

[네트워크] TCP, UDP - Transport Layer Protocol

oneonlee 2022. 10. 18. 01:09
반응형

Transport Layer services

Transport Layer의 역할

    1. Source부터 Destination까지 패킷이 제대로 전송될 수 있도록 한다.
    2. Application Layer에서 만든 데이터를 일정한 크기로 자른다.

Transport Layer 프로토콜의 종류

세부적으로 들어가면 Transport Layer에도 여러가지 프로토콜들이 존재하지만, 대표적으로 두가지 프로토콜이 있다.

TCP (Transmission Control Protocol) for loss-sensitive application

  • reliable transport
    • 전송 프로세스와 수신 프로세스 간의 안정적인 전송이 가능하다.
  • in-order delivery
    • 데이터를 순서대로 전송한다.
  • connection-oriented (연결 지향), connection setup : 데이터를 보내기 전에 상대방의 상태를 확인하고, 클라이언트와 서버 간에 설정(setup)을 요구한다.
    • 여기서 말하는 설정(setup)이란?
      • sender/receiver에 buffer 할당
      • buffer & window size 설정 등
  • flow control
    • 라우터와 받는 수신자의 상황을 봐서, sender 측 버퍼가 넘치치 않도록 보내는 패킷 양을 조절한다.
  • congestion control
    • 각 TCP 연결이 네트워크 대역폭을 공평하게 공유할 수 있게끔 제어한다.
  • Delay나 Bandwidth를 건드리지는 못한다.
  • timing, minimum throughput guarantee, security 등의 기능은 제공하지 않는다.

UDP (User Datagram Protocol) for delay-sensitive application

  • unreliable data transfer
  • 패킷을 어떤 수신자의 어떤 서비스가 받아야 하는지(IP 주소, Port 번호), 패킷이 중간에 망가지지는 않았는지만 처리한다.
  • UDP는 TCP에서 제공하는 것을 하나도 제공하지 않는다.
    • reliability, connection setup, flow control, congestion control, timing, minimum throughput guarantee, security 등을 제공하지 않는다.
  • 정말 아무것도 안 하는 것 같은데 필요한 이유가 무엇일까?
    • UDP는 포트 번호에 따라 전달하는 역할을 한다.
    • UDP는 신뢰성을 보장하지는 않지만, TCP에 비하여 빠른 전송 속도를 제공한다.
    • UDP는 비연결을 지향하기 때문에 데이터를 재전송할 필요도 없고, 흐름 제어나 에러 체크도 항상 필요로 하지 않는다.

 


 

참고 자료

  1. Computer Networking: A Top Down Approach 6th edition - Jim Kurose, Keith Ross Addison-Wesley March 2012
  2. https://ddongwon.tistory.com/m/79
반응형