一、UDP与IP服务的区别
①UDP服务在IP服务上增加了多路复用解复用功能
②UDP提供进程到进程的服务,IP提供主机到主机的服务
二、UDP的特点
①“no frills,” “bare bones” Internet传输协议
即不提供非必要服务,只提供基础服务
②“尽力而为”的服务
1.报文段可能丢失
2.送到应用进程的报文段可能乱序
③无连接:
1.UDP发送端和接收端之间没有握手
2.每个UDP报文段都被独立地处理
④UDP 被用于:
1.流媒体(丢失不敏感,速率敏感、应用可控制传输速率)
2.DNS(域名系统,domain name system)
3.SNMP(简单网络管理协议,simple network-management protocol)
⑤在UDP上可行可靠传输:
1.在应用层增加可靠性
2.应用特定的差错恢复
三、UDP报文段格式
8个字节的头部,剩下的是SDU(服务数据单元,service data unit,即有效负载payload)
2个字节的源端口号,2个字节的目标端口号,2个字节的长度(包括头部),2个字节校验和(属于EDC,error detection and correction)
校验和
目标:检测在被传输报文段中的差错(如比特反转),如果出错(即没有通过校验),则会丢失该数据报
发送方:
1.将报文段道德内容视为16比特的整数
2.校验和:报文段的加法和
3.发送方将校验和放在UDP报文段的校验和字段
接收方:
1.计算接收到的报文段的校验和
2.检查计算出的校验和与校验和字段的内容是否相等
Internet校验和的例子
当数字相加时,最高位的进位回卷到最低位上
将报文段切分成许多段,每段都是16bit(不齐补0),然后每段累加,最后得到和,而和与校验和互为非
并且我们不难发现发送方校验和和校验范围(即传送的报文段)相加和每一位都是1(注意回卷),由此可以简化目标端的校验,即将目标端校验范围和目标端检验和相加检测是否每一位都是1,如果是的话通过校验(注意回卷)
四、为什么要有UDP
1.不建立连接(即不会增加延时)
2.简单:在发送端和接收端没用连接状态(不需要维护连接状态)
3.报文段头部小(UDP头部8个字节,TCP头部20个字节)
4.UDP没有拥塞控制和流量控制