UDP头部结构,UDP校验和计算
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校验和计算相关推荐
- tcp/ip通信中udp头部结构udphdrp-check校验计算
通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...
- C++——TCP和UDP头部结构(下)
1. TCP头部结构 OSI七层模型网络传输层中,TCP是面向连接.可靠的.字节流传输. TCP协议通信双方必须先建立连接,通信双方必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输. ...
- 计算机网络—IP头部结构,TCP头部结构,UDP头部结构
文章目录 IP头部结构 TCP头部结构 UDP头部结构 TCP和UDP的区别 MAC地址.IP地址.端口号 数据传输过程图解 IP头部结构 IP头部结构图如下 注意:一行32bit为4字节,扩展的时候 ...
- UDP 头部结构及协议特点
UDP 头部结构 头部结构中各部分的作用: (1)16位源端口号 记录源端口号,在需要对方回信时选用.不需要时可用全0. (2)16位目的端口号 记录目标端口号.这在终点交付报文时必须要使用到. (3 ...
- UDP协议的特点及UDP头部结构
参考:王道<计算机网络复习指导> UDP协议的特点: (1)UDP无需建立连接.因此UDP不会引入建立连接的时延.试想如果DNS运行在TCP之上而不是UDP,则DNS的速度会满很多.HTT ...
- TCP头部信息与UDP头部信息
TCP头部信息 源端口号以及目的端口号: 各占2个字节,端口是传输层和应用层的服务接口,用于寻找发送端和接收端的进程,通过这两个端口号和IP头部的ip发送和接收号,可以唯一的确定一个连接. ...
- TCP/IP协议头部结构与解析
参考 http://blog.sina.com.cn/s/blog_634d74310102vmfn.html IP协议 IP协议(Internet Protocol)是网络层协议,用在因特网上,T ...
- TCP、UDP、IP头部结构
数据传输在TCP/IP网络模型中,经过一层便会添加一层头部,其中TCP(网络传输协议),UDP处于传输层,IP(网间协议)处于网络层. 数据进入协议栈的封装过程 TCP/IP协议族 TCP 传输控制协 ...
- 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点
UDP 一.UDP是什么? UDP是User Datagram Protocol(用户数据报协议) 二.UDP的特点 1.UDP是无连接的,即就是UDP在发送数据之前不需要建立连接: ps:知道对端的 ...
最新文章
- 【linux】Valgrind工具集详解(十):SGCheck(检查栈和全局数组溢出)
- 返回结果集的存储过程实例及调用
- 【渝粤题库】国家开放大学2021春4010渠道管理答案
- 案例八:shell自动化管理账本脚本
- Python_自定义关键字的使用
- 在android中ScrollView嵌套ScrollView解决方案
- linux 源码目录结构,分析Android 源代码编译前后的目录结构
- win7中配置iis
- [转]论acm与泡妞
- 将“光头”识别为“足球”,AI 摄像头如何犯的错?
- SpringBoot2.0之整合Dubbo
- 二叉树的层序遍历 二叉树
- retainAll用法
- 大型服装集团BI决策系统的分析主题模块
- Java练习——删库跑路(定时器删除文件夹)
- java中的IO整理(转)
- 华东师大计算机全国排名,华东师范大学就这水平进的985?
- BeyondCompare4.0比较代码内容相同但显示红色问题终结方案
- html5普通文本框代码,html 文本框代码
- 【文末彩蛋】国产PLC通信实例
热门文章
- php 孤儿进程组,孤儿进程组(Orphaned Process Groups) APUE2学习笔记
- HTML:href超链接
- 腾讯云图 数据源 api
- 21天挑战赛第三文——多线程threading
- 计算机utf-8/gbk/utf-16对照表
- Day 5:自己编写的mysql类
- BTE1650 FBL1N/FBL2N/FBL3N/FBL5N-增加客制化字段 客商及科目描述
- spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性
- C++程序设计作业--坦克大战[分享]
- ksz9031 mmd读取不了_Ambarella 平台KSZ9031网卡直连不识别问题