5.2 UDP协议


5.2 UDP协议

UDP只在IP数据报服务之上增加了很少功能,即复用分用差错检测功能。

复用:应用层所有的应用进程都可以通过传输层再传输到网络层。

分用:传输层从网络层收到数据后交付指明的应用进程。

UDP的主要特点:

  • 无连接的,减少开销和发送数据之前的时延。
  • 使用最大努力交付,即不保证可靠交付。
  • 面向报文的,适合一次性传输少量数据的网络应用。
  • 无拥塞控制适合很多实时应用(如网络电话,重点在于实时,临时卡顿丢失数据影响不大)
  • UDP首部开销小,8B,TCP 20B。

UDP首部格式

分用时,找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”差错报告报文。

UDP校验

  • 伪首部只有在计算检验和时才出现,不向下传送也不向上递交。
  • 17:封装UDP报文的IP数据报首部协议字段是17。
  • UDP长度:UDP首部8B + 数据部分长度(不包括伪首部)。

在发送端:

1.填上伪首部

2.全0填充检验和字段

3.全0填充数据部分(UDP数据报要看成许多4B的字串接起来)

4.伪首部+首部+数据部分采用二进制反码求和

5.把和求反码填入检验和字段6.去掉伪首部,发送

在接收端:

1.填上伪首部

2.伪首部+首部+数据部分采用二进制反码求和

3.结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告。