[네트워크] UDP

정한별·2024년 5월 29일

네트워크

목록 보기
6/13

UDP란

UDP는 "User Datagram Protocol"의 약자로, 컴퓨터 네트워크에서 데이터를 전송하기 위한 프로토콜 중 하나다. OSI 모델에서 4번쨰 계층이며 다른 프로토콜로는 TCP가 있다.
UDP는 데이터그램 기반의 프로토콜로, 신뢰성 있는 데이터 전송을 보장하지 않는다. 이는 데이터를 전송하기 전에 연결을 설정하거나, 전송된 데이터의 확인을 받지 않는다. 그 결과, UDP는 데이터를 빠르게 전송할 수 있지만, 데이터의 손실이나 순서가 뒤바뀌는 등의 문제가 발생할 수 있다.

UDP는 실시간 통신이 필요한 응용 프로그램에서 주로 사용된다. 예를 들어, 음성 또는 영상 스트리밍, 온라인 게임 등이 UDP를 사용하여 빠른 데이터 전송을 위해 선택될 수 있다. 데이터의 손실이나 순서가 중요하지 않은 경우에는 UDP가 적합한 선택일 수 있다.

UDP의 장단점

장점

  • 비연결성을 가져 두개의 컴퓨터간의 연결을 설정하지 않는다. 그렇기때문에 TCP에 비해 빠르다.
  • TCP에 비해 작은 패킷으로 더 적은 오버헤드로 전송한다.
  • TCP와 다르게 일부 패킷이 누락되더라도 전체 전송이 중단되지 않는다.
  • 멀티캐스트 및 브로드캐스트 기능을 통해 여러 수신자에게 데이터를 발송할 수 있다.

단점

  • UDP는 데이터 패킷이 목적지에 성공적으로 도달했는지 여부를 확인하지않는다.
  • 일부 패킷이 손상된 상태로 전송이 완료될 가능성이 있다.
  • 패킷 전송의 순서를 보장하지 않기때문에 순서가 중요한 경우 문제가 발생한다.

UDP 패킷 헤더

UDP헤더는 다음을 포함하고 있다.

  • 시작지포트(Source port)
    송신자의 포트 번호를 나타낸다.

  • 도착지포트(Destination port)
    수신자의 포트번호를 나타낸다.

  • 길이(Length)
    UDP 패킷의 전체 길이를 나타낸다.

  • 오류검출(CheckSum)
    UDP 패킷의 무결성을 검사하기 위한 값을 나타낸다.
    해당 값은 헤더에 있는 일부 값들을 가져와서 정해진 계산방식을 사용해 값을 추출한다.
    수신자 역시 패킷을 받게되면 값들을 계산해서 송신자가 보낸 CheckSum이랑 맞는지 확인하는 절차를 거친다.

이렇게 4개의 필드로 구성되어 있으며 각각 2바이트의 크기를 갖는다. 그렇게 되면 총 8바이트의 크기를 가지게되는것이다.
반대로 TCP의 경우 최소한의 패킷의 크기는 20바이트다. 그렇기때문에 TCP에 비해서 오버헤드가 적은것이다.

profile
iOS Developer

0개의 댓글