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

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

相关推荐
molaifeng1 小时前
Go 语言如何实现高性能网络 I/O:Netpoller 模型揭秘
开发语言·网络·golang
知乎的哥廷根数学学派3 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
网络工程师_ling3 小时前
【 Elastiflow (ELK) 网络流量分析系统 部署教程】
网络·elk
2301_780789663 小时前
高防 IP 的选择与配置确保业务稳定性
网络·网络协议·tcp/ip
willhuo4 小时前
基于xray的匿名、授权、IP白名单代理访问研究
服务器·网络·tcp/ip
qiuqyue4 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
无名3874 小时前
关于 VRF
网络·通信
YounGp_oo5 小时前
一次内网开发环境访问方式的改进实践:使用 FRP 替代远程桌面
网络·ssh·frp·内网穿透·开发环境
云安全干货局5 小时前
服务器被攻击后如何快速恢复?数据备份 + 应急响应手册
网络·网络安全·云服务器·弹性云服务器
猿饵块5 小时前
tcp--抓包--wireshark
网络·测试工具·wireshark