TCP_IP 공부

TCP/IP 7주차 (UDP)

NaZZU 2025. 4. 18. 11:02

 UDP란?

UDP 소켓의 특성

  • User Datagram Protocol
  • IP를 기반으로 데이터를 전송한다.
  • 흐름제어를 하지 않기 때문에 데이터 전송을 보장 받지 못한다. (신뢰할 수 없는 데이터 전송*)
  • 프로토콜 자체가 간단하여 속도가 빠르다.

 

UDP의 내부 동작

  1. 기본 데이터 단위 : 데이터그램
  2. IP(L3 프로토콜)가 데이터를 라우팅을 통해 목적지 까지 전달
  3. UDP(L4 프로토콜)는 호스트내에서 port를 통해 최종 목적지 프로세스를 구별*

 

UDP의 효율적인 사용

  1. 압축 파일 : TCP가 유리,                       실시간 서비스 : UDP가 유리
  2. 데이터 양이 많은 경우 : TCP가 유리,  데이터 양이 적은 경우 : UDP가 유리

 

UDP 기반 서버/ 클라이언트 구현

UDP 서버는 클라이언트와 연결되어 있지 않다

  • 서버와 클라이언트 간에 연결 상태가 존재하지 않는다
  • TCP에서 필요하던 listen(), accpet(), connect() 함수가 불필요하다

UDP의 소켓은 오직 하나

  • 데이터를 주고 받기 위한 소켓은 하나만 생성된다
  • TCP에서는 서버에 연결된 클라이언트 수 만큼 소켓이 생성됨
  • 소켓 하나로 여러 개의 클라이언트와 송수신 가능

 

UDP 기반의 데이터 입출력 함수

 

 

UDP 기반의 데이터 입출력 함수