User datagram Protocol
Def: UDP provides a simpler, datagram delivery service between application processes
一般用于不需要通过TCP传输的应用(比如此应用有自己的private transmission 或只是单纯的不需要保证数据的准确性)
UDP datagram的结构
UDP demultiplexing
UDP transmission 将 UDP diagram encapsulate到IP packet中,再送到Host B中,提取出来后 送到header中表明的port代表的process中
UDP的三个特性
1. Connectionless datagram service:整个过程No connection established,而且data may show up in any order无序性
2. Self-contained datagrams
3. Unreliable delivery:No mechanism to detect missing or mis-sequenced datagrams/No flow control/No acknowledgement
(有些应用 可能会自己建立一个retransmission机制on top of UDP 例如NFS
使用UDP的例子
1. simple request-response application 比如DNS
DNS request一个hostname DNS response 发送回一个对应的IP address
如果发送失败 只要等待timeout之后重新发送
2. 对congestion control,in-order delivery等有特殊需求的应用 比如一些real-time streaming audio&video service