以太网流控机制及其基于VSC7323的实现

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:abcwangyong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文针对以太网异步的特性,讨论了当前业界使用的避免丢包的方法,并就这些方法中最常用的流控机制做了具体陈述,并基于VSC7323阐述了具体实现方式。
  关键词:以太网;丢包;流控;VSC7323
  
  异步以太网中的丢包问题
  
  目前广泛应用的以太网仍然基于异步机制,异步指网络中的各个设备处于各自独立的时钟域。
  图1是一种以太网应用示例。以太网设备1和以太网设备2代表以太网中相互进行业务传输的设备。
  示例的传输机制如下:设备1的待发送数据包存储在其内部发送缓存中,并基于本设备的工作时钟(OSCl)进行发送。数据包进入设备2后,首先经过CDR(时钟数据恢复器)的处理,从接收数据中提取出时钟,并利用此时钟,将数据包存入其接收缓存中。存入接收缓存的数据包经过本设备上层协议处理或经过网络中其他设备的传输和处理后,假设这些数据包的数目没有发生变化,并且需要经过设备2传输回设备1。
  根据图1,设备1发出数据包是基于本地时钟OSCl,设备2作为接收方,基于从接收到的数据包中提取出的时钟CLK2,采样接收数据并将其存储进入接收缓存。分析可知,CLK2和OSCl两时钟是同步的。依此同样可以推知设备2发往设备1的数据包传输流程。由于以太网异步工作的本质,OSCl和OSC2作为不同设备的本地时钟,并不能做到完全同频(以太网设备的工作时钟允许有正负50ppm的频差),假设OSCl的频率高于OSC2,则设备2将以比较快的速度在接收口上接收数据包,但只能以较慢的速度在发送口上转发出去。从而在设备2上将存在流量的瓶颈,当设备2的接收缓存存满后,会导致丢包。
  为了更加清晰的表述问题,将设备2作为一个黑盒子,并且考虑极限情况,即输入速率处于最快情况(即设备1的工作时钟相对标准时钟具有+50ppm的频差),而输出速率处于最慢情况(即设备2的工作时钟相对标准时钟具有一50ppm的频差)。其工作模式如图2。
  在图2中,设备2的输入数据速率比输出数据速率高,那么部分数据包只能丢弃。
  
  解决丢包的方案
  
  对于示例中的设备2,由于接收数据包的速度快于其发送数据包的速率,数据包将在缓存中堆积,一定时间后将发生溢出并造成数据包丢失。为避免丢包,一般有四种解决方法:
  降低设备1的发包速率,即增加所发送的数据包之间的IDLE码的数目,由于设备2只需缓存有效数据包而无需存储IDLE码,但对于设备1而言,IDLE码需要占据其发送时隙,由此可以补偿设备1和设备2之间的频差。
  设备2把自身的接收缓存的状态告知设备1,设备1一旦接到设备2的缓存将满告警信息,将主动暂停发包一段时间,从而避免设备2的缓存溢出。这种缓存告警信息称为流控信息,而相关的一套机制称为流控机制。
  采用同步以太网机制。图1中,对于设备2,如果利用从接收数据中提取的时钟CLK2代替OSC2作为本设备的系统时钟,则能实现设备2对设备1的同步。除此以外,目前通过数据包传送同步信息的方法也在讨论中(参考电气电子工程师协会提出的标准IEEEl588)。
  在设备2的发送侧通过减小IPG(帧间距)来加快其发送有效数据包的速度,从而使得发送速度能跟上接收速度。
  对以上四种方法,虽然都可以避免数据包的丢失,但方法1的实现会导致系统性能的降低。方法3需要更改以太网设备的硬件设计或添加相关的协议层软件,成本较高。方法4虽然可以解决问题,但目前以太网设备厂商众多,单纯的依靠更改IPG并不能从根本上解决问题。下文重点描述方法2即流控机制的实现。
  
  流控机制和具体实现
  
  在以太网中,作为一种解决丢包的方法,流控机制的本质是使通信设备能实时的了解对端设备对通信流量的要求,根据对端设备的要求来决定本设备是继续发送还是暂停发送数据包。这要求以太网通信设备必须根据自己的缓存的状况,实时将缓存的空或满信息发送给对端。这种缓存的空满信息就称为流控信息。
  
  全双工模式
  
  对于全双工通讯设备,流控信息通过发送Pause帧来实现传输。Pause帧是一种符合IEEE802.3标准的以太网帧,其属于MAC控制帧的一种,MAC控制帧的格式如图3所示。
  目的MAC地址域,6字节,要求为01-80-C2-00-00-01;源MAC地址域,6字节,为本设备MAC地址;以太网帧长度或类型域,要求为88-08,用于标明本帧的类型为MAC控制帧; MAC控制操作码,2字节。Pause帧仅是MAC控制帧的一种,对于Pause帧,其在MAC控制帧中的操作码为00-01;MAC控制参数域,包含用于MAC控制相关的参数。对于Pause帧,此处应填入要求对端设备暂停发送的时间长度,由两个字节(16位)来表示该长度,每单位长度为物理层芯片发送512位数据的时间。所以发送一次Pause帧,要求对端设备暂停发送的时间长度最长为:65535×512/以太网传输速率;保留域。
  需要注意,Pause帧不能用于要求对端设备暂停发送其自己的MAC控制帧。
  以VITESSE公司的以太网接口芯片VSC7323为例。该芯片作为数据链路层芯片可支持10个千兆以太网接口。
  每个以太网口对应一个接收缓存。对每个接收缓存设置了两个水位线:高水位线HIGH_WM和低水位线LOW_WM,如图4所示。
  在图4中,纵轴代表接收缓存的占用量,横轴代表时间。如果占用量达到了HIGH_WM,则接收设备将向发送设备发出Pause帧,发送设备接收到有效Pause帧后,将立即暂停发送,使接收设备有充足的时间处理接收缓存中的数据。当接收缓存的占用量逐步降低达到LOW_WM时,表明接收缓存目前可以有充足的容量来接收数据包,从而接收设备将停止发送Pause帧,使得发送设备能继续传送数据。
  多长时间发送一次Pause帧?如果发送频率太高,将占用宝贵的带宽资源,反之,则达不到流控的目的。
  工作于全双工模式时,VSC7323芯片支持两种流控机制:标准流控和XON/XOFF机制。
  标准流控机制。芯片内部,每个以太网口都拥有一个独立的接收缓存。每个接收缓存对应一组寄存器,用户可以根据需要配置HIGH_WM,LOW_W M,PAUSE_VALUE等参数。其中PAUSE_VALUE的意义请参考前文对于MAC控制参数的描述。其数值代表发出一个Pause帧后,发送设备需要等待PAUSE_VALUE个时间单位才能继续发送(通过对PAUSE_VALUE的值进行递减计数到0来实现),而对于接收设备而言,只 要本接收缓存的占用量高于HIGH_WM,则将每隔1/2的PAUSE_VALUE个单位时间发出一个Pause帧,直到缓存占用量小于LOW_WM为止。PAUSE_VALUE的值将通过Pause帧的MAC控制参数域发送给对端设备。
  XON/XOFF机制与标准机制类似,不同点在于发送方不需要等到PAUSEVALUE倒计数为0才能继续发送,只需要接收方发来一个PAUSE VALUE等于0的Pause帧,则发送方可立即发送。相对而言,XON/XFF比标准机制更加灵活且有助于提高性能。
  基于VSC7323,首先要配置其工作于全双工模式,并使能流控能力。由于VSC7323的接收缓存的总空间为3Mbits,通过寄存器,可以把这些空间对10个以太网口进行平均分配,也可以根据QoS(服务质量)的要求,对质量要求高的口分配更多的缓存。对每个口分配完成后,再进行HIGH_W M,LOW_WM,PAUSE_VALUE参数的配置即可实现流控机制。
  
  半双工模式
  
  对于半双工通讯设备,通过BackPressure(反压)来实现流控。对于工作在半双工模式下的设备,流控信息可以通过发送collision(冲突信号)来实现。根据CSMA/CD(载波监听多路访问/冲突检测)工作方式,在半双工模式下,任何以太网设备在发送数据之前必须对通信线路进行监测,以确保本设备发送的数据不会和别的设备发送的数据发生冲突。如果存在冲突,则需要等待一段随机的时间后才能继续发送。BackPressure正是利用了半双工的这种特性,当接收设备的缓存占用量超出阈值时,其将主动发出类似冲突的信号给对端设备,对端设备检测到冲突,将会取消本次发送,等待一段随机的时间后再重发。
  


  


  


  对于VSC7323,需要注意,当其工作于半双工模式时,不能支持千兆速率,即只能工作于10/100 Mbps模式。在流控配置上,HIGH_WM和LOW_WM的配置方式与全双工模式相同。与全双工模式不同的是,由于半双工模式下设备只能通过产生colli sion来要求对端设备暂停发送,PAUSE_VALUE的信息不可能传输给对端,所以半双工模式下,无需配置PAUSE_VALUE。只要接收缓存的占用量高于HIGH_WM,设备将持续制造collision,使得对端设备无法有效发送数据,直到接收缓存的占用量低于LOW_WM,设备才停止制造collision,使对端设备能继续发送数据。
  就本质而言,全双工的Pause帧方式和半双工的Back Pressure方式,都是通过一种通信双方都能够识别的信息,在接收设备缓存占用量超出阈值时,使发送设备暂停发送,从而避免由于接收设备的缓存溢出造成丢包。
  流控机制已经作为标准定义在IEEE802.3规范中,目前绝大多数以太网设备都能支持该机制。
其他文献
近日,从工业和信息化部获悉,由中国电子技术化研究所牵头,中国长城计算机深圳股份有限公司为主要起草单位的国家稳压器新标准,进入送审论证阶段,近期即将出台。  由中国电子标准化研究所牵头成立的起草小组制定了该标准的各项具体指标要求,并于2008年2月完成了《微小型计算机系统设备用开关电源通用规范》的送审稿,在专家会上达成了一致意见后,审定会成果送上级单位审批,“新国标”有望在近期发布。我国目前实行的开
期刊
全球FPD电视市场消费需求的持续升温,让FPD产业不断地迈向新高。2005、2006两年,美国、日本和西欧的平板电视市场进入了全速扩张阶段,中国、东欧和俄罗斯三地市场陆续开始起步,到2007年底中国的平板电视消费需求已经超过日本市场。与之相应的是,FPD电视世界市场仍将以每年2000万台的速度递增,2011年全球平板电视的需求预计达到1.26亿台(图1)。  大尺寸FPD电视的需求增长呈现全球化的
期刊
摘要:基于RS-485总线的特点实现了机架式网管型光收发器的级联,从而大大提高了网管的可靠性并且减低了设计成本,实际应用效果良好。  关键词:RS-485总线;网管光收发器;单片机    引言    随着网络通信的发展,网络硬件的安全、可靠性日益显得尤为重要。由于实际的需要,微机与微机,微机与单片机之间经常需要进行远程数据通信,串行通信是主要的通信手段。与并行通信相比,尽管它通信速度较慢,但具有传
期刊
摘要:3D地图的出现和推广、更多信息点的地图,使大容量的存储器成为2008年导航产品发展的一个重要方向。大容量存储器的需要还来源于对数据保护的需求。本文通过对比Embedded Raw MLC和Managed Nand两种存储方式,介绍了系统硬件和软件设计对GPS导航设备稳定性的影响。  关键词:GPS;SLC;MLC;3D导航    GPS 3D导航地图的出现并非偶然,3D导航比2D显示更多的信
期刊
今年春季,瑞萨科技(Renesas)在北京、深圳、上海三地举办了盛大的“瑞萨论坛2008”活动,介绍了该公司2009年上半年将推出的RX系列,以及瑞萨主推的高端SuperH(简称SH)系列,还有在北京研发、满足中国需求的R8C系列。为此,本刊与首都部分专业记者采访了瑞萨科技(北京)技术中心总经理常清璞、瑞萨电子(上海)公司国内客户事业部执行总监邱荣丰和高级应用工程师吴频吉。  问:RX系列单片机性
期刊
曾经大家认为流水线模/数转换器是高动态性能100MSPS(每秒百万采样)以下应用的唯一选择。如今,这个传统的观念被连续时间Sigma-Delta(crra)模/数(A/D)转换技术完全颠覆了。CTε△术不仅提供更好的能效,而且便于设计者将模/数转换器应用到高速高性能系统中。概括来说,CTε△技术可带来:  先天高能效架构,免除流水线或传统离散时间(DT)ε△(DTε△)架构下采样模/数转换器所需的
期刊
GPS无疑为当今电子产业亮点之一,其主力产品便携式导航产品(Portable Navigation Device,PND)近年来交出极亮丽的销售佳绩。根据“资策会MIC”日前发表的最新预测报告指出,2007年全球PND市场的规模突破2600万台,较2006年成长43%,其中标准型PND市场规模将达2320万台。  GPS的设备可分为三大类,即车用GPS、便携式GPS和其它应用设备(如航空、军用等)
期刊
摘要:本文介绍了一种基于Cypress(赛普拉斯)的8位PSoC芯片的单键开关机和自动关机实现方案。采用该方案的应用系统具有开关机电路简单,操作方便,系统功耗低等优点。  关键词:PSoC;单键开关机;自动关机;功耗    引言    一种行之有效的功耗降低方法是给产品添加自动关机电路和单键开关机电路,使得系统在预先设定的时间里检测到无外部操作时,系统自动关断电源电路,从而确保系统非工作状态时实现
期刊
摘要:基于ATMEGA64L微控制器和TRH031M读卡芯片设计了工作频率为13.56MHZ的RFID读写器系统,把RFID技术应用到物流系统中。  关键词:RFID;阅读器;ATMEGA64L;TRH031M;天线    概述    RFID(无线射频识别技术)作为一种新兴的非接触自动识别技术,通过射频信号自动识别目标对象并获取相关数据,可识别高速运动物体,可同时识别多个标签,可工作于恶劣环境,
期刊
摘要:TRL校准是一种非常精确的校准方式,尤其适用于网络分析仪的非同轴测量。本文详细探讨了有关TRL校准的整个环节,从设计TRL标准件的要求,到设计TRL校准件参数的确定,TRL校准件设计后的验证,以及TRL校准时的具体过程,最后到完成这次非同轴测量,希望能为大家以后进一步研究TRL校准提供相应的参考。  关键词:TRL校准;非同轴测量;网络分析仪;Rogers4350    引言    大家都知
期刊