CN102420768A - 链路切换方法及装置、数据传输方法及装置、网络设备 - Google Patents
链路切换方法及装置、数据传输方法及装置、网络设备 Download PDFInfo
- Publication number
- CN102420768A CN102420768A CN2011104215668A CN201110421566A CN102420768A CN 102420768 A CN102420768 A CN 102420768A CN 2011104215668 A CN2011104215668 A CN 2011104215668A CN 201110421566 A CN201110421566 A CN 201110421566A CN 102420768 A CN102420768 A CN 102420768A
- Authority
- CN
- China
- Prior art keywords
- port
- floods
- message
- mark
- vlan
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种链路切换方法及装置、数据传输方法及装置、网络设备,其中,数据传输方法包括:根据报文的目的MAC地址、VLAN ID,在MAC地址表中查找到该报文的发送端口的端口号;在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;在该发送端口设置有泛洪标记的情况下,在报文的目的VLAN ID所指的VLAN中广播发送该报文,在该发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。根据本发明实施例,在发送端口设置有泛洪标记的情况下,将报文在报文的目的VLAN内进行广播,能够避免链路切换的过程中发送报文时存在的报文丢失问题。
Description
技术领域
本发明涉及网络通信系统,具体地,涉及一种链路切换方法及装置、数据传输方法及装置、网络设备。
背景技术
网络设备通过解析和学习以太网帧的源媒体访问控制(MAC,MediaAccess Control)地址、虚拟局域网(VLAN,Virtual Local Area Network)标识(ID,Identity)信息来维护MAC地址与端口的对应关系,这种保存MAC、VLAN ID与端口对应关系的表称为地址转发表即MAC表,设备通过以太网数据帧的目的MAC、VLAN ID来查找MAC表决定数据帧向哪个端口转发,基本流程如下:
步骤一、二层交换机收到以太网数据帧,将该数据帧的源MAC、VLAN ID与接收端口的对应关系写入MAC表,作为以后的二层转发依据;
步骤二、如果MAC表中已有相同表项,那么就刷新该表项的老化时间;MAC表表项采取一定的老化更新机制,老化时间内未得到刷新的表项将被删除掉;
步骤三、根据以太网数据帧的目的MAC、VLAN ID去查找MAC表,如果没有找到匹配表项,那么向所有端口转发(接收端口除外);如果目的MAC是广播地址,那么向所有端口转发(接收端口除外);如果能够找到匹配表项,则向表项所示的对应端口转发,但是如果表项所示端口与收到以太网帧的端口相同,则丢弃该帧。
从上述流程可以看出,网络设备通过维护MAC表以及根据目的MAC查表转发,有效地利用了网络带宽,改善了网络性能。
以太网环形链路为以太网交换或者多协议标签交换(MPLS,Multi-ProtocolLabel Switching)提供了除工作链路外的备份链路,当工作链路出现故障后,备份链路将替代原有的工作链路,从而保证业务流转发正常。
以太网环形保护交换的工作原理如图1所示:
在图1中,A,B,C,D四个节点为网络设备,其中A,B,C,D四个节点下面都连接着大量的服务器和用户,为了便于说明,我们只列出了PC1与PC2这两个用户设备,PC1连接至D的端口3,PC1的地址信息中包括MAC1、VLAN10,PC2连接至设备D的端口3,PC2的地址信息中包括MAC2、VLAN10。在图1中,W表示工作链路,P表示备份链路。
从图1中可以看出,四个网络设备构成了环路,节点A的端口2、节点D的端口2之间的链路为工作链路,节点B的端口2、节点C的端口2之间的链路为工作链路,设备A的端口1、B的端口1之间的链路为工作链路,设备C的端口1、D的端口1间的链路为备份链路,节点设备C、D的端口1均被设置为阻塞状态,即不允许转发报文。通过地址学习,在设备D上,会学习到PC2的地址信息为MAC2+PORT2+VLAN10。在设备C上学习到PC1的地址信息为MAC1+PORT2+VLAN10。
在设备运行过程中,协议会测试链路连通性,如:周期性的发送议报文以确认链路状态。假设,节点A,B之间的链路由于光纤问题导致链路断开,如图2所示。
链路检测协议发现在一定周期内的检测报文都丢失、确定A、B间链路断开,就向周边节点通告链路状态变化信息。这样,C与D之间的备份链路将启用为工作链路,而A,B间的链路将变成备份链路,如图2所示。
在链路切换过程中,会存在地址表转发错误,导致报文被丢弃的问题。因为在设备D上存储的PC2的地址信息为MAC2+PORT2+VLAN10。在设备C上存在PC1的地址信息为MAC1+PORT2+VLAN10。这样,在设备C,D上的地址表老化前,从PC1发往PC2的报文通过地址表查到PC2的出口为设备D的PORT2,从PC2发往PC1的报文通过地址表查到PC1的出口为设备C的PORT2。而从PORT2发出的报文将由于无法通过设备A,B间的链路、从而被丢弃掉。这样就导致链路切换后,需要经过一段时间(老化时间通常为3分钟),PC1与PC2之间才能互通。
目前已经有许多技术解决了这一问题,通过MAC FLUSH方式,在链路状态切换时,需要把设备上的对应地址清除,然后重新学习地址。采用这种方式就可以避免需要等待老化时间后,报文才可以正常转发。
但采用MAC FLUSH的机制,同样存在着报文转发错误的问题。由于设备的性能问题(有许多二层设备的CPU都比较低端,处理性能低),设备的地址表清除性能很低,需要数秒至数分钟才能清除所有的地址(比如设备D的PORT1从PORT2学习到了数万条的MAC地址、甚至数十万条的MAC地址)。在这种情况下,在设备D进行地址清除操作、但还未清除掉MAC2+PORT2+VLAN10这条记录的时候,从PC1发往PC2的报文仍然会查找到对应的PC2的出口信息为节点C的PORT2,这样节点C通过PORT2发送报文就会导致报文被丢弃。
从上面分析中,可知现有技术中存在网络通信的节点设备在清除MAC地址的过程中数据报文发送丢失的问题。
发明内容
有鉴于此,本发明实施例提供了一种链路切换方法,相应地本发明实施例还提供了一种数据传输方法,用以解决现有技术中存在的网络通信的节点设备在清除MAC地址的过程中数据报文发送丢失的问题。
相应的,本发明实施例还提供了一种链路切换装置、数据传输装置、网络设备。
本发明实施例技术方案如下:
一种链路切换方法,包括:在接收到链路状态通告后,关闭媒体访问控制MAC地址学习功能;在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记,并对MAC地址表进行清除;在对MAC地址表清除完成后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记,并打开MAC地址学习功能、进行MAC地址学习。
一种链路切换装置,包括:接收模块,用于接收链路状态通告;地址学习控制模块,用于在接受模块接收到链路状态通告后,关闭媒体访问控制MAC地址学习功能;端口设置模块,用于在地址学习控制模块关闭MAC地址学习功能后,在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记;地址清除模块,用于在端口设置模块对端口设置泛洪标记后,对MAC地址表进行清除;端口设置模块,还用于在地址清除模块对MAC地址表清除完后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记;地址学习控制模块,还用于在端口设置模块对端口清除泛洪标记后,打开MAC地址学习功能;地址学习模块,在地址学习控制模块打开MAC地址学习功能后,进行MAC地址学习。
一种网络设备,包括如上所述的链路切换装置。
一种数据传输方法,包括:根据报文的目的媒体访问控制MAC地址,在MAC地址表中查找到该报文的发送端口的端口号;在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;在该发送端口设置有泛洪标记的情况下,在报文的目的虚拟局域网的标识VLAN ID所指的VLAN中广播发送该报文,在该发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
一种数据传输装置,包括:查找模块,用于根据报文的目的媒体访问控制MAC地址,在MAC地址表中查找到该报文的发送端口的端口号;查询模块,用于在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;发送模块,用于在查询模块查询到发送端口设置有泛洪标记的情况下,在目的虚拟局域网的标识VLAN ID所指的VLAN中广播发送该报文;在查询模块查询到发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
一种网络设备,包括:如上所述的数据传输装置。
一种网络设备,包括:如上所述的链路切换装置和数据传输装置。
本发明实施例通过对收到链路状态通告的端口设置泛洪标记,在查找到报文的发送端口后,查询该端口是否设置有泛洪标记,在设置有泛洪标记的情况下,将报文在报文的目的VLAN内进行广播,从而能够避免链路切换、清除MAC地址的过程中发送报文时,按照查找到的链路切换之前的端口来发送报文、而导致的数据报文发送丢失的问题,能够解决现有技术中存在的网络通信的节点设备在清除MAC地址的过程中数据报文发送丢失的问题,能够提高报文发送的成功率、提高数据传输效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为现有技术中以太网环形保护交换的工作原理示意框图;
图2为现有技术中以太网环链路切换的示意图;
图3为本发明实施例提供的链路切换方法的工作流程图;
图4为本发明实施例提供的链路切换装置的结构框图;
图5为本发明实施例提供的数据传输方法的工作流程图;
图6为本发明实施例提供的数据传输装置的结构框图;
图7a为本发明实施例具体应用的场景示意图;
图7b为本发明实施例具体应用中MAC FLOOD表的结构示意图;
图8为本发明实施例提供的链路切换方法具体应用的工作流程图;
图9为本发明实施例提供的数据传输方法具体应用的工作流程图。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
针对现有技术中,网络通信的节点设备在清除MAC地址的过程中数据报文发送丢失的问题,本发明实施例提出了一种链路切换的方案、一种数据传输的方案,用以解决该问题。
本发明实施例首先提供了一种链路切换的方法,图3示出了该方法的工作流程图,如图3所示,该方法包括如下处理过程:
步骤31、在收到链路状态通告后,关闭MAC地址学习功能;
步骤32、在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记;
步骤33、对MAC地址表进行清除;
步骤34、在对MAC地址表清除完成后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记;
步骤35、打开MAC地址学习功能;
步骤36、进行地址学习。
通过上述处理过程,在链路切换、进行MAC FLUSH操作的过程中,对接收到链路状态通告的端口设置泛洪标记,有助于在清除MAC地址的过程中发送报文时,根据对端口设置的泛洪标记来对报文进行广播发送,能够避免在清除MAC地址的过程中、根据失效的MAC地址表查找到链路切换之前的发送端口、即接收到链路状态通告的端口,并使用该端口发送报文、导致报文丢失的问题。并且,在清除MAC地址完成后,将收到链路状态通告的端口的泛洪标记取消、并且进行地址学习,有助于在正常的链路状态下,根据有效的MAC地址表信息来发送报文。
一种优选的方式,可以通过下面的处理过程实现如图3所示的方法。
步骤一、根据虚拟局域网的标识(VLAN ID)、端口号,预先建立包括VLANID、端口号的二维关系表、即端口泛洪表;
步骤二、接收到链路状态通告后,即接收到MAC FLUSH通告后,关闭MAC地址学习功能;
步骤三、在预先建立的端口泛洪表中,在与接收到链路状态通告的端口所属的VLAN ID、该端口的端口号相对应的位置,设置泛洪标记;
步骤四、对MAC地址表进行清除;
步骤五、对MAC地址表清除完成后,在预先建立的端口泛洪表中,在与接收到链路状态通告的端口所属的VLAN ID、该端口的端口号相对应的位置,清除泛洪标记;
步骤六、打开MAC地址学习功能、进行MAC地址学习。
通过上述处理,能够解决现有技术中在清除MAC地址的过程中根据实效的地址信息发送报文、导致报文丢失的问题,从而能够提高数据传输的效率。
本发明实施例还提供了一种作为端口泛洪表的二维关系表,在每一个节点设备中都设置并保存该表。该端口泛洪表以目的VLAN ID为第一级索引,端口号为第二级索引,在表中与VLAN ID和端口号对应的位置中记录的内容表示:是否需要对通过第二级索引端口号所指示的端口发送的报文在第一级索引VLAN ID所指示的VLAN中进行广播发送。该端口泛洪表在链路切换的过程中被各个节点设备设置、维护,该端口泛洪表为二维关系表,对该表进行设置的操作耗时少、操作效率高、不占用系统资源,不会因为设置维护该表而导致系统效率的下降。
为实现上述功能,本发明实施例这里的链路切换方法可以通过硬件实现,也可以通过下述软件程序实现。
图4示出了根据本发明实施例的链路切换装置的结构示意图,如图4所示,该装置包括:
接收模块41,用于接收链路状态通告;
地址学习控制模块42,连接至接收模块41,用于在接收模块41接收到所述链路状态通告后,关闭MAC地址学习功能;
端口设置模块43,连接至地址学习控制模块42,用于在地址学习控制模块42关闭MAC地址学习功能后,在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记;
一种优选的方式,该装置还包括:建立模块,用于预先建立包括VLAN ID、端口号的二维关系表,将建立的二维关系表作为端口泛洪表;
一种优选的方式,端口设置模块43在建立模块预先建立的端口泛洪表中,在与收到链路状态通告的端口所属的VLAN ID、该端口的端口号相对应的位置,设置泛洪标记;
地址清除模块44,连接至端口设置模块43,用于在端口设置模块43对端口进行设置后,对MAC地址表进行清除;
端口设置模块43,还用于在地址清除模块44对MAC地址表清除完后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记;一种优选的方式,端口设置模块43在建立模块预先建立的端口泛洪表中,在与收到链路状态通告的端口所属的VLAN ID、该端口的端口号相对应的位置,清除泛洪标记;
地址学习控制模块42,还用于在端口设置模块43对端口清除泛洪标记后,打开MAC地址学习功能;
地址学习模块45,连接至地址学习控制模块42,在地址学习控制模块42打开MAC地址学习功能后,进行MAC地址学习。
图4所示装置的工作原理如图3所示,这里不在赘述。
一种优选的方式,图4所示的装置可以位于网络设备中,具体地,还可以位于网络设备的桥转发模块中。
通过图4所示的装置,也能够解决现有技术中在清除地址的过程中根据实效的地址信息发送报文、导致报文丢失的问题,从而能够提高数据传输的效率。
本发明实施例在图3所示的链路切换方法的基础上,还提供了一种基于图3所示的链路切换方法的数据传输方法,图5示出了本发明实施例提供的数据传输方法的工作流程图,如图5所示,该方法包括如下处理过程:
步骤51、根据报文的目的MAC地址、目的VLAN ID,在MAC地址表中查找到该报文的发送端口的端口号;
步骤52、在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;
步骤53、在该发送端口设置有泛洪标记的情况下,在目的VLAN ID所指的VLAN中广播发送该报文,在该发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
根据图5所示的处理流程,在查找到报文的发送端口后,查询该发送端口是否设置有泛洪标记,在设置有泛洪标记的情况下,将该报文在目的VLAN中进行广播,这样,在进行链路切换、进行MAC FLUSH操作的过程中,就不会因为根据失效的MAC地址表查找到链路切换之前使用的端口,并使用该端口发送报文、而导致报文丢失;并且,在发送端口没有设置泛洪标记的情况下,能够根据查找到的有效的端口信息来发送报文;从而在链路切换或者链路正常工作的情况下都能够有效地发送报文,能够解决现有技术中的在清除MAC地址的过程中数据报文发送丢失的问题。
一种优选的方式,可以通过如下的步骤实现图5所示的方法,该方法包括如下的处理过程:
步骤一、预先建立包括VLAN ID、端口号的二维关系表,将建立的二维关系表作为端口泛洪表;
步骤二、并根据报文的目的MAC、VLAN ID查找到对报文进行发送的端口的端口号;
步骤三、根据查找到的报文的端口号、报文的目的VLAN ID,在端口泛洪表中的对应位置,查找该端口是否设置了泛洪标记;
步骤四、在该端口设置了泛洪标记的情况下,在目的VLAN中对该报文进行广播发送,在该端口没有设置泛洪标记的情况下,使用该端口发送报文。
通过上述处理,发送报文时,在查找到转发报文的发送端口后,在预先建立的端口泛洪表中查询该发送端口是否被设置了泛洪标记(该端口泛洪表中记录的内容表示:是否需要对通过端口发送的报文进行广播发送),如果发送端口设置了泛洪标记,就将该报文在目的VLAN中进行广播,从而能够避免链路切换过程中的报文丢失问题。本发明实施例提供的端口泛洪表是二维关系表,对该表进行查找的操作为线性查找,不会因为端口泛洪表中数据量的增大而导致查找操作的效率下降,查找操作的性能能够保持在大致均衡的水平上,并且该查找操作耗时少、操作效率高,不会增加系统的负担。
为实现上述功能,本发明实施例这里的数据传输方法可以通过硬件实现,也可以通过下述软件程序实现。
图6示出了本发明实施例提供的数据传输装置的结构示意图,如图6所示,该装置包括:
查找模块61,用于根据报文的目的MAC地址、目的VLAN ID,在MAC地址表中查找到该报文的发送端口的端口号;
查询模块62,连接至查找模块61,用于在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;
发送模块63,连接至查询模块62,用于在查询模块查询到发送端口设置有泛洪标记的情况下,在目的VLAN ID所指的VLAN中广播该报文;在查询模块62查询到发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
图6所示的装置的工作原理如图5所示,这里不再赘述。
一种优选的方式,图6所示的装置可以位于网络设备中,具体地,还可以位于网络设备的桥转发模块中。
通过图6所示的装置,在查找到转发报文的发送端口后,在预先建立的端口泛洪表中查询该发送端口是否被设置了泛洪标记,如果发送端口设置了泛洪标记,就将该报文在目的VLAN中进行广播,从而能够避免链路切换过程中的报文丢失问题。
本发明实施例还提供了一种网络设备,该网络设备包括如图4所示的链路切换装置,用于对链路切换进行处理,工作原理如图3所示。
本发明实施例还提供了一种网络设备,该网络设备包括如图6所示的数据传输装置,用于对数据传输进行处理,工作原理如图5所示。
本发明实施例还提供了一种网络设备,该网络设备包括如图4所示的的链路切换装置和如图6所示的数据传输装置,用于在链路切换装置对链路切换进行处理后、通过数据传输装置对数据传输进行处理,链路切换的原理如图3所示,数据传输的原理如图5所示。
下面对本发明实施例具体应用的场景进行说明。
图7a示出了本发明实施例具体应用的场景,在该场景中,节点设备A、B、C、D以及连接节点A、B、C、D的链路构成环路,节点A的端口2、节点D的端口2之间的链路为工作链路,节点B的端口2、节点C的端口2之间的链路为工作链路,节点A的端口1、节点B的端口1之间的工作链路由于故障切换为备用链路、节点C的端口1、节点D的端口1之间的备份链路切换为工作链路。节点C通过端口3连接用户设备PC2,节点D通过端口3连接用户设备PC1,在链路切换前PC1的地址信息为MAC1+PORT2+VLAN10,PC2的地址信息为MAC2+PORT2+VLAN10。在图7a中,W表示工作链路,P表示备份链路。
由于在虚拟局域网中,二层交换机进行数据报文传输时,是根据报文的目的MAC地址、目的VLAN ID来查找MAC表,决定将报文从哪个端口转发的,本发明实施例首先建立一个由VLAN ID和端口号(PORT)构成的二维关系表——MAC FLOOD表(即端口泛洪表),该端口泛洪表中记录的内容表示:是否需要对通过端口(即端口号所指的端口)发送的报文在VLAN(即VLAN ID所指的VLAN)内进行广播处理,表中的内容FLOOD_FLAG用于标记端口是否需要对通过该端口发送的报文进行广播发送,FLOOD_FLAG=1时表示对通过该端口发送的报文进行广播发送,FLOOD_FLAG=0时表示不对通过该端口发送的报文进行广播发送。MAC FLOOD表的结构如图7b所示,该表的数据结构采用二维数组存储,第一级索引(Primary Index)为VLAN ID,第二级索引(Secondary Index)为端口号PORT,通常我们使用的有效VLAN ID为1~4094,所以第一级索引为Index:1~4094,而对于网络设备而言,端口数目是不定的(Index:1~N),所以PORT索引范围要根据具体的设备而定。
在本发明实施例的应用场景中,节点A、B间的工作链路由于故障切换为备用链路,图8示出了进行链路切换的处理:
步骤81、节点设备C、D的端口2均接收到MAC FLUSH通告;
步骤82、节点设备C、D关闭各自设备上的MAC地址学习功能;
步骤83、节点设备C、D分别在各自的MAC_FLOOD表中,对收到MACFLUSH通告的端口2设置泛洪标记,即设置FLOOD_FLAG=1。
步骤84、节点设备C、D分别对各自的MAC地址表进行清除;
步骤85、节点设备C、D分别对MAC地址表清除完成后,在MAC_FLOOD表中,对收到MAC FLUSH通告的端口2清除泛洪标记,即设置FLOOD_FLAG=0;
步骤86、节点设备C、D分别打开该节点设备上端口的MAC地址学习能力、进行MAC地址学习。
在进行了如图8所述的处理的过程中,节点设备C、D的端口2收到MACFLUSH通告后,分别对端口2在MAC_FLOOD表中设置泛洪标记FLOOD_FLAG=1,并进行MAC地址清除,在MAC地址清除的过程中,节点C下的PC2要向节点D下的PC1发送数据报文,且节点C对MAC地址清除的操作未进行到清除PC1的地址信息,在这种情况下,本发明实施例采用如图9所示的方法进行数据传输。如图9所示,该处理包括如下步骤:
步骤91、节点设备C判断要发送的报文的VLAN ID是否有效,如果有效,处理进行到步骤93,否则处理进行到步骤92;
步骤92、节点设备C丢弃该报文,处理结束;
步骤93、节点设备C根据报文的源MAC和VLAN ID、在MAC地址表中查找是否有该报文的表项,如果有该表项,处理进行到步骤95,否则,处理进行到步骤94;
步骤94,对报文进行泛洪处理;
步骤95,节点设备C根据报文的目的MAC和目的VLAN ID为MAC1+VLAN10、在MAC表中查找到发送该报文的端口的端口号2;
步骤96,节点设备C根据查找到的端口号PORT=2和查找到的该端口2的目的VLAN ID=VLAN10,在MAC FLOOD表中查询端口2是否设置有泛洪标记,即在节点设备C中的MAC FLOOD表中查询端口2的FLOOD_FLAG是否为1(根据如图8所示的处理过程,节点C的端口2已经设置了泛洪标记FLOOD_FLAG=1),在FLOOD_FLAG=1的情况下,处理进行到步骤98,否则,处理进行到步骤97;
步骤97、节点设备C按照查找的端口2发送报文,处理结束。
步骤98、节点设备C将报文在报文的目的VLAN(即VLAN10)内广播发送,即对报文进行泛洪处理——将报文发给目的VLAN10中的每一个节点设备A、B、D,节点D接收到报文后将报文发送给PC1,处理结束。
根据如图9所示的处理过程,在查询到发送端口设置了泛洪标记的情况下,将报文在目的VLAN内泛洪,就能够避免报文丢失,从而能够解决现有技术中在MAC地址清除的过程中、报文发送丢失的问题。
此外,根据如图8所示的处理过程,在链路切换完成、链路正常的情况下,节点设备学习到了有效的地址信息后,根据如图9所示的处理过程,能够根据有效的地址信息、根据查找到的端口来发送报文。从而能够保证数据报文通过正确的路由、有效地发送到目的地址。并且,如上所示,查找MAC FLOOD表的操作并不增加系统负担、不会降低节点设备的处理效率。
相比于现有技术,本发明实施例提供的技术方案在不提升现有设备的性能、不降低MAC地址表容量的情况下,在链路切换的过程中对端口设置泛洪标记,在链路切换完完成后对端口清除泛洪标记,能够使在链路切换过程中发送的数据根据端口是否设置有泛洪标记来进行发送,在查找到无效的地址信息、端口已经设置了泛洪标记时,将数据进行广播发送,在查找到有效的地址信息、端口已经清除了泛洪标记时,将数据按照有效的地址信息进行发送,从而能够解决现有技术中在清除地址的过程中根据实效的地址信息发送报文、导致报文丢失的问题,能够提高数据传输的效率。
并且,本发明实施例提供的端口泛洪表是二维关系表,对该表进行查找的操作为线性查找,不会因为端口泛洪表中数据量的增大而导致查找操作的效率下降,查找操作的性能能够保持在大致均衡的水平上,并且该查找操作耗时少、操作效率高,不会增加系统的负担。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种链路切换方法,其特征在于,包括:
在接收到链路状态通告后,关闭媒体访问控制MAC地址学习功能;
在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记,并对MAC地址表进行清除;
在对所述MAC地址表清除完成后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记,并打开MAC地址学习功能、进行MAC地址学习。
2.根据权利要求1所述的方法,其特征在于,所述端口泛洪表包括虚拟局域网的标识、端口号的二维关系表;
对收到链路状态通告的端口设置泛洪标记,包括:
在预先建立的端口泛洪表中,在与收到链路状态通告的端口所属的虚拟局域网的标识、该端口的端口号相对应的位置,设置泛洪标记;
对收到链路状态通告的端口清除泛洪标记,包括:
在预先建立的端口泛洪表中,在与收到链路状态通告的端口所属的虚拟局域网的标识、该端口的端口号相对应的位置,取消泛洪标记。
3.一种链路切换装置,其特征在于,包括:
接收模块,用于接收链路状态通告;
地址学习控制模块,用于在所述接收模块接收到所述链路状态通告后,关闭媒体访问控制MAC地址学习功能;
端口设置模块,用于在所述地址学习控制模块关闭MAC地址学习功能后,在预先建立的端口泛洪表中,对收到链路状态通告的端口设置泛洪标记;
地址清除模块,用于在所述端口设置模块对所述端口设置泛洪标记后,对MAC地址表进行清除;
所述端口设置模块,还用于在所述地址清除模块对MAC地址表清除完后,在预先建立的端口泛洪表中,对收到链路状态通告的端口清除泛洪标记;
所述地址学习控制模块,还用于在所述端口设置模块对所述端口清除泛洪标记后,打开所述MAC地址学习功能;
地址学习模块,在所述地址学习控制模块打开所述MAC地址学习功能后,进行MAC地址学习。
4.根据权利要求3所述的装置,其特征在于,所述端口泛洪表包括虚拟局域网的标识、端口号的二维关系表;
所述端口设置模块,具体用于:
在所述地址学习控制模块关闭MAC地址学习功能后,对于收到链路状态通告的端口,在所述建立模块预先建立的端口泛洪表中,在与该端口所属的VLAN ID、该端口的端口号相对应的位置,设置泛洪标记;
在所述地址清除模块对MAC地址表清除完后,对于收到链路状态通告的端口,在所述建立模块预先建立的端口泛洪表中,在与该端口所属的VLAN ID、该端口的端口号相对应的位置,清除泛洪标记。
5.一种网络设备,其特征在于,包括如权利要求3至4中任一项所述的链路切换装置。
6.一种数据传输方法,其特征在于,包括:
根据报文的目的媒体访问控制MAC地址,在MAC地址表中查找到该报文的发送端口的端口号;
在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;
在该发送端口设置有泛洪标记的情况下,在所述报文的目的虚拟局域网的标识VLAN ID所指的VLAN中广播发送该报文,在该发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
7.根据权利要求6所述的方法,其特征在于,所述端口泛洪表包括虚拟局域网的标识、端口号的二维关系表;
查询该发送端口是否设置有泛洪标记,包括:
根据查找到的发送端口的端口号、所述报文的目的VLAN ID,在端口泛洪表中对应的位置,查询该发送端口是否设置有泛洪标记。
8.一种数据传输装置,其特征在于,包括:
查找模块,用于根据报文的目的媒体访问控制MAC地址,在MAC地址表中查找到该报文的发送端口的端口号;
查询模块,用于在预先建立的端口泛洪表中、查询该发送端口是否设置有泛洪标记;
发送模块,用于在所述查询模块查询到所述发送端口设置有泛洪标记的情况下,在所述目的虚拟局域网的标识VLAN ID所指的VLAN中广播发送该报文;在所述查询模块查询到所述发送端口没有设置泛洪标记的情况下,按照查找到的发送端口发送该报文。
9.根据权利要求8所述的装置,其特征在于,所述端口泛洪表包括虚拟局域网的标识、端口号的二维关系表;
所述查询模块,具体用于根据查找到的发送端口的端口号、所述报文的目的VLAN ID,在端口泛洪表中对应的位置,查询该发送端口是否设置有泛洪标记。
10.一种网络设备,其特征在于,包括如权利要求8至9中任一项所述的数据传输装置。
11.一种网络设备,其特征在于,包括:如权利要求3至4中任一项所述的链路切换装置;和
如权利要求8至9中任一项所述的数据传输装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104215668A CN102420768A (zh) | 2011-12-15 | 2011-12-15 | 链路切换方法及装置、数据传输方法及装置、网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104215668A CN102420768A (zh) | 2011-12-15 | 2011-12-15 | 链路切换方法及装置、数据传输方法及装置、网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102420768A true CN102420768A (zh) | 2012-04-18 |
Family
ID=45945008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104215668A Pending CN102420768A (zh) | 2011-12-15 | 2011-12-15 | 链路切换方法及装置、数据传输方法及装置、网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420768A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426771A (zh) * | 2013-09-09 | 2015-03-18 | 华为技术有限公司 | 一种报文转发的方法及装置 |
CN105141554A (zh) * | 2015-06-15 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种多交换芯片交换机mac同步的自动化测试方法 |
CN106230641A (zh) * | 2016-08-31 | 2016-12-14 | 武汉信达易通科技有限公司 | 一种自动切换线路的无线传输系统及方法 |
CN108234301A (zh) * | 2016-12-15 | 2018-06-29 | 中兴通讯股份有限公司 | 一种数据链路切换方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035048A (zh) * | 2007-04-10 | 2007-09-12 | 中兴通讯股份有限公司 | 一种不受mac地址删除效率影响的环路快速切换的方法 |
WO2009003394A1 (fr) * | 2007-06-29 | 2009-01-08 | Huawei Technologies Co., Ltd. | Procédé d'étude d'adresse mac et élément de réseau |
CN101783769A (zh) * | 2010-03-16 | 2010-07-21 | 杭州华三通信技术有限公司 | 链路故障时报文转发的方法和设备 |
-
2011
- 2011-12-15 CN CN2011104215668A patent/CN102420768A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035048A (zh) * | 2007-04-10 | 2007-09-12 | 中兴通讯股份有限公司 | 一种不受mac地址删除效率影响的环路快速切换的方法 |
WO2009003394A1 (fr) * | 2007-06-29 | 2009-01-08 | Huawei Technologies Co., Ltd. | Procédé d'étude d'adresse mac et élément de réseau |
CN101783769A (zh) * | 2010-03-16 | 2010-07-21 | 杭州华三通信技术有限公司 | 链路故障时报文转发的方法和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426771A (zh) * | 2013-09-09 | 2015-03-18 | 华为技术有限公司 | 一种报文转发的方法及装置 |
CN105141554A (zh) * | 2015-06-15 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种多交换芯片交换机mac同步的自动化测试方法 |
CN105141554B (zh) * | 2015-06-15 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 一种多交换芯片交换机mac同步的自动化测试方法 |
CN106230641A (zh) * | 2016-08-31 | 2016-12-14 | 武汉信达易通科技有限公司 | 一种自动切换线路的无线传输系统及方法 |
CN106230641B (zh) * | 2016-08-31 | 2019-05-14 | 武汉信达易通科技有限公司 | 一种自动切换线路的无线传输系统及方法 |
CN108234301A (zh) * | 2016-12-15 | 2018-06-29 | 中兴通讯股份有限公司 | 一种数据链路切换方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101707537B (zh) | 故障链路定位方法、告警根因分析方法及设备、系统 | |
CN102333028B (zh) | 一种分层式二层虚拟专用网发送报文的方法及通信设备 | |
CN101610182B (zh) | 堆叠中多主用设备冲突检测方法及堆叠成员设备 | |
CN101820397B (zh) | 虚拟专用局域网网络收敛的方法及设备 | |
US8489913B2 (en) | Network system and network relay apparatus | |
CN100512148C (zh) | 基于vpls双归属的全连接网络的收敛方法和装置 | |
CN107547243B (zh) | 一种报文转发方法及装置 | |
CN104980349A (zh) | 中继系统以及交换机装置 | |
US20100085982A1 (en) | Optimized Synchronization of Mac Address Tables in Network Interconnection Apparatuses | |
CN102420768A (zh) | 链路切换方法及装置、数据传输方法及装置、网络设备 | |
CN102209035B (zh) | 流量转发方法及转发设备 | |
CN101299723B (zh) | 标签交换路径隧道信息管理方法及装置 | |
EP3170289A1 (en) | Mac table sync scheme with multiple pipelines | |
CN105049373A (zh) | 基于aps的mlag切换保护方法 | |
CN102316014A (zh) | 分层虚拟专用局域网服务环境下的负载分担方法及路由器 | |
CN102546855A (zh) | Vpls网络中mac地址回收方法及pe设备 | |
CN102413052B (zh) | 一种接入网络的方法、装置及系统 | |
US11050655B2 (en) | Route information distribution through cloud controller | |
CN101795238B (zh) | 网络负载平衡的组网方法、设备及系统 | |
CN103457756A (zh) | 一种环路路径检测方法、装置及系统 | |
CN103001872B (zh) | 一种标签分配方法及聚合设备 | |
WO2016177181A1 (zh) | 一种数据传输方法及装置 | |
CN101547147A (zh) | 一种报文处理方法、装置、线卡和管理板 | |
CN101729361A (zh) | 报文处理的方法和装置 | |
CN100596087C (zh) | Ftn匹配管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120418 |