udp是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个udp数据报,并组装成一个待发送的ip数据包。
与面向数据流的协议不同,如tcp,应用程序产生的全体数据与真正到少年宫的单个ip数据报可能没有什么联系。
udp不提供可靠性:它吧应用陈旭传给ip层的数据发送出去,但是不保证能到达目的地。
应用程序必须关心ip数据报的长度,如果它超过了网络的mtu(2.8字节),那么就要对ip数据进行分片
16位源端口号+16位目的端口号+16位udp长度,16位udp检验和
udp三大典型应用
1)查询类
没有tcp三次握手,快
多个dns同时查询
2)数据传输
停止等待协议,慢
适合于无盘工作站
3)语音视频流
支持广播和主播
支持丢包,保障效率
关于ip分片
cu:无意义
df(dont fragment):不要分片,字节丢弃(通过icmp告诉源此路由的mtu)
mf(more fragment):为1,不是最后一片,0,是最后一片。
可能会失序
即使只丢失了一片数据,也要重传整个数据报,没有方法只重传数据报中的一个数据报片