以太网中的Pause帧格式

本文介绍了以太网PAUSE帧的概念,其在全双工模式下的作用,以及PAUSE帧的格式,包括目的地址、帧长度和时间参数。还探讨了PAUSETime的重要性,如何处理PAUSE帧发送和接收,以及pause_quanta在缓冲管理中的关键角色。
摘要由CSDN通过智能技术生成

一、PAUSE帧概念

PAUSE帧是以太网在全双工模式下,MAC控制子层发出的流量控制帧。IEEE802.3协议为MAC控制子层提供了一个全双工流量控制结构框架,MAC控制子层是介于逻辑链路控制子层和介质访问控制子层间的可选功能。

交换控制电路要防止缓冲区溢出,可以利用MAC控制子层来控制以太网介质访问控制子层的操作。当已用缓冲区容量达到一个预先设定的阈值时,端口向全双工链路对方发出停止发送数据的请求,这个请求通过MAC控制子层产生的控制帧实现。

同样,端口可以接收由其他站点MAC控制子层产生的控制帧,控制帧夹在客户数据帧流中发送,接收方会根据帧的内容将控制帧分离出来,提交到MAC控制子层中的流量控制模块,流量控制模块解析控制帧的内容,提取帧中的控制参数,根据控制参数决定暂停发送的时间

PAUSE帧中携带了时间参数。收到PAUSE帧的设备通过简单的解析,就可以确定停止发送的时长。对端设备出现拥塞的通常情况下,本端端口通常会连续收到多个PAUSE帧。只要对端设备的拥塞状态没有解除,相关的端口就会一直发送PAUSE.

 

二、PAUSE帧格式

PAUSE帧的帧长为64字节,结构非常简单。如下图所示:

  PAUSE帧的目的MAC地址是保留的MAC地址0180-C200-0001(多播地址,第一个字节最低位为1的所有地址),MAC则是发送PAUSE帧的设备的MAC地址。

  Length/Type域是十六进制数0x8808.

  MAC Control Opcode域的值是0x0001.其实,PAUSE帧是MAC控制帧的一种,其他类型的MAC控制帧使用不同的opcode值,此处不做详细说明。后面会谈到和PAUSE类似的PFC帧,PFC帧中该域的取值是0x0101.

  MAC Control Parameters域需要根据MAC Control Opcode的类型来解析。对于PAUSE帧而言,该域是个2字节的无符号数,取值范围是0~65535.该域的时间单位是pause_quanta,每个pause_quanta相当于512比特时间

以太网PAUSE/PFC帧格式

以太网控制帧PAUSE帧和正常数据帧格式的区别是目的地址是全局地址且长度/类型是固定的0x8808 以识别是否是PAUSE/PFC帧。对PFC帧又分为8个优先级分类,每个2字节;以及Class-Enable-Ventor 低8bit是控制class0~7 是否反压的使能bit位。 

三、PAUSE Time

当一个设备从对端设备接收到PFC XOFF时,它将需要一些时间(称为响应时间)来排出已经在发出的数据包。IEEE 802.3 31B.3.7定义了在一个XOFF时需要等待多少个pause_quanta。一个pause_quanta等于以MAC的数据速率传输一个帧的512位所需要的时间。是发送端来设置的,如下图所示,在不同的运行速度下,需要采取的pause_quanta不一样。需要注意的是对于10Gb/s,如果是10GBase-T (双绞线传输)协议中quanta值为74,如果不是10Gbase-T,比如10Gbase-R (光纤传输)quanta 值为60,这里取两者的平均值。此外对于800Gb/s (协议标准是以太网技术联盟制定的)未看quanta 介绍,这里定义400G的两倍,结合25Gb/s以上的速率与quanta值的倍数关系,可以认为1810 对于800G是足够的。

Pause quanta

PAUSE 帧这个对于MAC 上层模块的Buffer 的headroom设置至关重要,用以吸收路径中流水,使得发送的数据包正常传输且不会丢弃。

PAUSE 处理需要注意:

  1. PAUSE帧发送不能中断当前的完整报文。
  2. 新的PAUSE报文暂停时间会覆盖上一个暂停时间。
  3. 接受侧Pause time down to 0 OR receive XON帧(quanta值为0)都可以使得XOFF->XON。
  4. PAUSE帧发送间隔需由内部counting 控制,防止pause期间占用过多的端口带宽。
  5. PAUSE帧的quanta 寄存器可配置,且复位值一般为0XFFFF。
  • 22
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值