CN102801562A - 传输链路切换方法、装置及网络设备 - Google Patents
传输链路切换方法、装置及网络设备 Download PDFInfo
- Publication number
- CN102801562A CN102801562A CN2012102855132A CN201210285513A CN102801562A CN 102801562 A CN102801562 A CN 102801562A CN 2012102855132 A CN2012102855132 A CN 2012102855132A CN 201210285513 A CN201210285513 A CN 201210285513A CN 102801562 A CN102801562 A CN 102801562A
- Authority
- CN
- China
- Prior art keywords
- port
- link
- message
- layers
- equipment
- 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
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种传输链路切换方法、装置及网络设备。方法包括:当检测到第一链路故障时,将第一链路对应的三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除二层转发表项;当接收到第一设备发送给第二设备的第一报文时,根据三层转发表项向第二端口发送并接收第一报文,然后在与第二端口位于同一网段的除第二端口之外的其他所有端口上发送第一报文;当接收到第二设备发送的第一设备的第二报文时,根据第二报文的第三端口,将三层转发表项中的出端口由第二端口修改为第三端口,以将传输链路由第一链路切换为第三端口所在的第二链路。本发明技术方案提高了链路切换速度。
Description
技术领域
本发明涉及通信技术,尤其涉及一种传输链路切换方法、装置及网络设备。
背景技术
当一台设备经过三层转发设备访问另一台设备时,由于三层转发设备上多个端口可能共享同一网际协议(Internet Protocol,简称为IP)地址,所以在该台设备和另一台设备之间可能存在两条或两条以上链路。在两条或两条以上的链路中,仅有一条链路是活动链路,在三层转发过程中进行数据流的转发,其他链路作为备用链路,当活动链路出现故障时,其他链路中会有一条链路由备用状态变为活动状态,以便继续对数据流进行三层转发。
上述三层转发过程中,当三层转发设备检测到主链路断掉后,会定期主动在所有端口上向外广播其他协议,例如地址解析协议(Address ResolutionProtocol,简称为ARP)的请求报文,对端收到其他协议的请求报文后会返回应答报文,该三层转发设备根据接收应答报文的端口修改三层转发表项,后续收到的报文通过修改后的三层转发表项进行转发,实现链路切换。但是,该切换方法发包间隔的长短、以及对端响应时间的长短等因素的影响,切换速度较慢。
发明内容
本发明提供一种传输链路切换方法、装置及网络设备,用以提高链路切换速度。
本发明一方面提供一种传输链路切换方法,包括:
当检测到第一链路故障时,三层转发设备将所述第一链路对应的三层转发表项中的出端口由第一端口修改为与所述第一端口位于同一网段的第二端口,设置所述第二端口的属性为反射口,并删除所述第一链路对应的二层转发表项;其中,所述第一链路为从第一设备到第二设备的至少两条链路中的一条链路;
当接收到所述第一设备发送给所述第二设备的第一报文时,所述三层转发设备根据所述三层转发表项向所述第二端口发送所述第一报文,并从所述第二端口接收所述第一报文,然后在与所述第二端口位于同一网段的除所述第二端口之外的其他所有端口上发送所述第一报文;其中,所述第一设备和所述第二设备位于不同的网段;
当接收到所述第二设备返回给所述第一设备的第二报文时,所述三层转发设备根据接收到所述第二报文的第三端口,将所述三层转发表项中的出端口由所述第二端口修改为所述第三端口,以将传输链路由所述第一链路切换为所述第三端口所在的第二链路。
本发明另一方面提供一种传输链路切换装置,包括:
表项处理模块,用于在检测到第一链路故障时,将所述第一链路对应的三层转发表项中的出端口由第一端口修改为与所述第一端口位于同一网段的第二端口,设置所述第二端口的属性为反射口,并删除所述第一链路对应的二层转发表项;其中,所述第一链路为从第一设备到第二设备的至少两条链路中的一条链路;
报文处理模块,用于在接收到所述第一设备发送给所述第二设备的第一报文时,根据所述三层转发表项向所述第二端口发送所述第一报文,并从所述第二端口接收所述第一报文,然后在与所述第二端口位于同一网段的除所述第二端口之外的其他所有端口上发送所述第一报文;
切换处理模块,用于在接收到所述第二设备返回给所述第一设备的第二报文时,根据接收到所述第二报文的第三端口,将所述三层转发表项中的出端口由所述第二端口修改为所述第三端口,以将传输链路由所述第一链路切换为所述第三端口所在的第二链路。
本发明又一方面提供一种网络设备,包括:本发明另一方面提供的任一传输链路切换装置。
本发明提供的传输链路切换方法、装置及网络设备,在检测到从第一设备到第二设备的至少两条链路中的第一链路故障时,将三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除对应的二层转发表项,这样后续接收到第一设备发送给不在同一网段的第二设备的报文时查找三层转发表项,会通过第二端口进行发送,由于第二端口为反射口,该报文会被反射回来,进而对该报文进行二层转发,由于二层转发表已经被删除,根据二层转发的特性,需要在与接收到该报文的第二端口位于同一网段中除第二端口之外的其他端口上广播该报文,当在收到第二设备返回给第一设备的报文时,将三层转发表中的出端口由第二端口修改为接收应答报文的端口,这样后续报文就会通过该端口发送出去,实现了传输链路从第一链路到第二链路的切换,这个过程中不需要向外发送其他协议的请求报文,不受发包间隔以及对端响应时间长短的影响,而是利用二层转发在找不到二层转发表项时会向除接收到报文的端口之外的其他同网段端口进行广播的特性,充分利用二层转发过程中快速发现故障并启动备用链路的优势,在三层转发层面快速完成链路切换,提高了链路切换的速度。
附图说明
图1为本发明一实施例提供的一台设备经过其他网段的三层转发设备访问另一台设备的应用场景的示意图;
图2为本发明一实施例提供的传输链路切换方法的流程图;
图3为本发明另一实施例提供的传输链路切换方法的流程图;
图4为本发明一实施例提供的传输链路切换装置的结构示意图。
具体实施方式
图1所示为一台设备经过三层转发设备访问另一网段的另一台设备的一种应用场景。在图1中,个人计算机(Personal Computer,简称为PC)11与三层转发设备12上的端口1属于1.1.1.0/24网段,服务器14和三层转发设备13上的端口6属于3.3.3.0/24网段,三层转发设备12上的端口2和端口3以及三层转发设备13上的端口4和端口5属于2.2.2.0/24网段。PC11访问服务器14属于跨网段访问。PC11访问服务器14有2条链路:一条是由端口2和端口4形成的链路,一条是由端口3和端口5形成的链路。
在实际使用过程中,两条链路中仅有一条链路处于活动状态,假设由端口2和端口4形成的链路处于活动状态,而由端口3和端口5形成的链路作为备用链路,则端口5会被临时关闭。则PC11发送给服务器14的报文首先到达三层转发设备12的端口1,然后根据三层转发表项进行处理后,通过端口2发送给三层转发设备13的端口4,三层转发设备13从其端口6将报文发送给服务器14。在该过程中,如果端口4发生故障,意味着由端口2和端口4形成的链路故障,则三层转发设备12会检测到该故障,并会进行链路切换。现有技术中,三层转发设备12会启动一个程序,定期主动在所有与三层转发设备13连接的端口上向三层转发设备13广播某种协议的请求报文(例如ARP请求报文)。刚开始时,三层转发设备13可能收不到这个请求报文,因为端口4因故障处于关闭状态,而端口5因处于备用状态也处于关闭状态。三层转发设备13通过快速以太网环路保护协议(Rapid Ethernet RingProtection Protocol,简称为RERP)这类协议检测到主链路断掉后,会主动打开备用链路,即端口5会被打开。当端口5被打开后,三层转发设备13会收到三层转发设备12发送的请求报文,并会向三层转发设备12返回应答报文。三层转发设备12收到该应答报文后,根据接收该应答报文的端口(即端口3)修改三层转发表项,后续三层转发设备12接收到的报文会从端口3发送给三层转发设备13的端口5,再由三层转发设备13从其端口6将报文发送给服务器14。
在上述过程中,如果三层转发设备12广播请求报文的时间间隔过长,收到应答报文的时间就会越晚,导致链路切换过程较长;另外,由于三层转发设备12和三层转发设备13之间的协议报文是由各设备的CPU处理的,如果广播请求报文的时间间隔过短,三层转发设备12的CPU的负荷就会过重,如果三层转发设备13的CPU负担较重时,三层转发设备13返回应答报文的时间延迟较大,可见三层转发设备13的响应时间也会影响三层转发设备12的收到应答报文的时间,可见减小广播请求报文的时间间隔,不一定可以缩短链路切换过程。由此可见,现有链路切换过程因受各种因素的影响,切换过程较长,切换速度较慢。
为解决上述问题,本发明一实施例提供了一种传输链路切换方法。如图2所示,本实施例的方法包括:
步骤201、当检测到第一链路故障时,三层转发设备将第一链路对应的三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除第一链路对应的二层转发表项。
本实施例的执行主体可以是三层转发设备,该三层转发设备可以是任何同时具有二层转发和三层路由功能的设备,例如三层交换机。
在本实施例中,第一设备跨网段访问第二设备,即第一设备和第二设备位于不同网段中,而三层转发设备属于第一设备和第二设备所跨网段中的转发设备。在此说明,第一设备可以经过一台,或者两台或两台以上的三层转发设备与第二设备进行交互,每台三层转发设备的操作相类似,故本实施例仅以一台三层转发设备为例说明三层转发设备的操作。该三层转发设备上至少有两个端口处于同一网段,使用相同的IP地址,另外,在与该三层转发设备连接的下游设备也至少具有两个端口,与该三层转发设备上的至少两个端口一一对应,从而形成第一设备访问第二设备可用的至少两条链路。上述下游设备可以是三层转发设备,也可以是二层转发设备。该相邻两台设备之间的每个端口对以及该2端口之间的线缆构成一条链路。在至少两条链路中,一条链路处于活动状态,为活动链路作为数据流的传输链路。在本实施例中,当前处于活动状态的负责传输数据流的传输链路为第一链路。对第一设备和第二设备不做限定,可以是PC和服务器等。也就是说,第一链路是从第一设备到第二设备的至少两条链路中的一条链路。
三层转发设备会检测第一链路的状态,可以判断第一链路是否发生故障。例如,三层转发设备可以根据硬件电气特性,判断第一链路上的线缆是否发生故障,从而感知第一链路是否发生故障。又例如,三层转发设备可以判断是否在一定时间内不能收到对端周期发送的协议报文,例如RERP协议报文(该协议报文的周期属于毫秒级)或者生成树(Spanning Tree Protocol,简称为STP)协议报文(该协议报文的周期属于秒级),如果未在一定时间内接收到对端发送的协议报文,则可以判定第一链路发生故障。其中,第一链路故障可以是第一链路两端的端口发生故障而关闭或者第一链路上的线缆发生故障,但不限于此。
当检测到第一链路故障时,三层转发设备将第一链路对应的三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口。其中,第一端口和第二端口都是三层转发设备上的端口,并且两者属于同一网段,更为具体的,两者使用相同的IP地址。第一端口是第一链路上的端口,也是第一链路对应的三层转发表项中的出端口,由于第一链路故障,如果再将报文从第一端口发送出去,则报文不会成功到达对端设备,所以需要修改三层转发表项的出端口。在本实施例中,三层转发设备将该三层转发表项的出端口修改为第二端口,并设置第二端口的属性为反射口,反射口意味着从该口发送的报文会被反射回来,重新进入交换芯片,这样可以将报文的转发性质由三层转发变为二层转发。举例说明,三层转发设备会接收第一设备发送给第二设备的报文,该报文的源MAC地址为发送端的MAC地址,目标MAC地址为三层转发设备的MAC地址,源IP地址为发送端的发送端口的IP地址,目标IP地址为第二设备的IP地址;在接收到上述报文之后,三层转发设备查找三层转发表项,获取到出端口为第二端口(因为三层转发表项已经被修改),则将该报文的源MAC地址改为三层转发设备的MAC地址,目标MAC地址改为对端设备的MAC地址,并从第二端口发送该报文,由于第二端口为反射口,故该报文会被重新返回给三层转发设备,此时三层转发设备会再次接收到的报文,其源MAC地址为三层转发设备的MAC地址,目标MAC地址为对端设备的MAC地址,对三层转发设备来说,该报文的目标MAC地址不是三层转发设备自身的MAC地址,故只需要对该报文进行二层转发。
在本实施例中,在检测到第一链路故障时,三层转发设备除了修改三层转发表项中的出端口为另外一个属性为反射口的同网段端口之外,还需要将对应的二层转发表项删除,从而与后续的二层转发相配合。
步骤202、当接收到第一设备发送给第二设备的第一报文时,三层转发设备根据上述三层转发表项向第二端口发送该第一报文,并从第二端口接收该第一报文,然后在与第二端口位于同一网段中除第二端口之外的其他端口上发送该第一报文。
由上述分析可知,当三层转发设备接收到第一设备发送给第二设备的第一报文之后,会查找上述三层转发表项,获取出端口为第二端口,向第二端口发送该第一报文,而该第一报文又会被返回给三层转发设备,这样三层转发设备查找二层转发表项,以对返回的第一报文进行二层转发。由于二层转发表项已经被删除,所以三层转发设备不会获取到二层转发表项,则根据二层转发的特性,三层转发设备会向与第二端口位于同一网段的除第二端口之外的其他端口广播该第一报文。二层转发特性为:对于出端口未知的报文进行泛洪,即将其广播到同网段除接收该报文的端口之外的其他端口上。由此可见,为了保证第一报文从三层转发设备上成功广播出去,该三层转发设备上至少存在三个位于同一网段的端口,即三层转发设备上除了第一端口和第二端口之外,还要至少存在一个与第一端口位于同一网段的端口。
在上述过程中,三层转发设备和其下游设备上运行的链路状态监测协议,例如RERP发现第一链路断掉后,会启用备用链路,即三层转发设备的下游设备会将备用链路上自身一侧的端口打开。在本实施例中,备用链路是指第二链路。对于RERP协议来说,在第一链路断开后可以快速启用备用链路,通常会在50ms内完成。
在此说明,上述下游设备是指在第一设备到达第二设备的方向上,位于三层转发设备下游与三层转发设备连接的设备。
步骤203、当接收到第二设备返回给第一设备的第二报文时,三层转发设备根据接收到该第二报文的第三端口,将三层转发表项中的出端口由第二端口修改为第三端口,以将传输链路由第一链路切换为第三端口所在的第二链路。
基于上述,三层转发设备利用二层转发特性以及二层故障检测以及启动备用链路速度较快的优势,可以在较短时间内收到第二设备返回的第二报文。其中,第二报文可以是第一报文的应答报文,也可以不是。该第二报文是从第二链路返回的,三层转发设备上接收该第二报文的端口为第三端口,第三端口位于第二链路上。此时,三层转发设备就可以将三层转发表项中的出端口由第二端口修改为第三端口,此时的三层转发表项实际上是第二链路对应的三层转发表项,此时的传输链路就由第一链路切换到了第二链路上,后续三层转发设备接收到第一设备发送给第二设备的报文会从第三端口发送出去。
在本实施例的一可选实施方式中,在接收到第二报文之后还包括:
三层转发设备根据第三端口和第二报文的源MAC地址,生成第二链路对应的二层转发表项。具体的,三层转发设备还可以根据接收到的第二报文的源MAC地址和接收第二报文的第三端口,进行MAC地址学习,生成二层转发表项,以便于后续根据二层转发表项通过第二链路进行二层转发。
在本实施例的一可选实施方式中,在将第一链路对应的三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口之前包括:三层转发设备从与第一端口位于同一网段的所有端口中,选择第二端口的操作。该操作具体可以是以下任一种:
三层转发设备从与第一端口位于同一网段的所有端口中,选择未使用的端口作为第二端口。或者
三层转发设备从与第一端口位于同一网段的所有端口中,选择数据流量最小的端口作为所述第二端口。或者
三层转发设备从与第一端口位于同一网段的所有端口中,选择所传输的数据流的优先级最低的端口作为第二端口。
上述方法通过选择未被使用的端口、数据流量最小的端口或者所传输的数据流的优先级最低(即重要性较低)的端口,可以回避长期占用该端口作为反射口导致的三层转发设备的吞吐率下降的情况。
本实施例提供的传输链路切换方法,在检测到第一链路故障时,将三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除对应的二层转发表项,这样后续接收到第一设备发送给第二设备的报文时查找三层转发表项,会通过第二端口进行发送,由于第二端口为反射口,该报文会被反射回来,进而对该报文进行二层转发,由于二层转发表已经被删除,故需要在与接收到该报文的第二端口位于同一网段中除第二端口之外的其他端口上广播该报文,当在收到第二设备返回的报文时,将三层转发表中的出端口由第二端口修改为接收应答报文的端口,这样后续报文就会通过该端口发送出去,实现了将传输链路从第一链路到第二链路的切换,这个过程中不需要向外发送其他协议的请求报文,而是利用二层转发在找不到二层转发表项时会向除接收到报文的端口之外的其他同网段端口进行广播的特性,充分利用二层转发过程中快速发现故障并启动备用链路的优势,在三层转发层面快速完成链路切换,提高了链路切换的速度。进一步,本实施例还有利于减少由于链路切换造成的丢包量,可以大大提高网络的可靠性。
在此说明,上述实施例既适用于IPv4网络,也适用于IPv6网络,也就是说上述实施例中的报文可以是IPv4报文,也可以是IPv6报文。从网络拓扑来看,上述实施例既适用于环形拓扑,也适用于常见的STP组网拓扑。
下面以图1所示应用场景为例,详细说明上述实施例的实现流程。假设PC11的IP地址为1.1.1.100,服务器14的IP地址为3.3.3.100。三层转发设备12和三层转发设备13上各端口的IP地址以及MAC地址如表1所示。
表1
端口号 | IP地址 | MAC地址 |
1 | 1.1.1.1 | 0000.0000.0002 |
2 | 2.2.2.2 | 0000.0000.0002 |
3 | 2.2.2.2 | 0000.0000.0002 |
4 | 2.2.2.5 | 0000.0000.0005 |
5 | 2.2.2.5 | 0000.0000.0005 |
6 | 3.3.3.6 | 0000.0000.0005 |
在表1中,由于端口1、2和3同属于三层转发设备12,因此共享同一个MAC地址,即0000.0000.0002;端口2和3号属于同一个网段,因此共享相同的IP地址,即2.2.2.2,而端口1属于另外的网段,所以与端口2和端口3的IP地址不同,为1.1.1.1。对于端口4、5和6的说明类似于端口1、2和3,不再详述。
假定端口5为临时关闭的端口。即在本实施例中,由端口2和端口4形成的链路为第一链路,而由端口3和端口5形成的链路为第二链路。则报文处理流程如图3所示,包括:
步骤21、PC11发送源MAC为PC11的MAC,目标MAC为0000.0000.0002,源IP为1.1.1.100,目标IP为3.3.3.100的报文。
步骤22、三层转发设备12上的端口1收到上述报文,命中其交换芯片中的三层转发表项,将报文的源MAC修改成0000.0000.0002,目标MAC修改成0000.0000.0005,并从其上的端口2发出去。交换芯片中的三层转发表项具有如下形式:
3.3.3.0/242.2.2.50000.0000.00020000.0000.0005端口2。
该三层转发表项表达的含义为:当报文的目标MAC为本地三层转发设备的MAC地址时,如果目标IP地址为3.3.3.X,那么报文的源MAC地址修改成0000.0000.0002,目标MAC地址修改成0000.0000.0005,并将报文从端口2发送出去。
步骤23、三层转发设备13上的端口4收到报文,三层转发到其上的端口6,服务器14收到报文。
步骤24、服务器14返回应答报文,该应答报文按上述相反路径返回。
步骤25、端口4出现故障关闭,意味着由端口2和端口4形成的链路故障,三层转发设备12感知到该故障,修改三层转发表项,修改后的表项具有如下形式:
3.3.3.0/242.2.2.50000.0000.00020000.0000.0005端口7
上述端口7是三层转发设备12上的一个端口,且端口7与端口2和端口3在同一个网段。同时,三层转发设备将端口7的属性设置为反射口属性,这样如果报文的出端口被设置成端口7,则该报文就会被反射回来,重新进入三层转发设备12的交换芯片进行处理。
步骤26、三层转发设备12感知到该故障,删除由端口2和端口4形成的链路对应的二层转发表项。删除之前的二层转发表项为:0000.0000.0005端口2。
在此说明,步骤25和步骤26的操作顺序不做限定。
步骤27、PC11后续发往服务器14的报文,在三层转发设备12上先匹配到三层转发表项,源MAC被修改成0000.0000.0002,目标MAC被修改成0000.0000.0005,报文被转发到端口7,端口7将报文重新送入交换芯片;然后查询交换芯片中的二层转发表项,由于交换芯片中此时没有目标为0000.0000.0005的二层转发表项,则根据报文二层转发的特性,如果查找不到二层转发表项,需要广播到同网段除接收该报文的端口以外的其它端口,所以报文被发送了2份,一份从端口2发出,一份从端口3发出。
其中,由于端口4和端口5目前都处于关闭状态,所以2份报文都到不了服务器14。
步骤28、三层转发设备12和三层转发设备13上运行的链路状态监测协议,例如RERP发现由端口2和端口4形成的链路断掉后,会启用备用链路,即把端口5打开。对于RERP协议来说,会在链路断开50ms内检测到。
步骤29、由于端口5被打开,所以PC11后续发往服务器14的报文就能到达服务器14了。
步骤30、服务器14返回报文,该报文从端口3和端口5形成的这条链路到达三层转发设备12。三层转发设备12从端口3收到、服务器14返回的报文,且该报文的源MAC为0000.0000.0005。
步骤31、三层转发设备12学习到MAC地址为0000.0000.0005的三层转发设备13连接到端口3,故添加二层转发表项到交换芯片,并修改交换芯片中的三层转发表项。
二层转发表项的形式为:0000.0000.0005端口3;
三层转发表项的形式为:3.3.3.0/242.2.2.50000.0000.00020000.0000.0005端口3;
步骤32、服务器14返回的报文送到PC11,PC11的后续报文在三层转发设备12上通过端口3转发到服务器14。
由上述可见,本实施例在三层转发的出端口故障(也可称为未知)时,将出端口重新设置为与原出端口在同一网段的另一端口,并将重新设置的端口设置成反射口(或者称为环回口),利用反射口将报文回送交换芯片,再走一次二层转发,利用二层转发对出端口未知的报文进行泛洪,即广播到同网段除接收该报文的端口以外的其它端口的特性,将报文转发出去,在得到回程报文后,再次修改三层转发表项,完成链路切换,使得三层转发数据流在链路切换过程中的丢包时间与二层转发数据流在链路切换过程中的丢包时间基本相同,提高了链路切换速度,减少了丢包数量,大大提高了网络的可靠性。
图4为本发明一实施例提供的传输链路切换装置的结构示意图。如图4所示,本实施例的装置包括:表项处理模块41、报文处理模块42和切换处理模块43。
其中,表项处理模块41,用于在检测到第一链路故障时,将第一链路对应的三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除第一链路对应的二层转发表项。其中,第一链路是从第一设备到第二设备的至少两条链路中的一条链路。
报文处理模块42,用于在接收到第一设备发送给第二设备的第一报文时,根据表项处理模块41修改后的三层转发表项向第二端口发送接收到的第一报文,并从第二端口接收该第一报文,然后在与第二端口位于同一网段的除第二端口之外的其他所有端口上发送该第一报文。其中,本实施例的传输链路切换装置上至少存在三个位于同一网段的端口,即传输链路切换装置上除了第一端口和第二端口之外,还要至少存在一个与第一端口位于同一网段的端口。
切换处理模块43,用于在接收到第二设备返回给第一设备的第二报文时,根据接收到第二报文的第三端口,将三层转发表项中的出端口由第二端口修改为第三端口,以将传输链路由第一链路切换为第三端口所在的第二链路。
可选的,本实施例的传输链路切换装置还包括:接收模块45。接收模块45,用于接收第一设备发送给第二设备的第一报文、第二设备发送给第一设备的第二报文,以及其他报文等。切换处理模块43和报文处理模块42与接收模块45连接。
在本实施例的一可选实施方式中,切换处理模块43还用于根据第三端口和接收模块45接收到的第二报文的源MAC地址,生成第二链路对应的二层转发表项。
在本实施例的一可选实施方式中,传输链路切换装置还包括:选择模块44。该选择模块44,用于在表项处理模块41将第一链路对应的三层转发表项中的出端口由第一端口修改为第二端口之前,从与第一端口位于同一网段的所有端口中,选择未使用的端口作为第二端口,或者从与第一端口位于同一网段的所有端口中,选择数据流量最小的端口作为第二端口,或者从与第一端口位于同一网段的所有端口中,选择所传输的数据流的优先级最低的端口作为第二端口。选择模块44与表项处理模块41连接,用于向表项处理模块41提供第二端口的信息。
本实施例的传输链路切换装置除了包括上述模块之外,还可以包括交换芯片,用于存储三层转发表项和二层转发表项。
本实施例的传输链路切换装置可以是同时具有二层转发和三层路由功能的任何设备,例如三层交换机,但不限于此。
本实施例的传输链路切换装置的各功能模块可用于执行图1所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的传输链路切换装置,在检测到第一链路故障时,将三层转发表项中的出端口由第一端口修改为与第一端口位于同一网段的第二端口,设置第二端口的属性为反射口,并删除对应的二层转发表项,这样后续接收到报文时查找三层转发表项,会通过第二端口进行发送,由于第二端口为反射口,该报文会被反射回来,进而对该报文进行二层转发,由于二层转发表已经被删除,故需要在与接收到该报文的第二端口位于同一网段中除第二端口之外的其他端口上广播该报文,当在收到该报文的应答报文时,将三层转发表中的出端口由第二端口修改为接收应答报文的端口,这样后续报文就会通过该端口发送出去,实现了传输链路从第一链路到第二链路的切换,这个过程中不需要向外发送其他协议的请求报文,而是利用二层转发在找不到二层转发表项时会向除接收到报文的端口之外的其他同网段端口进行广播的特性,充分利用二层转发过程中快速发现故障并启动备用链路的优势,在三层转发层面快速完成链路切换,提高了链路切换的速度。
本发明一实施例提供一种网络设备,包括上述实施例提供的传输链路切换装置。关于传输链路切换装置的结构和工作原理不再赘述,详见前述实施例。
本实施例的网络设备可以是三层交换机等同时具有二层转发和三层路由功能的设备,同样可用于执行上述方法实施例的流程,因此,同样可以利用二层转发在找不到二层转发表项时会向除接收到报文的端口之外的其他同网段端口进行广播的特性,充分利用二层转发过程中快速发现故障并启动备用链路的优势,在三层转发层面快速完成链路切换,提高了链路切换的速度。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种传输链路切换方法,其特征在于,包括:
当检测到第一链路故障时,三层转发设备将所述第一链路对应的三层转发表项中的出端口由第一端口修改为与所述第一端口位于同一网段的第二端口,设置所述第二端口的属性为反射口,并删除所述第一链路对应的二层转发表项;其中,所述第一链路为从第一设备到第二设备的至少两条链路中的一条链路;
当接收到所述第一设备发送给所述第二设备的第一报文时,所述三层转发设备根据所述三层转发表项向所述第二端口发送所述第一报文,并从所述第二端口接收所述第一报文,然后在与所述第二端口位于同一网段的除所述第二端口之外的其他所有端口上发送所述第一报文;其中,所述第一设备和所述第二设备位于不同的网段;
当接收到所述第二设备返回给所述第一设备的第二报文时,所述三层转发设备根据接收到所述第二报文的第三端口,将所述三层转发表项中的出端口由所述第二端口修改为所述第三端口,以将传输链路由所述第一链路切换为所述第三端口所在的第二链路。
2.根据权利要求1所述的传输链路切换方法,其特征在于,还包括:
所述三层转发设备根据所述第三端口和所述第二报文的源介质访问控制MAC地址,生成所述第二链路对应的二层转发表项。
3.根据权利要求1或2所述的传输链路切换方法,其特征在于,所述三层转发设备将所述第一链路对应的三层转发表项中的出端口由第一端口修改为与所述第一端口位于同一网段的第二端口之前包括:
所述三层转发设备从与所述第一端口位于同一网段的所有端口中,选择未使用的端口作为所述第二端口;或者
所述三层转发设备从与所述第一端口位于同一网段的所有端口中,选择数据流量最小的端口作为所述第二端口;或者
所述三层转发设备从与所述第一端口位于同一网段的所有端口中,选择所传输的数据流的优先级最低的端口作为所述第二端口。
4.一种传输链路切换装置,其特征在于,包括:
表项处理模块,用于在检测到第一链路故障时,将所述第一链路对应的三层转发表项中的出端口由第一端口修改为与所述第一端口位于同一网段的第二端口,设置所述第二端口的属性为反射口,并删除所述第一链路对应的二层转发表项;其中,所述第一链路为从第一设备到第二设备的至少两条链路中的一条链路;
报文处理模块,用于在接收到所述第一设备发送给所述第二设备的第一报文时,根据所述三层转发表项向所述第二端口发送所述第一报文,并从所述第二端口接收所述第一报文,然后在与所述第二端口位于同一网段的除所述第二端口之外的其他所有端口上发送所述第一报文;
切换处理模块,用于在接收到所述第二设备返回给所述第一设备的第二报文时,根据接收到所述第二报文的第三端口,将所述三层转发表项中的出端口由所述第二端口修改为所述第三端口,以将传输链路由所述第一链路切换为所述第三端口所在的第二链路。
5.根据权利要求4所述的传输链路切换装置,其特征在于,所述切换处理模块还用于根据所述第三端口和所述第二报文的源介质访问控制MAC地址,生成所述第二链路对应的二层转发表项。
6.根据权利要求4或5所述的传输链路切换装置,其特征在于,还包括:
选择模块,用于在所述表项处理模块将所述第一端口修改为所述第二端口之前,从与所述第一端口位于同一网段的所有端口中,选择未使用的端口作为所述第二端口,或者从与所述第一端口位于同一网段的所有端口中,选择数据流量最小的端口作为所述第二端口,或者从与所述第一端口位于同一网段的所有端口中,选择所传输的数据流的优先级最低的端口作为所述第二端口。
7.一种网络设备,其特征在于,包括:权利要求4-6任一项所述的传输链路切换装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210285513.2A CN102801562B (zh) | 2012-08-10 | 2012-08-10 | 传输链路切换方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210285513.2A CN102801562B (zh) | 2012-08-10 | 2012-08-10 | 传输链路切换方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102801562A true CN102801562A (zh) | 2012-11-28 |
CN102801562B CN102801562B (zh) | 2015-04-22 |
Family
ID=47200535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210285513.2A Active CN102801562B (zh) | 2012-08-10 | 2012-08-10 | 传输链路切换方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102801562B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487702A (zh) * | 2015-08-31 | 2017-03-08 | 深圳市中兴微电子技术有限公司 | 一种组播报文两级复制方法及装置 |
CN106603437A (zh) * | 2016-12-16 | 2017-04-26 | 南京铁道职业技术学院 | 一种端口分配的方法及设备 |
CN110365578A (zh) * | 2019-08-01 | 2019-10-22 | 新华三大数据技术有限公司 | 网络接口控制及链路切换方法、装置、网络设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110164876A1 (en) * | 2008-10-02 | 2011-07-07 | Enablence USA Components, Inc. | Directionless reconfigurable optical add/drop multiplexer |
CN102185712A (zh) * | 2011-04-29 | 2011-09-14 | 中兴通讯股份有限公司 | Vpls网络和以太环网的倒换方法及装置 |
CN102299855A (zh) * | 2011-09-07 | 2011-12-28 | 神州数码网络(北京)有限公司 | 一种链路快速切换方法和系统 |
CN102611618A (zh) * | 2012-02-23 | 2012-07-25 | 中兴通讯股份有限公司 | 路由保护切换方法及装置 |
-
2012
- 2012-08-10 CN CN201210285513.2A patent/CN102801562B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110164876A1 (en) * | 2008-10-02 | 2011-07-07 | Enablence USA Components, Inc. | Directionless reconfigurable optical add/drop multiplexer |
CN102185712A (zh) * | 2011-04-29 | 2011-09-14 | 中兴通讯股份有限公司 | Vpls网络和以太环网的倒换方法及装置 |
CN102299855A (zh) * | 2011-09-07 | 2011-12-28 | 神州数码网络(北京)有限公司 | 一种链路快速切换方法和系统 |
CN102611618A (zh) * | 2012-02-23 | 2012-07-25 | 中兴通讯股份有限公司 | 路由保护切换方法及装置 |
Non-Patent Citations (3)
Title |
---|
付明磊等: "《基于双向转发检测协议的光突发交换链路快速故障检测方法》", 《光学 精密工程》 * |
陈文涛等: "《利用分布式切换提高单链路故障恢复树的QoS》", 《清华大学学报(自然科学版)》 * |
韩倩等: "《单向链路故障检测的研究》", 《计算机科学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487702A (zh) * | 2015-08-31 | 2017-03-08 | 深圳市中兴微电子技术有限公司 | 一种组播报文两级复制方法及装置 |
CN106487702B (zh) * | 2015-08-31 | 2020-03-27 | 深圳市中兴微电子技术有限公司 | 一种组播报文两级复制方法及装置 |
CN106603437A (zh) * | 2016-12-16 | 2017-04-26 | 南京铁道职业技术学院 | 一种端口分配的方法及设备 |
CN110365578A (zh) * | 2019-08-01 | 2019-10-22 | 新华三大数据技术有限公司 | 网络接口控制及链路切换方法、装置、网络设备和介质 |
CN110365578B (zh) * | 2019-08-01 | 2021-12-24 | 新华三大数据技术有限公司 | 网络接口控制及链路切换方法、装置、网络设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102801562B (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100479465C (zh) | 网络设备实现链路聚合的方法 | |
US8672566B2 (en) | Node apparatus and communication method | |
CN113794637B (zh) | Sid列表的处理方法及装置 | |
US10397044B2 (en) | Network function virtualization (“NFV”) based communications network resilience | |
US20150163114A1 (en) | Network controller for delay measurement in sdn and related delay measurement system and delay measurement method | |
US9282031B2 (en) | Network system and routing method | |
JPH0936873A (ja) | リンクステートルーティング装置 | |
CN101540731B (zh) | 一种三层报文转发方法及装置 | |
CN101651630A (zh) | 一种基于链路故障的切换方法及装置 | |
CN101710875A (zh) | 一种实现快速重路由的方法及装置 | |
Sok et al. | PRoPHET routing protocol based on neighbor node distance using a community mobility model in delay tolerant networks | |
CN102957573A (zh) | 一种路径检测的实现方法及节点 | |
CN103023771A (zh) | 环形拓扑网络的故障处理方法、装置和一种路由设备 | |
CN103023773A (zh) | 多拓扑网络中转发报文的方法、装置和系统 | |
CN100444586C (zh) | 报文转发方法及设备 | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN102801562B (zh) | 传输链路切换方法、装置及网络设备 | |
CN108881064B (zh) | 报文信息获取方法和发送方法 | |
US8249101B2 (en) | Mobile ad hoc network configured as a virtual internet protocol network | |
CN101729361A (zh) | 报文处理的方法和装置 | |
CN102158395A (zh) | 一种路由器邻居发现条目处理的装置及方法 | |
CN101335714A (zh) | 一种负载分担的方法及设备或快速重路由的方法及设备 | |
CN111385195B (zh) | 一种信息处理方法、装置及存储介质 | |
JP2013198077A (ja) | ネットワーク及びブリッジ | |
CN117376175A (zh) | 网络路径的检测方法、系统及计算机设备 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |