概述
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.csdn.net/icxiaoge/article/details/83420269)
最后
以上就是光亮火车为你收集整理的MAC学习-基础知识002 pause报文格式的全部内容,希望文章能够帮你解决MAC学习-基础知识002 pause报文格式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复