一种自适应快速环路检测和环路阻断的方法及装置的制作方法

文档序号:7968047阅读:506来源:国知局
专利名称:一种自适应快速环路检测和环路阻断的方法及装置的制作方法
技术领域
本发明涉及以太网环路检测和阻断技术领域,特别涉及自适应快速环路检测和环路阻断的方法及装置。
背景技术
随着局域网的发展,用户通过以太网交换机接入网络越来越多,安装局域网时常出现的问题主要是网络形成环路,在有些情况下错误地连接了一根线缆,就可以使整个网络瘫痪,如图1a和图1b的所示情况,在一台以太网交换机上存在一个自环头,或者在该以太网交换级连的以太网交换机或者网桥上存在自环头或环路情况。在上述两种组网情况下,PC机都存在不能正常和服务器通信的可能性。在图1a的情况下,PC机与服务器通信时,开始会发送一个ARP广播报文,到达设备后,设备会将PC的MAC地址学习到交换机的端口PORT1上。同时,该广播报文会在二层网络中广播,因此会送到接自环头的端口PORT6和接服务器的端口PORT8上。由于端口PORT6上接了一个自环头,于是,该报文会原封不动的送回到端口PORT6上。由于报文中的源MAC地址为PC机的MAC地址,这样,就会导致PC机的MAC地址从端口PORT1上移动到PORT6上。当服务器回应的单播ARP的报文送到交换机后,根据二层交换原理,通过目的MAC寻址查找出端口,就会找到端口PORT6,然后将报文从端口PORT6送出去。这样,PC机就不能和服务器进行正常的通信了。图1b的情况和图1a是类似的,环回或环路情况存在于级连的交换机。同样会导致MAC地址的学习错误,使正常的网络通讯中断。图1b的情况更接近于实际的网络情况。更难于发现和定位。这种环回情况对于二层网络来说是灾难性的,二层网络越大,影响范围越大。为了避免这种情况发生,必须采用环路检测方法,利用环路检测可以准确的发现网络中是否存在这种情况,及时解决问题。为了检测网络中存在的环回和阻断环回,目前大多都要求设备上有用做管理和收发报文的CPU。图2是传统的基于CPU收发报文方式检测网络中存在环回的方法示意图,如图2所示,环路检测是通过CPU收发报文来进行的,CPU通过在设备的端口上发送一种特殊的报文,并检测该报文是否能够从发送出去的端口送回来,来确定这个端口上是否存在环回情况。当链路上某端口下存在环回情况时,从该端口发送出去的检测报文必须能够从该端口送回到本设备的CPU;当CPU从某端口发出的检测报文不能送回到本设备的该端口,则可以确认该端口下环回不存在。因为网络是一个随时都有可能存在变动的对象,因此环路检测是一个持续的过程,也就是说,在设备上需要每隔一定时间间隔进行一次检测,来确定各个端口上是否存在环回,以及上次发现存在环回的端口上环回是否已经消失等情况。
从上述对基于CPU收发报文方式检测网络中是否存在的环回过程的分析,可以看出其最大的缺点在于为了检测二层网络中的环路,需要设备上添加CPU,对于家庭和小企业而言,的确是望而生畏而且可能成本高昂,同时每隔一定时间间隔进行一次检测,在各个端口上收发报,来确定各个端口上是否存在环回,这样会占用各个端口的一定的带宽,会对一些正常数据流产生影响。

发明内容
本发明的目的是提供一种自适应快速环路检测和环路阻断的方法及装置,能够在二层网络中自适应快速的检测环路和阻断环路,避免广播风暴的影响并且不占用端口的带宽,同时使设备的成本将低。
本发明的技术方案为一种自适应快速环路检测和环路阻断的方法,按以下步骤进行(1)输入单元将从端口接收和发送的以太网帧的介质访问控制层的源MAC地址、VLAN ID标识号和端口号,输送给计算单元,计算单元将以太网帧的介质访问控制层的源MAC地址、VLANID标识号和端口号相加构造成一个具有特定比特位的关键信息并输送给逻辑运算单元、学习单元和比较控制单元;(2)逻辑运算单元对得到的关键信息作并行的冗余循环CRC-10的逻辑运算,得到一个关键信息表的地址索引值输送给学习单元和查找单元;(3)学习单元根据所得的关键信息和地址索引值自动的构成关键信息表;(4)查找单元根据所得的地址索引值,查找构成关键信息表中与之对应的表项,得到表项中的关键信息输送给比较控制单元,比较控制单元将得到表项中的关键信息与从计算单元得到的关键信息进行对比,如相同,则说明该端口下的网络出现了环路,将接收到的该数据包丢弃,并阻断广播风暴的扩散,将环路的影响限制在该端口以下的网络中,若不相同,则该数据包不丢弃,作正常的转发处理。
一种自适应快速环路检测和环路阻断的装置,包括输入单元、计算单元、逻辑运算单元、学习单元、查找单元、比较控制单元,其特征在于发送输入单元依次与计算单元、逻辑运算单元,逻辑运算单元分别与学习单元和查找单元相连,学习单元和查找单元相连之间互连,查找单元与比较控制单元相连;输入单元用于提取从端口接收的以太网帧的介质访问控制层的源MAC地址、VLAN ID标识号和端口号;计算单元用于将以太网帧的介质访问控制层的源MAC地址,VLAN ID标识号和端口号相加,构造成一个具有特定比特位的关键信息;逻辑运算单元用于对得到的关键信息作并行的冗余循环CRC-10的逻辑运算,得到一个关键信息表的地址索引值;学习单元用于根据所述的关键信息和地址索引值自动的构成关键信息表;查找单元用于根据所得到的地址索引值,查找构成关键信息表中与之对应的表项,得到表项中的关键信息,比较控制单元用于将表项中的得到关键信息与给定的关键信息作并行比较,根据比较的结果,执行对应的操作处理。
还包括定时器单元,定时器单元与学习单元相连,定时器单元用于关键信息表中的表项老化处理,根据设定的时间间隔,使关键信息表中的表项可周期性的逐一自动刷新,自动适应网络拓扑的变化。
在学习单元中连入定时器单元,对关键信息表中的表项进行老化处理,具体步骤发如下在学习单元根据所得的关键信息和地址索引值自动的构成关键信息表的同时启动定时器单元,记录每条表项在表中已存在的时间;判断对应表项是否超过设定时间,如超过,进行删除,如没超过,则保留;如果删除的表项对应的数据包还在发送,则这条表项还会学习到,如不存在,则会被其他的新的表项所代替,这一过程称为表项的刷新,使表中的信息能依据网络拓扑的变化而不断的自动更新。
由于采用了上述技术方案,与现有的技术相比,本发明具有如下有益效果本发明采用将从端口接收和发送的以太网帧的介质访问控制层的源MAC地址,VLAN ID标识号和端口号,构造成一个具有特定比特位的关键信息,作并行的冗余循环CRC-10的逻辑运算,组成关键信息表,根据关键信息表的表项与得到的关键信息比较,判断该端口下环路是否存在,和对其环路阻断。该方法与传统的基于CPU收发报文方式检测网络中是否存在环回的方法不同,其主要区别在于以前,大多采用CPU发特定的报文方式,本发明不发送特定的报文,不需要CPU,而是采用端口上正常发送和接收的以太网帧的介质访问控制层的源MAC地址、VLAN ID标识号和端口号作为判断依据,将从端口发送的以太网帧的介质访问控制层的源MAC地址,VLAN ID标识号和端口号,构造成一个具有特定比特位的关键信息,对此关键信息作逻辑运算,得到关键信息表的地址索引值,然后将给定的关键信息写入索引值对应的表项中,并通过老化机制,使关键信息表中的表项周期性的自动刷新,自动适应网络拓扑的变化,同时将从端口接收的以太网帧的介质访问控制层的源MAC地址、VLAN ID标识号和端口号,构造成一个具有特定比特位的关键信息,对此关键信息作逻辑运算,得到关键信息表的地址索引值,根据索引值查找关键信息表的与之对应的表项,得到的表项的关键信息,判断表项的关键信息与给定的关键信息是否相同,如相同,则将该数据包丢弃,如不相同,则数据包不丢弃。
本发明采用端口上发送和接收的源MAC地址、VLAN ID标识号和端口号作为关键信息组成关键信息表和判断端口下出现环路的依据,对关键信息作逻辑运算是冗余循环CRC-10的逻辑运算。其优点在于使网络上环路可以快速的检测到,并阻断,可以自动的适应网络拓扑的变化,同时不占用端口的带宽,也可降低二层以太网设备的成本。


图1是网络中存在的环回的示意图。
图2是传统的基于CPU收发报文方式检测网络中存在的环回的方法示意图。
图3是本发明的自适应快速环路检测和阻断的方法示意图。
图4是本发明实施例中的自适应快速环路检测和阻断的方法流程图。
图5是本发明自适应快速环路检测和阻断的装置方框图。
具体实施例方式
下面结合附图对本发明的具体实施方式
做详细说明。
图3是本发明的自适应快速环路检测和阻断的方法的流程示意图。
如图3所示,本发明的思路是在端口发送数据包时,将其所包含的源MAC地址、VLAN表示号和端口号获取,构成一个60比特位的关键信息,将此将此关键字进行并行的冗余循环CRC-10逻辑运算,逻辑运算得到10比特位结果作为关键信息表的地址索引值,将对应的关键信息写入地址索引值对应的表项中,即存入一张宽度为64,深度为1024的表中,这一过程称为学习过程,构成一个64×1024的关键信息表,表中的每条表项记录了该端口对应的已发送包的源MAC地址和VLAN标识符信息;同时在每条表项生成时,启动定时器,记录每条表项在表中已存在的时间,对超过设定时间的表项,进行删除,如果删除的表项对应的数据包还在发送,则这条表项还会学习到,如不存在,则会被其他的新的表项所代替,这一过程称为表项的刷新,使表中的信息能依据网络拓扑的变化而不断的自动更新;根据以太网的特点,从本端口发送出去的数据包是不能回到本端口的特点,并且源MAC地址的唯一性等特点,当端口收到数据包时,将其所包含的源MAC地址、VLAN表示号和端口号获取,构成一个60比特位的关键信息,将此关键字进行并行的冗余循环CRC-10逻辑运算,逻辑运算得到10比特位结果作为关键信息表的地址索引值,根据地址索引值得到其在关键信息表中对应的表项,这一过程成为查找;找到对应的表项后,将其与得到的关键信息比较,若相同,则说明该端口下的网络出现了环路,将接收到的该数据包丢弃,阻断广播风暴的扩散,将环路的影响限制在该端口以下的网络中,若不相同,则该数据包不丢弃,作正常的转发处理。其中60比特位的关键字是由{VLAN_ID+MAC}构成,冗余循环CRC-10的逻辑运算采用的是64比特位的并行CRC-10运算,CRC-10的生成多项式为C(x)=x10+x9+x5+x4+x+1。
本实施例中的关键信息表的表项数目最多可以有64×1024个,基于实际网络的特点和系统设备的性价比,可以将表项数目设置为64×4K个或64×8K个。
图4是本发明实施例中的自适应快速环路检测和阻断的方法的流程示意图。如图4所示,具体操作步骤包括A、在端口发送数据包时,将其所包含的源MAC地址、VLAN表示号和端口号获取,构成一个60比特位的关键信息;B、将此关键字进行并行的冗余循环CRC-10逻辑运算,逻辑运算得到10比特位结果作为关键信息表的地址索引值;C、对应的关键信息写入地址索引值对应的表项中,即存入一张宽度为64,深度为1024的表中,构成一个64×1024的关键信息表,表中的每条表项记录了该端口对应的已发送包的源MAC地址和VLAN标识符信息;D、同时在每条表项生成时,启动定时器,记录每条表项在表中已存在的时间;E、判断对应表项是否超过设定时间,设定的时间范围为60秒到600秒,可根据网络的需要来设定,如超过,进行删除,如没超过,则保留,如果删除的表项对应的数据包还在发送,则这条表项还会学习到,如不存在,则会被其他的新的表项所代替,这一过程称为表项的刷新,使表中的信息能依据网络拓扑的变化而不断的自动更新F、当端口收到数据包时,将其所包含的源MAC地址、VLAN表示号和端口号获取,构成一个60比特位的关键信息;G、将此关键字进行并行的冗余循环CRC-10逻辑运算,逻辑运算得到10比特位结果作为关键信息表的地址索引值;H、根据地址索引值得到其在关键信息表中对应的表项,这一过程成为查找;I、找到对应的表项后,将其与得到的关键信息比较,若相同,则说明该端口下的网络出现了环路,将接收到的该数据包丢弃,阻断广播风暴的扩散,将环路的影响限制在该端口以下的网络中,若不相同,则该数据包不丢弃,作正常的转发处理。
根据在端口上接收和发送数据包的源MAC地址和VLAN ID标识号,重复执行上述A到I操作步骤,可完成环路的检测和阻断操作。
一种自适应快速环路检测和环路阻断的装置,如图5所示,包括输入单元、计算单元、逻辑运算单元、学习单元、查找单元、比较控制单元、定时器单元,发送输入单元依次与计算单元、逻辑运算单元,逻辑运算单元分别与学习单元和查找单元相连,学习单元和查找单元相连之间互连,查找单元与比较控制单元相连;定时器单元与学习单元相连,输入单元用于提取从端口接收的以太网帧的介质访问控制层的源MAC地址、VLAN ID标识号和端口号;计算单元用于将以太网帧的介质访问控制层的源MAC地址,VLAN ID标识号和端口号相加,构造成一个具有特定比特位的关键信息;逻辑运算单元用于对得到的关键信息作并行的冗余循环CRC-10的逻辑运算,得到一个关键信息表的地址索引值;学习单元用于根据所述的关键信息和地址索引值自动的构成关键信息表;查找单元用于根据所得到的地址索引值,查找构成关键信息表中与之对应的表项,得到表项中的关键信息,比较控制单元用于将表项中的得到关键信息与给定的关键信息作并行比较,根据比较的结果,执行对应的操作处理;定时器单元与学习单元相连,定时器单元用于关键信息表中的表项老化处理,根据设定的时间间隔,使关键信息表中的表项可周期性的逐一自动刷新,自动适应网络拓扑的变化。
权利要求
1.一种自适应快速环路检测和环路阻断的方法,按以下步骤进行(1)输入单元将从端口接收和发送的以太网帧的介质访问控制层的源MAC地址、VLANID标识号和端口号,输送给计算单元,计算单元将以太网帧的介质访问控制层的源MAC地址、VLANID标识号和端口号相加构造成一个具有特定比特位的关键信息并输送给逻辑运算单元、学习单元和比较控制单元;(2)逻辑运算单元对得到的关键信息作并行的冗余循环CRC-10的逻辑运算,得到一个关键信息表的地址索引值输送给学习单元和查找单元;(3)学习单元根据所得的关键信息和地址索引值自动的构成关键信息表;(4)查找单元根据所得的地址索引值,查找构成关键信息表中与之对应的表项,得到表项中的关键信息输送给比较控制单元,比较控制单元将得到表项中的关键信息与从计算单元得到的关键信息进行对比,如相同,则说明该端口下的网络出现了环路,将接收到的该数据包丢弃,并阻断广播风暴的扩散,将环路的影响限制在该端口以下的网络中,若不相同,则该数据包不丢弃,作正常的转发处理。
2.根据权利要求1所述的方法,其特征在于在学习单元中连入定时器单元,对关键信息表中的表项进行老化处理,具体步骤发如下在学习单元根据所得的关键信息和地址索引值自动的构成关键信息表的同时启动定时器单元,记录每条表项在表中已存在的时间;判断对应表项是否超过设定时间,设定的时间范围为60秒到600秒,如超过,进行删除,如没超过,则保留;如果删除的表项对应的数据包还在发送,则这条表项还会学习到,如不存在,则会被其他的新的表项所代替,这一过程称为表项的刷新,使表中的信息能依据网络拓扑的变化而不断的自动更新。
3.一种自适应快速环路检测和环路阻断的装置,包括输入单元、计算单元、逻辑运算单元、学习单元、查找单元、比较控制单元,其特征在于发送输入单元依次与计算单元、逻辑运算单元,逻辑运算单元分别与学习单元和查找单元相连,学习单元和查找单元相连之间互连,查找单元与比较控制单元相连;输入单元用于提取从端口接收的以太网帧的介质访问控制层的源MAC地址、VLANID标识号和端口号;计算单元用于将以太网帧的介质访问控制层的源MAC地址,VLANID标识号和端口号相加,构造成一个具有特定比特位的关键信息;逻辑运算单元用于对得到的关键信息作并行的冗余循环CRC-10的逻辑运算,得到一个关键信息表的地址索引值;学习单元用于根据所述的关键信息和地址索引值自动的构成关键信息表;查找单元用于根据所得到的地址索引值,查找构成关键信息表中与之对应的表项,得到表项中的关键信息,比较控制单元用于将表项中的得到关键信息与给定的关键信息作并行比较,根据比较的结果,执行对应的操作处理。
4.根据权利要求3所述的自适应快速环路检测和环路阻断的装置,其特征在于还包括定时器单元,定时器单元与学习单元相连,定时器单元用于关键信息表中的表项老化处理,根据设定的时间间隔,使关键信息表中的表项可周期性的逐一自动刷新,自动适应网络拓扑的变化。
全文摘要
本发明涉及一种自适应快速环路检测和环路阻断的方法及装置,该方法及装置的关键是在每个端口上持续不断地检测,是否接收到其自身发送出去的以太网数据包,如果检测到,则将该数据包丢弃并将该端口设置为阻塞状态,这样就阻断了环路,限制了以太网中广播风暴的扩散和传播,避免了广播风暴对其他正常数据业务的影响。本发明不需要CPU,采用端口上发送和接收的以太网帧的48比特位的介质访问控制层的源MAC地址和12比特位的VLAN ID标识号,作为关键信息,对其进行逻辑运算,学习、查找和比较等操作,提高了环路检测和预防的自适应性和速度,同时不占用网络的带宽,不影响网络上的正常数据业务的传输。
文档编号H04L12/26GK1988476SQ20061012549
公开日2007年6月27日 申请日期2006年12月19日 优先权日2006年12月19日
发明者徐旺生 申请人:武汉烽火网络有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1