UDP只在ip数据报的服务上增加了一点功能,就是复用和分用还有差错检验的功能
(1)UDP是面向无连接:发送之前不需要建立连接,减少了时间延续
(2)UDP只是尽最大努力交付,不能保证无措
(3)UDP是面向报文的,就是不可以拆分,对于应用层提交下来的,有多少传多少,但是需要控制,如果太多,向下传入网际层的话,还会进行拆分,这样会浪费ip层的效率,如果太小,相对首部比例小,浪费
(4)UDP没有拥塞控制,恒速发送
(5)UDP一对一,一对多,多对一,多对多
(6)udp首部开销小
UDP首部格式:
8个字节;2222(源端口,目的端口,长度,检验和)
当udp从网络层叫来的数据报时候,通过目的端口,就能准确的发送到对应的应用程序上
udp检验数据对错的时候,在首部加上了一个12字节的伪首部,他并不是用户数据报的真正首部,而是在计算差错的时候临时添加上去的,这个首部不会向上和向下传递,就
计算的规则就是:
(1)在发送发讲所有的数据(算上伪首部,首部,用户数据)以2字节进行拆分,对检验字段填充0,后面不足的填0,然后将所有二进制取反相加,最后结果在取反写入检验字段
(2)接收方将所有的二级制取反求和,如果结果都是1,说明没差错,否则全部丢弃
注意:tcp的差错是对首部检验,udp的差错是对所有进行检验