一种用于传输报文的方法与装置
技术领域
本发明涉及通信领域,并且更具体地,涉及一种用于传输报文的方法与装置。
背景技术
虚拟专用局域网业务(Virtual Private Local Area Network Service,简称“VPLS”)是在公共网络中的一种二层虚拟专用网络(Virtual Private Network,简称“VPN”)业务。VPLS在运营商边缘设备(Provider Edge,简称“PE”)之间建立及维护伪线(Pseudo Wire,简称“PW”),PE与用户之间通过汇聚设备(Multi-Tenant Unit,简称“MTU”)双归互联,PE通过PW学习媒体接入控制(Media Access Control,简称“MAC”)地址并保存在自身维护的MAC地址表中,以便于VPLS中发送数据报文时根据该MAC地址表查找相应的接收端地址。
当MTU与第一PE的链路中断而导致数据报文无法发送时,MTU就会通过另一条链路向第二PE发送MAC地址回收报文,并通过该第二PE向其他PE广播发送该MAC地址回收报文,以使接收到该MAC地址回收报文的PE在接收到需要发送至第一PE的数据报文时,将该数据报文传输至第二PE。
但是,由于配置在PE和MTU之间的物理链路中包括了多条PW,每一条PW对应了一个业务,MTU在发出一条MAC地址回收报文的时候,会通过每一条PW发送一次。例如,若该物理链路中包括了10条PW,该MAC地址回收报文就会被发送至第二PE 10次,而该第二PE又会向其他PE广播该MAC地址回收报文10次,从而造成了不必要的广播和重复的清除MAC地址,浪费流量,同时也增加了网络风险。
发明内容
本发明实施例提供了一种用于传输报文的方法与装置,以使PE设备减少不必要的广播,减少广播流量。
第一方面,提供了一种用于传输报文的方法,该方法包括:第一运营商边缘设备PE在第一时段接收汇聚设备MTU发送的第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二PE之间;该第一PE向第三PE发送该第一故障指示报文,以使该第三PE在接收到需要发送至该第二PE的数据报文时,根据该第一故障指示报文,将该数据报文传输至该第一PE;该第一PE在第二时段接收该MTU发送的第二故障指示报文,并在确定该第二故障指示报文的链路标识字段携带该第一链路的链路标识时,禁止发送该第二故障指示报文,该第二时段处于该第一时段之后。
结合第一方面,在第一方面的第一种可能的实现方式中,该第一链路的链路标识包括该MTU的设备编号和该第一链路接入该MTU的物理端口号。
结合第一方面及其上述实现方式,在第一方面的第二种可能的实现方式中,该第一PE和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,该第一PE在第一时段接收该MTU通过该至少两条伪线中的第一伪线发送的故障指示报文;该第一PE在第二时段接收该MTU通过该至少两条伪线中的第二伪线发送的故障指示报文。
结合第一方面及其上述实现方式,在第一方面的第三种可能的实现方式中,该第一故障指示报文可以为第一媒体接入控制MAC地址回收报文,该第二故障指示报文可以为第二MAC地址回收报文。
结合第一方面及其上述实现方式,在第一方面的第四种可能的实现方式中,该第一时段与该第二时段的时间间隔小于预设时间。从而避免的业务延迟甚至丢失,提高服务质量。
第二方面,提供了一种用于传输报文的方法,该方法包括:汇聚设备MTU在第一时段向第一运营商边缘设备PE发送第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二PE之间;该MTU在第二时段向该第一PE发送第二故障指示报文,该第二故障指示报文的链路标识字段携带该第一链路的链路标识,该第二时段处于该第一时段之后。
结合第二方面,在第二方面的第一种可能的实现方式中,该第一链路的链路标识字段包括该MTU的设备编号和该第一链路接入该MTU的物理端口号。
结合第二方面及其上述实现方式,在第二方面的第二种可能的实现方式中,该第一故障指示报文可以为第一媒体接入控制MAC地址回收报文,该第二故障指示报文可以为第二MAC地址回收报文。
结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,该第一PE和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,该MTU在第一时段通过该至少两条伪线中的第一伪线向该第一PE发送第一故障指示报文;该MTU在第二时段通过该至少两条伪线中的第二伪线向该第一PE发送第二故障指示报文。
结合第二方面及其上述实现方式,在第二方面的第四种可能的实现方式中,该第一时段与该第二时段的时间间隔小于预设时间。
第三方面,提供了一种发送报文的装置,该装置包括接收模块、发送模块和确定模块,该接收模块、该发送模块和该确定模块具体用于执行第一方面中的方法。
第四方面,提供了一种发送报文的装置,该装置包括发送模块,该发送模块具体用于执行第二方面中的方法。
本发明实施例的用于传输报文的方法和装置,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
附图说明
图1示出了适用于本发明实施例的用于传输报文的方法的系统的示意性架构图。
图2示出了根据本发明实施例的用于传输报文的方法的示意性流程图。
图3示出了根据本发明另一实施例的用于传输报文的方法的示意性流程图。
图4示出了根据本发明实施例的用于传输报文的装置的示意性框图。
图5示出了根据本发明另一实施例的用于传输报文的装置的示意性框图。
图6示出了根据本发明实施例的用于传输报文的设备的示意性框图。
图7示出了根据本发明另一实施例的用于传输报文的设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了适用于本发明实施例的用于传输报文的方法的系统100的示意性架构图。如图1所示,该系统100包括至少一台MTU 110和多台PE(例如,第一PE 121、第二PE 122、第三PE 123和第四PE 124(为方便说明,分别记作“PE-1”、“PE-2”、“PE-3”和“PE-4”)),MTU110与至少两台PE(例如,PE-1和PE-2)连接,其中,MTU 110通过链路#1 131与PE-1 121连接,通过链路#2 132与PE-2连接,配置在MTU 110和PE之间的链路可以为物理链路,该物理链路上可以承载多条伪线(或者说,虚拟链路),每一条伪线承载一个业务。每台PE之间通过双向伪线140连接,该系统100中的多台PE之间可以全连接,使得任意两个PE之间都可以通过伪线140传输报文(或者说,业务)。在每一台PE上,可以建立至少一个虚拟交换实例(Virtual Switch Instance,简称“VSI”),每一个VSI对应了一个业务,。用户需要接入哪个VSI通过运营商的业务规划来部署,并通过虚拟局域网(Virtual Local Area Network,简称“VLAN”)来区分。
在本发明实施例中,PE可以理解为核心侧设备,MTU可以理解为接入设备。例如,处于A地的第一用户设备(User Equipment,简称“UE”)151(为方便理解和区分,以下记作“UE-1”)需要通过VPLS通信时,需要通过接入设备接入核心侧设备,再通过核心侧设备的转发,将需要传输的数据报文转发至处于B地的第二UE 152(为方便理解和区分,以下记作“UE-2”)。
需要说明的是,在本发明实施例中,汇聚设备也可以称为多租用单元,可以为交换机、路由器等,用于将处于多个用户设备(或者说,终端)的数据业务汇聚到一台设备中,再向核心侧设备(例如,PE)转发该数据业务,并将从核心侧设备接收到的业务数据发送给相应的用户设备。
应理解,图1示出的适用于本发明实施例的用于传输报文的方法的系统的示意性架构图,是为了便于本领域的技术人员更好的理解本发明实施例,而不应对本发明构成任何限定,本发明也不应限于此。本领域的技术人员根据图1所给出的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明的保护范围内。例如,每台PE可以连接多台MTU,第一PE、第二PE可以与第一MTU(MTU的一例)连接,第二PE、第三PE(PE的又一例)可以与第二MTU(MTU的又一例)连接。又例如,MTU可以与多个用户设备连接,如图1中所示的第一UE 151、第三UE 153(用户设备的又一例)等。以上列举的系统100可以称为分层VPLS(Hierarchical VPLS,简称“H-VPLS”),应理解,上述H-VPLS仅为示例性说明,本发明所应用的系统并不限于此,其他通过MAC地址表项确定报文传输的下一跳设备的系统都适用本发明的用于传输报文的方法。
需要说明的是,VPLS为用户网络模拟了一个以太网桥,基于MAC地址或者MAC地址加VLAN标签来作出转发决策。跟一个特定的VPLS服务关联的每个PE都为该VPLS建立一个VSI,每个VSI维护一张MAC地址表,并具有泛洪和转发、MAC地址学习和老化的功能,以便实现报文的转发。
下面以图1所示的系统架构为例,详细说明通过该系统转发数据业务的过程。
在本发明实施例中,VPLS的报文转发是通过查找VSI的MAC地址来完成的。如果PE从MTU接收到UE-1(为方便说明,将该UE-1的MAC地址记作MAC-1)发送到UE-3(为方便说明,将该UE-3的MAC地址记作MAC-3)的报文,该PE首先从接收该报文的伪线学习到发端口号所对应的UE-1的MAC地址(即,MAC-1),并记录到自己的MAC地址表中。然后,该PE根据UE-3的MAC地址(即,MAC-3),在MAC地址表中查找是否有保存。若该MAC地址表中保存有该MAC-3,则根据MAC-3所对应的端口转发报文;若该MAC地址表中未保存MAC-3,则通过伪线向该PE所连接的其他PE转发该报文,即,向所有端口广播出去,直到接收到UE-3的回应,再从转发该回应的伪线上学习该端口号,将该端口号与该目的MAC地址进行关联,并保存在MAC地址表中。
在本发明实施例中,UE(包括UE-1、UE-2和UE-3)为处于不同区域的设备,UE-1和UE-2处于同一区域,共用同一局域网,UE-3处于另一区域,UE-1、UE-2和UE-3处于同一虚拟局域网中,通过VPLS进行通信。
当UE-1需要向UE-3传输数据时,首先需要接入MTU,然后通过MTU向PE转发。MTU可以通过链路#1 131与PE-1连接,通过链路#2 132与PE-2连接。作为示例而非限定,将该链路#2 132确定为主用链路,链路#1 131确定为备用链路,也就是说,当MTU接收到需要转发的业务时,优先选择链路#2 132来将该业务转发给对端的PE-2。具体来说,当MTU接收到业务时,可以根据该业务的类型选择相应的业务路径,例如,虚拟租用线路(Virtual LeasedLine,简称“VLL”),再通过相应业务路径的伪线将业务转发到PE-2,更具体地,通过相应伪线将业务转发到PE-2中对应业务的VSI。
需要说明的是,配置于MTU和PE(包括PE-1和PE-2)之间的每一条物理链路都可以包括多条伪线,而核心侧的每两台PE之间分别通过一条伪线连接。MTU中的VLL对应不同的业务,也就是说,在同一台MTU的同一个物理端口下,可以对应有多个VLL,多个VLL通过对应业务的伪线接入一个VSI,由VSI将VLL所承载的业务通过伪线转发到对端。当MTU和接入MTU的端口号确定,或者,PE和接入PE的端口号确定时,便可以确定配置于MTU和PE之间的链路,以及对端的PE和MTU。换句话说,每一个设备的物理端口和对端设备的物理端口具有一一对应关系。作为示例而非限定,MTU通过端口#1与PE-1的端口#2连接,通过端口3#与PE-2的端口4#连接,端口#1与#2及其之间的链路为链路#1,端口3#与4#及其之间的链路为链路#2。
应理解,以上列举的链路#1、链路#2以及主用链路和备用链路均为示例性说明,不应对本发明构成任何限定,本发明也可以不限定主用和备用的链路,在接收到数据业务时,通过当前的网络配置选择一条链路转发数据业务,本发明对此并未特别限定。
在本发明实施例中,当MTU接收到业务时,首先需要对用于转发该业务的主用链路(例如,第一链路)进行检测,以确定该链路通畅,可以用于转发该业务。该链路检测可以通过配置在MTU中的装置或检测模块通过链路检测机制(例如,双向转发检测,(Bidirectional Forwarding Detection,简称“BFD”)协议)来执行。应理解,链路检测机制为现有技术中的通用手段,本发明对此并未特别限定,所有用于检测两个转发点之间故障的网络协议或者机制,都适用本发明的用于传输报文的方法。
当MTU通过链路检测机制确定用于转发业务的主用链路(例如,链路#2)发生故障,无法正常传输的时候,就会通过备用链路(例如,链路#1)来传输业务。为了避免从对端的用户设备(例如,UE-3)发送给UE-1或UE-2的业务被转发至PE-2,而导致UE-1或UE-2无法正常接收,或者接收延迟,MTU会根据检测到的链路故障向PE-1发送MAC地址回收报文,以通知PE-2清除其所保存的与PE-2相关的MAC地址表项,并通过PE-1将该MAC地址回收报文广播发送给与PE-1连接着的其他PE,例如,图1中所示的PE-2、PE-3和PE-4。从而避免了该网络内的每一台可以正常通信的PE将接收到的业务转发至PE-2而可能造成的业务丢失或者延迟。
在本发明实施例中,由于MTU并不限于针对这一条业务进行业务转发,同时还为其他多台用户设备服务,而每收到一次用户设备发来的业务时,都需要通过链路检测机制去检测主用链路是否故障,并通过MTU发送MAC地址回收报文,再通过PE-1广播出去。假设该备用链路中包含了10条伪线,如果每一条伪线都被发起一次业务转发,则该MTU就会基于每一次业务转发作一次链路检测,并生成一条MAC地址回收报文,将每一条MAC地址回收报文发送至PE-1。也就是说,同一条MAC地址回收报文在短时间内可能会被转发至PE-1 10次。然后该PE-1在每接收到一次该MAC地址回收报文都会向PE-2、PE-3和PE-4广播一次该MAC地址回收报文,接收到10次也就会广播10次,以此类推。
在本发明实施例中,由于一台PE连接至少一台MTU,该PE-1除了接收到上述MTU(为方便理解和区分,记作第一MTU)所发送的MAC地址回收报文之外,还有可能接收到其他MTU(为方便理解和区分,记作第二MTU)发送的MAC地址回收报文(为方便理解和区分,记作第三MAC地址回收报文),以通知PE-1配置在第二MTU和该第二MTU连接的另一台PE(为方便理解和区分,记作PE-5)之间的链路发生故障,需要清除关于第二MTU和PE-5间的伪线所对应的MAC地址表项。该PE-1在接收到第三MAC地址回收报文后,也会向与第三PE(包括上述PE-2、PE-3、PE-4、PE-5)广播该第三MAC地址回收报文。
由此可以看出,PE在每一次接收到MTU(包括第一MTU和第二MTU)发送的MAC地址回收报文(包括第一MAC地址回收报文、第二MAC地址回收报文和第三MAC地址回收报文)后,都会广播一次。因此,就会造成很多不必要的广播,引起泛洪。
应注意,每一台PE基于接收到的MAC地址回收报文,清除其相应的MAC地址表项时,可以只清除与故障链路相关的MAC地址表项,也可以清除MAC地址表中的所有MAC地址表项,除了从接收该MAC地址回收报文的伪线所学习到的MAC地址表项,以便于在下次接收到转发业务时,能够通过该MAC地址表查找到相应的下一跳设备。应理解,MAC地址回收与现有技术中的方法相同,本发明对此并未特别限定。
还应理解,以上列举的MTU(包括MTU-1和MTU-2)、PE(包括PE-1、PE-2、PE-3、PE-4和PE-5)、UE(包括UE-1、UE-2和UE-3)及其连接关系仅为示例性说明,本发明对此并未特别限定。
以下仍以图1所示的系统架构为例,结合图2,详细说明本发明实施例的用于传输报文的方法。
图2示出了从PE的角度描述的根据本发明实施例的用于传输报文的方法200的示意性流程图。如图2所示,该方法200包括:
S210,第一运营商边缘设备PE在第一时段接收汇聚设备MTU发送的第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二PE之间;
S220,该第一PE向第三PE发送该第一故障指示报文,以使该第三PE在接收到需要发送至该第二PE的数据报文时,根据该第一故障指示报文,将该数据报文传输至该第一PE;
S230,该第一PE在第二时段接收该MTU发送的第二故障指示报文,并在确定该第二故障指示报文的链路标识字段携带该第一链路的链路标识时,禁止发送该第二故障指示报文,该第二时段处于该第一时段之后。
应理解,该第一PE可以对应于图1中所示的PE-1 121,该第二PE可以对应于图1中所示的PE-2 122,该MTU可以对应于图1中的MTU 110,该第一链路可以对应于图1中的链路#2 132。
在本发明实施例中,作为示例而非限定,第一故障指示报文可以为第一MAC地址回收报文,第二故障指示报文可以为第二MAC地址回收报文。具体而言,MTU在接收到用户设备(例如,图1中的UE-1)发送的业务时,会将该业务转发到核心侧设备PE。MTU在转发之前会通过链路检测机制检测主用链路(或者说,第一链路,例如,图1中的链路#2 132)是否正常通信,若检测到该链路#2(即,第一链路的一例)中断,则该MTU会将原本要发送到链路#2对端的PE-2的数据报文转发给备用链路(或者说,第二链路,例如,图1中的链路#1)对端的PE-1(即,第一PE的一例)。同时,MTU通过承载在链路#1(即,第二链路的一例)中的与该业务相对应的伪线向PE-1发送MAC地址回收报文。
在S210中,该MTU在第一时段接收到用户发起的业务请求后,可以根据该业务请求的业务类型,通过链路检测机制检测用于传输该业务的链路(例如,第一链路)是否正常通信。若检测到该链路故障,则该MTU可以根据该链路检测机制所生成的故障源信息,生成MAC地址回收报文(为方便区分和理解,记作第一MAC地址回收报文),该第一MAC地址回收报文中具有链路标识字段,该链路标识字段用于标识发生故障的链路,例如,配置在MTU与第二PE(例如,图1中所示的PE-2)之间的第一链路(例如,上述链路#2)发生故障。
具体地,该第一MAC地址回收报文的链路标识字段中携带有第一链路的链路标识,这里所说的链路标识可以理解为用于标识故障链路的故障源信息,或者其他用于标识故障链路的信息。例如,该第一链路所接入的MTU的设备信息,或者,该第一链路所接入的MTU或者PE设备的端口信息。换句话说,该链路标识可以用于确定一条唯一的链路。该第一PE可以根据该链路标识,便可以确定发生故障的链路。
需要说明的是,这里所说的链路标识字段可以为MAC地址回收报文中的某一预设字段,例如,该链路标识字段可以放在MAC地址回收报文中的子-类型长度值(Sub-TypeLength Value,简称“Sub-TLV”)字段,也可以为在MAC地址回收报文中新增的字段,本发明对此并未限定。
应理解,以上列举的链路标识仅为示例性说明,不应对本发明构成任何限定,本发明也不应限于此。任何用于标识故障链路的字段都可以作为第一链路的链路标识,均落入本发明的保护范围。
在S220中,当PE-1(即,第一PE的一例)接收到故障指示报文后,便会向与其连接的其他PE(即,第三PE)转发该故障指示报文,即广播发送该故障指示报文,例如,在图1所示的架构图中,PE-1接收到该故障指示报文后,会向PE-2、PE-3和PE-4转发该故障指示报文。也就是说,图1中所示的PE-2、PE-3和PE-4都可以称为第三PE。每一个接收到该故障指示报文的PE都会根据该故障指示报文,对保存在自身的MAC地址表中所有与PE-2相关伪线的MAC地址表项进行清除,以使得在下一个时刻接收到需要发送至PE-2的数据报文时,将该数据报文传输至PE-1或其他PE,而不再发送给PE-2。
需要说明的是,与PE-1连接的PE都可以称为第三PE,第三PE可以为一台PE,也可以为多台PE,本发明对此并未特别限定。
在S230中,在第一时段之后的时段内(即,第二时段)MTU再次接收到用户设备的业务请求时,会再次通过链路检测机制检测用于传输业务的第一链路是否正常通信。若该第一链路仍然处于故障状态,该MTU可以根据该链路检测机制所生成的故障源信息,再次生成MAC地址回收报文(为方便区分和理解,记作第二MAC地址回收报文)。该第二MAC地址回收报文的链路标识字段也可以携带第一链路的链路标识。
在本发明实施例中,该PE-1在接收到该第一MAC地址回收报文后,可以将第一链路的链路标识记录在寄存器或者其他用于存储的模块或单元中。当该PE-2接收到MTU在随后的第二时段发送来的第二MAC地址回收报文时,就会分析该第二MAC地址回收报文的链路标识字段中携带的链路标识,若与该PE-1中预存的链路标识相同,则禁止转发该第二MAC地址回收报文。
应理解,以上列举的第一MAC地址回收报文和第二MAC地址回收报文是为了便于理解所作的示例性说明,不应对本发明构成任何限定。例如,该MTU可以接收多个用户发起的业务请求,通过承载在第一链路中的多条伪线发送多条MAC地址回收报文。
还应理解,MAC地址回收报文作为故障指示报文的一例,仅为示例性说明,不应对本发明构成任何限定。任何携带有用于故障链路的链路标识的报文都可以称为故障指示报文,均落入本发明的保护范围内。
因此,本发明实施例的用于传输报文的方法,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
可选地,该第一链路的链路标识包括该MTU的设备编号和该第一链路接入该MTU的物理端口号,
具体而言,该链路标识字段可以通过MTU的设备编号和该MTU的物理端口号来指示故障链路,即,将MTU的设备编号和物理端口号作为链路标识。由于一台PE可以连接多台MTU,而每台MTU可以至少连接两台PE,当确定MTU的设备ID或者物理端口号中的任意一项时,仍无法确定出发生故障的链路。例如,当MTU-1和MTU-2都配置有一个端口号为#1的端口,PE在接收到MAC地址回收报文时,从发送该报文的伪线可以学习到该发端口号,但无法确定是通过哪一台MTU发送的,也就无法进而确定该端口号对应的用户设备的MAC地址。因此,就需要通过MTU设备ID和该MTU的物理端口号来确定与该MTU及该物理端口号所连接的链路,即故障链路。
在本发明实施例中,当PE-1在第一时段接收到第一MAC地址回收报文(即,第一故障指示报文的一例)后,会根据该链路标识(包括MTU的设备ID和端口号),确定发送该第一MAC地址回收报文的MTU,进而确定发生故障的链路。当在第二时段接收到基于相同链路的第二MAC地址回收报文(即,第二故障指示报文的又一例)时,直接将该报文过滤,而不再转发。
或者,该PE-1也可以直接记录该链路标识(例如,上述的MTU的设备编号和物理端口号),当再次接收到的MAC地址回收报文中的链路标识字段所携带的链路标识也指示相同的设备编号和端口号时,将该报文过滤而不再转发。
可选地,该第一PE和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,
其中,该第一PE在第一时段接收MTU发送的第一故障指示报文,包括:
该第一PE在该第一时段接收该MTU通过该至少两条伪线中的第一伪线发送的第一故障指示报文;
该第一PE在第二时段接收该MTU发送的第二故障指示报文,包括:
该第一PE在该第二时段接收该MTU通过该至少两条伪线中的第二伪线发送的第二故障指示报文。
具体而言,配置在PE-1和MTU之间的第一链路承载有多条伪线,MTU可以在第一时段通过其中一条伪线(为方便区分和理解,记作第一伪线)发送该第一MAC地址回收报文。在该MTU通过第一伪线发送第一MAC地址回收报文之后,MTU会通过其他伪线(例如,第二伪线)向PE-1发送第二MAC地址回收报文,当PE-1确定第一MAC地址回收报文和第二MAC地址回收报文为相同的故障指示报文时,就会禁止转发第二MAC地址回收报文。更具体地说,该PE-1可以在接收到第一MAC地址回收报文后禁止此后多次接收到的MAC地址回收报文。
因此,本发明实施例的用于传输报文的方法,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
具体而言,当第二链路恢复正常时,MTU就会切换到第二链路传输业务,而当该第二链路再次中断时,MTU就会再次向PE-1发送MAC地址回收报文,这与第二链路在上次中断时发送的MAC地址回收报文具有相同的链路标识,若仍对其进行过滤,就无法正确指示业务传输的下一跳设备,会造成业务的传输被延迟或丢失。因此可以限定该第一时段与第二时段的时间间隔小于预设时间(例如,5秒),在该预设时间内收到的相同的MAC地址回收报文可以过滤,在超出该预设时间收到的相同的MAC地址回收报文,则认为是又一次出现链路故障,仍需要通过MAC地址回收报文来对每一个接入的PE设备进行MAC地址清除。
因此,本发明实施例的用于传输报文的方法,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。并通过设置预设时间,避免对故障指示报文的漏发,从而造成业务延迟甚至丢失,提高服务质量。
以上,结合图1和图2从PE的角度详细说明了本发明实施例的用于传输报文的方法,以下,结合图3从MTU的角度详细说明本发明实施例的用于传输报文的方法。
图3示出了从MTU的角度描述的根据本发明实施例的用于传输报文的方法300的示意性流程图。如图3所示,该方法300包括:
S310,汇聚设备MTU在第一时段向第一运营商边缘设备PE发送第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二PE之间;
S320,该MTU在第二时段向该第一PE发送第二故障指示报文,该第二故障指示报文的链路标识字段携带该第一链路的链路标识,该第二时段处于该第一时段之后。
可选地,该第一链路的链路标识包括该MTU的设备编号和该第一链路接入该MTU的物理端口号。
可选地,该第一故障指示报文为第一媒体接入控制MAC地址回收报文,该第二故障指示报文可以为第二MAC地址回收报文。
可选地,第一PE和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,
其中,该MTU在第一时段向第一运营商边缘设备PE发送第一故障指示报文,包括:
该MTU在第一时段通过该至少两条伪线中的第一伪线向该第一PE发送第一故障指示报文;
该MTU在第二时段向所述第一PE发送第二故障指示报文,包括:
该MTU在第二时段通过该至少两条伪线中的第二伪线向该第一PE发送第二故障指示报文。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
在方法300中,MTU的动作与图1和图2中的各个方法中MTU的动作相似,这里为了避免赘述,省略其详细说明。
因此,本发明实施例的用于传输报文的方法,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
以上结合图1至图3详细说明了本发明实施例的用于传输报文的方法,以下结合图4至图7详细说根据本发明实施例的用于传输报文的装置和设备。
图4示出了根据本发明实施例的用于传输报文的装置400的示意性框图。如图4所示,该装置400包括接收模块410、发送模块420和确定模块430,其中,
该接收模块410用于在第一时段接收汇聚设备MTU发送的第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二运营商边缘设备PE之间;
该发送模块420用于向第三PE发送该第一故障指示报文,以使该第三PE在接收到需要发送至该第二PE的数据报文时,根据该第一故障指示报文,将该数据报文传输至该装置400;
该接收模块410还用于在第二时段接收该MTU发送的第二故障指示报文,该第二时段处于该第一时段之后;
该确定模块430用于确定该第二故障指示报文的链路标识字段携带该第一链路的链路标识时,确定禁止该发送模块发送该第二故障指示报文。
可选地,该第一链路的链路标识包括该MTU的设备编号和该第一链路接入该MTU的物理端口号。
可选地,该装置400和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,
该接收模块410具体用于在该第一时段接收该MTU通过该至少两条伪线中的第一伪线发送的第一故障指示报文,并在该第二时段接收该MTU通过该至少两条伪线中的第二伪线发送的第二故障指示报文,该第二时段处于该第一时段之后。
可选地,该第一故障指示报文为第一媒体接入控制MAC地址回收报文,该第二故障指示报文为第二MAC地址回收报文。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
根据本发明实施例的用于传输报文的装置400可对应于根据本发明实施例的用于传输报文的方法中的第一PE,并且,该装置400中的各模块和上述其他操作和/或功能分别为了实现图1至图3中各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的用于传输报文的装置,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使该装置在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
图5示出了根据本发明实施例的用于传输报文的装置500的示意性框图。如图5所示,该装置500包括发送模块510,
该发送模块510用于在第一时段向第一运营商边缘设备PE发送第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该装置500与第二PE之间;
该发送模块510还用于在第二时段向该第一PE发送第二故障指示报文,该第二故障指示报文的链路标识字段携带该第一链路的链路标识,该第二时段在该第一时段之后。
可选地,该第一链路的链路标识包括该装置500的设备编号和该第一链路接入该装置500的物理端口号。
可选地,该第一故障指示报文为第一媒体接入控制MAC地址回收报文,该第二故障指示报文为第二MAC地址回收报文。
可选地,该第一PE和该装置500之间配置有第二链路,该第二链路包括至少两条伪线,
该发送模块510具体用于在第一时段通过该至少两条伪线中的第一伪线向该第一PE发送第一故障指示报文,并在第二时段通过该至少两条伪线中的第二伪线向该第一PE发送第二故障指示报文,该第二时段处于该第一时段之后。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
根据本发明实施例的用于传输报文的装置500可对应于根据本发明实施例的用于传输报文的方法中的MTU,并且,该装置500中的各模块和上述其他操作和/或功能分别为了实现图1至图3中各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的用于传输报文的装置,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
图6示出了根据本发明实施例的用于传输报文的设备600的示意性框图。如图6所示,该设备600包括接收器610、发送器620、处理器630、存储器640和总线系统650。其中,接收器610、发送器620、处理器630和存储器640通过总线系统650相连,该存储器640用于存储指令,该处理器3300用于执行该存储器640存储的指令,以控制接收器640接收信号,并控制发送器620发送信号。
其中,该接收器610用于在第一时段接收汇聚设备MTU发送的第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该MTU与第二运营商边缘设备PE之间;
该发送器620用于向第三PE发送该故障指示报文,以使该第三PE在接收到需要发送至该第二PE的数据报文时,根据该故障指示报文,将该数据报文传输至该设备600;
该接收器610还用于在第二时段接收该MTU发送的第二故障指示报文,该第二时段处于该第一时段之后;
该处理器630用于确定该第二故障指示报文的链路标识字段携带该第一链路的链路标识时,确定禁止该发送模块发送该第二故障指示报文。
可选地,该第一链路的链路标识包括该MTU的设备编号和该第一链路接入该MTU的物理端口号。
可选地,该设备600和该MTU之间配置有第二链路,该第二链路包括至少两条伪线,
该接收器610具体用于在该第一时段接收该MTU通过该至少两条伪线中的第一伪线发送的第一故障指示报文,并在该第二时段接收该MTU通过该至少两条伪线中的第二伪线发送的第二故障指示报文,该第二时段处于该第一时段之后。
可选地,该第一故障指示报文为第一媒体接入控制MAC地址回收报文,该第二故障指示报文为第二MAC地址回收报文。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
应理解,在本发明实施例中,该处理器630可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器630还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该处理器640可以包括只读存储器和随机存取存储器,并向处理器630提供指令和数据。处理器640的一部分还可以包括非易失性随机存取存储器。例如,处理器640还可以存储设备类型的信息。
该总线系统650除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统650。
在实现过程中,上述方法的各步骤可以通过处理器630中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器640,处理器630读取存储器640中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的用于传输报文的设备600可对应于根据本发明实施例的用于传输报文的方法中的第一PE,并且,该设备600中的各模块和上述其他操作和/或功能分别为了实现图1至图3中各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的用于传输报文的设备,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使该装置在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
图7示出了根据本发明实施例的用于传输报文的设备700的示意性框图。如图7所示,该设备700包括接收器710、发送器720、处理器730、存储器740和总线系统750。其中,接收器710、发送器720、处理器730和存储器740通过总线系统750相连,该存储器740用于存储指令,该处理器3300用于执行该存储器740存储的指令,以控制接收器740接收信号,并控制发送器720发送信号。其中,
该发送器720用于在第一时段向第一运营商边缘设备PE发送第一故障指示报文,该第一故障指示报文的链路标识字段携带第一链路的链路标识,该第一故障指示报文用于指示该第一链路发生故障,该第一链路配置在该设备700与第二PE之间;
该发送器720还用于在第二时段向该第一PE发送第二故障指示报文,该第二故障指示报文的链路标识字段携带该第一链路的链路标识,该第二时段在该第一时段之后。
可选地,该第一链路的链路标识包括该设备700的设备编号和该第一链路接入该设备700的物理端口号。
可选地,该第一故障指示报文为第一媒体接入控制MAC地址回收报文,该第二故障指示报文为第二MAC地址回收报文。
可选地,该第一PE与该设备700之间配置有第二链路,该第二链路包括至少两条伪线,
该发送器720具体用于在第一时段通过该至少两条伪线中的第一伪线向该第一PE发送第一故障指示报文,并在第二时段通过该至少两条伪线中的第二伪线向该第一PE发送第二故障指示报文,该第二时段处于该第一时段之后。
可选地,该第一时段与该第二时段的时间间隔小于预设时间。
根据本发明实施例的用于传输报文的设备700可对应于根据本发明实施例的用于传输报文的方法中的MTU,并且,该设备700中的各模块和上述其他操作和/或功能分别为了实现图1至图3中各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的用于传输报文的设备,通过在故障指示报文的链路标识字段携带故障链路的链路标识,以使第一PE在接收到与第一故障指示报文携带有相同链路标识的第二故障指示报文时,禁止转发第二故障指示报文,从而减少了第一PE不必要的广播,减少广播流量,减少网络风险。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。