본문 바로가기
목차훔치기/하루 3분 네트워크 교실

UDP(하루 3분 네트워크 교실)

by 해삼2 2023. 7. 27.
728x90
반응형
UDP

 

UDP

UDP는 "User Datagram Protocol"의 약자로, 한국어로는 "사용자 데이터그램 프로토콜"이라고 합니다. UDP는 인터넷 프로토콜 스위트의 한 부분으로서, 데이터를 신속하게 전송하기 위해 설계된 프로토콜 중

하나입니다.

UDP는 데이터 전송에 있어서 비연결형 프로토콜로 동작합니다. 

이 말은 데이터를 주고받기 위한 미리 설정된 연결(세션)을 만들지 않고, 

데이터를 송신하는 즉시 수신 측으로 데이터를 보내는 방식입니다. 

따라서 UDP는 TCP와 달리 연결 설정과 종료에 대한 오버헤드가 없으며, 

데이터를 전송하기 위해 더 적은 시간과 리소스를 사용합니다.

하지만 UDP는 신뢰성이 떨어집니다. 

데이터를 보낼 때, 중복 검사, 패킷 순서 조정, 손실된 패킷 재전송과 같은 기능을 제공하지 않기 때문에, 

데이터가 순서대로 도착하지 않거나 일부 데이터가 손실될 수 있습니다. 

이러한 특징으로 인해 UDP는 실시간 스트리밍, 멀티미디어 서비스 등에서 주로 사용됩니다. 

예를 들면, 음성 통화, 비디오 스트리밍, 온라인 게임 등이 UDP를 사용하여 빠른 데이터 전송을 

구현할 수 있습니다.

요약하면, UDP는 비연결형, 신뢰성이 낮지만 빠른 데이터 전송을 지원하는 프로토콜입니다. 

TCP와 함께 인터넷에서 가장 널리 사용되는 전송 계층 프로토콜 중 하나입니다.

 

 

UDP 전송방식

포트 번호 설정: 

UDP는 데이터를 주고받을 때 출발지와 목적지를 식별하기 위해 포트 번호를 사용합니다. 

송신자와 수신자 각각의 포트 번호가 지정되어 있어야 합니다.

데이터그램 생성: 

송신자가 전송하고자 하는 데이터를 "데이터그램"이라고 하는 작은 패킷으로 나눕니다. 

이 데이터그램에는 목적지 IP 주소와 포트 번호 및 실제 데이터가 포함됩니다.

데이터그램 전송: 

송신자는 데이터그램을 인터넷으로 전송합니다. 

이때, 데이터그램은 IP 패킷의 형태로 전송되며, 네트워크 상에서 경로를 찾아 목적지로 전송됩니다.

비연결형 특성: 

UDP는 연결 설정을 하지 않기 때문에, 수신자는 데이터그램을 수신할 준비가 되어 있어야 합니다. 

송신자는 데이터그램을 전송하고, 그리고 나서 다음 데이터그램을 전송합니다. 

이렇게 연결 설정이 없기 때문에 UDP는 TCP보다 빠른 전송 속도를 가질 수 있습니다. 

하지만 데이터의 순서나 손실 복구에 대한 보장이 없기 때문에, 애플리케이션에서 이러한 문제를 

처리해야 합니다.

비신뢰성: 

UDP는 데이터의 신뢰성을 보장하지 않습니다. 데이터그램이 중복되거나 손실될 수 있습니다. 

이러한 특성 때문에 실시간 음성 통화나 온라인 게임과 같이 소량의 데이터를 빠르게 전송해야 하는 

상황에서 주로 사용됩니다.

도착 순서: 

UDP는 데이터그램이 네트워크를 통해 서로 다른 경로를 통해 전송될 수 있기 때문에, 

데이터그램의 도착 순서가 보장되지 않습니다. 이러한 순서 조정은 애플리케이션 수준에서 처리해야 합니다.

요약하면, UDP는 데이터를 작은 데이터그램으로 나누고, 연결 설정 없이 빠르게 전송하는 비연결형 

프로토콜입니다. 

그러나 데이터의 신뢰성이나 도착 순서를 보장하지 않기 때문에, 이러한 측면을 애플리케이션에서 

고려하여 처리해야 합니다.

 

UDP 쉽게 알기!

학교 내에서 동시에 많은 사용자들이 온라인 시험을 보고 있을 때, 

학생들의 답안 데이터를 서버로 빠르게 전송하는 상황을 상정해 봅시다. 

이때 학교는 UDP를 사용하여 답안 데이터를 서버로 전송할 수 있습니다.

온라인 시험 시스템: 

학교는 인터넷 기반의 온라인 시험 시스템을 운영하고 있습니다. 

학생들은 각자의 컴퓨터나 모바일 기기에서 시험을 보며 답안을 입력합니다. 

이때 UDP를 사용하여 학생들의 답안 데이터를 빠르게 서버로 전송합니다. 

시험이 진행되는 동안에도 학생들의 답안이 실시간으로 서버로 전송되기 때문에, 

시험 시간이 종료되면 결과를 빠르게 처리할 수 있습니다.

실시간 퀴즈 시스템: 

학교에서 수업 중 실시간으로 학생들에게 퀴즈를 출제하고, 학생들은 객관식 답안을 입력하는 

상황을 가정해봅시다. 

학교는 UDP를 사용하여 학생들의 퀴즈 답안을 빠르게 서버로 전송하고, 

즉시 정답 여부를 확인하여 학생들에게 결과를 보여줄 수 있습니다. 

TCP를 사용하는 경우, 데이터의 송신과 수신 사이에 더 많은 지연이 발생할 수 있어, 

실시간 퀴즈에는 불리할 수 있습니다.

UDP를 이용하여 데이터를 빠르게 전송하는 것은 학생들이 온라인상에서 더 좋은 경험을 얻을 수 

있도록 도와줍니다. 

하지만 UDP의 특성상 데이터의 순서 보장이나 손실 복구 기능은 제공되지 않기 때문에, 

학교는 데이터의 중요성과 신뢰성을 고려하여 UDP를 사용할지, 

아니면 TCP와 같은 다른 프로토콜을 사용할지를 결정해야 합니다.

 

 

 

 

 

*바쁜 사람을 위한 깜찍한 정리

UDP는 데이터 전송에 있어 사용되는 비연결형 프로토콜이며 송신하는 즉시 수신 측으로 데이터를 보내는 방식을 사용합니다.
신뢰성이 떨어지기 때문에 주로 실시간 스트리밍, 멀티미디어 서비스 등에서 주로 사용됩니다.
전송방식으로는 먼저 목적지를 식별하기 위해 포트번호를 설정하며 패킷에 해당 목적지 IP주소, 포트번호, 실제 데이터들이 담겨 해당하는 목적지로 보내지게 됩니다.
비연결형 특성 이어서 수신자는 데이터그램을 수신할 준비가 되어 있어야 하며 연결 설정이 따로 없고 손실 복구에 대한 보장은 없지만 데이터를 빠르게 보낼 수 있는 장점이 있어 실시간 스트리밍 등에 많이 사용됩니다.
728x90
반응형