[네트워크] TCP/UDP 프로토콜

박채은·2022년 11월 30일
0

네트워크

목록 보기
3/6

TCP/IP 4계층 모델

TCP/IP 4계층 모델주요 프로토콜역할
응용 계층(4층)HTTP, DNS애플리케이션에 맞추어 통신한다.
전송 계층(3층)TCP, UDPIP와 애플리케이션을 중개해 데이터를 확실하게 전달한다.
인터넷 계층(2층)IP, ICMP, ARP네트워크 주소를 기반으로 데이터를 전송한다.
네트워크 액세스(1층)이더넷, wifi컴퓨터를 물리적으로 네트워크에 연결해서, 기기 간에 전송이 가능하도록 한다.
  • TCP와 UDP는 2계층에서 동작하는 IP와 4계층에서 동작하는 애플리케이션(http 등)을 중개하는 역할을 한다.

  • TCP와 UDP는 IP 프로토콜의 한계점(비연결성, 비신뢰성)을 극복하기 위해 사용된다.

TCP vs UDP

TCPUDP
서비스 타입연결 지향적 프로토콜데이터그램 지향적 프로토콜
신뢰성신뢰성이 높음(표적 호스트까지의 전송을 보장한다.)신뢰성이 낮다.(전송을 보장되지 않는다.)
순서 보장패킷들의 순서가 보장 O패킷들의 순서가 보장 X
속도느리다빠르고, 단순하며 더 효율적이다.
예시HTTPDNS, 비디오 스트리밍 앱

TCP는 신뢰성이 높은 대신에 속도가 느리고, UDP는 신뢰성이 낮은 대신에 속도가 빠르며 효율적이다.

데이터의 신뢰성이 필요한 애플리케이션 -> TCP
데이터의 빠른 속도나 실시간 통신이 필요한 애플리케이션 => UDP

TCP

  • 신뢰성 있는 데이터 통신을 위해, 데이터 전송 전에 3-way handshake 과정이 있다.
  • 신뢰성을 위해, 많은 파라미터와 정보 전달이 필요함
  • receiver가 전송 받을 준비가 될 때까지 세그먼트를 반복적으로 재전송한다.

UDP

  • TCP의 3-way handshake 같은 준비 과정이 없고, 바로 전송을 시작
  • 준비 과정이 없으므로, 지연이 없고 반응 시간이 빠르다.
  • UDP는 파라미터나 다른 정보들을 기록하지 않고, 유지할 필요도 없다.
    => 따라서 TCP에 비해 더 많은 클라이언트를 수용할 수 있다.

DNS가 UDP를 사용하는 이유?
1. 빠른 속도
DNS는 신뢰성보다, 속도가 더 중요한 서비스이다.

2. 연결 상태를 유지할 필요가 없다.
DNS 서버는 정보 기록을 최소화하며, 연결 상태를 유지하지 않아 더 많은 클라이언트를 수용할 수 있는 UDP를 사용한다.

0개의 댓글