注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天道酬勤 玩物丧志

用勇气去改变可以改变的事情,用胸怀去包容无法改变的事情,用智慧去判断两者的区别

 
 
 

日志

 
 

【转载】MAC的流控相关 与 PAUSE帧格式  

2014-09-13 10:35:42|  分类: 网络 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自clovechao《MAC的流控相关》

全双工流控技术
   在不同的节点相互之间以不同速度通信的所有通信技术中,流量控制就是一个问题。信息流控制是为了防止网络拥挤及死锁的出现而采取的一种措施。当发至某一接收节点的信息速出了该接收节点的处理或转换文件报文的能力时,就会出现拥挤现象。
    试问如果一台高速服务器将数据发送给一个低速客户机,会发生什么事情呢?在经典的共享以太网中,有几种方法可以确保该客户机能跟上来自服务器的数据流量。首先,由于客户机一般都能接收10Mbps数据,通常其共享介质才是真正的瓶颈;其次,如果客户机的数据已超过其处理能力和要求服务器停止发送数据,它可以通过产生一次冲突或假装要发送数据而仅仅访问信道本身,这样就可自动地阻止服务器进一步发送数据。
    利用这种方法,共享以太网就具有一种内部的流量控制方法。同样,如果有多个站试图通过一个共享局域网发送数据,该局域网就会非常繁忙,网络将会饱和,这里,以太网本身就会表现出所谓的拥塞控制。最后一种措施是如果在服务器和客户机之间丢失了数据,协议就会采取相应措施,以确保重发。

半双工流量控制
     桥接式或交换式以太网利用一种内部的方法去处理速度不同的站之间的传输问题,它采用一种所谓的"背压(bockpressure)"概念。例如,如果一台高速100Mbps服务器通过交换机将数据发送给一个10Mbps的客户机,该交换机将尽可能多地缓冲其帧,一旦交换机的缓冲器装满,它就通知服务器停止发送。
    有两种方法可以达到这一目的:交换机可以强行制造一次与服务器的冲突,使得服务器退避;或者,交换机通过插入一次"载波检测"使得服务器的端口保持繁忙,这样就能使服务器感觉到好象开关要发送数据一样。利用这两种方法,服务器都会在一段时间内停止发送,从而允许交换机去处理积聚在它的缓冲器中的数据。
    Accton公司为解决网络的拥塞和死锁,在ES2007-TX,ES2008-TX/TF,ES3008-TX,ES3508,ES2024,ES3508A等交换器中采用了独特的背压流量控制技术防止网络的拥塞和数据包的丢失。这种类型的拥塞控制是具体针对半双工端口的。

全双工流量控制
    在全双工环境中,服务器和交换机之间的连接是一个无碰撞的发送和接收通道,没有碰撞检测不允许交换机去产生一次冲突而使得服务器停止发送,服务器将一直发送到交换机的帧缓冲器溢出,因此,IEEE制定了一个组合的全双工流量控制标准802.3x。
    IEEE802.3x标准定义了一种新方法,在全双工环境中去实现流量控制。交换机产生一个PAUSE帧,将它发送给正在发送的站,只要该帧从接收站发出,发送站就会暂停或中断其发送。
该PAUSE帧利用一个众所周知的组播地址,它是不会被网桥和交换机转发的(与IEEE802.1d桥接标准一致),这就意味着PAUSE帧不会产生附加信息量。这是一种非常灵巧而功能很强的技术,具有一些其它的未来好处,例如,利用新的MAC控制层可以发送优先帧。前面讨论的自动协商模式也作了修改,增加了1位,表示该站具有流量控制功能。让我们再次看一看前面的例子,以了解802.3x标准作了那些修改:
1. 加电时,服务器NIC和开关检查它们是否都具有全双工能力,并将发送方式调整为全双工。
2. 自动协商脉冲也会告诉这两个设备,它们都具有全双工能力。
3. 服务器利用它的发送通道(也是交换机的接收通道)开始发送。
4. 交换机接收帧,并转发到10Mbps客户机,但速度慢得多。
5. 当交换机的内部缓冲器快装满时,它就通过其发送通道(服务器的接收通道)开始将PAUSE帧发送到服务器NCI,从而停止服务器的发送。
6. 交换机将其缓冲器中的数据传送到较慢的客户机,直到其内部缓冲器可以再次接收数据为止。
7. 一旦缓冲器腾空,交换机就停止发送PAUSE帧,服务器就重新开始发送。

    Accton的全双工流控技术
    Accton在ES3524/ES3024,及ES2026/2526中采用了内部流控和外部流控分别处理的流控方法,实现了全双工流量控制。
    外部流控:当输入队列超过交换机端口控制的阈值时,由于每端口都是10/100Mbps自适应。当对口为半双工时,采取基于流控的载波时序技术,即等待48位时间片,然后发送一个14400位的时序报文(101010…),……反复这样等待和发送,直至输入队列低于阈值时才停止发送。这样发送方在收到这样的载波时序信号时停止发送,直至解除警戒。当对口为全双工时,发送一个PAUSE帧(XON/XOFF)来抑制流量超载,满足IEEE 802.3x流量控制标准。
    内部流控:当交换机的输出队列超过端口控制器的阈值时,无论在半/全双工模式下,发送一个STALL命令给交换机以抑制发送,当流量队列计数低于阈值时端口控制器发送一个UNST命令,交换机在收到该命令后,继续发送。
    所谓信息流控制(简称流控)就是调整发送信息的速率,使接收节点能够及时处理它们的一个过程。从网络用户看来,信息流控制是一种阻止不能在预定时间内提供给对方用户的信息进入网络的方法。
    流控的另一目的是使业务量均匀地分配给各网络节点。因此,即使网络在正常工作情况下,流控也能减小信息的传递时延,并能防止网络的任何部分(相对于其余部分来说)处于过负荷状态。    
    由于全双工流控是一种新技术,目前市面上很少有符合802.3x的设备。Accton 的交换机ES3024,ES3524,ES2026,ES2526均在主板上集成了全双工流控的芯片,使符合IEEE802.3x,使得Accton的交换机在高速、大数据量的传输中,使丢包率降至最小。


硬件成本和数据帧处理速度的限制,缓冲拥塞造成的丢帧率大于链路传输中位出错率,
因此必须解决缓冲拥塞造成的丢帧问题。

以太网流量控制技术:
IEEE802.3 将数据链路层分为三层:LLC,MAC控制子层(可选)和MAC(介质访问控制子层)。

MAC控制子层 规定了通用的全双工流量控制结构。
CSMA/CD实现半双工的流量控制。

CSMA/CD基本介绍:
端口发送前,检测链路是否空闲,发送过程中,继续检测链路是否空闲。
如果冲突,发送阻塞信号。

PAUSE的功能:可以防止瞬时过载导致缓冲区溢出时不必要的帧丢失。
实现了一种简单的停-等式流量机制。

MAC控制帧通过其唯一的类型域标识符(0x8808)识别。
pause格式:
目的地址: 组播地址(01-80-C2-00-00-01)
类型: 8808
操作码:2个字节  0x0001
操作参数:2个字节 代表要求对方停止的时间。
单位是当前传输速率传512位的时间。
  评论这张
 
阅读(589)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018