以太网协议(以太网基础流控技术) - 天美一百 (cdshengte.com)https://www.cdshengte.com/30642.html 该文章转载与上面大神文章。该文章内容特别详细,易懂。真心希望自己以后写的文章也是这样的,自己能懂,同时别人也能懂。
1、流控基本含义
它可防止网络拥塞情况下出现丢帧。例如:端口A接收报文时,会首先把接收到的报文缓存至buffer,如果处理报文不及时,会导致buffer满,出现丢帧情况。
为了避免出现丢帧,引入流控PAUSE帧概念。当buffer达到满阈值时,端口A向发送端发送PAUSE帧,通知发送端暂停发送一段时间(一段时间从pause帧内解析出)。
2、PAUSE帧
它是MAC控制帧,可通过类型域标识符0x8808识别,它的长度是64B(以太网最小帧长)。
规定它的目的地址为组播地址0x01-80-c2-00-00-01。操作码恒为0x0001。数据为2B的暂停时间参数(即发送方请求停止发送数据帧的时间长度),【实际停止时间=暂停时间*当前传输512位数据所需时间】
3、流控方式
XON/XFF和耗尽型共两种机制。
XON/XFF:使用pause帧唤醒功能。当一方的接收buffer达到阈值时,向对端发送pause帧,其中pause帧携带一个暂停时间参数,若该暂停时间参数不为0,则停止发送数据报文;若为0,则可以发送数据报文(即唤醒功能)。
耗尽型:接收到流控帧后,若流控时间为0,则可以发送报文;若不为0,本地计时,达到流控时间后,就可以发送报文,不需要等待流控时间为0的流控帧。