手撕UDP协议栈--MAC层


前言

UDP协议大体模型架构如下
在这里插入图片描述


一、物理层及MAC层数据帧解读

在这里插入图片描述

格式说明

字段 字节长度 说明
前导码 7 0和1交替变换的码流
帧开始符 1 帧起始符:D5
目的地址 6 目的设备的MAC物理地址
源地址 6 发送设备的MAC物理地址
长度/类型 2 数据长度/协议类型,小于1536表示数据长度,大于1536表示类型,IP:0X0800;ARP:0X0806
数据 46~1500 帧数据字段
帧校验序列 4 数据校验字段

二、IP数据帧解读

格式说明

字段 bit长度 说明
版本 4 IPV4:0010,IPV6:0110
首部长度 4 共有多少个32bit,默认为5
服务类型 8 TOS
总长度 16 IP 首部+ IP 数据
标识 16 第几条报文,上电初识为0,每发一条报文+1
标志 3 第一位保留,第二位(1是分片,0不分片),第3为标志更多的分片
片偏移 13 13bit片偏移,数据的顺序
生存时间 8 64或128
协议类型 8 TCP 为8’h06, UDP 为8’h11, ICMP 为8’h01
首部校验和 16 校验信息
源地址 32 自身 IP 地址
目的地址 32 接收方的 IP
数据 32 udp或者icmp数据帧

三、ARP数据帧解读

格式说明

字段 字节长度 说明
硬件类型 4
协议类型 4
硬件地址长度 8
协议地址长度 16
opcode字段 16
源以太网地址 3
源IP地址 13
目的以太网地址 8
目的IP地址 8
数据 16

四、Rx接收端–GMII进,IP/ARP出

思路上还是以GMII_valid条件,反推valid让数据打拍与两者对齐

always@(posedge i_clk,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徕卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值