QSFPTEK Global에 오신 것을 환영합니다     미국 및 EU 주문 US$79.8 초과 시 무료 배송     글로벌 창고

통화: KRW ₩
USD $ - US Dollar
EUR € - Euro
JPY 円 - Japanese Yen
KRW ₩ - Korean Won
검색

장바구니

0
Free shipping on U.S. & EU orders over US$79.8
통화: KRW ₩
Choose language
Back
  • USD $ - US Dollar
  • EUR € - Euro
  • JPY 円 - Japanese Yen
  • KRW ₩ - Korean Won

UDP

작성자 Moore

날짜 08/23/2024

이 문서에서는 UDP라고도 알려진 사용자 데이터그램 프로토콜에 대해 설명합니다. 이는 일반적으로 시간에 민감한 애플리케이션에서 사용되는 통신 프로토콜입니다. 패킷이 순서대로 도착하는 것을 보장하지 않으며, 데이터가 성공적으로 전송되었는지 확인할 필요가 없어 속도 면에서 이점이 있기 때문입니다.

UDP(User Datagram Protocol)란 무엇입니까?

 

UDP는 게임, 비디오 스트리밍, 도메인 이름 시스템(DNS) 조회와 같은 시간에 민감한 애플리케이션을 위한 통신 프로토콜인 사용자 데이터그램 프로토콜을 의미합니다. UDP는 전송 전에 대상 장치에 안정적인 연결을 요구하지 않기 때문에 통신 속도를 크게 높일 수 있습니다. UDP는 기존 프로토콜의 시간이 많이 소요되는 연결 설정 프로세스를 제거하여 데이터 전송 속도를 높입니다.

 

하지만 UDP의 속도 이점에는 몇 가지 잠재적 위험이 따릅니다. UDP는 데이터가 소스에서 목적지로 전송될 때 패킷 손실을 유발할 수 있습니다. 또한 연결이 없는 특성 때문에 UDP는 해커가 분산 서비스 거부(DDoS) 공격을 시작하기 쉬운 대상입니다.

 

일반적으로 Transmission Control Protocol (TCP)와 같은 프로토콜은 수신자가 데이터를 수신할 뿐만 아니라 데이터 전송이 시작되기 전에 수신할 준비가 되었음을 확인하도록 요구합니다. 그러나 UDP는 전송을 시작하기 전에 이 확인을 기다리지 않으므로 데이터 전송 문제가 발생하고 DDoS 공격자에게 기회를 제공할 수 있습니다.

 

UDP는 어떻게 작동하나요?

 

다른 네트워크 프로토콜과 비교하면 UDP는 훨씬 더 간단합니다. UDP는 단순히 목적지 컴퓨터를 찾아 데이터 패킷(“데이터그램”이라고도 함)을 보냅니다. UDP는 패킷이 순서대로 도착한다고 보장하지 않으며, 패킷이 목적지에 도달했는지도 확인하지 않습니다.

 

UDP는 데이터 무결성을 보장하기 위해 체크섬을 사용하고, 출발지와 목적지에서 데이터 용도를 구분하기 위해 포트 번호를 사용하지만, 강제 핸드셰이크 메커니즘이 없기 때문에 이러한 단순성은 몇 가지 문제를 야기합니다. UDP를 사용하는 프로그램은 기반 네트워크의 불안정성에 영향을 받습니다.

 

그 결과 데이터가 성공적으로 전송되거나 손실될 수 있습니다. 또한 패킷이 도착하는 순서를 제어할 수 없기 때문에 최종 목적지에 표시될 때 데이터가 들쭉날쭉하거나 순서가 뒤바뀌거나 빈 상태로 나타날 수 있습니다.

 

그러나 오류 감지 및 수정이 필요하지 않은 경우 이러한 문제는 일반적으로 사소합니다. 이것이 UDP가 비디오 애플리케이션에서 자주 사용되는 이유 중 하나입니다. 가끔 데이터 손실이나 오류가 발생하더라도 비디오 신호를 목적지까지 신속하게 전달하는 것은 여전히 최우선 과제입니다.

 

UDP와 TCP의 차이점

 

데이터가 한 장소에서 다른 장소로 전송될 때, 헤더는 장치에 해당 데이터로 무엇을 해야 하는지 알려줍니다. UDP의 헤더는 고정된 8바이트로 간단한 반면, TCP의 헤더는 훨씬 더 복잡하며 길이가 20~60바이트에 이릅니다. UDP의 헤더에는 16비트 소스 포트 번호, 16비트 대상 포트 번호, 16비트 길이 및 16비트 체크섬이 포함되어 있으며, 이는 데이터그램을 목적지로 안내합니다. 헤더에는 16비트 소스 포트 번호, 16비트 대상 포트 번호, 16비트 길이 및 16비트 체크섬이 포함되어 있으며, 이는 데이터그램을 목적지로 안내합니다. 데이터를 보낼 때 소스 포트와 대상 포트 간 연결 인증은 필요하지 않습니다.

 

반면 TCP는 데이터를 전송하기 전에 핸드셰이크가 필요하며, 이 과정으로 인해 TCP는 UDP보다 더 안정적입니다. TCP 통신에서는 대상과 소스 간에 공식적인 연결이 설정된 후에만 데이터를 전송할 수 있습니다. 반면 UDP는 링크를 설정할 필요가 없으므로 데이터를 즉시 보낼 수 있습니다.

 

또 다른 차이점은 TCP가 전송 전에 패킷의 순서를 확인하고 패킷이 제시간에 도착하도록 보장한다는 것입니다. 패킷이 도착하지 않으면 TCP는 자동으로 재전송을 요청합니다. 반면 UDP는 어떠한 확인 응답, 검사 또는 재전송도 수행하지 않습니다.

 

애플리케이션이 UDP 사용을 선택하면, 사용자는 오류가 발생하거나 데이터가 도착하지 않거나 데이터가 재전송될 수 있는 위험을 감수합니다. 이러한 선택의 보상은 더 빠른 전송 속도입니다. 데이터 손실이 반드시 UDP의 책임은 아닙니다. UDP의 헤더 정보는 데이터가 지정된 위치에 도착할 수 있도록 충분하며, 데이터그램이 전송되는 순서는 본질적으로 올바르게 유지될 수 있습니다.

 

그러나 대부분의 네트워크 라우터는 패킷의 도착을 확인하거나 순서를 지정할 수 없으므로 패킷 손실 또는 중복이 발생할 수 있습니다. TCP는 데이터가 올바른 순서로 목적지에 도달하도록 보장함으로써 이를 보완합니다.

 

UDP vs TCP

UDP의 적용

 

UDP는 일반적으로 속도가 필수적이지만 소량의 데이터 손실은 허용되는 통신 시나리오에서 사용됩니다. 음성 및 비디오와 같은 실시간 스트리밍 미디어 전송은 100% 정확성보다 적시성을 요구하기 때문에 대표적인 애플리케이션입니다. 예를 들어, 많은 Voice over Internet Protocol(VoIP) 서비스는 지연 시간을 줄이고 통화를 더 원활하게 만들기 때문에 UDP를 사용하며, 때때로 일부 음질이 희생되더라도 이를 감수합니다.

 

마찬가지로 UDP는 온라인 게임에서 널리 사용됩니다. 게이머에게는 가끔 일부 데이터를 잃는 것보다 빠른 응답이 더 중요합니다. 또한 DNS 서버도 쿼리의 속도와 효율성을 위해 UDP에 의존하는데, 이러한 서비스는 효과적으로 작동하려면 빠른 응답이 필요하기 때문입니다.

 

DDoS 공격에서 UDP는 어떻게 사용되나요?

 

UDP(User Datagram Protocol)는 빠른 실시간 데이터 전송이 필요할 때 뛰어난 성능을 발휘하지만, 수신자를 DDoS 공격에 더 취약하게 만듭니다.

 

DDoS 공격에서는 대상 웹사이트에 패킷이 쇄도합니다. 문제가 발생할 때마다 대상 서버는 이에 대한 응답으로 ICMP 패킷을 보내야 합니다. 서버가 그렇게 많은 요청을 감당할 수 없기 때문에 결국 막힌 하수구처럼 압도될 것입니다. 그 결과 합법적인 요청이 통과하지 못하고 실제 사용자와 고객이 사이트에 제대로 액세스할 수 없습니다.

 

UDP의 비연결 특성은 DDoS 공격에 특히 취약하게 만듭니다. 소스와 대상 간에 핸드셰이크 연결을 설정할 필요가 없기 때문에 공격자는 방해 없이 대상 서버에 많은 패킷을 보낼 수 있습니다.

그러나 조직은 ICMP 패킷의 응답 속도를 제한하여 이러한 공격 위험을 완화할 수 있습니다. UDP 트래픽에 데이터 센터 네트워크를 활용하면 스푸핑된 요청이 개별 서버를 압도하는 것을 방지할 수 있습니다.

공유

Tags

#Wiki
#UDP
#Protocol