数据字段:46B~1500B
以太网帧长:64B~1518B + 前导码(7个55) + 帧头(D5)
每个包之间会有96个bit的IFG(帧间隙(最小值))
Udp层
发送方端口号(16’h ) | 接收方端口号(16’h ) |
UDP首部+数据字节总数(16’h ) | UDP校验和(16’h ) |
Icmp层
FPGA侧只回应
类型(8’h0) 请求8’h8 | 代码(8’h0) | ICMP校验和(16’h ) |
标识符identifier(16’h ) 与接收到的数值相等 | 序列号sequence(16’h ) 与接收到的数值相等 |
序列号sequence:每送出一个报文数值就增加1
ARP报文
硬件类型(16’h1) | 上层协议类型(16’h0800) | |
MAC有多少个字节(8’h6) | IP有多少个字节(8’h4) | ARP报文类型(16’h ) 1----请求报文 2----应答报文 |
发送方MAC地址(6字节 ) | ||
发送方MAC地址(6字节 ) | 发送方IP地址 | |
发送方IP地址 | 接收方MAC地址(6字节 ) | |
接收方MAC地址(6字节 ) | ||
接收方IP地址 |
在主动请求报文中接收方MAC地址,接收方IP地址值全为0,表示任意地址。
IP报文
版本 0100--IPV4 0110--IPV6 | IP首部4字节数 (固定部分8’h5) | 服务类型(16’h0) 一般为0 | IP首部+数据字节总数(16’h ) | ||||
标识(16’h ) 第几条报文 | 保留 | DF 1-不分 | MF | 片偏移(13’h ) 分段在原数据中偏移位置 | |||
生存时间(8’h) 64或128 | 协议类型(8’h) TCP--6,UDP--17,ICMP--1 | IP首部校验和(16’h ) | |||||
发送方IP地址 | |||||||
接收方IP地址 | |||||||
(可选字段) |
1.报文进行分片时,除了最后一个分片的MF位设置为0外,其他所有分片MF位置为1
2.校验和:IP首部按16位分成多个单元相加(校验和16’h0),溢出部分组成16位再加,直到不再溢出,最后按位取反
Mac层
在IP层传输时,根据发送方IP地址,在arp_table寻找目的mac地址
在ARP层主动请求时,目的mac地址48'hff_ff_ff_ff_ff_ff
在ARP层回复请求时,目的mac地址根据请求报文得到,并存入arp_table