计算机网络----UDP首部及校验和计算

文章目录

  • UDP
    • 首部
    • 检验和
      • 优缺点

UDP

  • 不建立会话、多播
  • 对报文添加首部后就传给IP层,不拆分
    不编号

一个数据包就能完成数据通信

不需要编号、不需要分段

  • 没有拥塞控制,在网络出现拥塞时,不会使得源发送机发送速度降低,允许网络发生拥塞时丢失一些数据,保证低时延
  • 支持多播
  • 首部开销小,只有8个字节,TCP有20个字节
  • 可能会造成网络拥塞
  • 可以采取一些可靠措施:重传、前向纠错

首部

8个字节,包括4个字段,每个字段2个字节
源端口(不希望回复,可以用0)
目的端口
长度(最小8,首部)
检验和(加上伪首部,把首部跟数据一起检查
计算机网络----UDP首部及校验和计算_第1张图片

检验和

  • 伪首部不传送,计算时加进来,拿了IP数据报的信息
  • 设发送端检验和全0
  • 每2个字节(16位)为一段对用户数据报+伪首部进行切分
  • 把切出来的每段相加
  • 再对和求反码
  • 把求出的反码作为检验和
  • 这时伪首部+用户数据报以2个字节为一组切分的二进制和会=1
  • 把用户数据报发送出去
  • 接收端收到后,加上伪首部
  • 伪首部+用户数据报以2个字节为一组切分,求二进制和
  • =1说明正确,否则出错
  • 伪首部第3字段全0
  • 伪首部第4字段是IP首部中协议字段的值,UDP是17

8bit(位)=1Byte(字节)
一个字=2个字节


优缺点

  • 检错能力不强
  • 简单
  • 既验证源端口、用户端口、数据、源IP地址、目的IP地址

打开几个窗口,就有几个会话,也有可能多个会话(一个窗口多个会话)

你可能感兴趣的:(计算机网络,java,网络,udp)