Udp:用户数据报协议
特点:
1.无连接,传输数据时不需要建立链接
2.尽最大努力传输,不可靠
3.面向报文的,接收到应用程序的数据时,只往数据前面加一个UDP头部就传给网络层,收到网络层传来的UDP数据时,只把UDP头部去掉就扔给应用层进程。不论数据大小都是一次发送。
4.没有拥塞控制,不管链路的畅通情况,都以不变的速率发送报文。
5.UDP支持一对一,一对多,多对一,多对多的交互通信
6.UDP的头部简单,占用资源少(8字节)
UDP头部结构
源端口 :源端口号。在需要对方回信时用,不需要时可用全0.
目的端口: 目的端口号。在终点交付报文时使用。
长度: UDP数据报长度。最小值为8字节(只有首部)
校验和:检测UDP数据报文在传输过程中是否有错,错误就丢弃。
伪首部:这个不属于UDP首部,既不向下传递,也不向上递交,仅仅是用来求校验和的。伪首部的第3字节全为0;第4字段是IP首部中的协议字段的值(协议号)。第5字段是UDP用户数据报的长度。因此,这样的校验和既检查了UDP用户数据报的源端口和目的端口以及UDP用户数据报的数据部分,又检查了IP数据报的源IP地址和目的地址。
UDP校验和计算方法:
UDP的校验是首部和数据一块校验的,而IP校验只校验IP头部

发送方:
1.看数据报是不是偶数字节数,若不是添加一个全0的字节填充(该字节不发送)。
2.将校验和字段置为全0
3.将伪首部以及UDP用户数据报看成由许多16位的字串起来的。
4.进行二进制反码求和,结果填入校验和字段发送。
接收方:
将接收到的UDP报文连同伪首部以及可能的填充全0字节一起,按二进制反码求这些16位字的和。无差错时其结果为全1.否则出现差错丢弃。

这里我们假定一个15字节的数据报。

10011001 00010011 --153.19
00001000 01101000 --8.104
10101011 00000011 --171.3
00001110 00001011 --14.11
00000000 00010001–0和17
00000000 00001111–15
00000100 00111111–1087
00000000 00001101–13
00000000 00001111–15
00000000 00000000–全0(校验和)
01010100 01000101–数据
01010011 01010100–数据
01001001 01001110–数据
01000111 00000000–数据和填充项
——————————————————
二进制求和??????

所以和为10010110 11101101—>取反01101001 00010010就是校验和。

UDP头部结构,UDP校验和计算相关推荐

  1. tcp/ip通信中udp头部结构udphdrp-check校验计算

    通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...

  2. C++——TCP和UDP头部结构(下)

    1. TCP头部结构 OSI七层模型网络传输层中,TCP是面向连接.可靠的.字节流传输. TCP协议通信双方必须先建立连接,通信双方必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输. ...

  3. 计算机网络—IP头部结构,TCP头部结构,UDP头部结构

    文章目录 IP头部结构 TCP头部结构 UDP头部结构 TCP和UDP的区别 MAC地址.IP地址.端口号 数据传输过程图解 IP头部结构 IP头部结构图如下 注意:一行32bit为4字节,扩展的时候 ...

  4. UDP 头部结构及协议特点

    UDP 头部结构 头部结构中各部分的作用: (1)16位源端口号 记录源端口号,在需要对方回信时选用.不需要时可用全0. (2)16位目的端口号 记录目标端口号.这在终点交付报文时必须要使用到. (3 ...

  5. UDP协议的特点及UDP头部结构

    参考:王道<计算机网络复习指导> UDP协议的特点: (1)UDP无需建立连接.因此UDP不会引入建立连接的时延.试想如果DNS运行在TCP之上而不是UDP,则DNS的速度会满很多.HTT ...

  6. TCP头部信息与UDP头部信息

    TCP头部信息 源端口号以及目的端口号:   各占2个字节,端口是传输层和应用层的服务接口,用于寻找发送端和接收端的进程,通过这两个端口号和IP头部的ip发送和接收号,可以唯一的确定一个连接.    ...

  7. TCP/IP协议头部结构与解析

    参考  http://blog.sina.com.cn/s/blog_634d74310102vmfn.html IP协议 IP协议(Internet Protocol)是网络层协议,用在因特网上,T ...

  8. TCP、UDP、IP头部结构

    数据传输在TCP/IP网络模型中,经过一层便会添加一层头部,其中TCP(网络传输协议),UDP处于传输层,IP(网间协议)处于网络层. 数据进入协议栈的封装过程 TCP/IP协议族 TCP 传输控制协 ...

  9. 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点

    UDP 一.UDP是什么? UDP是User Datagram Protocol(用户数据报协议) 二.UDP的特点 1.UDP是无连接的,即就是UDP在发送数据之前不需要建立连接: ps:知道对端的 ...

最新文章

  1. 【linux】Valgrind工具集详解(十):SGCheck(检查栈和全局数组溢出)
  2. 返回结果集的存储过程实例及调用
  3. 【渝粤题库】国家开放大学2021春4010渠道管理答案
  4. 案例八:shell自动化管理账本脚本
  5. Python_自定义关键字的使用
  6. 在android中ScrollView嵌套ScrollView解决方案
  7. linux 源码目录结构,分析Android 源代码编译前后的目录结构
  8. win7中配置iis
  9. [转]论acm与泡妞
  10. 将“光头”识别为“足球”,AI 摄像头如何犯的错?
  11. SpringBoot2.0之整合Dubbo
  12. 二叉树的层序遍历 二叉树
  13. retainAll用法
  14. 大型服装集团BI决策系统的分析主题模块
  15. Java练习——删库跑路(定时器删除文件夹)
  16. java中的IO整理(转)
  17. 华东师大计算机全国排名,华东师范大学就这水平进的985?
  18. BeyondCompare4.0比较代码内容相同但显示红色问题终结方案
  19. html5普通文本框代码,html 文本框代码
  20. 【文末彩蛋】国产PLC通信实例

热门文章

  1. php 孤儿进程组,孤儿进程组(Orphaned Process Groups) APUE2学习笔记
  2. HTML:href超链接
  3. 腾讯云图 数据源 api
  4. 21天挑战赛第三文——多线程threading
  5. 计算机utf-8/gbk/utf-16对照表
  6. Day 5:自己编写的mysql类
  7. BTE1650 FBL1N/FBL2N/FBL3N/FBL5N-增加客制化字段 客商及科目描述
  8. spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性
  9. C++程序设计作业--坦克大战[分享]
  10. ksz9031 mmd读取不了_Ambarella 平台KSZ9031网卡直连不识别问题