init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
41
technology/internet/UDP.md
Normal file
41
technology/internet/UDP.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
obj: concept
|
||||
wiki: https://wikipedia.org/wiki/User_Datagram_Protocol
|
||||
rfc: https://datatracker.ietf.org/doc/html/rfc768
|
||||
---
|
||||
|
||||
# UDP
|
||||
The User Datagram Protocol (UDP) is a connectionless transport layer protocol in the Internet Protocol (IP) suite. Unlike Transmission Control Protocol ([TCP](TCP.md)), UDP does not establish a connection before sending data and does not guarantee the delivery of data. Instead, it provides a simple and lightweight mechanism for transmitting data quickly.
|
||||
|
||||
## Key Characteristics
|
||||
### 1. **Connectionless:**
|
||||
- UDP is connectionless, meaning it does not establish a connection before sending data. Each UDP packet is treated independently.
|
||||
### 2. **Unreliable:**
|
||||
- UDP does not guarantee the delivery of data, and there is no mechanism for retransmission if packets are lost or arrive out of order.
|
||||
### 3. **Low Overhead:**
|
||||
- UDP has minimal overhead compared to [TCP](TCP.md), making it suitable for applications where speed and low latency are prioritized over reliability.
|
||||
### 4. **Broadcast and Multicast Support:**
|
||||
- UDP supports broadcast and multicast communication, allowing a single UDP packet to be sent to multiple recipients simultaneously.
|
||||
### 5. **No Flow Control:**
|
||||
- UDP does not implement flow control mechanisms, so it may send data at a rate that the recipient cannot handle.
|
||||
|
||||
## Use Cases
|
||||
### 1. **Real-Time Applications:**
|
||||
- UDP is commonly used in real-time applications where low latency is critical, such as online gaming, video conferencing, and voice over IP (VoIP).
|
||||
### 2. **Streaming Media:**
|
||||
- Streaming services often use UDP for delivering media content due to its speed and the ability to handle occasional packet loss without severe impact.
|
||||
### 3. **Network Monitoring:**
|
||||
- UDP is used in network monitoring tools and protocols, such as the Domain Name System ([DNS](DNS.md)) and Simple Network Management Protocol (SNMP).
|
||||
### 4. **IoT Devices:**
|
||||
- Internet of Things (IoT) devices may use UDP for lightweight communication, especially when reliability is not the primary concern.
|
||||
|
||||
## UDP Header
|
||||
The UDP header includes the following fields:
|
||||
- **Source and Destination Port Numbers:** Identify the source and destination applications on the devices.
|
||||
- **Length:** Specifies the length of the UDP header and data.
|
||||
- **Checksum:** Provides a simple error-checking mechanism for the UDP header and data.
|
||||
|
||||
## Comparison with [TCP](TCP.md)
|
||||
- **Reliability:** UDP is unreliable and does not guarantee the delivery of data, while TCP provides reliable, connection-oriented communication.
|
||||
- **Overhead:** UDP has lower overhead than [TCP](TCP.md) since it lacks features such as connection setup, acknowledgment, and flow control.
|
||||
- **Use Cases:** UDP is suitable for real-time applications and scenarios where low latency is crucial, while [TCP](TCP.md) is preferred for applications requiring reliable data transfer.
|
Loading…
Add table
Add a link
Reference in a new issue