CN104618189A - 链路故障检测方法及装置 - Google Patents
链路故障检测方法及装置 Download PDFInfo
- Publication number
- CN104618189A CN104618189A CN201510058605.0A CN201510058605A CN104618189A CN 104618189 A CN104618189 A CN 104618189A CN 201510058605 A CN201510058605 A CN 201510058605A CN 104618189 A CN104618189 A CN 104618189A
- Authority
- CN
- China
- Prior art keywords
- layer protocol
- edge device
- message
- link
- port
- 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
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供一种链路故障检测方法及装置,该方法应用在运营商网络的第一边缘设备上,运营商网络中还包括第二边缘设备,第一分支网络的第三边缘设备与第一边缘设备连接,第二分支网络的第四边缘设备与第二边缘设备连接,该方法包括:当检测到第三边缘设备与第一边缘设备之间的链路发生故障时,向该链路在本设备上的端口接收到的第三边缘设备发送的二层协议报文中添加用于指示该链路发生故障的标识符,生成新的二层协议报文;将新的二层协议报文发送给第二边缘设备,以使第二边缘设备将新的二层协议报文发送给第四边缘设备的与所述链路对应的端口后,由第四边缘设备根据新的二层协议报文获知链路发生故障。本发明可以更加及时地检测出链路故障。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种链路故障检测方法及装置。
背景技术
随着企业规模的发展,企业的分支机构越来越多,在构建企业内部局域网时,分支机构的分支网络需要通过运营商网络来实现相互之间的通讯,其中运营商网络可以基于二层协议隧道将从一个分支网络接收到的二层协议报文转发给另一个分支网络。
在分支网络之间通讯过程中,当某个分支网络与运营商网络之间的链路发生故障时,如果与该分支网络通讯的其他分支网络没有及时地检测出该链路故障并做出相应的响应措施(诸如切换用于发送数据流量的端口),则可能导致分支网络之间数据流量的丢失。
然而,现有技术中,当某个分支网络与运营商网络之间的链路发生故障时,与该分支网络通讯的其他分支网络可能在发现二层协议报文接收超时的时候,才可以确定发生链路故障,因此链路故障检测的及时性较差。
发明内容
有鉴于此,本发明提供一种链路故障检测方法及装置,以解决链路故障检测的及时性较差的问题。
根据本发明实施例的第一方面,本发明提供一种链路故障检测方法,所述方法应用在运营商网络的第一边缘设备上,所述运营商网络中还包括第二边缘设备,其中,第一分支网络的第三边缘设备与所述第一边缘设备连接,第二分支网络的第四边缘设备与所述第二边缘设备连接,包括:
当检测到所述第三边缘设备与所述第一边缘设备之间的链路发生故障时,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文;
将所述新的二层协议报文发送给所述第二边缘设备,以使所述第二边缘设备将所述新的二层协议报文发送给所述第四边缘设备的与所述链路对应的端口后,由所述第四边缘设备根据所述新的二层协议报文获知所述链路发生故障。
根据本发明实施例的第二方面,本发明提供一种链路故障检测装置,所述装置应用在运营商网络的第一边缘设备上,所述运营商网络中还包括第二边缘设备,其中,第一分支网络的第三边缘设备与所述第一边缘设备连接,第二分支网络的第四边缘设备与所述第二边缘设备连接,包括:
生成单元,用于当检测到所述第三边缘设备与所述第一边缘设备之间的链路发生故障时,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文;
发送单元,用于将所述新的二层协议报文发送给所述第二边缘设备,以使所述第二边缘设备将所述新的二层协议报文发送给所述第四边缘设备的与所述链路对应的端口后,由所述第四边缘设备根据所述新的二层协议报文获知所述链路发生故障。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明实施例中,当检测到运营商网络的第一边缘设备与第一分支网络的第三边缘设备之间的链路发送故障时,首先向该链路在第一边缘设备上的端口接收到的第三边缘设备发送的二层协议报文中添加用于指示该链路发生故障的标识符,生成新的二层协议报文,然后将该新的二层协议报文发送给运营商网络的第二边缘设备,以使第二边缘设备将该新的二层协议报文转发给第二分支网络的第四边缘设备的与所述链路对应的端口后,由第四边缘设备根据该新的二层协议报文获知该链路发生故障,由此可见,相比第四边缘设备在发现二次协议报文接收超时后,才能确定第一边缘设备与第三边缘设备之间发生链路故障,本发明可以更加及时地检测出链路故障。
附图说明
图1是应用本发明实施例实现链路故障检测的应用场景示意图;
图2是本发明链路故障检测方法的一个实施例流程图;
图3是应用本发明实施例实现链路故障检测的另一种应用场景示意图;
图4是本发明链路故障检测装置所在设备的一种硬件结构图;
图5是本发明链路故障检测装置的一个实施例框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为应用本发明实施例实现链路故障检测的应用场景示意图。图1中,该第一分支网络network1和第二分支网络network2为企业用户拥有的通过运营商网络ISP(Internet Service Provider,互联网服务提供商)network连接的两个分支网络,这两个分支网络可以是属于相同的VLAN(Virtual Local Area Network,虚拟局域网)但处于不同地域的网络,PE1和PE2分别为运营商网络ISP network的第一边缘设备和第二边缘设备,CE3为第一分支网络network1的第三边缘设备,CE4为第二分支网络network2的第四边缘设备,第一边缘设备PE1与第三边缘设备CE3连接,第二边缘设备PE2与第四边缘设备CE4连接。其中,运营商网络的第一边缘设备PE1可以首先从第三边缘设备CE3接收第一分支网络network1的二层协议报文,然后通过第一边缘设备PE1与第二边缘设备PE2之间建立的L2PT(Layer 2Protocol Tunneling,二层协议隧道),将该二层协议报文发送给第二边缘设备PE2,由第二边缘设备PE2将该二层协议报文转发给第四边缘设备CE4,由此实现了运营商网络ISP network将从第一分支网络network1接收到的二层协议报文发送给第二分支网络network2。
在本发明实施例中,当第一边缘设备检测到其与第三边缘设备之间的链路发生故障时,首先通过向该发生故障的链路在第一边缘设备上的端口接收到的第三边缘设备发送的二层协议报文中添加用于指示该链路发生故障的标识符,生成新的二层协议报文,然后将该新的二层协议报文发送给第二边缘设备,以使该第二边缘设备将该新的二层协议报文发送给第四边缘设备的与该链路对应的端口后,由第四边缘设备根据该新的二层协议报文获知该链路发生故障,由此可见,相比第四边缘设备在发现二次协议报文接收超时后,才能确定第一边缘设备与第三边缘设备之间发生链路故障,本发明可以更加及时地检测出链路故障。
参见图2,为本发明链路故障检测方法的一个实施例的流程图,该实施例中运营商网络包括第一边缘设备和第二边缘设备,企业用户拥有第一分支网络和第二分支网络,且第一分支网络的第三边缘设备与第一边缘设备连接,第二分支网络的第四边缘设备与第二边缘设备连接。该实施例从运营商网络的第一边缘设备侧进行描述,该方法可以包括以下步骤:
步骤201、当检测到第三边缘设备与第一边缘设备之间的链路发生故障时,向该链路在本设备上的端口接收到的第三边缘设备发送的二层协议报文中添加用于指示该链路发生故障的标识符,生成新的二层协议报文。
在本发明的优选实施例中,由于第三边缘设备与第一边缘设备之间链路发生故障通常是因为第三边缘设备和第一边缘设备上的链路端口发生故障而产生,并且第一边缘设备可以检测出与其直接连接的第三边缘设备的端口以及其自身的端口是否发生故障,因此第一边缘设备可以很容易且快速检测出第三边缘设备与第一边缘设备之间的链路是否发生故障。该检测过程与现有技术相同,在此不再赘述。
在第一边缘设备检测出第三边缘设备与第一边缘设备之间的链路发生故障之前,若该发生故障的链路在第一边缘设备上的端口只配置有一种二层协议对应的二层协议隧道,则第一边缘设备可以首先建立本地数据库,然后在该本地数据库中存储发生故障的链路在第一边缘设备上的端口最近一次接收到的该第三边缘设备发送的二层协议报文。当第一边缘设备检测到该链路发生故障时,从该本地数据库中获取存储的该链路在第一边缘设备上的端口接收到的该第三边缘设备发送的二层协议报文,并通过向获取的二层协议报文中添加用于指示该链路发生故障的标识符来生成新的二层协议报文。
若该发生故障的链路在第一边缘设备上的端口配置有至少两种二层协议对应的二层协议隧道,则第一边缘设备可以首先建立本地数据库,并针对发生故障的链路在第一边缘设备上的端口配置的每一种二层协议对应的二层协议隧道,在本地数据库中存储该链路在第一边缘设备上的端口最近一次接收到的第三边缘设备发送的该二层协议对应的二层协议报文。当第一边缘设备检测到该链路发生故障时,针对发生故障的链路在第一边缘设备上的端口配置的每一种二层协议对应的二层协议隧道,从该本地数据库中获取存储的该链路在第一边缘设备上的端口接收到的第三边缘设备发送的该二层协议对应的二层协议报文,并通过向获取的每个二层协议报文中添加用于指示该链路发生故障的标识符来生成新的二层协议报文。在上述描述中,第一边缘设备通过在建立的本地数据库中只存储第一边缘设备上的端口最近一次接收到的第三边缘设备发送各二层协议对应的二层协议报文,可以降低第一边缘设备的存储空间占用率。
具体地,在建立本地数据库时,若第三边缘设备与第四边缘设备之间只存在一条链路,则表示第一边缘设备上只存在一个使用中的端口,此时该第一边缘设备可以首先针对该端口建立本地数据库。当该端口配置有一种二层协议对应的二层协议隧道时,第一边缘设备在该本地数据库中存储该端口最近一次接收到的第三边缘设备发送的与该二层协议对应的二层协议报文,当第一边缘设备检测到该条链路发生故障时,第一边缘设备从该本地数据库中获取二层协议报文,并通过向获取的二层协议报文中添加用于指示该链路发生故障的标识符来生成新的二层协议报文。
当该端口配置有多种二层协议对应的二层协议隧道时,第一边缘设备在该本地数据库中分别存储该端口最近一次接收到的第三边缘设备发送的与各个二层协议对应的二层协议报文,当第一边缘设备检测到该条链路发生故障时,第一边缘设备从该本地数据库中获取各个二层协议对应的二层协议报文,并通过分别向获取的各个二层协议对应的二层协议报文中添加用于指示该条链路发生故障的标识符来生成与各个二层协议对应的新的二层协议报文。
在建立本地数据库时,若第三边缘设备与第四边缘设备之间存在多条链路,则表示第一边缘设备上存在多个使用中的端口,其中这多条链路分别属于不同的VLAN。此时第一边缘设备可以首先针对第一边缘设备上的各个端口,分别建立本地数据库。当第一边缘设备上的端口配置有一种二层协议对应的二层协议隧道时,第一边缘设备在该端口对应的本地数据库中存储该端口最近一次接收到的第三边缘设备发送的二层协议报文。当第一边缘设备上的端口配置有多种二层协议报文对应的二层协议隧道时,第一边缘设备在该端口对应的本地数据库中分别存储该端口最近一次接收到的第三边缘设备发送的与各个二层协议对应的二层协议报文。其中,第一边缘设备的各个端口与其本地数据库之间的对应关系可以采用诸如列表的形式存储在第一边缘设备中。
当第一边缘设备检测到第三边缘设备与第一边缘设备之间的链路发生故障时,第一边缘设备首先确定该发生故障的链路在第一边缘设备上的端口,然后确定与该端口对应的本地数据库,此时如果发生故障的链路在第一边缘设备上的端口配置有一种二层协议对应的二层协议隧道,则第一边缘设备从该本地数据库中获取二层协议报文,并通过向获取的二层协议报文中添加用于指示该链路发生故障的标识符来生成新的二层协议报文;如果该发生故障的链路在第一边缘设备上的端口配置有多种二层协议对应的二层协议隧道,则第一边缘设备从该本地数据库中分别获取与各个二层协议对应的二层协议报文,并通过分别向获取的各个二层协议对应的二层协议报文中添加用于指示该条链路发生故障的标识符,来生成与各个二层协议对应的新的二层协议报文。
另外,在建立本地数据库中,当第一边缘设备的端口配置有多种二层协议对应的二层协议隧道时,第一边缘设备可以针对该端口配置的二层协议隧道的类型,分别建立本地数据库,并且在第一边缘设备的该端口接收到第三边缘设备发送的二层协议报文后,可以根据该二层协议报文的类型,将该二层协议报文分别保存至对应的本地数据库中,其中该端口与其本地数据库的对应关系可以采用诸如列表的形式存储在第一边缘设备中。当第三边缘设备与第一边缘设备之间发生故障的链路在第一边缘设备上的端口为该端口时,第一边缘设备可以首先确定与该端口对应的各个本地数据库,然后分别从确定的各个本地数据库中获取二层协议报文,从而使第一边缘设备可以通过分别向获取的各个二层协议报文中添加用于指示该链路发生的故障的标识符,来生成多个与各个二层协议对应的新的二层协议报文。
在本实施例中,二层协议可以包括LACP(Link Aggregation ControlProtocol,链路汇聚控制协议)、LLDP(Link Layer Discovery Protocol,链路层发现协议)、DLDP(device link detection protocol,设备连接检测协议)和OAM(Operation Administration and Maintenance,操作管理维护)协议中的一种或者多种;对应地,二层协议隧道可以包括LACP隧道、LLDP隧道、DLDP隧道和OAM协议隧道中的一种或者多种;二层协议报文可以包括LACP报文、LLDP报文、DLDP和OAM报文中的一种或者多种。需要注意的是,由于LACP只针对第三边缘设备与第四边缘设备之间进行数据传输时需要进行链路汇聚的情况,因此当第三边缘设备与第四边缘设备之间只具有一个链路时,第一边缘设备上的端口不能配置LACP隧道。
当二层协议报文为LACP报文时,第一边缘设备可以通过修改该LACP报文中本端状态Actor_state字段的标识聚合位的值,生成新的LACP报文,其中修改后的Actor_state字段的标识聚合位的值为用于指示该链路发生故障的标识符。
当二层协议报文为LLDP报文时,第一边缘设备可以通过修改该LLDP报文中的TTL(Time To Live,生存时间)值,生成新的LLDP报文,其中修改后的TTL值为用于指示所述链路发生故障的标识符。
当二层协议报文为DLDP报文时,第一边缘设备可以通过修改该DLDP报文中的DLDP类型值,生成新的DLDP报文,其中修改后的DLDP类型值为用于指示所述链路发生故障的标识符。
当二层协议报文为OAM报文时,第一边缘设备可以通过修改该OAM报文中标签Flag域的紧急链路时间标识值,生成新的OAM报文,其中修改后的Flag域的紧急链路时间标识值为用于指示所述链路发生故障的标识符。
步骤202、将该新的二层协议报文发送给第二边缘设备,以使第二边缘设备将该新的二层协议报文发送给第四边缘设备的与所述链路对应的端口后,由该第四边缘设备根据该新的二层协议报文获知该链路发生故障。
第四边缘设备在接收到该新的二层协议报文后,通过该新的二层协议报文中携带的用于指示所述链路发生故障的标示符,便可获知接收该新的二层协议报文的端口所对应的在另一分支网络的链路发生故障,即确定第一边缘设备与第三边缘设备之间与接收该新的二层协议报文的端口对应的链路发生故障。之后,若第四边缘设备与第三边缘设备之间有其它端口或备份端口,则可将原本在接收该新的二层协议报文的端口发送的数据流量切换至其它端口或备份端口进行发送。
由上述实施例可见,相比第四边缘设备在发现二次协议报文接收超时后,才能确定第一边缘设备与第三边缘设备之间发生链路故障,本发明可以更加及时地检测出链路故障。
下面结合图3来举例描述本发明实施例提供的路故障检测方法,其中PE1和PE2分别为运营商网络ISP network的边缘设备和边缘设备,CE3为第一分支网络network1的边缘设备,CE4为第二分支网络network2的边缘设备,CE3与CE4之间存在两个链路,PE1与PE2之间建立有二层协议隧道L2PT,包括:LACP隧道、LLDP隧道、DLDP隧道和OAM隧道。运营商网络ISP network可以通过对应的二层协议隧道,将从第一分支网络network1接收到的对应的二层协议报文发送给第二分支网络network2,诸如运营商网络ISP network可以通过LACP隧道,将从第一分支网络network1接收到的LACP报文发送给第二分支网络network2等。
在本例子中,运营商网络ISP network为企业用户分配的VLAN为VLAN2和VLAN3,CE3的端口GE(Gigabit Ethernet,千兆以太端口)1/0/1与CE4的端口GE1/0/1组成链路,该链路允许VLAN2通过;CE3的端口GE1/0/2与CE4的端口GE1/0/2组成链路,该链路允许VLAN3通过,PE1的端口GE1/0/1和端口GE1/0/2均配置有LACP隧道、LLDP隧道、DLDP隧道和OAM隧道。
在执行本发明提供的方法之前,首先需要按照以下方法对CE3和CE4分别配置以太网链路聚合功能。
首先,为了保证CE3和CE4的各个链路端口之间点对点的通讯,可以将PE1上与CE3连接的端口GE1/0/1和GE1/0/2的类型设置为Trunk(端口汇聚),将PE2上与CE4连接的端口GE1/0/1和GE1/0/2的类型设置为Trunk,将PE1和PE2的端口GE1/0/1的PVID(Port-base Vlan ID,端口的虚拟局域网身份号)设置为2,即允许VLAN2通过,不允许VLAN3通过;将PE1和PE2的端口GE1/0/2的PVID设置为3,即允许VLAN3通过,不允许VLAN2通过。
其次,由于在CE3向PE1发送的二层协议报文以及CE4向PE2发送的二层协议报文中,可能携带有私网虚拟局域网标签VLAN tag,因此为了使二层协议报文保留私网VLAN tag且不被修改,可以在PE1和PE2的端口GE1/0/1和GE1/0/2上使能QinQ(也称堆叠式虚拟局域网Stacked VLAN或双层虚拟局域网Double VLAN)功能,并将PE1与PE2之间端口的类型均设置为Trunk,允许所有VLAN通过。
然后,在CE3上创建动态聚合口1,将CE3的端口GE1/0/1和GE1/0/2加入该动态聚合口1中,同样地,在CE4上创建动态聚合口2,将CE4的端口GE1/0/1和GE1/0/2加入该动态聚合口2中。
在完成CE3和CE4的以太网链路聚合功能配置之后,PE1可以首先针对其自身的端口GE1/0/1和GE1/0/2,分别建立本地数据库data1和data2,在本地数据库data1中分别存储PE1的端口GE1/0/1最近一次接收到的LACP报文、LLDP报文、DLDP报文和OAM报文,在本地数据库data2中分别存储PE1的端口GE1/0/2最近一次接收到的LACP报文、LLDP报文、DLDP报文和OAM报文。其中,PE1的端口GE1/0/1与本地数据库data1的对应关系及PE1的端口GE1/0/2与本地数据库data2的对应关系可以存储在PE1中。
当CE3的端口GE1/0/1与CE4的端口GE1/0/1组成的链路发生故障时,假设PE1通过检测确定PE1的端口GE1/0/1与CE3的端口GE1/0/1之间的链路发生故障,此时PE1可以从该本地数据库data1中分别获取存储的二层协议报文:LACP报文、LLDP报文、DLDP报文和OAM报文。
PE1可以通过将该LACP报文中Actor_state字段的标识聚合位的值设置为0来生成新的LACP报文,修改后的Actor_state字段的标识聚合位的值用于指示CE3的链路端口不可聚合。由于生成的新的LACP报中的目的MAC地址为LACP协议的组播MAC地址,因此为了保证能够将LACP报文发送给PE2,在生成新的LACP报文后,PE1还需要对该新的LACP报文进行封装,以使封装后该新的LACP报文的目的MAC地址为ISP network预先设定的组播MAC地址。当该新的LACP报文封装完成后,PE1通过LACP隧道在ISP network内组播该新的LACP报文。PE2接收到封装后的该新的LACP报文后对封装后的该新的LACP报文进行解封装,以使解封装后该新的LACP报文的目的MAC地址还原为LACP协议的组播MAC地址。PE2在该新的LACP报文所属的VLAN内组播该新的LACP报文,由于该新的LACP报文对应的原始报文是由PE1从PE1的端口GE1/0/1接收到的,说明该新的LACP报文属于VLAN2,而PE2上属于VLAN2的端口只有GE1/0/1,因此PE2通过其端口GE1/0/1将该新的LACP报文发送给CE4的端口CE1/0/1,由此CE4便可以根据该新的LACP报文中Actor_state字段的标识聚合位的值,获知CE3的端口CE1/0/1不可聚合,从而获知CE3的端口GE1/0/1与PE1的端口GE1/0/1之间的链路发生故障。此时,CE4可以通过将其链路端口GE1/0/1设置为非选中状态,以使该链路端口GE1/0/1不能再发送数据流量,并且可以通过将原本用于传输数据流量的链路及时切换到其它链路(诸如CE3的端口GE1/0/2与CE4的端口GE1/0/2组成链路)或备份链路上,来防止数据流量的丢失。
PE1可以通过将该LLDP报文中的TTL值设置为0来生成新的LLDP报文,修改后的TTL值用于指示第三边缘设备与第四边缘设备之间的邻居关系即将老化。同样地,由于生成的新的LLDP报中的目的MAC地址为LLDP协议的组播MAC地址,因此为了保证能够将LLDP报文发送给PE2,在生成新的LLDP报文后,PE1还需要对该新的LLDP报文进行封装,以使封装后该新的LLDP报文的目的MAC地址为ISP network预先设定的组播MAC地址。当该新的LLDP报文封装完成后,PE1通过LLDP隧道在ISP network内组播该新的LACP报文。PE2接收到封装后的该新的LLDP报文后对封装后的该新的LLDP报文进行解封装,以使解封装后该新的LLDP报文的目的MAC地址还原为LLDP协议的组播MAC地址。PE2在该新的LLDP报文所属的VLAN内组播该新的LLDP报文,由于该新的LLDP报文对应的原始报文是由PE1从PE1的端口GE1/0/1接收到的,说明该新的LLDP报文属于VLAN2,而PE2上属于VLAN2的端口只有GE1/0/1,因此PE2通过其端口GE1/0/1将该新的LLDP报文发送给CE4的端口CE1/0/1,由此CE4便可以根据该新的LLDP报文中的TTL值,获知其与CE3的端口GE1/0/1失去邻居连接,从而获知CE3的端口GE1/0/1与PE1的端口GE1/0/1之间的链路发生故障。此时,CE4可以立即老化掉该邻居关系,并可以通过将原本用于传输数据流量的链路及时切换到新的链路或备份链路上,来防止数据流量的丢失。
PE1可以通过将该DLDP报文中的DLDP类型值设置为0x70来生成新的DLDP报文,修改后的DLDP类型值用于指示该DLDP报文为端口故障通知报文,该端口故障通知报文用于指示第一边缘设备或第三边缘设备的链路端口发生故障。同样地,由于生成的新的DLDP报中的目的MAC地址为DLDP协议的组播MAC地址,因此为了保证能够将DLDP报文发送给PE2,在生成新的DLDP报文后,PE1还需要对该新的DLDP报文进行封装,以使封装后该新的DLDP报文的目的MAC地址为ISP network预先设定的组播MAC地址。当该新的DLDP报文封装完成后,PE1通过DLDP隧道在ISPnetwork内组播该新的LACP报文。PE2接收到封装后的该新的DLDP报文后对封装后的该新的DLDP报文进行解封装,以使解封装后该新的DLDP报文的目的MAC地址还原为DLDP协议的组播MAC地址。PE2在该新的DLDP报文所属的VLAN内组播该新的DLDP报文,由于该新的DLDP报文对应的原始报文是由PE1从PE1的端口GE1/0/1接收到的,说明该新的DLDP报文属于VLAN2,而PE2上属于VLAN2的端口只有GE1/0/1,因此PE2通过其端口GE1/0/1将该新的DLDP报文发送给CE4的端口CE1/0/1,由此CE4便可以根据该新的DLDP报文中的DLDP类型值,获知CE3的端口GE1/0/1已经关闭,从而获知CE3的端口GE1/0/1与PE1的端口GE1/0/1之间的链路发生故障。此时,CE4可以通过关闭其链路端口GE1/0/1,并且可以通过将原本用于传输数据流量的链路及时切换到新的链路或备份链路上,来防止数据流量的丢失。
PE1可以通过将该OAM报文中标签Flag域的紧急链路时间标识值设置为1来生成新的OAM报文,修改后的Flag域的紧急链路时间标识值用于指示第一边缘设备与第三边缘设备之间发生链路故障。同样地,由于生成的新的OAM报中的目的MAC地址为OAM协议的组播MAC地址,因此为了保证能够将OAM报文发送给PE2,在生成新的OAM报文后,PE1还需要对该新的OAM报文进行封装,以使封装后该新的OAM报文的目的MAC地址为ISP network预先设定的组播MAC地址。当该新的OAM报文封装完成后,PE1通过OAM隧道在ISP network内组播该新的LACP报文。PE2接收到封装后的该新的OAM报文后对封装后的该新的OAM报文进行解封装,以使解封装后该新的OAM报文的目的MAC地址还原为OAM协议的组播MAC地址。PE2在该新的OAM报文所属的VLAN内组播该新的OAM报文,由于该新的OAM报文对应的原始报文是由PE1从PE1的端口GE1/0/1接收到的,说明该新的OAM报文属于VLAN2,而PE2上属于VLAN2的端口只有GE1/0/1,因此PE2通过其端口GE1/0/1将该新的OAM报文发送给CE4的端口CE1/0/1,由此CE4便可以根据该新的OAM报文中的标签Flag域的紧急链路时间标识值,获知CE3的端口GE1/0/1与PE1的端口GE1/0/1之间的链路发生故障。此时,CE4可以通过立即上报发生OAM链接故障事件,并且可以通过将原本用于传输数据流量的链路及时切换到新的链路或备份链路上,来防止数据流量的丢失。
与前述链路故障检测方法实施例相对应,本发明还提供了链路故障检测装置的实施例。
本发明链路故障检测装置实施例可以通过软件实现,也可以通过硬件或软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明链路故障检测装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
参见图5,为本发明链路故障检测装置的一个实施例框图,该实施例中运营商网络中包括第一边缘设备和第二边缘设备,企业用户拥有第一分支网络和第二分支网络,其中第一分支网络的第三边缘设备与所述第一边缘设备连接,第二分支网络的第四边缘设备与所述第二边缘设备连接,该实施例从运营商网络的第一边缘设备侧进行描述,该装置可以包括:
生成单元510,用于当检测到所述第三边缘设备与所述第一边缘设备之间的链路发生故障时,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文;
发送单元520,用于将所述新的二层协议报文发送给所述第二边缘设备,以使所述第二边缘设备将所述新的二层协议报文发送给所述第四边缘设备的与所述链路对应的端口后,由所述第四边缘设备根据所述新的二层协议报文获知所述链路发生故障。
在一个可选的实现方式中,所述装置还可以包括:
建立单元530,用于在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,建立本地数据库,在所述本地数据库中存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的二层协议报文;
获取单元540,用于当检测到所述链路发生故障时,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文。
在另一个可选的实现方式中,
所述生成单元510,具体当所述链路在本设备上的端口配置有至少两种二层协议对应的二层协议隧道时,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文中添加用于指示所述链路发生故障的标识符,生成该二层协议对应的新的二层协议报文。
在另一个可选的实现方式中,所述装置还可以包括:
建立单元530,用于在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,建立本地数据库,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,在所述本地数据库存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文;
获取单元540,用于当检测到所述链路发生故障时,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文。
在另一个可选的实现方式中,
所述生成单元510,具体用于当所述二层协议报文为链路汇聚控制协议LACP报文时,通过修改所述LACP报文中本端状态Actor_state字段的标识聚合位的值,生成新的LACP报文,所述修改后的Actor_state字段的标识聚合位的值为用于指示所述链路发生故障的标识符;当所述二层协议报文为链路层发现协议LLDP报文时,通过修改所述LLDP报文中的生存时间TTL值,生成新的LLDP报文,所述修改后的TTL值为用于指示所述链路发生故障的标识符;当所述二层协议报文为设备连接检测协议DLDP报文时,通过修改所述DLDP报文中的DLDP类型值,生成新的DLDP报文,所述修改后的DLDP类型值为用于指示所述链路发生故障的标识符;当所述二层协议报文为操作管理维护OAM报文时,通过修改所述OAM报文中标签Flag域的紧急链路时间标识值,生成新的OAM报文,所述修改后的Flag域的紧急链路时间标识值为用于指示所述链路发生故障的标识符。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,相比第四边缘设备在发现二次协议报文接收超时后,才能确定第一边缘设备与第三边缘设备之间发生链路故障,本发明可以更加及时地检测出链路故障。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种链路故障检测方法,所述方法应用在运营商网络的第一边缘设备上,所述运营商网络中还包括第二边缘设备,其中,第一分支网络的第三边缘设备与所述第一边缘设备连接,第二分支网络的第四边缘设备与所述第二边缘设备连接,其特征在于,包括:
当检测到所述第三边缘设备与所述第一边缘设备之间的链路发生故障时,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文;
将所述新的二层协议报文发送给所述第二边缘设备,以使所述第二边缘设备将所述新的二层协议报文发送给所述第四边缘设备的与所述链路对应的端口后,由所述第四边缘设备根据所述新的二层协议报文获知所述链路发生故障。
2.根据权利要求1所述的方法,其特征在于,在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,所述方法还包括:
建立本地数据库,在所述本地数据库中存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的二层协议报文;
当检测到所述链路发生故障时,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文。
3.根据权利要求1所述的方法,其特征在于,所述链路在本设备上的端口配置有至少两种二层协议对应的二层协议隧道,则所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文包括:
针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文中添加用于指示所述链路发生故障的标识符,生成该二层协议对应的新的二层协议报文。
4.根据权利要求3所述的方法,其特征在于,在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,所述方法还包括:
建立本地数据库,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,在所述本地数据库中存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文;
当检测到所述链路发生故障时,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文包括:
当所述二层协议报文为链路汇聚控制协议LACP报文时,通过修改所述LACP报文中本端状态Actor_state字段的标识聚合位的值,生成新的LACP报文,所述修改后的Actor_state字段的标识聚合位的值为用于指示所述链路发生故障的标识符;
当所述二层协议报文为链路层发现协议LLDP报文时,通过修改所述LLDP报文中的生存时间TTL值,生成新的LLDP报文,所述修改后的TTL值为用于指示所述链路发生故障的标识符;
当所述二层协议报文为设备连接检测协议DLDP报文时,通过修改所述DLDP报文中的DLDP类型值,生成新的DLDP报文,所述修改后的DLDP类型值为用于指示所述链路发生故障的标识符;
当所述二层协议报文为操作管理维护OAM报文时,通过修改所述OAM报文中标签Flag域的紧急链路时间标识值,生成新的OAM报文,所述修改后的Flag域的紧急链路时间标识值为用于指示所述链路发生故障的标识符。
6.一种链路故障检测装置,所述装置应用在运营商网络的第一边缘设备上,所述运营商网络中还包括第二边缘设备,其中,第一分支网络的第三边缘设备与所述第一边缘设备连接,第二分支网络的第四边缘设备与所述第二边缘设备连接,其特征在于,包括:
生成单元,用于当检测到所述第三边缘设备与所述第一边缘设备之间的链路发生故障时,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文;
发送单元,用于将所述新的二层协议报文发送给所述第二边缘设备,以使所述第二边缘设备将所述新的二层协议报文发送给所述第四边缘设备的与所述链路对应的端口后,由所述第四边缘设备根据所述新的二层协议报文获知所述链路发生故障。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
建立单元,用于在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,建立本地数据库,在所述本地数据库中存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的二层协议报文;
获取单元,用于当检测到所述链路发生故障时,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文。
8.根据权利要求6所述的装置,其特征在于,所述生成单元,具体用于当所述链路在本设备上的端口配置有至少两种二层协议对应的二层协议隧道时,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,向所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文中添加用于指示所述链路发生故障的标识符,生成该二层协议对应的新的二层协议报文。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
建立单元,用于在所述向所述链路在本设备上的端口接收到的所述第三边缘设备发送的二层协议报文中添加用于指示所述链路发生故障的标识符,生成新的二层协议报文之前,建立本地数据库,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,在所述本地数据库中存储所述链路在本设备上的端口最近一次接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文;
获取单元,用于当检测到所述链路发生故障时,针对所述链路在本设备上的端口配置的每一种二层协议对应的二层协议隧道,从所述本地数据库中获取存储的所述链路在本设备上的端口接收到的所述第三边缘设备发送的该二层协议对应的二层协议报文。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述生成单元,具体用于当所述二层协议报文为LACP报文时,通过修改所述LACP报文中本端状态Actor_state字段的标识聚合位的值,生成新的LACP报文,所述修改后的Actor_state字段的标识聚合位的值为用于指示所述链路发生故障的标识符;当所述二层协议报文为LLDP报文时,通过修改所述LLDP报文中的生存时间TTL值,生成新的LLDP报文,所述修改后的TTL值为用于指示所述链路发生故障的标识符;当所述二层协议报文为DLDP报文时,通过修改所述DLDP报文中的DLDP类型值,生成新的DLDP报文,所述修改后的DLDP类型值为用于指示所述链路发生故障的标识符;当所述二层协议报文为OAM报文时,通过修改所述OAM报文中标签Flag域的紧急链路时间标识值,生成新的OAM报文,所述修改后的Flag域的紧急链路时间标识值为用于指示所述链路发生故障的标识符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058605.0A CN104618189B (zh) | 2015-02-04 | 2015-02-04 | 链路故障检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058605.0A CN104618189B (zh) | 2015-02-04 | 2015-02-04 | 链路故障检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618189A true CN104618189A (zh) | 2015-05-13 |
CN104618189B CN104618189B (zh) | 2018-07-24 |
Family
ID=53152480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510058605.0A Active CN104618189B (zh) | 2015-02-04 | 2015-02-04 | 链路故障检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618189B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591982A (zh) * | 2015-07-24 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种报文传输的方法和装置 |
CN110581774A (zh) * | 2018-06-08 | 2019-12-17 | 华为技术有限公司 | 一种网络通信方法及装置 |
CN112468311A (zh) * | 2019-09-09 | 2021-03-09 | 中国移动通信有限公司研究院 | 一种保护倒换的方法、节点设备和存储介质 |
CN112468394A (zh) * | 2019-09-09 | 2021-03-09 | 中国移动通信有限公司研究院 | 一种保护倒换的方法、节点设备和存储介质 |
CN112737949A (zh) * | 2019-10-14 | 2021-04-30 | 中兴通讯股份有限公司 | 故障检测方法及装置、电子设备、计算机可读介质 |
CN112995024A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | 信号劣化告警方法、系统、终端设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102251A (zh) * | 2006-07-07 | 2008-01-09 | 中兴通讯股份有限公司 | 一种全网中部署虚拟专用网业务的方法 |
CN101640619A (zh) * | 2009-08-24 | 2010-02-03 | 中兴通讯股份有限公司 | 一种虚拟租用线网络业务保护的方法及运营商边缘设备 |
CN102136957A (zh) * | 2010-01-25 | 2011-07-27 | 华为技术有限公司 | 一种标签交换路径监控的实现方法、装置和系统 |
EP2712135A1 (en) * | 2012-09-24 | 2014-03-26 | Hitachi Ltd. | Network system, transmission device, and fault information delivery method |
-
2015
- 2015-02-04 CN CN201510058605.0A patent/CN104618189B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102251A (zh) * | 2006-07-07 | 2008-01-09 | 中兴通讯股份有限公司 | 一种全网中部署虚拟专用网业务的方法 |
CN101640619A (zh) * | 2009-08-24 | 2010-02-03 | 中兴通讯股份有限公司 | 一种虚拟租用线网络业务保护的方法及运营商边缘设备 |
CN102136957A (zh) * | 2010-01-25 | 2011-07-27 | 华为技术有限公司 | 一种标签交换路径监控的实现方法、装置和系统 |
EP2712135A1 (en) * | 2012-09-24 | 2014-03-26 | Hitachi Ltd. | Network system, transmission device, and fault information delivery method |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591982A (zh) * | 2015-07-24 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种报文传输的方法和装置 |
CN110581774A (zh) * | 2018-06-08 | 2019-12-17 | 华为技术有限公司 | 一种网络通信方法及装置 |
US11606288B2 (en) | 2018-06-08 | 2023-03-14 | Huawei Technologies Co., Ltd. | Network communication method and apparatus |
CN115987754A (zh) * | 2018-06-08 | 2023-04-18 | 华为技术有限公司 | 一种网络通信方法及装置 |
CN112468311A (zh) * | 2019-09-09 | 2021-03-09 | 中国移动通信有限公司研究院 | 一种保护倒换的方法、节点设备和存储介质 |
CN112468394A (zh) * | 2019-09-09 | 2021-03-09 | 中国移动通信有限公司研究院 | 一种保护倒换的方法、节点设备和存储介质 |
CN112737949A (zh) * | 2019-10-14 | 2021-04-30 | 中兴通讯股份有限公司 | 故障检测方法及装置、电子设备、计算机可读介质 |
CN112737949B (zh) * | 2019-10-14 | 2023-06-30 | 中兴通讯股份有限公司 | 故障检测方法及装置、电子设备、计算机可读介质 |
CN112995024A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | 信号劣化告警方法、系统、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104618189B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223514B2 (en) | Method and system of a dynamic high-availability mode based on current wide area network connectivity | |
CN106878166B (zh) | 路由通告方法及装置 | |
CN104618189A (zh) | 链路故障检测方法及装置 | |
CN105376154B (zh) | 渐进式mac地址学习 | |
CN104168193B (zh) | 一种虚拟路由器冗余协议故障检测的方法及路由设备 | |
CN101267360B (zh) | 伪线故障检测方法和用户边缘设备 | |
CN106899430B (zh) | 一种流量转发处理方法和装置 | |
CN103269299B (zh) | Spbm网络中的报文转发方法及装置 | |
CN106685903B (zh) | 基于sdn的数据传输方法、sdn控制器和sdn系统 | |
CN105099846A (zh) | 传输数据报文的方法和供应商边缘设备 | |
CN109474495B (zh) | 一种隧道检测方法及装置 | |
CN103139075B (zh) | 一种报文传输方法和设备 | |
CN107026790B (zh) | 一种转发控制方法及设备 | |
CN103581025B (zh) | 路由信息处理方法、设备及系统 | |
CN103607317A (zh) | 二层环路检测方法和装置及通信系统 | |
CN104518936B (zh) | 链路动态聚合方法和装置 | |
US9984028B2 (en) | Redundancy for port extender chains | |
CN103428045A (zh) | 连通性检测方法、装置和系统 | |
CN112291116A (zh) | 链路故障检测方法、装置及网络设备 | |
CN109088819A (zh) | 一种报文转发方法、交换机及计算机可读存储介质 | |
CN107547373A (zh) | 一种报文转发方法、装置、设备及机器可读存储介质 | |
JP5503600B2 (ja) | 故障管理システムおよび故障管理方法 | |
CN110120906A (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
CN109412851B (zh) | 链路层路径检测方法、装置及系统 | |
CN104219073A (zh) | Spbm网络中的报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |