避免网络设备拥塞的系统和方法

文档序号:7958925阅读:122来源:国知局
专利名称:避免网络设备拥塞的系统和方法
技术领域
本发明涉及一种避免网络设备拥塞的系统,尤其涉及各种交换机和路由器等网络设备,该系统通过动态改变网络设备的VLAN(虚拟局域网)配置来根本消除跨芯片转发时的缓冲区的消耗,减少拥塞。本发明还涉及一种及时把链路失效的端口从相应VLAN中删除进而提升系统的数据包处理能力的避免网络设备拥塞的方法。
背景技术
如图1所示,在分布式系统的网络设备和多个设备堆叠而成的超级网络设备中,系统由多颗数据处理芯片(网络处理器或者ASIC芯片)相互连接而成,即直接背靠背相连或者通过Crossbar(交换网矩阵)互相连接。在VLAN配置中,每颗芯片记录某个VLAN所包含的本地端口,如果VLAN包含其它芯片的端口,则只记录其它芯片信息而没有具体的端口信息。
在广播包或者未知目的包的转发流程中,包将转发到VLAN的所有端口。包转发到VLAN中的所有本地端口,同时通过特殊上联口发送一份给此VLAN包含的所有芯片,包到达指定芯片后,芯片索引本地相应的VLAN表,决定要将包发送到哪些本地端口。
在单播包的转发流程中,接收芯片通过索引本地FDB(转发表),决定出端口,如果出端口在本地则直接转发,如果出端口在其他芯片,则通过特殊上联口将包发送到出端口所在的芯片,由出端口所在的芯片转发给出端口。
如图2所示,当芯片2的端口P1从Link Up(链路有效)变为Link Down(链路失效)时,位于同一芯片的其它端口往P1发包时,芯片2会感知这个变化,不再往Link Down端口P1发送。如果是不同芯片,芯片2的端口P2往芯片1的P1发包,因为芯片2的VLAN中仍然包含芯片1,这样芯片2就会通过上联口往芯片1发送包,芯片1检测到端口P1的链路状态为Link Down,就丢弃此包,或者通过超时老化机制强制释放相应缓冲区。
这种情况会造成不必要的带宽和资源浪费,本来芯片2可以向芯片1发送更多有效的数据包。如果芯片2的P2同时还向芯片1的P3端口发包,这时会因此而产生无谓的拥塞,导致系统的性能降低。由此可以看出,在分布式系统的网络设备和多个设备堆叠而成的超级网络设备中,链路失效端口仍然消耗着系统的资源和带宽。

发明内容
为了克服上述缺陷,本发明的目的在于提供一种依据端口状态改变虚拟局域网的端口包含关系,避免不必要的带宽浪费的避免网络设备拥塞的系统。此外本发明另一目的还要提供一种通过动态配置将链路失效端口从相应的虚拟局域网中删除,使得发往此端口的流量解除,提高整个系统的资源利用率和数据包吞吐性能的避免网络设备拥塞的方法。
为达到上述目的,一种避免网络设备拥塞的系统,包括主控板和至少一块线卡,所述的至少一块的线卡通过板间通信通道与主控板传输信息,在所述的至少一块的线卡上分别驻留有链路状态通告模块和虚拟局域网配置模块,在所述的主控板上驻留有链路状态改变处理模块;其中,链路状态通告模块,用于将该模块所在的线卡上的端口状态改变信息通告给主控板;链路状态改变处理模块,用于接收该链路状态通告模块通告的链路状态改变信息并向相关线卡下发;虚拟局域网配置模块,根据从主控板的链路状态改变处理模块下发的虚拟局域网信息和端口状态信息对该模块所在线卡的端口信息进行配置。
其中,所述的主控板包括主用主控板和备用主控板。
其中,所述的链路状态通告模块通过定时器中断或者端口链路状态改变中断触发来获知端口状态变化信息。
为达到上述目的,本发明一种避免网络设备拥塞的方法,包括下述几个步骤第一步,系统初始化所有虚拟局域网;第二步,任一线卡端口的状态变化时,该线卡上的链路状态通告模块获得该线卡端口的状态变化信息,通过板间通信通道同步到主控板;第三步,主控板的链路状态改变处理模块获取该端口的状态变化信息,向包含该端口变化信息的其它线卡下发虚拟局域网信息和端口状态列表信息;第四步,包含该端口变化信息的线卡的虚拟局域网配置模块接收到主控板下发的虚拟局域网信息和端口状态信息后,该模块所在线卡的端口信息进行配置。
其中,所述的系统初始化所有虚拟局域网的步骤为初始化线卡链路状态通告模块,将虚拟局域网置为无效或者置为有效但虚拟局域网不包含任何端口。
其中,所述的链路状态通告模块通过定时轮询或者端口状态改变中断获得端口状态改变信息。
其中,所述的链路状态改变处理模块以端口为索引,查询虚拟局域网表的方式获取端口状态改变信息。
其中,虚拟局域网配置模块对所在线卡的端口信息进行配置的步骤为把虚拟局域网中包含的状态为链路失效的端口从虚拟局域网中删除,写入芯片时,只写虚拟局域网包含的状态为链路有效的端口。
本发明的系统中的三个模块在配置芯片时,只关心虚拟局域网包含的并且处于链路状态有效的端口,这样就会将链路失效端口从相关虚拟局域网中删除,使得发往此端口的流量解除,以便释放相应的资源,避免不必要的带宽浪费,减少可能出现的拥塞。
上述的方法中当端口状态处于有效时,又会重新配置到芯片中动态配置将链路失效端口从相应的虚拟局域网中删除,进而提升整个系统的资源利用率和数据包处理能力。


图1是现有的分布式系统单板业务和通信连接关系示意图;图2是现有的分布式系统中芯片内和跨芯片的数据流向示意图;图3是本发明避免网络设备拥塞的方法处理流程图;
图4是本发明避免网络设备拥塞的系统模块组成图。
具体实施例方式
本发明一种避免网络设备拥塞的系统,包括主控板和至少一块的线卡,所述的至少一块的线卡通过板间通信通道与主控板传输信息,在所述的至少一块的线卡上分别驻留有链路状态通告模块和VLAN配置模块,在所述的主控板上驻留有链路状态改变处理模块;其中,链路状态通告模块,用于将该模块所在的线卡上的端口状态改变信息通告给主控板;链路状态改变处理模块,用于接收该链路状态通告模块通告的链路状态改变信息并向相关线卡下发;VLAN配置模块,根据从主控板的链路状态改变处理模块下发的VLAN信息和端口状态信息对该模块所在线卡的端口信息进行配置。
如图4所示,本发明有系统包括链路状态通告模块、链路状态改变处理模块、VLAN配置模块。
链路状态通告模块驻留在线卡,负责收集端口的链路状态信息,及时将端口的状态变化通告给主控板。链路状态通告模块要求响应及时,运行较小的定时器中断或者端口链路状态改变中断来触发,获知变化信息后,立即同步到主控板。
链路状态改变处理模块驻留在主控板,线卡的链路状态通告模块将链路状态改变信息通告给主控板的链路状态改变处理模块,主控板保存一份整个系统VLAN的端口包含信息,是软件表。主控板获知端口的状态改变信息后,以端口为索引,遍历整个VLAN表,如果某个VLAN包含状态改变的端口,则重新将此VLAN参数下发到各线卡,下发参数包括VLAN信息和所有包含端口的状态信息。
VLAN配置模块驻留在线卡,VLAN配置模块接收主控板下发的VLAN信息和包含端口的状态信息,配置芯片时,只关心VLAN包含的并且处于链路状态有效的端口,这样就会将链路失效端口从相关VLAN中删除。当端口状态处于有效时,又会重新配置到芯片中。
本发明一种避免网络设备拥塞的方法,包括下述几个步骤系统初始化所有VLAN;任一线卡端口的状态变化时,该线卡上的链路状态通告模块获得该线卡端口的状态变化信息,通过板间通信通道同步到主控板;主控板的链路状态改变处理模块获取该端口的状态变化信息,向包含该端口变化信息的其它线卡下发VLAN信息和端口状态列表信息;包含该端口变化信息的线卡的VLAN配置模块接收到主控板下发的VLAN信息和端口状态信息后,该模块所在线卡的端口信息进行配置。
如图3所示,本发明方法具体包括以下步骤第一步,系统开始运行时,初始化所有的VLAN,即初始化线卡链路状态通告模块,所有VLAN不包括任何端口,主控板将此配置下发给各线卡,写入芯片时VLAN置为无效或者置为有效但不包含任何端口。
第二步,某线卡端口状态变化时,链路状态通告模块通过定时轮询或者端口状态改变中断获得端口状态改变信息,这些信息被整理后,通过板间通信通道同步到主控板。
第三步,主控板的链路状态改变处理模块获取从线卡同步的端口状态改变信息,以端口为索引,查找包含此端口的所有VLAN,向所有相关线卡下发VLAN信息和端口状态列表信息。
第四步,线卡的VLAN配置模块接收到主控板下发的VLAN信息和端口状态,把VLAN中包含的但状态为链路失效的端口从VLAN中删除,写入芯片时,只写VLAN包含的并且状态为Link Up的端口。
本发明的系统中的三个模块在配置芯片时,只关心VLAN包含的并且处于链路状态有效的端口,这样就会将链路失效端口从相关VLAN中删除,使得发往此端口的流量解除,以便释放相应的资源,避免不必要的带宽浪费,减少可能出现的拥塞。
上述的方法中当端口状态处于有效时,又会重新配置到芯片中动态配置将链路失效端口从相应的VLAN中删除,进而提升整个系统的资源利用率和数据包处理能力。
权利要求
1.一种避免网络设备拥塞的系统,包括主控板和至少一块线卡,所述的至少一块的线卡通过板间通信通道与主控板传输信息,其特征在于,在所述的至少一块的线卡上分别驻留有链路状态通告模块和虚拟局域网配置模块,在所述的主控板上驻留有链路状态改变处理模块;其中,链路状态通告模块,用于将该模块所在的线卡上的端口状态改变信息通告给主控板;链路状态改变处理模块,用于接收该链路状态通告模块通告的链路状态改变信息并向相关线卡下发;虚拟局域网配置模块,根据从主控板的链路状态改变处理模块下发的虚拟局域网信息和端口状态信息对虚拟局域网配置模块所在线卡的端口信息进行配置。
2.按照权利要求1所述的避免网络拥塞的系统,其特征在于,所述的主控板包括主用主控板和备用主控板。
3.按照权利要求1或2所述的避免网络拥塞的系统,其特征在于,所述的链路状态通告模块通过定时器中断或者端口链路状态改变中断触发来获知端口状态变化信息。
4.一种避免网络设备拥塞的方法,其特征在于,包括下述几个步骤第一步,系统初始化所有虚拟局域网;第二步,任一线卡端口的状态变化时,该线卡上的链路状态通告模块获得该线卡端口的状态变化信息,通过板间通信通道同步到主控板;第三步,主控板的链路状态改变处理模块获取该端口的状态变化信息,向包含该端口变化信息的其它线卡下发虚拟局域网信息和端口状态列表信息;第四步,包含该端口变化信息的线卡的虚拟局域网配置模块接收到主控板下发的虚拟局域网信息和端口状态信息后,对该模块所在线卡的端口信息进行配置。
5.按照权利要求4所述的避免网络设备拥塞的方法,其特征在于,所述的系统初始化所有虚拟局域网的步骤为初始化线卡链路状态通告模块,将虚拟局域网置为无效或者置为有效但虚拟局域网不包含任何端口。
6.按照权利要求4所述的避免网络设备拥塞的方法,其特征在于,所述的链路状态通告模块通过定时轮询或者端口状态改变中断获得端口状态改变信息。
7.按照权利要求4所述的避免网络设备拥塞的方法,其特征在于,所述的链路状态改变处理模块以端口为索引,查询虚拟局域网表的方式获取端口状态改变信息。
8.按照权利要求4所述的避免网络设备拥塞的方法,其特征在于,虚拟局域网配置模块对所在线卡的端口信息进行配置的步骤为把虚拟局域网中包含的状态为链路失效的端口从虚拟局域网中删除,写入芯片时,只写虚拟局域网包含的状态为链路有效的端口。
全文摘要
本发明公开了一种避免网络设备拥塞的系统和方法,为解决现有的在分布式系统的网络设备和多个设备堆叠而成的超级网络设备中,链路失效端口消耗系统资源和带宽造成浪费的问题而发明。本发明中主控板和线卡通过板间通信通道传输信息,链路状态通告模块获得所在线卡端口的状态变化信息,同步到主控板;驻留在主控板的链路状态改变处理模块获取端口状态信息再向相关线卡下发VLAN信息和端口状态信息;驻留在相关线卡的VLAN配置模块收到VLAN信息和端口状态改变信息,把链路失效的端口从VLAN中删除,写入芯片时,只写状态为链路有效的端口。这样节省带宽浪费,减少可能出现的拥塞,提升系统的数据包吞吐性能。
文档编号H04L12/28GK1825836SQ20061006708
公开日2006年8月30日 申请日期2006年4月4日 优先权日2006年4月4日
发明者陈晓, 沈瑞武 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1