以太网Checksum-UDP手算教学

这篇具有很好参考价值的文章主要介绍了以太网Checksum-UDP手算教学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tcp/ip的checksum计算步骤及方法请见如下链接:

以太网Checksum-TCP/IP手算拆解教学-CSDN博客

1、UDP数据结构如图

以太网报文checksum,汽车电子功能安全FuSa,udp,网络协议,网络

在计算UDP首部校验和时,计算范围包括了伪首部、UDP首部、UDP数据报,其中各个部分数据容量如下:

伪首部—---------12字节=48字符

其中

源IP地址---------4字节=16字符

目的IP地址----—4字节=16字符

协议-----------—1+1字节=4+4字符=8字符

UDP长度---------2字节=8字符

UDP首部---------8字节=32字符

UDP数据报的长度取决于底层协议的限制长度=底层限制长度总字节-IP首部字节-UDP首部字节

以上三部分均是checksum的计算范围,均需参与计算;

2、UDP的首部校验和Checksum不仅对IP首部的部分数据进行计算,还对UDP首部以及UDP数据报进行计算;

3、发送端的UDP首部校验和在计算时,将首部校验和看作为0x0000来计算;

4、在计算首部校验和时按照每16位字符为1个单位进行累加;

5、发送端用wireshark截取1帧UDP报文,并将IP首部数据和UDP首部数据以及UDP数据报详细展开来:

以太网报文checksum,汽车电子功能安全FuSa,udp,网络协议,网络

6、如上1帧UDP报文的首部校验和Checksum计算步骤如下:

6.1、先对伪首部进行相加:

(源IP地址前16位)

ac1f

(源IP地址后16位)

812e

(目的IP地址前16位)

ffff

(目的IP地址后16位)

ffff

(协议号)

0011

(UDP长度)

0031

伪首部sum=ac1f+812e+ffff+ffff+0011+0031

6.2、再将UDP首部相加,其中首部校验和默认是0000:

(源端口)

3458

(目的端口)

3458

(UDP长度)

0031

(检验和)

0000

UDP首部sum=3458+3458+0031+0000

6.3、再将UDP数据报进行相加,注意了,如果数据报出现奇数字节,则需要后面补0:

(UDP数据报总长)

02fd000400000021ffffffffffffffffffffffffffffffffff00013ca9f4b46177540671a0a20a0000

(UDP数据报第1个)

02fd

02fd

(UDP数据报第2个)

0004

0004

(UDP数据报第3个)

0000

0000

(UDP数据报第4个)

0021

0021

(UDP数据报第5个)

ffff

ffff

(UDP数据报第6个)

ffff

ffff

(UDP数据报第7个)

ffff

ffff

(UDP数据报第8个)

ffff

ffff

(UDP数据报第9个)

ffff

ffff

(UDP数据报第10个)

ffff

ffff

(UDP数据报第11个)

ffff

ffff

(UDP数据报第12个)

ffff

ffff

(UDP数据报第13个)

ff00

ff00

(UDP数据报第14个)

013c

013c

(UDP数据报第15个)

a9f4

a9f4

(UDP数据报第16个)

b461

b461

(UDP数据报第17个)

7754

7754

(UDP数据报第18个)

0671

0671

(UDP数据报第19个)

a0a2

a0a2

(UDP数据报第20个)

0a00

0a00

(UDP数据报第21个)

00

0000

UDP数据报sum=02fd+0004+0000+0021+ffff+ffff+ffff+ffff+ffff+ffff+ffff+ffff+ff00+013c+a9f4+b461+7754+0671+a0a2+0a00+0000

6.4、将三部分累加起来:

UDPsum=伪首部sum+UDP首部sum+UDP数据报sum=f2080

6.3、IP首部数据的sum结果是f 2080,属于溢出状态,则需进行回滚计算:

将溢出的结果拆成000f和2080,两者进行回滚相加:

carry=000f+2080=208f

6.4、最终对carry后的数据取反得到checksum结果:

checksum=ffff-208f=df70

7、excel版本自动计算公式如下:

以太网报文checksum,汽车电子功能安全FuSa,udp,网络协议,网络

手算excel.xls在下面链接下载即可

原创-tcp/ip和UDPchecksum手算方法,逐步拆解计算步骤,让你一看就会资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-860501.html

到了这里,关于以太网Checksum-UDP手算教学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 千兆以太网传输层 UDP 协议原理与 FPGA 实现(UDP接收)

    相关文章: (1)千兆以太网网络层 ARP 协议的原理与 FPGA 实现 (2)千兆以太网硬件设计及链路层 MAC 协议格式 (3)CRC校验原理及实现 (4)RGMII 与 GMII 转换电路设计 (5)千兆以太网网络层 IP 协议介绍与 IP 校 验和算法实现 (6)千兆以太网传输层 UDP 协议原理与 FPGA 实现(

    2024年02月04日
    浏览(110)
  • 以太网协议介绍(ARP、UDP、ICMP、IP)

    请求: 应答: ARP协议: 以太网ARP数据包格式: FCS:校验 在以太网帧头部分也包含了目的地址的mac和ip地址。 以太网通信是通过包的形式进行传输的,不像串口协议一样单位是byte。 帧间隙: TCP和UDP的区别 ​ osi 7层模型:实现通信的任务 对于fpga开发,只需要关注传输层,

    2024年02月03日
    浏览(40)
  • FPGA实现千兆/百兆自适应以太网UDP传输

    笔者最近在项目中需要使用到ZYNQ中PL端做以太网UDP传输并且需要支持100M/1000M自适应切换。使用的PHY型号为RTL8211。以下分享的主要为利用已有的1000M协议栈修改为100M并且实现二者自适应切换,IP核主要实现以下功能 1、实现100M/1000M自适应 2、回环测试 PS:完整的IP核文件下载地

    2024年01月21日
    浏览(45)
  • FPGA优质开源项目 - UDP RGMII千兆以太网

    本文介绍一个FPGA开源项目:UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、以太网IP核的使用以及Vivado工程源代码结构。 Vivado 的 Tri Mode Ethernet MAC IP核需要付费才能使用,因

    2024年02月14日
    浏览(56)
  • FPGA优质开源项目 – UDP万兆光纤以太网通信

    本文开源一个FPGA项目:UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似,只不过万兆以太网是调用了Xilinx的10G Ethernet Subsystem IP核实现。 下面围绕该IP核的使用、用户接口,以及数据传输方案展开介

    2024年02月10日
    浏览(43)
  • 米联客udp_stack以太网协议栈使用教程

    实验室有一块米联客出的Kintex-7的板子,被我用来做毕业设计,其中使用到了千兆以太网的外设,于是打算使用米联客自己教程中所使用的协议栈来开发千兆以太网通信,接着就接触到了米联客的教程udp_stack.dcp。 //如果帮到你,一定要点赞收藏哦!// 博主在很多设计部分参考

    2024年02月16日
    浏览(95)
  • 【STM32F1】以太网通信之UDP/TCP实验

    在本实验中,开发板主控芯片通过 SPI 接口与 CH395Q 以太网芯片进行通讯,从而完成对 CH395Q 以太网芯片的功能配置、数据接收等功能,同时将 CH395Q 以太网芯片的 Socket0 配 置为 UDP 模式,并可通过按键发送 UDP 广播数据至其他的 UDP 客户端,也能够接收其他 UDP 客户端广播的数

    2024年02月07日
    浏览(40)
  • ZYNQ AXI_DMA_UDP以太网传输(二)问题记录

    上一篇文章只是简单的记录一下调试成功的代码 但调试成功这个过程很痛苦,踩了很多坑,特此记录,留眼以后查看 参考博客 xilinx dma调试笔记 ZYNQ AXI DMA调试细节 在调试过程中出现这类问题基本上都是这一句代码出了问题: 再往里面跳可以看见这样一个函数,在正点原子提

    2024年03月14日
    浏览(53)
  • LwIP系列(3):以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式详解

    TCP/IP 本质上是软件协议,而LwIP也是对软件协议进行解析处理,所以我们有必要了解下以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式,这样在代码中,才能有的放矢。 以太网帧是最底层的原始数据,帧框架如下图所示: 其中【前同步码】和【以太网尾部】我们在抓包的时候,并不

    2024年02月14日
    浏览(36)
  • 网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。 专栏:《网络编程》 传输层及其以下的机制由内

    2024年01月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包