王嘉贝

导航

UDP

UDP协议

相关资料:
TCP-UDP 知乎


UDP协议只是再IP协议上做了最少的工作,增加的两个基本的功能:

  1. 复用和分用
  2. 差错检测
    如果应用程序开发者选择UDP几乎应用程序直接与IP打交道。

UDP也存在很多明显的优点:

  1. 无需建立连接,不会引入连接时延,速度更快 DNS系统使用的就是UDP;
  2. UDP无连接状态可以支持更多的活动客户机 : 视频会议?
  3. 分组首部开销小 TCP20B UDP只有8B
  4. UDP没有拥塞控制,有些应用可以接受一些些数据丢失但是不能接受较大时延 可以接受UDP

适用于一些数据传输比较少的应用例如DNS SNMP
也用于多媒体应用 IP电话,实时会议,流媒体
UDP尽最大努力交付,但是不保证可靠交付,维护传输可靠性的工作需要用户再应用层完成
UDP是面向报文的,对应用层浇下来的报文,加上了UDP头部就交给UP层
原封不动的处理,因此UDP的报文不可分割


UDP报文的格式

UDP数据报包括两个部分 用户数据 + 8B UDP首部 -》 发送给IP层数据报中;
UDP首部由4个字段构成 每个长度都是2B :

  1. 源端口 ,需要对方回信的时候使用,不需要就全部是0
  2. 目的端口, 交付报表的时候使用
  3. UDP长度: 单位是Byte最小值是8 仅有首部。
  4. 校验和:检测UDP数据包传输过程中是否有错,有错误就丢弃,当前字段可选,不想要计算校验和的时候全部输入0

当UDP到达的时候,接收方讲解压好的UDP数据报根据目标端口库进行上交数据
如果找不到数据救丢失UDP报文并且由ICMP发送端口不可达的差错报文给发送方


UDP的校验

在计算首部校验的时候,给UDP数据报加入一个12B的伪首部

校验和就是按照临时UDP数据报计算,但是伪首部既不向下传送也不向上递交,仅仅为了计算;
伪首部增加了源IP和目的UP地址以及UDP长度。 不仅仅对数据源进行了检查还给IP的地址和目的IP地址进行了检查

和IP的首部校验和及算法方法相似,二进制反码运算求和再取反; IP数据报只校验IP数据报首部
UDP检查首部和数据部分

posted on 2021-07-25 12:52  toBeGeek  阅读(92)  评论(0编辑  收藏  举报