CN1859295A - 一种弹性分组环网公平算法处理方法和系统 - Google Patents
一种弹性分组环网公平算法处理方法和系统 Download PDFInfo
- Publication number
- CN1859295A CN1859295A CNA2005101235236A CN200510123523A CN1859295A CN 1859295 A CN1859295 A CN 1859295A CN A2005101235236 A CNA2005101235236 A CN A2005101235236A CN 200510123523 A CN200510123523 A CN 200510123523A CN 1859295 A CN1859295 A CN 1859295A
- Authority
- CN
- China
- Prior art keywords
- frame
- node
- fair
- congested
- rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种弹性分组环网公平算法处理方法和系统,当通告周期到达时,公平控制单元(2)中的节点拥塞判断单元(21)判断本节点或下游节点是否发生拥塞,产生公平算法帧并通告;当节点收到相邻下游节点发来的公平算法帧,接收帧处理单元(22)对接收到的帧中的信息进行处理,并产生处理信息。所述系统公平控制单元(2)包括:节点拥塞判断单元(21),判断本节点或下游节点拥塞是否发生,并根据是否发生拥塞及发生拥塞的原因产生并向上游方向通告不同的本节点公平算法帧;接收帧处理单元(22),对接收到相邻节点发送来的环号正确的公平算法帧的信息的处理,判断下游是否发生拥塞,并产生处理信息。其仅利用公平算法帧携带的信息就可以自动识别到拥塞节点的跳数。
Description
技术领域
本发明涉及通信领域,特别是涉及一种弹性分组环网的数据传输的方法。
背景技术
弹性分组环(Resilient Packet Ring,RPR)是IEEE802.17工作组标准化的一种新的介质访问控制(Medium Acess Control,MAC)层技术。这种新的二层链路技术,可基于任何物理层如以太网、SDH/SONET、DWDM等进行业务传输。弹性分组环网基于环型拓扑将用以组建以数据为中心的城域网络。弹性分组环网采用双纤结构,每根纤都可以传送数据业务和控制信息。为了区别两个环,一个定义为外环即环向0(ringlet 0),一个定义为内环即环向1(ringlet 1)。整个弹性分组环网最大支持255个节点。
在弹性分组环网的实现中,具有一种利用环网带宽的方法——RPR公平算法,通过这种分布式的RPR公平算法,可以实现环网各节点在数据拥塞时对链路带宽公平调节,按权重进行再分配,实现环网各节点对链路带宽的公平占用。
弹性分组环网中的业务数据分为3个优先级,A类业务(又细分为A0和A1两类)、B类业务(又分为CIR_B和EIR_B两类)和C类业务。A类业务为最高优先级,环网为A0类业务分配保留带宽,这部分带宽是绝对保证不会被其他业务占用的。B类业务为中优先级,其中CIR_B类业务为保证速率业务是不受公平算法控制的,EIR_B类业务为非保证速率业务和C类业务一起要受公平算法控制。
只有环网发生拥塞后,公平算法才起调节作用,公平算法调节是通过拥塞节点的另一个环向拥塞节点的上游通告公平算法帧信息,并由上游节点根据收到的公平算法帧控制节点业务量来达到节点间业务量权重公平。
公平算法帧格式如图1所示,其中:
ttl域为生存时间;
baseControl域为帧的基本控制信息,其中Ri为环向指示,用于携带公平算法帧的环号信息;FE为是否受控于公平算法的指示;FT为帧类型指示;SC为业务等级;WE为倒换允许指示;P为奇校验位。
saCompact域为节点的源地址信息,SA为节点的源地址信息。
fairnessHeader域的高3比特为公平算法帧类型指示(ffType)域,FF_TYPE指示公平算法帧类型,为000,表示为单节点拥塞公平算法帧(SCF);为001,表示此帧为多节点拥塞公平算法帧(MCF);fairnessHeader域其他比特保留。
fairRate用于存放向上游节点通告的允许速率的值,如fairRate为FFFFH表示满速率(FULL_RATE)。
FCS域用于对公平算法帧的校验。
公平算法中拥塞的判断如下:
本地拥塞(local congestion)
节点转发数据通路有两个缓存队列;主转发队列PTQ和从转发队列STQ,分别用于缓存高优先级业务和低优先级业务。当低优先级缓存队列中的数据深度大于缓存队列的低门限时或者节点发送和转发的非A0业务速率超过了节点配置的非保留业务带宽时(STQ_depth>STQ_low_threshold‖nrXmitRate>=unreservedRate),即发生本地拥塞。
下游拥塞(downstream congestion)
当从单节点拥塞公平算法帧中收到的公平速率fairRate不等于满速率FULL_RATE时,则认为下游节点存在拥塞。
弹性分组环网中到拥塞节点的跳数(hopsToCongestion)是公平算法中的重要数据,如何判断到拥塞节点跳数是弹性分组环网实现中解决拥塞的重要一环。
通常而言,弹性分组环网判断到拥塞节点的跳数的方法为:
环网由最拥塞节点发出的公平算法帧的生存时间(ttl)为MAX_STATIONS(例如255),接收到此公平算法帧的节点先检查帧的环号信息正确后就会对生存时间进行减1操作,再按照公平算法信息接收处理流程表判断如何处理此公平信息。这样,在环网没有倒换发生时,每个收到该公平信息的节点都能够根据收到的公平算法帧中的生存时间信息计算出到拥塞节点的准确跳数,方法为hopsToCongestion=MAX_STATIONS-received_ttl。但是如果环网发生了倒换,弹性分组环网指出要使用totalHopsTx[Other(myRi)](即到倒换节点的跳数)来确定到拥塞节点的跳数。
弹性分组环网指出环网倒换后计算到发生了倒换的倒换节点的跳数为totalHopsTx[Other(myRi)],但是totalHopsTx[Other(myRi)]信息的获得是无法仅通过公平算法帧携带的信息得到,节点需要借助于环网拓扑协议提供相关信息才能获知到倒换节点的跳数,进而获得到拥塞节点跳数(hopsToCongestion)的值。
其中,拥塞节点是业务发生拥塞的节点。倒换节点是因环网故障后,故障点相邻的节点发生倒换,业务到倒换节点走倒换路径就倒换到了相反的环向。
现有技术无法仅从公平算法帧中的信息获知到倒换节点的跳数,而需要借助软件配置得知业务数据发送节点距离下游倒换节点的跳数,即需要环网拓扑倒换协议进行网络状态判断,再告知节点相关信息,这一实现方法处理速度慢、实现复杂。
发明内容
本发明针对上述缺陷而提出的一种弹性分组环网公平算法处理方法和系统,其仅利用公平算法帧携带的信息就可以自动识别到节点的跳数,不需要环网拓扑倒换协议的支持,其无论是否发生倒换,都可以用同一种方法得到解决。
为实现本发明目的而提供的一种弹性分组环网公平算法处理方法,包括下列步骤:
A、当通告周期到达时,公平控制单元中的节点拥塞判断单元产生公平算法帧并在环网中通告;
B、当节点收到相邻节点发来的公平算法帧,接收帧处理单元对接收到的帧中的信息进行处理,并产生处理信息。
所述步骤A包括以下步骤:
A1、当下游不拥塞且本地也不拥塞时,节点拥塞判断单元产生公平算法帧:帧的公平速率域设为满速率;帧的源地址域设为本节点地址;帧的生存时间域设为环网最大节点数;帧的环向指示域设为取反;通告没有发生拥塞,发送满速率公平信息;
frame.fairRate=FULL_RATE;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
A2、当拥塞发生时,节点拥塞判断单元判断拥塞发生的原因,并根据不同的原因产生并向上游的方向通告不同的公平算法帧。
所述步骤A2包括下列步骤:
A21、当节点拥塞判断单元判断拥塞为本地拥塞时,
产生本地的公平算 法帧:帧的公平速率域设为归一化本地公平速率;帧的源地址域设为本节点地址;帧的生存时间域设为最大节点数;帧的环向指示域设为取反
;并向上 游通告;
frame.fairRate=normLocalFairRate;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
A22、当节点拥塞判断单元判断拥塞为下游拥塞时,根据不同的原因产生并向上游的方向通告不同的公平算法帧。
所述步骤A22包括下列步骤:
A221、节点拥塞判断单元判断出,如果转发业务是造成下游拥塞的原因,同时本节点发生倒换,产生并通告公平算法帧,继续向上游转发收到的公平速率帧:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为本节点地址;帧的生存时间域设为最大节点数;帧的环向指示设为取反;继续向上游发送公平算法帧;
frame.fairRate=receivedRate;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
A222、节点拥塞判断单元判断出,如果转发业务是造成下游拥塞的原因,同时本节点没有发生倒换,其产生的公平算法帧为:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为收到的源地址;帧的生存时间域设为收到的生存时间;帧的环向指示域设为收到的环向指示;继续向上游发送公平算法帧;
frame.fairRate=receivedRate;
frame.saCompact=receivedSa;
frame.ttl=receivedTtl;
frame.ri=receivedRi。
A223、节点拥塞判断单元判断出,如果是本地造成下游拥塞的,不必向上游继续转发收到的公平算法帧信息,节点拥塞判断单元产生并通告公平算法帧为:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为收到的源地址;帧的生存时间域设为收到的生存时间;帧的环向指示域设为收到的环向指示;继续向上游发送公平算法帧。
frame.fairRate=FULL_RATE;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
所述的步骤B包括下列步骤:
B1、节点接收帧处理单元收到相邻节点发来的环号正确的公平算法帧后,首先进行生存时间减1操作;
B2、接收帧处理单元对接收到的帧中的信息进行处理,并产生处理信息。
所述步骤B2包括下列步骤:
B21、当接收帧处理单元判断出接收到自己发出的公平算法帧,产生处理信息:接收到的公平速率信息设为满速率;跳数设为最大节点数;下游拥塞信息设为假;
receivedRate=FULL_RATE;
hopsToCongestion=MAX_STATIONS;
downstreamCongested=FALSE。
B22、当接收帧处理单元接收到的帧的公平速率不为满速率时,判断出接收到非满公平速率,判断下游拥塞,产生处理信息:跳数设为最大节点数减去收到的生存时间;下游拥塞信息为真;
downstreamCongested=TRUE;
hopsToCongestion=MAX_STATIONS-receivedTtl。
B23、当接收帧处理单元接收到的帧的公平速率为满速率时,判断出下游无拥塞,产生处理信息:跳数设为最大节点数;下游拥塞信息设为假。
downstreamCongested=FALSE。
hopsToCongestion=MAX_STATIONS;
本发明还提供一种弹性分组环网公平算法处理系统,弹性分组环网节点MAC层单元(1)包含一个MAC控制层单元和两个MAC数据通道层单元,在两个MAC数据通道层单元中包括两个公平控制单元,其特征在于,所述公平控制单元中包括:
节点拥塞判断单元,用于判断本节点或下游节点拥塞是否发生,并根据是否发生拥塞及发生拥塞的原因产生并向上游的方向通告的不同的本节点公平算法帧;
接收帧处理单元,用于对接收到相邻下游节点发送来的环号正确的公平算法帧的信息的处理,并产生处理信息。
所述节点拥塞判断单元判断出下游不拥塞且本地也不拥塞时,产生的公平算法帧为:帧的公平速率域为满速率;帧的源地址域为本节点地址;帧的生存时间域为环网最大节点数;帧的环向指示域为取反。
frame.fairRate=FULL_RATE;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
所述节点拥塞判断单元判断出当拥塞发生,并且是本地拥塞时,产生的公平算法帧为:帧的公平速率域为归一化本地公平速率;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
frame.fairRate=normLocalFairRate;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
所述节点拥塞判断单元判断出当拥塞发生,并且是下游拥塞时;节点拥塞判断单元判断如果转发业务是造成下游拥塞的原因,同时本节点发生倒换时,产生的公平算法帧为:帧的公平速率域为收到的公平速率信息;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
frame.fairRate=receivedRate;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
节点拥塞判断单元判断如果转发业务是造成下游拥塞的原因,同时本节点没有发生倒换时,产生的公平算法帧为:帧的公平速率域为收到的公平速率信息;帧的源地址域为收到的源地址;帧的生存时间域为收到的生存时间;帧的环向指示域为收到的环向指示。
frame.fairRate=receivedRate;
frame.saCompact=receivedSa;
frame.ttl=receivedTtl;
frame.ri=receivedRi。
节点拥塞判断单元判断如果是本地造成下游拥塞的,产生公平算法帧为:帧的公平速率域为满速率;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
frame.fairRate=FULL_RATE;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS;
frame.ri=Other(myRi)。
节点拥塞判断单元判断出接收到自己发出的公平算法帧,产生处理信息为:接收到的公平速率信息为满速率;跳数为最大节点数;下游拥塞信息为假。
receivedRate=FULL_RATE;
hopsToCongestion=MAX_STATIONS;
downstreamCongested=FALSE。
节点拥塞判断单元在接收到的帧的公平速率不为满速率时,产生处理信息为:跳数为最大节点数减去收到的生存时间;下游拥塞信息为真。
downstreamCongested=TRUE;
hopsToCongestion=MAX_STATIONS-receivedTtl。
节点拥塞判断单元在接收到的帧的公平速率为满速率时,产生处理信息为:跳数为最大节点数;下游拥塞信息为假。
downstreamCongested=FALSE。
hopsToCongestion=MAX_STATIONS;
本发明通过对节点公平控制单元产生公平算法帧的技术方案进行改进后,使得“到下游拥塞节点的跳数”和“到下游倒换节点的跳数”可以用同一技术方案得到解决,即通过公平算法帧携带的信息,节点公平控制单元可以自行计算距离倒换节点的跳数,进而获得到拥塞节点的跳数,而不需要了解环路拓扑信息,这样由公平控制单元中的公平算法帧计算出到倒换节点或者拥塞节点的跳数(hopsToCongestion),实现简单,处理速度快。
附图说明
图1是公平算法帧结构示意图;
图2是本发明弹性分组环网节点结构示意图;
图3是本发明公平控制单元通告公平信息示意图;
图4是本发明拥塞节点倒换后环网节点传送示意图。
具体实施方式
下面结合附图2~4进一步详细说明本发明一种弹性分组环网公平算法处理方法和系统。
如图2所示,弹性分组环网节点的介质访问控制(Medium Acess Control,MAC)层单元中包含一个MAC控制层单元1和两个MAC数据通道层单元。两个MAC数据通道子层单元分别负责内环和外环的数据传送,MAC控制层单元执行环网拓扑倒换协议,对两个MAC数据通道层进行控制。
在两个MAC数据通道层单元中包括两个公平控制单元2,分别用于实现弹性分组环网公平算法,其检测外环或者内环拥塞的发生和消除;发送和接收RPR节点之间的公平控制消息;根据不同服务级别对环路带宽提供访问控制,采用等值或加权的公平算法来控制环路总带宽的使用。
弹性分组双纤环网的每个环向(内环和外环)都有一个分布式公平控制单元2,同时内外环相互独立,数据流和对应的公平控制信息是在不同的环向反向传送的。
弹性分组环网的内环和外环分别提供独立的带宽公平操作,把环上任意两个节点间的所有带宽作为全局资源分配给用户,每个节点可以根据服务等级、环路带宽的使用情况控制发送上环网的业务流量,保证每个节点都获得公平的环路带宽分配。
本实施例中的公平控制单元2如图3所示:
如图3所示,最左侧节点所示用虚线分隔的左右两部分是对称的,f0示意为各节点外环(ringlet0)的公平控制单元2,同理,其对称部分是各节点内环(ringlet1)的公平控制单元2,这种分布式公平控制单元2控制着环网各节点业务流量权重公平。在内环(ringlet1)上的公平算法帧指示的是公平控制信息,它对应控制的是外环业务流量,而且公平控制信息和业务数据流向是反向的。同理外环上的公平算法帧是对应控制内环业务流量的控制信息,而且与内环上的业务数据流向反向。也就是说,如果内环发生业务拥塞,节点内环的公平控制单元2将产生的公平算法帧,利用外环数据路径,向内环的上游节点发送公平算法帧,告知上游节点已经发生拥塞,内环上游节点在收到下游节点发生拥塞的公平算法帧后,相应地减小在内环上的业务数据发送量,使内环上的业务流量拥塞得到缓解。
本发明的公平控制单元2中还包括:
节点拥塞判断单元21,用于判断本节点或下游节点拥塞是否发生,并根据是否发生拥塞发生及发生拥塞的原因产生并向上游的方向通告的不同的本节点公平算法帧;
接收帧处理单元22,用于对接收到相邻下游节点发送来的环号正确的公平算法帧的信息的处理,并产生处理信息。
上游、下游的概念是站在数据业务流向的角度说的,业务是在向下游节点发送,公平算法信息在反环向向上游节点通告。
本系统解决了环网发生倒换时,需要MAC控制层单元执行环网拓扑倒换协议后,才能告知节点公平控制单元2到拥塞节点跳数的弊端。
下面结合弹性分组环网中公平控制单元2拥塞判断处理系统进一步详细说明本发明的拥塞判断方法:
在弹性分组环网的拥塞处理中的公平算法是一个为环路上所有节点提供公平占用环路带宽能力的方法,公平算法调节发生的前提条件是拥塞,只有拥塞后带宽才按照权重进行再分配。
在弹性分组环网的传输业务数据过程中,节点公平控制单元会周期性地产生公平算法帧,公平算法帧的优先级为A0。
公平算法定义了两种公平算法帧:单节点拥塞公平算法帧和多节点拥塞公平算法帧,均为16字节帧长。单节点公平算法帧以单播报文的形式周期性的在环网相邻节点间发送,向上游节点通告允许的速率。本发明是为解决环网发生单节点拥塞的,所以多节点拥塞公平算法帧不在本发明中阐述。
公平算法帧包括下面这些信息:
◆公平速率fairRate;
如表1中1.4和1.5行所示,在下游不拥塞且本地也不拥塞时,或者下游拥塞,并且是本地造成下游拥塞的时候,本节点向上游发送的公平速率fairRate为满速率FULL_RATE;
如表1中1.1行所示,当本地拥塞且下游不拥塞时,或者本地拥塞且下游拥塞,但本地比下游更拥塞时本节点向上游通告本地的公平速率fairRate为归一化本地速率信息normLocalFairRate。
单节点拥塞公平算法帧传递的是环网最拥塞节点的信息,本地发生拥塞了,又从下游收到公平算法帧中的公平速率fairRate不等于满速率FULL_RATE时,则认为下游节点也存在拥塞,将最拥塞节点的信息向上游发送。
其判断方法为localfairrate/norm_coefficient是否小于收到的fairRate,如localfairrate/norm_coefficient的值小,说明本地更拥塞。如收到的fairRate值小,说明下游更拥塞。节点挑小的公平速率值向上游发送。
其中localfairrate是本地公平速率信息,norm_coefficient为归一化系数。
归一化本地公平速率信息normLocalFairRate是本地的公平速率(LocalFairRate)除以归一化系数的结果,目的是归一化为权重为1的数值。
归一化系数为norm_coefficient=age_coefficient×rate_coefficient×my_weight,即老化系数乘以速率系数乘以本节点权重,本发明中选取rate_coefficient=1,相当于没有该系数。
normLocalFairRate=LocalFairRate/norm_coefficient
如表1中1.2、1.3行所示,当下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点发生倒换了的时候,或者下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点没有发生倒换时,本节点向上游通告的公平速率fairRate为收到下游的公平算法帧中的公平速率receivedRate。
◆源地址saCompact;
只有当下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点没有发生倒换时,本节点向上游通告的源地址saCompact为收到下游的公平算法帧中的源地址receivedSa。
而在其他的情况下,本节点向上游通告的源地址saCompact为本节点的地址myMacAddress。
◆生存时间ttl;
有只有当下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点没有发生倒换时,本节点向上游通告的生存时间ttl为收到下游的公平算法帧中的生存时间receivedTtl。
而在其他的情况下,本节点向上游通告的生存时间ttl为最大节点数MAX_STATIONS。
◆环向指示ri;
只有当下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点没有发生倒换时,本节点向上游通告的公平算法帧的环向指示ri为收到下游的公平算法帧中的环向指示receivedRi。
而在其他的情况下,本节点向上游通告的环向指示ri为本节点传送业务数据的环网取反Other(myRi)。例如内环环号为1,外环环号为0。如果本节点传送业务数据的环网是内环时,myRi=1,则Other(myRi)=0,这样,生成的公平算法帧的环号为0,在外环上与数据流反向传送,外环节点就收到环号正确的公平算法帧。
本发明的公平算法处理方法是事件驱动或周期执行的,主要包括:
(一)流量统计和监管
流量的统计包括上环业务,即本节点要发上环网的业务和转发业务,即环网其他节点的业务要由本节点转发到下游节点的业务的统计,涉及5个变量addRate、addRateCongested、fwRate、fwRateCongested、nrXmitRate。这5个变量分别针对发送上环的业务、发送到拥塞节点以远的上环业务、转发业务、转发到拥塞节点以远的业务、转发和发送的非保留业务进行流量统计。
流量监管主要是维护两个指示量addRateOK和addRateCongestedOK。
其中,addRateOK必须同时满足以下三个条件才触发:
addRate<allowedRate
(STQ_depth==0)||((fwRate>addRate)&&(STQ_depth<STQ_high_threshold))
nrXmitRate<unreservedRate:
addRateCongestedOK的触发条件为:
addRateOK&&(addRateCongested<allowedRateCongested)
(二)老化周期处理
老化周期到来时主要是进行本地速率变量的计算,需要计算更新的数据如下:
(1)当周期到达时,进行老化和低通平滑理。需要进行处理的5个变量是addRate、addRateCongested、fwRate、fwRateCongested和nrXmitRate。老化的目的是给速率设定一个值域上限。进行低通平滑处理的目的是使速率变化连续。
(2)计算localFairRate。
(3)计算更新allowedRate、allowedRateCongested、hopsToCongestion。
(三)当通告周期到达时,公平控制单元2中的节点拥塞判断单元21产生并通告公平算法帧,如表1所示。
表1 本发明产生公平算法信息状态转换处理表
通告周期到达时节点状态 | 产生的公平算法帧信息 | 行号 | |
本地拥塞且下游不拥塞localCongested&&!downstreamCongested或者本地拥塞且下游拥塞,但本地比下游更拥塞localCongested&&normLocalFairRate<receivedRate | 本地拥塞,向上游通告本地的公平算法信息frame.fairRate=normLocalFairRate;frame.saCompact=myMacAddress;frame.ttl=MAX_STATIONS;frame.ri=Other(myRi); | 1.1 | |
下游拥塞且本地不拥塞downstreamCongested&&!localCongested或者下游拥塞且下游比本地更拥塞downstreamCongested&&normLocalFairRate>=receivedRate | 下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点发生倒换了 | 不是本地造成下游拥塞的,所以继续向上游转发收到的公平速率信息,即帧信息为:frame.fairRate=receivedRate;frame.saCompact=myMacAddress;frame.ttl=MAX_STATIONS;frame.ri=Other(myRi); | 1.2 |
下游拥塞,并且转发业务是造成下游拥塞的原因,同时如果本节点没有发生倒换 | 不是本地造成下游拥塞的,继续向上游转发收到的公平算法信息frame.fairRate=receivedRate;frame.saCompact=receivedSa;frame.ttl=receivedTtl;frame.ri=receivedRi; | 1.3 | |
下游拥塞,并且是本地造成下游拥塞的 | 是本地造成下游拥塞的,所以不必向上游继续转发收到的公平算法信息,则向上游发送满速率公平信息frame.fairRate=FULL_RATE;frame.saCompact=myMacAddress;frame.ttl=MAX_STATIONS;frame.ri=Other(myRi); | 1.4 | |
下游不拥塞且本地也不拥塞!downstreamCongested&&!localCongested | 没有拥塞,发送满速率公平信息frame.fairRate=FULL_RATE;frame.saCompact=myMacAddress;frame.ttl=MAX_STATIONS;frame.ri=Other(myRi); | 1.5 |
A1、当下游不拥塞且本地也不拥塞时,节点拥塞判断单元21产生公平算法帧,通告没有发生拥塞,发送满速率公平信息,如表1行1.5所示。
当下游不拥塞且本地也不拥塞时,节点拥塞判断单元21产生公平算法帧:
frame.fairRate=FULL_RATE;//公平速率域设为满速率
frame.saCompact=myMacAddress;//源地址域设为本节点地址
frame.ttl=MAX_STATIONS;//生存时间域设为环网最大节点数
frame.ri=Other(myRi)。//环向指示域设为环向取反
因此,如果环网没有发生拥塞,所有节点的公平控制单元2都只发送携带满速率(FULL_RATE)公平信息的公平算法帧,公平算法不用调节业务流量。
A2、当拥塞发生时,节点拥塞判断单元21判断拥塞发生的原因,并根据不同的原因产生并向上游的方向通告不同的公平算法帧:
当发生拥塞以后,在拥塞域内的节点上环的业务流量受到公平算法调节限制,产生并通告的公平算法帧也不相同。
A21、当节点拥塞判断单元21判断拥塞发生的原因为:本地拥塞且下游不拥塞,或者本地拥塞且下游拥塞,但本地比下游更拥塞时,判断本地拥塞,产生并向上游通告本地的公平算法帧,如表1行1.1所示。
这时,所产生的公平算法帧为:
frame.fairRate=normLocalFairRate;//公平速率域设为归一化本地公平
速率
frame.saCompact=myMacAddress;//源地址域设为本节点地址
frame.ttl=MAX_STATIONS;//生存时间域设为最大节点数
frame.ri=Other(myRi)。//环向指示域设为环向取反
A22、当节点拥塞判断单元21判断拥塞发生的原因为:下游拥塞且本地不拥塞或者下游拥塞且下游比本地更拥塞时,说明是下游拥塞。
A221、如果转发业务是造成下游拥塞的原因,同时本节点发生倒换,则判断出不是本地造成下游拥塞的,所以产生并通告公平算法帧,继续向上游转发收到的公平速率信息,如表1行1.2所示。
这时,所产生的公平算法帧为:
frame.fairRate=receivedRate;//公平速率域设为收到的公平速率信息
frame.saCompact=myMacAddress;//源地址域设为本节点地址
frame.ttl=MAX_STATIONS;//生存时间域设为最大节点数
frame.ri=Other(myRi)。//环向指示域设为环向取反
本发明中,在本节点发生倒换时,则判断出不是本地造成下游拥塞的,所以继续向上游转发收到的公平速率信息,而将其他帧信息修改,使其能够用于根据帧信息判断出到倒换节点的跳数。
A222、如果转发业务是造成下游拥塞的原因,同时本节点没有发生倒换,则判断出不是本地造成下游拥塞的,其产生并继续向上游发送的公平算法帧信息为收到的下游发来的公平算法帧信息,如表1行1.3所示。
这时,所产生的公平算法帧为:
frame.fairRate=receivedRate;//公平速率域设为收到的公平速率信息
frame.saCompact=receivedSa;//源地址域设为收到的源地址
frame.ttl=receivedTtl;//生存时间域设为收到的生存时间
frame.ri=receivedRi。//环向指示域设为收到的环向指示
A223、如果是本地造成下游拥塞的,则判断出是本地造成下游拥塞的,所以不必向上游继续转发收到的公平算法帧信息,则向上游发送满速率公平信息。如表1行1.4所示。
这时,所产生的公平算法帧为:
frame.fairRate=FULL_RATE;//公平速率域设为满速率
frame.saCompact=myMacAddress;//源地址域设为本节点地址
frame.ttl=MAX_STATIONS;//生存时间域设为最大节点数
frame.ri=Other(myRi)。//环向指示域设为环向取反
(四)当节点拥塞判断单元21产生的公平算法帧并通告到相邻节点后,节点收到相邻节点发来的公平算法帧,接收帧处理单元22对接收到的帧中的信息进行处理,并产生处理信息,如表2所示。
表2 公平算法信息接收处理流程表
接收到的公平算法帧信息 | 节点拥塞信息判断 | 行号 |
接收帧的源地址与本节点地址匹配且环号正确frame.saCompact==myMacAddress&&frame.ri==Other(myRi)或者接收帧的源地址与本节点地址匹配且本节点倒换frame.saCompact==myMacAddress&&myEdgeState==INTO_EDGE&&myWrappingMethod==center_WRAP或者接收帧的源地址与本节点地址匹配且本节点倒换frame.saCompact==myMacAddress&&myEdgeState==FROM_EDGE&&myWrappingMethod==center_WRAP | 接收到自己发出的公平算法帧,所以判定下游无拥塞;到下游拥塞节点的跳数为MAX_STATIONSreceivedRate=FULL_RATE;hopsToCongestion=MAX_STATIONS;downstreamCongested=FALSE; | 2.1 |
接收的公平速率不为满速率frame.fairRate!=FULL_RATE | 接收到非满公平速率,判定下游拥塞,到下游拥塞节点的跳数为MAX_STATIONS-receivedTtldownstreamCongested=TRUE;hopsToCongestion=MAX_STATIONS-receivedTtl; | 2.2 |
接收的公平速率为满速率 | 接收到满公平速率,判定下游无拥塞downstreamCongested=FALSE;hopsToCongestion=MAX_STATIONS; | 2.3 |
表2中,myWrappingMethod==CENTER_WRAP表示是本节点发生了center_wrap倒换而不是edge_wrap倒换。
当节点收到相邻节点发来的环号正确的公平算法帧后,接收帧处理单元22对接收到的帧中的信息进行处理,并产生处理信息中包括的重要控制量有:
◆跳数hopsToCongestion,
跳数hopsToCongestion用于指示本节点到拥塞节点的距离,区分拥塞以远和拥塞以近。
例如,如果拥塞节点为S5,对于S0来说,到拥塞节点的跳数为5跳。节点S1,S2,S3,S4就是拥塞以近,节点S6,S7......就是拥塞以远。
◆下游拥塞downstreamCongested
下游拥塞downstreamCongested,当从下游收到公平算法帧中的公平速率fairRate不等于满速率FULL_RATE时,则认为下游节点存在拥塞,downstreamCongested=TRUE。
B1、节点收到相邻节点发来的环号正确的公平算法帧后,首先进行生存时间减1操作。
B2、对接收到的帧中的信息进行处理,并产生处理信息。
B21、当接收到的公平速率为满速率,而且接收帧的源地址与本节点地址匹配且环号正确;或者接收帧的源地址与本节点地址匹配且本节点倒换时,判断出接收到自己发出的公平算法帧,所以判定下游无拥塞,如表2行2.1所示,产生的处理信息为:
receivedRate=FULL_RATE;//将receivedRate强制为FULL_RATE,不
采用公平算法幀中携带的的fairRate,这
样根据收到的公平速率为FULL_RATE
就可以判定下游无拥塞。
hopsToCongestion=MAX_STATIONS;//跳数为最大节点数
downstreamCongested=FALSE;//下游拥塞信息为假
B22、当接收到的帧的公平速率不为满速率时,则判断出接收到非满公平速率,判断下游拥塞,所产生的处理信息为:
downstreamCongested=TRUE;//下游拥塞信息为真
hopsToCongestion=MAX_STATIONS-receivedTtl;//跳数为最大节点数
减去收到的生存时间
B23、当接收到的帧的公平速率为满速率时,则判断出下游无拥塞,所产生的处理信息为:
downstreamCongested=FALSE;//下游拥塞信息为假
hopsToCongestion=MAX_STATIONS;//跳数为最大节点数
按照本发明产生公平算法处理方法,节点公平控制单元2就可以仅仅通过公平算法帧携带的信息,直接利用hopsToCongestion=MAX_STATIONS-receivedTtl的计算方法,获知正确的倒换节点跳数的信息了,进一步获得到拥塞节点的跳数的信息。
下面结合图4所示的例子说明本实施例公平算法处理方法:
如表1行1.1所示,环网由最拥塞的节点中节点拥塞判断单元21发出的公平算法帧,其中帧的信息中的生存时间(ttl)为MAX_STATIONS(例如255);
接收到此公平算法帧的相邻节点公平控制单元2中的接收帧处理单元22先检查帧的环号信息正确后,对生存时间(ttl)进行减1操作;
再按照表2公平算法信息接收处理流程表判断如何处理些公平信息。
这样,在环网没有倒换发生时,每个收到该公平信息的节点都能够根据收到的公平算法帧中的生存时间(ttl)信息计算出到拥塞节点的准确跳数,方法为hopsToCongestion=MAX_STATIONS-receivedTtl。
例如,环网链路带宽为1G,节点1在外环向节点n(n>=5)发送700M业务,节点3在内环向节点2发送700M业务。当节点4发生倒换后,节点1发送的700M业务会经节点4倒换路径进入内环,而内环链路带宽只有1G,所以环网就在内环节点3的下游链路处发生了拥塞。
环网倒换后,在内环节点3发生拥塞,节点3内环的公平控制单元2中的节点拥塞判断单元21将产生公平算法帧在外环向上游节点发送。节点4接收到节点3在外环发送来的环号正确的公平算法帧,公平控制单元2中的接收帧处理单元22先进行减1操作(ttl=254),并且因为节点4发生了倒换,所以此公平算法帧送往节点4的外环公平控制单元2。
(一)节点4外环公平控制单元2的情况符合本发明方法表1的行1.2,节点4外环公平控制单元2将通过内环数据路径,由节点拥塞判断单元21产生并向上游即节点3通告发送公平算法帧信息:
frame.fairRate=receivedRate;
frame.saCompact=myMacAddress;
frame.ttl=MAX_STATIONS(255);
frame.ri=Other(myRi)。
节点4外环公平控制单元2将环号重新设置为Other(myRi),即在内环传送的公平算法帧的正确环号,并在内环上发送,也就是节点4在内环上向节点3发送了环号正确的公平算法帧。
(二)节点3收到环号正确的公平算法帧,其公平控制单元2中的接收帧处理单元22先对生存时间(ttl)进行减1操作(ttl=254);节点3外环公平控制单元2的情况符合本发明方法表1的行1.3,则公平控制单元2中的节点拥塞判断单元21产生并向上游通知公平算法帧:
frame.fairRate=receivedRate;
frame.saCompact=receivedSa;
frame.ttl=receivedTtl;
frame.ri=receivedRi。
将收到的公平信息继续通过节点3的内环数据路径转发。
(三)节点2外环公平控制单元2也收到的公平信息且情况符合表1的行1.3,对生存时间(ttl)进行减1操作(ttl=253),继续通过内环数据路径转发。
(四)节点1就会收到公平速率不为满速率且环号正确的公平算法帧,也对生存时间(ttl)进行减1操作(ttl=252)。
同时,节点1的情况符合表1的行1.4,则向上游发送满速率公平算法帧信息。
因此,用计算公式hopsToCongestion=MAX_STATIONS-received_ttl进行计算,就能正确计算出到倒换节点的跳数为255-252=3,而不需要拓扑协议告知到倒换节点的跳数了。
利用本发明方法,使得“到下游拥塞节点的跳数”和“到下游倒换节点的跳数”可以用同一种处理方法得到解决,并且无论环网是否发生了倒换,节点公平控制单元都可以仅通过公平算法帧携带的信息自行算出到倒换节点的跳数,从而计算出距离下游拥塞节点的跳数。
本发明的实施例是为了更好地理解本发明进行的详细的描述,而并不是对本发明所保护的范围的限定,因此,本领域普通技术人员不脱离本发明的主旨情况下,未经创造性劳动而对本明所做的改变,是在本发明的保护范围内的。
Claims (15)
1.一种弹性分组环网公平算法处理方法,其特征在于,包括下列步骤:
A、当通告周期到达时,公平控制单元(2)中的节点拥塞判断单元(21)产生公平算法帧并在环网中通告;
B、当节点收到相邻节点发来的公平算法帧,接收帧处理单元(22)对接收到的帧中的信息进行处理,并产生处理信息。
2.根据权利要求1所述的公平算法处理方法,其特征在于,所述步骤A包括以下步骤:
A1、当下游不拥塞且本地也不拥塞时,节点拥塞判断单元(21)产生公平算法帧:帧的公平速率域设为满速率;帧的源地址域设为本节点地址;帧的生存时间域设为环网最大节点数;帧的环向指示域设为取反;通告没有发生拥塞,发送满速率公平信息;
A2、当拥塞发生时,节点拥塞判断单元(21)判断拥塞发生的原因,并根据不同的原因产生并向上游的方向通告不同的公平算法帧。
3.根据权利要求2所述的公平算法处理方法,其特征在于,所述步骤A2包括下列步骤:
A21、当节点拥塞判断单元(21)判断拥塞为本地拥塞时,产生本地的公平算法帧:帧的公平速率域设为归一化本地公平速率;帧的源地址域设为本节点地址;帧的生存时间域设为最大节点数;帧的环向指示域设为取反;并向上游通告;
A22、当节点拥塞判断单元(21)判断拥塞为下游拥塞时,根据不同的原因产生并向上游的方向通告不同的公平算法帧。
4.根据权利要求3所述的公平算法处理方法,其特征在于,所述的步骤A22包括下列步骤:
A221、节点拥塞判断单元(21)判断出,如果转发业务是造成下游拥塞的原因,同时本节点发生倒换,产生并通告公平算法帧,继续向上游转发收到的公平速率帧:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为本节点地址;帧的生存时间域设为最大节点数;帧的环向指示设为取反;继续向上游发送公平算法帧;
A222、节点拥塞判断单元(21)判断出,如果转发业务是造成下游拥塞的原因,同时本节点没有发生倒换,其产生的公平算法帧为:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为收到的源地址;帧的生存时间域设为收到的生存时间;帧的环向指示域设为收到的环向指示;继续向上游发送公平算法帧;
A223、节点拥塞判断单元(21)判断出,如果是本地造成下游拥塞的,不必向上游继续转发收到的公平算法帧信息,节点拥塞判断单元(21)产生并通告公平算法帧为:帧的公平速率域设为收到的公平速率信息;帧的源地址域设为收到的源地址;帧的生存时间域设为收到的生存时间;帧的环向指示域设为收到的环向指示;继续向上游发送公平算法帧。
5.根据权利要求1~4中任一项所述的公平算法处理方法,其特征在于,所述的步骤B包括下列步骤:
B1、节点接收帧处理单元(22)收到相邻节点发来的环号正确的公平算法帧后,首先进行生存时间减1操作;
B2、接收帧处理单元(22)对接收到的帧中的信息进行处理,并产生处理信息。
6.根据权利要求5所述的公平算法处理方法,其特征在于,所述步骤B2包括下列步骤:
B21、当接收帧处理单元(22)判断出接收到自己发出的公平算法帧,产生处理信息:接收到的公平速率信息设为满速率;跳数设为最大节点数;下游拥塞信息设为假;
B22、当接收帧处理单元(22)接收到的帧的公平速率不为满速率时,判断出接收到非满公平速率,判断下游拥塞,产生处理信息:跳数设为最大节点数减去收到的生存时间;下游拥塞信息为真;
B23、当接收帧处理单元(22)接收到的帧的公平速率为满速率时,判断出下游无拥塞,产生处理信息:跳数设为最大节点数;下游拥塞信息设为假。
7.一种弹性分组环网公平算法处理系统,弹性分组环网节点MAC层单元(1)包含一个MAC控制层单元和两个MAC数据通道层单元,在两个MAC数据通道层单元中包括两个公平控制单元(2),其特征在于,所述公平控制单元(2)中包括:
节点拥塞判断单元(21),用于判断本节点或下游节点拥塞是否发生,并根据是否发生拥塞及发生拥塞的原因产生并向上游的方向通告的不同的本节点公平算法帧;
接收帧处理单元(22),用于对接收到相邻下游节点发送来的环号正确的公平算法帧的信息的处理,并产生处理信息。
8.根据权利要求7所述的公平算法处理系统,其特征在于,所述节点拥塞判断单元(21)判断出下游不拥塞且本地也不拥塞时,产生的公平算法帧为:帧的公平速率域为满速率;帧的源地址域为本节点地址;帧的生存时间域为环网最大节点数;帧的环向指示域为取反。
9.根据权利要求8所述的公平算法处理系统,其特征在于,所述节点拥塞判断单元(21)判断出当拥塞发生,并且是本地拥塞时,产生的公平算法帧为:帧的公平速率域为归一化本地公平速率;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
10.根据权利要求9所述的公平算法处理系统,其特征在于,所述节点拥塞判断单元(21)判断出当拥塞发生,并且是下游拥塞时;
节点拥塞判断单元(21)判断如果转发业务是造成下游拥塞的原因,同时本节点发生倒换时,产生的公平算法帧为:帧的公平速率域为收到的公平速率信息;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
11.根据权利要求10所述的公平算法处理系统,其特征在于,节点拥塞判断单元(21)判断如果转发业务是造成下游拥塞的原因,同时本节点没有发生倒换时,产生的公平算法帧为:帧的公平速率域为收到的公平速率信息;帧的源地址域为收到的源地址;帧的生存时间域为收到的生存时间;帧的环向指示域为收到的环向指示。
12.根据权利要求11所述的公平算法处理系统,其特征在于,节点拥塞判断单元(21)判断如果是本地造成下游拥塞的,产生公平算法帧为:帧的公平速率域为满速率;帧的源地址域为本节点地址;帧的生存时间域为最大节点数;帧的环向指示域为取反。
13.根据权利要求7~12中任一项所述的公平算法处理系统,其特征在于,节点拥塞判断单元(21)判断出接收到自己发出的公平算法帧,产生处理信息为:接收到的公平速率信息为满速率;跳数为最大节点数;下游拥塞信息为假。
14.根据权利要求13所述的公平算法处理系统,其特征在于,节点拥塞判断单元(21)在接收到的帧的公平速率不为满速率时,产生处理信息为:跳数为最大节点数减去收到的生存时间;下游拥塞信息为真。
15.根据权利要求14所述的公平算法处理系统,其特征在于,节点拥塞判断单元(21)在接收到的帧的公平速率为满速率时,产生处理信息为:跳数为最大节点数;下游拥塞信息为假。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101235236A CN100426795C (zh) | 2005-11-17 | 2005-11-17 | 一种弹性分组环网公平算法处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101235236A CN100426795C (zh) | 2005-11-17 | 2005-11-17 | 一种弹性分组环网公平算法处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1859295A true CN1859295A (zh) | 2006-11-08 |
CN100426795C CN100426795C (zh) | 2008-10-15 |
Family
ID=37298159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101235236A Expired - Fee Related CN100426795C (zh) | 2005-11-17 | 2005-11-17 | 一种弹性分组环网公平算法处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100426795C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312430B (zh) * | 2007-03-27 | 2014-01-01 | 日本电气株式会社 | 环间公平控制方法和rpr节点装置 |
CN105553753A (zh) * | 2015-12-03 | 2016-05-04 | 上海高性能集成电路设计中心 | 一种固定时间片协同流控的片上环网防饥饿处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100560748B1 (ko) * | 2003-11-11 | 2006-03-13 | 삼성전자주식회사 | 알피알 공평 메카니즘을 이용한 대역폭 할당 방법 |
-
2005
- 2005-11-17 CN CNB2005101235236A patent/CN100426795C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312430B (zh) * | 2007-03-27 | 2014-01-01 | 日本电气株式会社 | 环间公平控制方法和rpr节点装置 |
CN105553753A (zh) * | 2015-12-03 | 2016-05-04 | 上海高性能集成电路设计中心 | 一种固定时间片协同流控的片上环网防饥饿处理方法 |
CN105553753B (zh) * | 2015-12-03 | 2018-09-25 | 上海高性能集成电路设计中心 | 一种固定时间片协同流控的片上环网防饥饿处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100426795C (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101061672A (zh) | 通信系统、无线局域网基站控制装置和无线局域网基站装置 | |
CN1905530A (zh) | 组播点播方法及系统 | |
CN1780260A (zh) | Atm装置间通信支持系统、数据发送方法及其支持装置 | |
CN1153427C (zh) | 数据中继处理方法和装置 | |
CN1618243A (zh) | 在无线数据通信系统内测试话务和辅助信道的方法和装置 | |
CN1870589A (zh) | 信息包传输装置及网络系统 | |
CN1914862A (zh) | 集群系统、集群成员、故障恢复方法及程序 | |
CN1866922A (zh) | 一种以太网中的控制系统和数据报文传输方法 | |
CN1729630A (zh) | 移动网络中以媒体存取控制层调度数据传输 | |
CN1608366A (zh) | 用于交换数据分组或帧的装置和方法 | |
CN1477833A (zh) | 局域网交换方法和局域网交换机 | |
CN1097911A (zh) | 高速分组传输网络的高性能可编程数据通信适配器 | |
CN1518278A (zh) | 网络通信中实现资源分配的系统及其方法 | |
CN1432243A (zh) | 数据包丢弃 | |
CN1497898A (zh) | 资源管理系统 | |
CN1679285A (zh) | 执行媒体专用以确保穿越无线网络传送实时数据的服务质量的方法 | |
CN1929440A (zh) | 基于中转站对业务流进行管理的方法和系统 | |
CN1452362A (zh) | 网络中的路由选择装置和路由选择方法 | |
CN1674560A (zh) | 基站、通信装置和通信系统 | |
CN1525784A (zh) | 无线电数据通信方法、服务器及无线电网络控制器 | |
CN1859298A (zh) | 一种选择路径的方法 | |
CN1909449A (zh) | 用于处理信息的方法、设备和程序 | |
CN1450818A (zh) | 移动节点、移动通信系统和通信控制程序 | |
CN1859295A (zh) | 一种弹性分组环网公平算法处理方法和系统 | |
CN1960336A (zh) | 一种实现灵活QinQ的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081015 Termination date: 20181117 |