본문 바로가기
Computer Science/Network

TCP, UDP의 공통점 차이점, 특징

by matters_ 2019. 11. 1.

TCP와 UDP의 공통점

포트 번호를 이용하여 주소를 지정한다.

두 애플리케이션이 통신하기 위해 반드시 포트 번호를 결정해야 한다.

데이터 오류를 체크한다.

IP가 제공하는 오류 체크 기능은 프로토콜 동작을 위해 반드시 필요한 부분에만 국한된다. 즉 IP헤더에 대한 오류는 체크하지만 데이터에 대한 오류는 체크하지 않는다. 반면, TCP와 UDP는 헤더와 데이터에 대한 오류를 체크한다.

TCP와 UDP의 차이점

TCP (Transmission Control Protocol)

  1. 연결형 (connnection-oriented) 프로토콜이며, 연결이 성공해야 통신이 가능하다.
  2. 데이터 경계를 구분하지 않는다. 바이트 스트림(byte-stream) 서비스
  3. 신뢰성 있는 데이터를 전송한다. 데이터의 순서 유지를 위해 각 바이트마다 번호를 부여한다. 데이터를 재전송한다.
  4. 1 대 1 통신(unicast)
  5. 전송속도가 느리다.
  6. 패킷관리가 필요없다.

특징

  • 가상 회선 연결 방식, 연결형 서비스를 제공
  • 높은 신뢰성(Sequence Number, Ack Number를 통한 신뢰성 보장)
  • 연결의 설정(3-way handshaking)과 해제(4-way handshaking)
  • 데이터 흐름 제어(수신자 버퍼 오버플로우 방지) 및 혼잡 제어(네트워크 내 패킷 수가 과도하게 증가하는 현상 방지)
  • 전이중(Full-Duplex), 점대점(Point to Point) 서비스

UDP (User Datagram Protocol)

  1. 비연결형 (connectionless) 프로토콜이며, 연결 없이 통신이 가능하다.
  2. 데이터 경계를 구분한다. 데이터그램(datagram) 서비스
  3. 비신뢰적인 데이터를 전송한다. 데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않는다.
  4. 1 대 1 통신(unicast), 1 대 다 통신(broadcast), 다 대 다 통신(multicast)
  5. 전송속도가 빠르다.
  6. 패킷관리가 필요하다.

특징

  • 비연결형(port만 확인하여 소켓을 식별하고 송수신)
  • 패킷 오버헤드가 적어 네트워크 부하 감소
  • 비신뢰성
  • 오류검출(헤더에 오류 검출 필드를 포함하여 무결성 검사)
  • TCP의 handshaking 같은 연결 설정이 없다
  • DNS, NFS, SNMP, RIP 등 사용

Reference

댓글