手撕网络协议,实现100G网络UDP通信

上一篇文章狼哥介绍了实现udp需要的arp,这一篇在此基础上看看icmp和udp的报文格式,整个通信的流程为先使用arp获取目标的mac地址,然后使用icmp的ping功能,进一步确认网络的通断,最后实现一个udp的echo功能,这样就完成了整个udp通路的测试,udp测试包文如下,上位机通过网络调试助手发送的16字节数据,echo逻辑返回22字节的数据,由于cmac要求报文长度最少需要64字节,而以太网帧头为14字节,IP首部20字节,UDP首部8字节,加上数据部分16字节,总共58字节,比64字节少6字节,这个时候cmac会给出6个无效数据,echo数据部分直接使用的cmac输出的数据,因此22字节数据中有6字节为随机数,整个udp网络运行符合预期。

icmp包格式如下:

icmp包数据部分格式如下:

udp包格式如下:

udp首部和数据段格式如下:

参考文章:

https://blog.csdn.net/weixin_62432906/article/details/146043043

文中部分图片来源于网络,如有侵权还望告知删除。

相关推荐
国科安芯15 小时前
一颗当两颗用:ASC4T245S 的“两组独立 2 位 + 控制挂靠 VCCA“账
网络·电平转换·抗辐射·在轨服务
冯胤清15 小时前
《Jev-IDS:网络入侵检测一种系统模型》论文深度分析总结
网络
91刘仁德16 小时前
HTTP协议详解:从URL到HTTP服务器的完整实战
服务器·网络·笔记·网络协议·http
Sarapines Programmer17 小时前
【Wireshark】安装与使用指南
网络·测试工具·wireshark
可乐鸡翅yeah_18 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
星夜夏空9919 小时前
网络编程(5)—— Reactor实现(v4)
网络
pt104321 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议
rest102421 小时前
用io_uring进行io测试
网络
恒拓高科WorkPlus21 小时前
企业怎样选择IM即时通讯平台?私有化部署还是SaaS更适合?
网络·github
修船大队长1 天前
配置接受报文每个报文对应一个mailbox配置流程记录
网络·单片机·mcu