[Network] UDP

foresec·2023년 6월 22일
0

Computer Science

목록 보기
10/28

UDP 통신?

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

  • 비연결성
  • 신뢰성없음
  • 데이터그램 단위로 쪼개면서 전송해야하기 때문에 전송 계층
  • 장점 : 데이터의 신속성
  • 주로 실시간 스트리밍과 온라인 게임에서 사용됨

TCP와 UDP 배경

  1. IP의 역할으 장치와 장치 사이만을 지원. 하나의 장비안에서 수많은 프로그램이 통신을 할 때 IP만으로 한계가 있음
    -> 포트번호가 나옴

  2. IP 오류 발생시, ICMP에서 알려주는데 알려주기만 하고 대처를 못하는 문제 때문에 IP보다 위에서 처리해야함
    -> 상위 프로토콜인 TCP와 UDP가 나옴

TCP와 UDP의 오류 해결

TCP
데이터 분실, 중복, 순서 뒤바뀜등을 자동 보정, 송수신데이터의 정확한 전달 보장

UDP
IP가 제공하는 정도의 수준만을 제공하는 간단한 IP상위 계층의 프로토콜. TCP와 다르게 에러가 나거나 재전송, 순서 뒤바뀜 문제가 있을 수 있음. 어플리케이션에서 처리하는 번거로움 존재

DNS에서 UDP를 사용하는 이유

DNS는 UDPP를 port 53번에서 사용함

  • Request의 양이 작은 경우, UDP Request에 담길 수 있음
  • 3 way handshaking으로 연결을 유지할 필요가 없음
  • 신뢰성이 중요한 응용프로그램일 경우, Application Layer에서 Timeout 추가나 resend 작업 등의 추가적인 메커니즘 작업을 추가하여 신뢰성 개선 가능

하지만 크기가 512를 넘을 때, Zone transfer을 사용해야하는 경우는 TCP를 사용해야함

TCP와 UDP의 차이

주로 TCP는 속도는 느리지만 데이터의 신뢰성과 정확성이 중요한 경우에 사용. 예를 들어, 웹 페이지 로딩, 파일 전송, 이메일 전송 등에서 TCP를 사용함.
반면 UDP는 단방향 데이터 전송으로 속도가 빨라 실시간성이 중요하거나 데이터 손실이 발생해도 큰 영향을 주지 않는 경우에 사용됨. 예를 들어, 영상 스트리밍, 음성 통화, 온라인 게임 등에서 UDP를 사용

profile
왼쪽 태그보다 시리즈 위주로 구분

0개의 댓글