MAC学习-基础知识002 pause报文格式
1、什么是pause报文?
Pause报文是IEEE802.3协议中描述的一种用于控制MAC数据流量的报文。当对端数据量过大,将无法及时处理数据时,会向数据上游MAC发送Puase报文,告诉上游MAC在一段时间内停止发送数据,停止时间记录在报文的PAUSE_TIMING字段。当上游MAC接受到对端的有效Puase报文时,会开始计时,并会停止发送数据,防止对端无法及时处理数据,导致对端FIFO溢出或者数据丢失。若计时结束,并且没有收到新的pause报文,将重新发送数据。若计时没有结束,且新收到的pause报文PAUSE_TIMING字段为全0,则表示可以重新发送数据,此时停止计时,重新开始发送数据。
2、pause报文格式
字段 |
字节 |
说明 |
数值 |
DA |
6 |
目的MAC地址 |
0x180c2000001 |
SA |
6 |
源MAC地址 |
----- |
TYPE |
2 |
类型 |
0x8808 |
OPCODE |
2 |
操作码 |
0x0001 |
PAUSE_TIMING |
2 |
MAC停止发送数据时间,单位为512bit传输时间 |
----- |
PAD |
42 |
填充字段 |
全0 |
FCS |
4 |
帧校验字段,通常为CRC |
------ |
Pause报文由IEEE802.3协议规定,与标准以太帧格式相似:
DA表示目的地址,地址数据固定为0x180c2000001
SA表示源地址 地址由发送方确定
TYPE为报文类型字段,固定为0X8808
OPCODE为操作码,固定为0X0001
PAUSE_TIMING字段为上游MAC停止发送数据的时间,每单位为512bit传输时间,数值为16’d1024表示暂停时间为MAC传输1024*512bit数据所需要的时间
PAD:为填充字段,所有值为0
FCS: 为校验字段,通常为CRC校验值
PAUSE报文帧格式与标准以太帧格式相似,可互相参考(https://blog.youkuaiyun.com/icxiaoge/article/details/83420269)