手撕网络协议,实现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

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

相关推荐
快乐的韭菜根根2 分钟前
Slurm 指定 GPU 卡:`File=/dev/nvidiaX` 映射的坑与修复
java·服务器·网络
隐擎fox7 分钟前
解密 HTTP/2 帧时序与流控指纹:Akamai H2 指纹逆向检测与协议重塑工程实战
网络·网络协议·tcp/ip·http
艾莉丝努力练剑33 分钟前
【AI大模型接入SDK】Trae生成main方法
网络·人工智能·网络协议·http·架构·1024程序员节
隔窗听雨眠44 分钟前
从行为引导到基础设施约束:AGI代理风险缓解的工程化路径
网络·人工智能·agi
pt10431 小时前
Cisco设备网络安全系列-16:微服务、Kubernetes与无服务器架构安全
网络·安全·微服务·架构
SatanII1 小时前
Kubernetes 网络
网络·容器·kubernetes
青瓦梦滋10 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
zhang1338308907511 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻11 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
IpdataCloud13 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip