MAC知识点004:pause帧处理流程

1、什么是pause?

在IEEE802.3协议中规定中,pause帧是一种控制帧,用于控制数据流停止发送,在MAC 发送侧产生,在MAC接收侧解析并执行。当此端设备输入数据量过大,无法及时处理时会在此端发送侧MAC产生pause帧,发给对端,要求对端在一定时间内停止发送数据。

详细pause帧格式参加地址:MAC学习-基础知识002 pause报文格式

2、pause帧处理过程?

如图所示,左侧为本端芯片,右侧为对端芯片。MAC0和MAC1都包含发送侧tx和接收侧rx。左侧芯片内部mac上游模块A与mac0发送侧有流控信号fc_rdy。fc_rdy信号为1表示模块A无法及时处理输入数据,需要进行流控。为了方便突出重点,图中省略了PCS以及serdes等模块。

​​​​​​​

流程处理如下:

1~2步:对端mac1发送数据给mac0接收侧,数据经过MAC0 Rx 进入下游模块A

3步:下游模块A无法及时处理输入的数据,需要减少数据输入,从而将fc_rdy拉高。

4步:mac0 tx侧发现流控信号fc_rdy为高,则需要产生pause帧发送给mac1接收侧。只要fc_rdy为高,mac0发送侧tx每隔一段时间发送一个pause帧,间隔时间由配置寄存器控制。间隔时长计算由计数器counting计算。Pause帧内停止发送数据的时间由另外一个配置寄存器控制。只要fc_rdy为高期间,mac0 TX侧每间隔一段时间发送一个Pause帧,其他时间按需发送数据等其他报文。Pause帧的发送不能打断正在传输的数据帧。

5步:mac1接收侧rx接受到pause报文后,提取pause帧内包含的暂停时间,产生流控信号fc通知MAC发送侧上游模块module B停止发送数据

6~7~8:mac1 TX侧在在暂停时间内,停止发送数据。MAC0 TX侧可能会发起多个Pause帧。一旦模块A处理完之前的数据后将fc_rdy拉低,则进入第9步。

9:步:第9步分2种情况。

情况1:fc_rdy拉低,并且counting在计数没有到一个间隔周期,此时发送pause帧,但是帧内暂停时间为0. Mac1接受到pause帧后,控制tx控制立即开始发送数据。

情况2:fc_rdy拉低的同时,counting正好计数到一个间隔周期,此时不发送pause帧。等到上一个pause帧的暂停时间到达后,mac1发送侧tx继续发送数据。

3、pause帧处理协议强制要求:

1) pause的产生发送过程不能中断一个完整的数据报文。即在第4步中,fc_rdy拉高后,首先mac0 tx侧需要判断当前是否正常数据报文在传输。如果有,则需要在当前数据报文传输完成后才能发送pause帧。也就是说在发送过程中,只能在完整数据报文的间隙插入pause帧。

2) 新的pause报文暂停时间会覆盖上一个暂停时间。对mac1来说,当mac1接收到新的pause帧后,暂停时间以最新时间为准。

MAC知识点004:pause帧处理流程相关推荐

  1. MAC 以太网(PAUSE)流量控制原理

    原文带图 https://blog.csdn.net/Ivan804638781/article/details/101771054 关键词: 以太网 数据链路层 PAUSE帧 流量控制. 摘 要: ...

  2. 3.9、以太网交换机自学习和转发帧的流程

    3.9.以太网交换机自学习和转发帧的流程 1.以太网交换机工作在数据链路层(也包括物理层) 说明:目前市场上也有包含网络层部分功能的交换机,称为三层交换机 2.以太网交换机收到帧后,在帧交换表中查找的 ...

  3. 计算机网络—— 3.9以太网交换机自学习和转发帧的流程

    3.9以太网交换机自学习和转发帧的流程 以太网交换机工作在数据链路层(也包括物理层) 以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧. 以太网是一种即插即 ...

  4. MAC知识点009:MAC速率是如何扩展到serdes速率的

    MAC知识点009:MAC速率是如何扩展到serdes速率的 在IEEE802.3协议中,规定了MAC层10G速率对应10.3125G的serdes速率,50G的MAC速率对应53.125的serde ...

  5. 【网络基础】 PAUSE帧总结

    引入: 硬件成本和数据帧处理速度的限制,缓冲拥塞造成的丢帧率大于链路传输中位出错率, 因此必须解决缓冲拥塞造成的丢帧问题. 以太网流量控制技术: IEEE802.3 将数据链路层分为三层:LLC,MA ...

  6. 计算机网络学习16:以太网交换机自学习与帧转发流程、生成树协议STP

    假设各主机已经知道网络中其他主机的MAC地址,无需进行ARP. 当A首先转发消息的时候,交换机会先把A记下来,然后把对应的端口1也记下来,这就是交换机的自学习. B获得之后,知道是发送给自己的帧,就会 ...

  7. 视频播放压缩的相关知识点:I帧、P帧、B帧、RTMP协议、RTSP协议、GB28181协议等学习记录

    I帧.P帧.B帧.RTMP协议.RTSP协议.GB28181协议等学习记录 引言 1. I帧.P帧.B帧 1.1 P帧 1.2 B帧 1.3 I帧 2.ONVIF协议与GB28181协议,RTMP与R ...

  8. 《系统集成项目管理工程师》必背100个知识点-23整体变更控制流程

    整体变更控制流程是? 提出变更请求->评估变更影响->将评估结果通知项目干系人->CCB审批->执行变更->记录变更实施情况-> 分发新文档

  9. 知识点:PCB板布线流程

    我们在设计PCB板之前,必须了解PCB板的布线流程.下面就让小编来为你详解: 1.绘制正确的原理图和网络表原理图是设计PCB板的前提,而网络表是连接原理图和PCB板图的桥梁. 2.确定元件封装,完成从 ...

最新文章

  1. Linux zip-tar.gz 压缩解压
  2. python中文解释-python注释和2版本的中文乱码
  3. 二分逼近二分查找 高效解析800万大数据之区域分布
  4. 信号处理:希尔伯特黄变换
  5. 基于用户的协同过滤(余弦相似度)
  6. boost::python::enum_相关的测试程序
  7. 计算机语言学 自然语言处理程序,利用知网进行(计算机)自然语言处理
  8. r语言 柱状图加星号_R语言绘制带有显著性字母标记的柱状图
  9. pytorch中Mini-batch批处理实现函数xx.unsqueeze(0)
  10. 精通Windows Sockets 网络开发-基于Visual C++实现
  11. 云原生时代,政企混合云场景IT监控和诊断的难点和应对之道
  12. Air与java通信
  13. Zabbix4.2-Proxy超时的问题(first network error, wait for 15 seconds)
  14. Python 使用pyinstaller将py文件发布成exe程序
  15. php 如何生成txt文件,PHP生成TXT文件
  16. 环信小程序 Demo源码发布,让你的小程序聊起来
  17. html+表单+下拉框,HTML+CSS:常用表单控件之单选框、多选框、下拉框的介绍
  18. 昔日的百度“太子”为何因经济问题走上穷途
  19. LaTeX的长度单位
  20. YYH的王国(NOIP模拟赛Round 6)

热门文章

  1. 【C#】CheckedListBox控件的用法
  2. error:bad signature
  3. 使用MySQL实现分页查询
  4. 海康摄像头rtsp视频流html直播展示(适用360浏览器)和转rtmp流的一种配置方式
  5. 一种拉风的交易策略——配对交易
  6. js提取企业名称的关键字(简称),生成文字LOGO
  7. unity transform的position和localPosition属性的区别
  8. 中国运算最快等到计算机是,中国目前运算速度最快的计算机:神威·太湖之光...
  9. 花钱买快乐 文 / 弗雷德里.美娜德
  10. Linux命令 - which命令