1:基础
1:UDP是无连接,不可靠协议,UDP无流量控制,弱差错控制,无拥塞控制当检验和出错,则丢弃分组
2:UDP数据报长8~65535字节,包括8字节的首部,包括源端口,目的端口,总长度,检验和(首部+数据的检验和)
3:UDP在IP的基础上提供端到端(进程到进程)的通信,除此之外就没有神马特别的了
2:UDP服务
1:SNMP(简单网络管理协议)使用UDP,端口号为162
2:报文长度:由于UDP是无连接的,两个分组之间没有任何关系,所以报文长度要小于65507字节(65535-8字节UDP首部-20字节IP首部),UDP发送方式整包发送,接收端是整包接受,虽然理论上最大是65507字节,但受限于以下原因达不到这么高:
(1):MTU限制,实际上最好设置为512字节,因为UDP不能分片,如果传送超过MTU的数据报,根据具体实现不同,数据可能会被切断,也可能被丢弃
3:IP首部包含协议号的原因:如果一个进程同时使用TCP和UDP,他们的端口号可能是一样的,这就需要通过协议号加以区分
4:UDP检验和包括了IP首部(伪首部)+UDP首部+用户数据
5:UDP可以设置不计算检验和
3:实现
1:Windows上的UDP实现没有发送缓冲,有接收缓冲,当接收时,如果缓冲溢出,则抛弃此分组,并发送ICMP端口不可达报文
4:应用
1:UDP适合短小,需要快速响应的应用
(1):不适合大量数据的传输,如FTP,因为没有流量控制,差错控制也很弱
(2):适合内部具有流量控制和差错控制的进程,如TFTP
(3):UDP适合多播
(4):UDP适合管理进程,如SNMP
(5):UDP适合路由选择更新协议,如RIP
(6):UDP适合实时应用