CN109951371B - 数据转发方法及装置 - Google Patents
数据转发方法及装置 Download PDFInfo
- Publication number
- CN109951371B CN109951371B CN201910253020.2A CN201910253020A CN109951371B CN 109951371 B CN109951371 B CN 109951371B CN 201910253020 A CN201910253020 A CN 201910253020A CN 109951371 B CN109951371 B CN 109951371B
- Authority
- CN
- China
- Prior art keywords
- link
- state
- user data
- identifier
- message
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据转发方法,应用于EVPN中的第一PE设备,EVPN还包括第二PE设备和CE设备,CE设备接入第一PE设备以及第二PE设备,第一PE设备与第二PE设备之间已建立伪线PW链路,在接收到第二PE设备通过PW链路发送的用户数据报文之后,查询第二PE设备与CE设备之间的链路状态,当链路状态为正常状态时,丢弃用户数据报文,当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,向CE设备转发用户数据报文。这样,当第二PE设备与CE设备之间的链路为正常状态时,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,减少对资源的占用。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及一种数据转发方法及装置。
背景技术
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN(Virtual Private Network,虚拟局域网)技术。
在EVPN中,包括CE(Customer Edge,用户网络边缘)设备、PE(Provider Edge,服务提供商网络边缘)设备和PW(Pseudo-wire,伪线),其中,CE设备是直接与服务提供商网络相连的用户网络侧设备,PE设备是与CE相连的服务提供商网络侧设备,PW是一个PE设备与另一个PE设备之间的虚拟连接。
在实际应用中,EVPN中的CE设备可以采用双归属的方式接入组网,也就是说,该CE设备通过两个与其相连接的PE设备接入组网。
基于此,为了提高EVPN中数据传输的可靠性,通常会在双归属的CE设备所接入的两个PE设备之间建立bypass(旁路)PW,这样,当该CE设备和其中一个PE设备之间的链路发生故障时,该PE设备可以通过bypass PW将需要发送至该CE设备的用户数据报文,转发到另一个PE设备,进而由另一个PE设备将用户数据报文转发至该CE设备。
但是,双归属的CE设备在广播用户数据报文时,将用户数据报文发送至所接入的一个PE设备后,该PE设备可能由于转发错误,将该用户数据报文通过bypass PW转发至另一个PE设备,另一个PE针对通过该bypass PW接收的用户数据报文,将转发回所连接的CE设备,进而导致该CE设备与其所接入的两个PE设备之间产生数据转发环路。
为了避免产生数据转发环路,当双归属的CE设备所接入的一个PE设备接收到该CE设备发送的用户数据报文时,可以为用户数据报文添加环路检测标签,当另一个PE设备检测到所接收的数据是通过bypass PW传输且携带环路检测标签时,则丢弃该用户数据报文。
举例而言,将某一双归属的CE设备接入的两个PE设备分别称为第一PE设备和第二PE设备,其中,第一PE设备的环路检测的标签为1000,bypass PW的标签为2000,当第一PE设备接收到该CE设备转发的用户数据报文,则为该用户数据报文添加环路检测标签1000,那么,如果第二PE设备收到携带1000和2000标签项的用户数据报文,则可以判定该用户数据报文是该CE设备发送至第一PE设备,并由第一PE设备通过bypass PW转发至第二PE设备的用户数据报文,因此,可以直接将该用户数据报文丢弃。
但是,上述避免产生数据转发环路的方法占用了PE设备上的标签资源,在PE设备与多个CE设备连接的情况下,由于每个不同的CE设备都对应不同的环路检测标签,因此,需要存储大量的环路检测标签,导致资源浪费。
发明内容
有鉴于此,本发明提供了一种数据转发方法及装置,以减少对资源的占用。具体技术方案如下:
第一方面,本发明提供了一种数据转发方法,应用于以太网虚拟专用网络EVPN中的第一服务提供商网络边缘PE设备,所述EVPN还包括第二服务提供商网络边缘PE设备和用户网络边缘CE设备,所述CE设备接入所述第一PE设备以及第二PE设备,所述第一PE设备与所述第二PE设备之间已建立伪线PW链路,所述方法包括:
在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态;
当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为正常状态时,丢弃所述用户数据报文;
当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为故障状态时,向所述CE设备转发所述用户数据报文。
结合第一方面,在第一种可能的实现方式中,所述在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态之前,所述方法还包括:
接收待处理报文;
判断所述待处理报文是否包括所述第二PE设备的标签信息;
若包括,则确定所述待处理报文为所述第二PE设备通过所述PW链路发送的用户数据报文。
结合第一方面,在第二种可能的实现方式中,所述用户数据报文包括虚拟专用局域网业务的第一业务标识和目的IP地址,所述目的IP地址用于指示所述CE设备;
所述查询所述第二PE设备与所述CE设备之间的链路状态,包括:
确定所述第一PE设备与所述CE设备之间链路的第一链路标识;
通过所述第一业务标识及所述第一链路标识,从预先获取的链路状态表中查询所述第二PE设备与所述CE设备之间链路的链路状态。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态之前,所述方法还包括:
接收所述第二PE设备通过所述PW链路发送的第一路由消息,所述第一路由消息包括所述第二PE设备所属的虚拟专用局域网业务的第二业务标识、所述第二PE设备与所述CE设备之间链路的第二链路标识、以及表示所述第二PE设备与所述CE设备之间的链路状态的状态信息;
将所述第二业务标识、所述第二链路标识与所述表示所述第二PE设备与所述CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
接收所述第二PE设备通过所述PW链路发送的第二路由消息,所述第二路由消息包括链路更新信息,所述链路更新信息表示所述第二PE设备与所述CE设备之间链路更新后的链路状态;
将所述第二业务标识、所述第二链路标识与所述链路更新信息对应存储,得到更新后的链路状态表。
第二方面,本发明还提供了一种数据转发装置,应用于以太网虚拟专用网络EVPN中的第一服务提供商网络边缘PE设备,所述EVPN还包括第二服务提供商网络边缘PE设备和用户网络边缘CE设备,所述第一PE设备与所述第二PE设备之间已建立伪线PW链路,所述装置包括:
查询模块,用于在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态;
转发模块,用于当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为正常状态时,丢弃所述用户数据报文;当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为故障状态时,向所述CE设备转发所述用户数据报文。
结合第一方面,在第一种可能的实现方式中,所述装置还包括:
第一接收模块,用于接收待处理报文;判断所述待处理报文是否包括所述第二PE设备的标签信息;若包括,则确定所述待处理报文为所述第二PE设备通过所述PW链路发送的用户数据报文。
结合第一方面,在第二种可能的实现方式中,所述用户数据报文包括虚拟专用局域网业务的第一业务标识和目的IP地址,所述目的IP地址用于指示所述CE设备;
所述查询模块,具体用于:
确定所述第一PE设备与所述CE设备之间链路的第一链路标识;
通过所述第一业务标识及所述第一链路标识,从预先获取的链路状态表中查询所述第二PE设备与所述CE设备之间链路的链路状态。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
第二接收模块,用于接收所述第二PE设备通过所述PW链路发送的第一路由消息,所述第一路由消息包括所述第二PE设备所属的虚拟专用局域网业务的第二业务标识、所述第二PE设备与所述CE设备之间链路的第二链路标识、以及表示所述第二PE设备与所述CE设备之间的链路状态的状态信息;
存储模块,用于将所述第二业务标识、所述第二链路标识与所述表示所述第二PE设备与所述CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二接收模块,还用于接收所述第二PE设备通过所述PW链路发送的第二路由消息,所述第二路由消息包括链路更新信息,所述链路更新信息表示所述第二PE设备与所述CE设备之间链路更新后的链路状态;
所述存储模块,还用于将所述第二业务标识、所述第二链路标识与所述链路更新信息对应存储,得到更新后的链路状态表。
第三方面,本发明还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据转发方法。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据转发方法。
第五方面,本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据转发方法。
本发明提供的数据转发方法及装置,应用于EVPN中的第一PE设备,其中,EVPN还包括第二PE设备和CE设备,CE设备接入第一PE设备以及第二PE设备,第一PE设备与第二PE设备之间已建立伪线PW链路。首先,在第一PE设备接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以查询第二PE设备与CE设备之间的链路状态,当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,第一PE设备丢弃用户数据报文,当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,第一PE设备再向CE设备转发用户数据报文。
这样,在接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以根据第二PE设备与CE设备之间的链路状态,判断是否向CE设备转发用户数据报文,当第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间可以通过链路进行用户数据报文的传输,因此,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,而且,判断过程中没有在用户数据报文中添加环路检测标签,减少了对资源的占用。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据转发方法的流程示意图;
图2为一种实现方式中,EVPN组网中应用本发明实施例提供的方法转发数据的方法示意图;
图3为本发明实施例提供的一种数据转发装置的结构示意图;
图4为本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了避免产生数据转发环路,当双归属的CE设备所接入的一个PE设备接收到该CE设备发送的用户数据报文时,可以为用户数据报文添加环路检测标签,但是,在PE设备与多个CE设备连接的情况下,由于每个不同的CE设备都对应不同的环路检测标签,因此,需要存储大量的环路检测标签,导致资源浪费。
为了解决上述技术问题,本发明实施例提供了一种数据转发方法,该方法可以应用于EVPN中的第一PE设备。其中,EVPN还包括第二PE设备和CE设备,CE设备接入第一PE设备以及第二PE设备,第一PE设备与第二PE设备之间已建立伪线PW链路,第一PE设备可以为计算机、基站、路由器等等,本发明实施例对此不做限定。
下面从总体上对本发明实施例提供的数据转发方法进行说明。请参见图1所示,上述数据转发方法包括以下步骤:
步骤101、在接收到第二PE设备通过PW链路发送的用户数据报文后,查询第二PE设备与CE设备之间的链路状态。
一些场景中,EVPN中的CE设备可以采用双归属的方式接入组网,也就是说,该CE设备通过两个与其相连接的PE设备接入组网。为了提高EVPN中数据传输的可靠性,通常会在双归属的CE设备所接入的两个PE设备之间建立bypass PW链路,这样,当该CE设备和其中一个PE设备之间的链路发生故障时,该PE设备可以通过bypass PW链路将需要发送至该CE设备的用户数据报文,转发到另一个PE设备,进而由另一个PE设备将该用户数据报文转发至该CE设备。
为了便于描述,在本发明实施例中,将上述双归属的CE设备对应的两个PE设备分别称为第一PE设备和第二PE设备。
如图2所示,为一种实现方式中,EVPN组网中应用本发明实施例提供的方法转发数据的方法示意图。其中,CE1为双归属接入组网的CE设备,PE1和PE2为CE1接入的两个PE设备,用户数据报文从其他CE设备(例如,CE2)所连接的PE设备(例如,PE3)转发至PE2。
在PE2判断PE2与CE1之间的链路故障时,PE2通过PW链路向PE1转发用户数据报文。对于PE1而言,当PE1接收到PE2通过PW链路发送的用户数据报文之后,可以在自身存储的链路状态表中,查询PE2与CE1之间的链路状态。
步骤102、当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,丢弃用户数据报文。
步骤103、当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,向CE设备转发用户数据报文。
若PE1通过查询链路状态表确定PE2与CE1之间的链路状态链路状态为故障状态,那么,PE1向CE1转发用户数据报文。
若PE1通过查询链路状态表确定PE2与CE1之间的链路状态链路状态为正常状态,那么,表明PE2可能是由于对PE2与CE1之间的链路的链路状态判断失误或数据转发发生错误,才通过PW链路转发至PE1的用户数据报文,那么,PE1则丢弃用户数据报文。
由以上可见,本发明实施例提供的数据转发方法,在接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以根据第二PE设备与CE设备之间的链路状态,判断是否向CE设备转发用户数据报文,当第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间可以通过链路进行用户数据报文的传输,因此,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,而且,判断过程中没有在用户数据报文中添加环路检测标签,减少了对资源的占用。
下面通过具体实施例,对本发明实施例提供的数据转发方法进行详细说明。
如图1所示,为本发明实施例提供的一种数据转发方法的流程示意图,本方法应用于EVPN中的第一PE设备。其中,EVPN还包括第二PE设备和CE设备,CE设备接入第一PE设备以及第二PE设备,第一PE设备与第二PE设备之间已建立伪线PW链路,该方法包括如下步骤:
S101:在接收到第二PE设备通过PW链路发送的用户数据报文后,查询第二PE设备与CE设备之间的链路状态。
一种实现方式中,在步骤S101之前,第一PE设备可以接收待处理报文。第一PE设备可以先对接收到的待处理报文进行分析,从中确定出第二PE设备通过PW链路发送的用户数据报文,进而再查询第二PE设备与CE设备之间的链路状态。
举例而言,在接收到待处理报文之后,第一PE设备可以判断待处理报文中是否包括第二PE设备的标签信息。若包括,则第一PE设备判定待处理报文为第二PE设备通过PW链路发送的数据。其中,第二PE设备的标签信息可以是由第一PE设备为第二PE设备分配的私网标签。
或者,待处理报文中包括该待处理报文的源地址信息,第一PE设备可以判断该待处理报文的源地址信息是否与第二PE设备的地址信息相匹配。若匹配,则第一PE设备可以确定该待处理报文为第二PE设备通过PW链路发送的数据。
可以理解的是,用户数据报文具体为一种对原始报文(即内层报文)进行封装后得到的报文。当第一PE设备接收到用户数据报文之后,通过用户数据报文的外层封装头部,确定外层封装头部承载的发送设备的源IP(Internet Protocol,网际协议)地址及接收设备的目的IP地址。比如,对于第二PE设备通过PW链路发送的用户数据报文而言,其发送设备的源IP地址即为第二PE设备的IP地址,接收设备的目的IP地址即为第一PE设备的IP地址。进而,在对用户数据报文进行解封装,得到内层报文之后,通过内层报文的头部,确定内层报文的源IP地址和目的IP地址。其中,源IP地址为生成该用户数据报文的CE设备的IP地址,目的IP地址为接收用户数据报文的CE设备的IP地址。
一种实现方式中,第二PE设备通过PW链路发送的用户数据报文中包括虚拟专用局域网业务的第一业务标识及目的IP地址。其中,该目的IP地址为用于指示CE设备的IP地址。
可以理解的是,当内层报文为单播报文时,该目的地址为指示唯一CE设备的IP地址,例如,与第二PE设备连接的CE设备。当内层报文为广播报文时,该目的地址为指示与第一PE设备连接的全部CE设备。
第一PE设备查询第二PE设备与CE设备之间的链路状态时,首先,确定第一PE设备与目的IP地址对应的CE设备之间链路的第一链路标识。然后,通过第一业务标识及第一链路标识,从预先存储的链路状态表中查询第二PE设备与CE设备之间的链路的链路状态。
其中,虚拟专用局域网业务的业务标识为用户数据报文中的VPLS(VirtualPrivate Lan Service,虚拟专用局域网业务)标识。链路标识可以为AC SVID(AttachmentCircuit Subsystem Vendor ID,接入电路子系统厂商识别码),或者,也可以为EVPN组网中第二PE设备与CE设备之间的链路的序号或标签值,等等。状态信息可以为预设的不同链路状态对应的预设值,比如,当状态信息为1时,表示链路状态为正常状态,当状态信息为0时,表示链路状态为故障状态。
在预先存储的链路状态表中,对应存储着第二PE设备所属的虚拟专用局域网业务的第二业务标识、第二PE设备与CE设备之间链路的第二链路标识、以及表示第二PE设备与CE设备之间的链路状态的状态信息。这样,可以在链路状态表中查询是否存在与第一业务标识相同的第二业务标识,以及与第一链路标识相同的第二链路标识,若存在,就可以获取到第二PE设备与CE设备之间的链路的链路状态。
其中,可以根据第二PE设备通过PW链路发送的第一路由消息中携带的信息,生成链路状态表。首先,第一PE设备接收第二PE设备发送的第一路由消息。其中,第一路由消息中包括第二业务标识、第二链路标识,以及表示第二PE设备与CE设备之间的链路状态的状态信息。然后,第一PE设备将第二业务标识、第二链路标识及表示第二PE设备与CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
举例而言,第二业务标识、第二链路标识,以及表示第二PE设备与CE设备之间的链路状态的状态信息可以包括在第一路由消息中的扩展属性信息中。
第二PE设备与CE设备之间的链路状态是会发生变化的,每当第二PE设备与CE设备之间的链路状态发生改变时,都需要更新第一PE设备中存储的链路状态表。
首先,第二PE设备通过PW链路向第一PE设备发送第二路由消息,在第二路由消息中包括链路更新信息,链路更新信息表示第二PE设备与CE设备之间的链路更新后的链路状态。这样,第一PE设备可以接收第二PE设备通过PW链路发送的第二路由消息,将更新状态信息与第二业务标识、第二链路标识对应存储,从而得到更新后的链路状态表。
或者,另一种实现方式中,第一PE设备查询第二PE设备与CE设备之间的链路状态的方式,可以是在接收到第二PE设备通过PW链路发送的用户数据报文之后,实时向第二PE设备发送状态查询请求,根据第二PE设备反馈的信息,确定第二PE设备与CE设备之间的链路状态。
S102:当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,丢弃用户数据报文。
其中,当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间的链路可以正常进行数据传输。也就是说,用户数据报文可以通过第二PE设备与CE设备之间的链路,从第二PE设备直接转发至CE设备,不需要第二PE设备通过第一PE设备与第二PE设备之间的PW链路将用户数据报文转发至第一PE设备,再由第一PE设备转发至CE设备。
而且,CE设备也可以通过第二PE设备与CE设备之间的链路向第二PE设备发送用户数据报文。换句话说,第一PE设备接收到的第二PE设备通过PW链路发送的用户数据报文,可能是由CE设备转发至第二PE设备的,在这种情况下,第一PE设备可以丢弃用户数据报文,放弃向CE设备转发待转发数据,从而避免形成数据转发环路。
S103:当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,向CE设备转发用户数据报文。
其中,当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,第一PE设备接收到的第二PE设备通过PW链路发送的用户数据报文,不可能是由CE设备转发至第二PE设备的,在这种情况下,可以向CE设备转发用户数据报文,从而避免数据丢失。
其中,第二PE设备与CE设备之间的链路的故障,可能是物理链路故障导致的,也可能是AC(Attachment Circuit,接入电路)端口故障导致的。
由以上可见,本发明实施例提供的数据转发方法,在接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以根据第二PE设备与CE设备之间的链路状态,判断是否向CE设备转发用户数据报文,当第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间可以通过链路进行用户数据报文的传输,因此,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,而且,判断过程中没有在用户数据报文中添加环路检测标签,减少了对资源的占用。
如图3所示,本发明实施例还提供了一种数据转发装置,应用于以太网虚拟专用网络EVPN中的第一服务提供商网络边缘PE设备,EVPN还包括第二服务提供商网络边缘PE设备和用户网络边缘CE设备,第一PE设备与第二PE设备之间已建立伪线PW链路,装置包括:
查询模块301,用于在接收到第二PE设备通过PW链路发送的用户数据报文后,查询第二PE设备与CE设备之间的链路状态;
转发模块302,用于当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,丢弃用户数据报文;当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,向CE设备转发用户数据报文。
一种实现方式中,该装置还包括:
第一接收模块303,用于接收待处理报文;判断待处理报文是否包括第二PE设备的标签信息;若包括,则确定待处理报文为第二PE设备通过PW链路发送的用户数据报文。
一种实现方式中,用户数据报文包括虚拟专用局域网业务的第一业务标识及目的IP地址,其中,所述目的IP地址用于指示该CE设备;
查询模块301,具体用于:
确定第一PE设备与CE设备之间链路的第一链路标识;
通过第一业务标识及第一链路的链路标识,从预先获取的链路状态表中查询第二PE设备与CE设备之间链路的链路状态。
一种实现方式中,该装置还包括:
第二接收模块304,用于接收第二PE设备通过PW链路发送的第一路由消息,第一路由消息包括第二PE设备所属的虚拟专用局域网业务的第二业务标识、第二PE设备与CE设备之间链路的第二链路标识、以及表示第二PE设备与CE设备之间的链路状态的状态信息;
存储模块305,用于将第二业务标识、第二链路标识与表示第二PE设备与CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
一种实现方式中,第二接收模块304,还用于接收第二PE设备通过PW链路发送的第二路由消息,第二路由消息包括链路更新信息,链路更新信息表示第二PE设备与CE设备之间链路更新后的链路状态;
存储模块305,还用于将第二业务标识、第二链路标识与链路更新信息对应存储,得到更新后的链路状态表。
由以上可见,本发明实施例提供的数据转发装置,在接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以根据第二PE设备与CE设备之间的链路状态,判断是否向CE设备转发用户数据报文,当第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间可以通过链路进行用户数据报文的传输,因此,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,而且,判断过程中没有在用户数据报文中添加环路检测标签,减少了对资源的占用。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
在接收到第二PE设备通过PW链路发送的用户数据报文后,查询第二PE设备与CE设备之间的链路状态;
当链路状态表征第二PE设备与CE设备之间的链路为正常状态时,丢弃用户数据报文;
当链路状态表征第二PE设备与CE设备之间的链路为故障状态时,向CE设备转发用户数据报文。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本发明实施例提供的数据转发方法,在接收到第二PE设备通过PW链路发送的用户数据报文之后,第一PE设备可以根据第二PE设备与CE设备之间的链路状态,判断是否向CE设备转发用户数据报文,当第二PE设备与CE设备之间的链路为正常状态时,第二PE设备与CE设备之间可以通过链路进行用户数据报文的传输,因此,第一PE设备不向CE设备转发第二PE设备发送的用户数据报文,避免数据转发环路产生,而且,判断过程中没有在用户数据报文中添加环路检测标签,减少了对资源的占用。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、存储介质实施例和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据转发方法,应用于以太网虚拟专用网络EVPN中的第一服务提供商网络边缘PE设备,所述EVPN还包括第二服务提供商网络边缘PE设备和用户网络边缘CE设备,所述CE设备接入所述第一PE设备以及第二PE设备,所述第一PE设备与所述第二PE设备之间已建立伪线PW链路,其特征在于,所述方法包括:
在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态;
当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为正常状态时,丢弃所述用户数据报文;
当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为故障状态时,向所述CE设备转发所述用户数据报文。
2.根据权利要求1所述的方法,其特征在于,所述在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态之前,所述方法还包括:
接收待处理报文;
判断所述待处理报文是否包括所述第二PE设备的标签信息;
若包括,则确定所述待处理报文为所述第二PE设备通过所述PW链路发送的用户数据报文。
3.根据权利要求1所述的方法,其特征在于,所述用户数据报文包括虚拟专用局域网业务的第一业务标识和目的IP地址,所述目的IP地址用于指示所述CE设备;
所述查询所述第二PE设备与所述CE设备之间的链路状态,包括:
确定所述第一PE设备与所述CE设备之间链路的第一链路标识;
通过所述第一业务标识及所述第一链路标识,从预先获取的链路状态表中查询所述第二PE设备与所述CE设备之间链路的链路状态。
4.根据权利要求3所述的方法,其特征在于,所述在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态之前,所述方法还包括:
接收所述第二PE设备通过所述PW链路发送的第一路由消息,所述第一路由消息包括所述第二PE设备所属的虚拟专用局域网业务的第二业务标识、所述第二PE设备与所述CE设备之间链路的第二链路标识、以及表示所述第二PE设备与所述CE设备之间的链路状态的状态信息;
将所述第二业务标识、所述第二链路标识与所述表示所述第二PE设备与所述CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述第二PE设备通过所述PW链路发送的第二路由消息,所述第二路由消息包括链路更新信息,所述链路更新信息表示所述第二PE设备与所述CE设备之间链路更新后的链路状态;
将所述第二业务标识、所述第二链路标识与所述链路更新信息对应存储,得到更新后的链路状态表。
6.一种数据转发装置,应用于以太网虚拟专用网络EVPN中的第一服务提供商网络边缘PE设备,所述EVPN还包括第二服务提供商网络边缘PE设备和用户网络边缘CE设备,所述第一PE设备与所述第二PE设备之间已建立伪线PW链路,其特征在于,所述装置包括:
查询模块,用于在接收到所述第二PE设备通过所述PW链路发送的用户数据报文后,查询所述第二PE设备与所述CE设备之间的链路状态;
转发模块,用于当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为正常状态时,丢弃所述用户数据报文;当所述链路状态表征所述第二PE设备与所述CE设备之间的链路为故障状态时,向所述CE设备转发所述用户数据报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收待处理报文;判断所述待处理报文是否包括所述第二PE设备的标签信息;若包括,则确定所述待处理报文为所述第二PE设备通过所述PW链路发送的用户数据报文。
8.根据权利要求6所述的装置,其特征在于,所述用户数据报文包括虚拟专用局域网业务的第一业务标识和目的IP地址,所述目的IP地址用于指示所述CE设备;
所述查询模块,具体用于:
确定所述第一PE设备与所述CE设备之间链路的第一链路标识;
通过所述第一业务标识及所述第一链路标识,从预先获取的链路状态表中查询所述第二PE设备与所述CE设备之间链路的链路状态。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述第二PE设备通过所述PW链路发送的第一路由消息,所述第一路由消息包括所述第二PE设备所属的虚拟专用局域网业务的第二业务标识、所述第二PE设备与所述CE设备之间链路的第二链路标识、以及表示所述第二PE设备与所述CE设备之间的链路状态的状态信息;
存储模块,用于将所述第二业务标识、所述第二链路标识与所述表示所述第二PE设备与所述CE设备之间的链路状态的状态信息对应存储,得到链路状态表。
10.根据权利要求9所述的装置,其特征在于,
所述第二接收模块,还用于接收所述第二PE设备通过所述PW链路发送的第二路由消息,所述第二路由消息包括链路更新信息,所述链路更新信息表示所述第二PE设备与所述CE设备之间链路更新后的链路状态;
所述存储模块,还用于将所述第二业务标识、所述第二链路标识与所述链路更新信息对应存储,得到更新后的链路状态表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253020.2A CN109951371B (zh) | 2019-03-29 | 2019-03-29 | 数据转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253020.2A CN109951371B (zh) | 2019-03-29 | 2019-03-29 | 数据转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109951371A CN109951371A (zh) | 2019-06-28 |
CN109951371B true CN109951371B (zh) | 2021-05-28 |
Family
ID=67013103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910253020.2A Active CN109951371B (zh) | 2019-03-29 | 2019-03-29 | 数据转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109951371B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460464B (zh) * | 2019-07-29 | 2021-03-12 | 珠海格力电器股份有限公司 | 设备通信的控制方法及装置、数据转换器 |
CN112422307B (zh) * | 2019-08-22 | 2022-06-14 | 华为技术有限公司 | Evpn和vpls共存双活的方法、设备及系统 |
CN112104547B (zh) * | 2020-08-05 | 2022-07-12 | 新华三技术有限公司 | Evpn多归属组网避免环路的方法及装置 |
CN113452606B (zh) * | 2021-05-18 | 2023-12-26 | 新华三信息安全技术有限公司 | 通信方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247343A (zh) * | 2008-03-26 | 2008-08-20 | 中兴通讯股份有限公司 | 用于承载组播业务的pbt网络及其实现方法 |
CN101562552A (zh) * | 2009-05-27 | 2009-10-21 | 华为技术有限公司 | 一种虚拟专用局域网环路检测的方法、系统和设备 |
CN101719834A (zh) * | 2009-06-02 | 2010-06-02 | 中兴通讯股份有限公司 | 一种虚拟专用组播业务保护的实现方法及系统 |
CN102546413A (zh) * | 2010-11-05 | 2012-07-04 | 华为技术有限公司 | 一种l3vpn中实时恢复vpn报文转发的方法和设备 |
US8665883B2 (en) * | 2011-02-28 | 2014-03-04 | Alcatel Lucent | Generalized multi-homing for virtual private LAN services |
-
2019
- 2019-03-29 CN CN201910253020.2A patent/CN109951371B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247343A (zh) * | 2008-03-26 | 2008-08-20 | 中兴通讯股份有限公司 | 用于承载组播业务的pbt网络及其实现方法 |
CN101562552A (zh) * | 2009-05-27 | 2009-10-21 | 华为技术有限公司 | 一种虚拟专用局域网环路检测的方法、系统和设备 |
CN101719834A (zh) * | 2009-06-02 | 2010-06-02 | 中兴通讯股份有限公司 | 一种虚拟专用组播业务保护的实现方法及系统 |
CN102546413A (zh) * | 2010-11-05 | 2012-07-04 | 华为技术有限公司 | 一种l3vpn中实时恢复vpn报文转发的方法和设备 |
US8665883B2 (en) * | 2011-02-28 | 2014-03-04 | Alcatel Lucent | Generalized multi-homing for virtual private LAN services |
Also Published As
Publication number | Publication date |
---|---|
CN109951371A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951371B (zh) | 数据转发方法及装置 | |
WO2021258754A1 (zh) | 报文指示方法、装置、设备和存储介质 | |
CN107547349B (zh) | 一种虚拟机迁移的方法及装置 | |
CN113595897B (zh) | 一种路径探测方法及装置 | |
CN110061914B (zh) | 一种报文转发方法及装置 | |
WO2020156166A1 (zh) | 用于处理报文的方法和装置 | |
CN109586959B (zh) | 一种故障检测的方法及装置 | |
US12034631B2 (en) | Loop avoidance communications method, device, and system | |
US11398966B2 (en) | Cluster wide packet tracing | |
CN113452594B (zh) | 一种隧道报文的内层报文匹配方法及装置 | |
CN109474495B (zh) | 一种隧道检测方法及装置 | |
WO2020024828A1 (zh) | 通信方法、通信设备和通信系统 | |
CN111614505B (zh) | 报文处理的方法和网关设备 | |
WO2016091156A1 (zh) | 节点故障的判断方法及装置 | |
CN109617817B (zh) | 一种mlag组网的转发表项的生成方法及装置 | |
CN109831378B (zh) | 一种报文超时回应方法及装置 | |
CN112152928A (zh) | 一种邻居表项学习方法、装置及路由设备 | |
WO2020043106A1 (zh) | 通信方法和通信设备 | |
CN109995651B (zh) | 一种伪线建立方法及装置 | |
CN113472699A (zh) | 一种网络表项同步方法及装置 | |
CN111800338B (zh) | 跨as的evpn路由交互方法及装置 | |
CN108282404B (zh) | 一种路由生成方法、装置及系统 | |
CN113347084B (zh) | 一种报文转发方法及装置 | |
WO2023050313A1 (zh) | 一种报文处理方法、装置、网络设备及介质 | |
CN113472667B (zh) | 一种报文转发方法、装置、节点设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |