CN105337865B - 一种建立转发表项的方法、装置和系统 - Google Patents
一种建立转发表项的方法、装置和系统 Download PDFInfo
- Publication number
- CN105337865B CN105337865B CN201410242405.6A CN201410242405A CN105337865B CN 105337865 B CN105337865 B CN 105337865B CN 201410242405 A CN201410242405 A CN 201410242405A CN 105337865 B CN105337865 B CN 105337865B
- Authority
- CN
- China
- Prior art keywords
- message
- forwarding
- routing device
- equipment
- boundary routing
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种建立转发表项的方法、装置和系统,第一边界路由设备接收第一MAC路由通告消息,所述第一MAC路由通告消息中包含第一终端设备的MAC地址和第一VN ID,所述第一边界路由设备为所述第一VN ID分配第一VPN标签并建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,可以看出,在实现网络互联时,所述第一边界路由设备不需要保存第一终端设备的MAC地址表项也能通过所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备,减轻了所述第一边界路由设备的存储负担,有利于所述NVO3网络中终端数量的扩展。
Description
技术领域
本发明涉及通信领域,特别是涉及一种建立转发表项的方法、装置和系统。
背景技术
现有技术中,不同类型的网络之间实现了跨域互联,比较典型的如三层网络虚拟化技术(Network Virtualization Over Layer3,NVO3)网络和多协议标签交换(Multi-Protocol Label Switching,MPLS)网络,所述NVO3网络通过属于所述NOV3网络的一个边界路由设备与所述MPLS网络的一个边界路由设备建立连接,进而实现NVO3网络与MPLS网络的互联。
当一个和所述NVO3网络连接的终端设备与一个和所述MPLS网络中的终端设备进行数据交互时,需要所述NVO3网络的边界路由设备保存所有与所述NVO3网络连接的终端设备的媒体接入控制(Media Access Control,MAC)地址表项,以便用于根据所述MAC地址表项转发来自所述MPLS网络的报文,进而实现MPLS网络的终端设备访问NVO3网路中的终端设备。
然而,所述NVO3网络的边界路由设备存储所有与所述NVO3连接的终端设备的MAC地址表项需要占用大量资源,增加了所述NVO3网络的边界路由设备的负担,不利于所述NVO3网络中终端数量的扩展。
发明内容
为了解决上述技术问题,本发明提供了一种建立转发表项的方法、装置和系统,用于解决在实现NVO3网络与MPLS网络互联时,所述NVO3网络的边界路由设备存储所有与所述NVO3连接的终端设备的MAC地址表项,造成对该边界路由设备资源占用过多,不利于所述NVO3网络中终端数量扩展的技术问题。
第一方面,本发明提供了一种建立转发表项的方法,所述方法由位于NVO3网络中的第一边界路由设备执行,所述NVO3网络还包括NVE设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,所述方法包括:
所述第一边界路由设备接收第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;
所述第一边界路由设备为所述第一VN ID分配第一虚拟专用网络VPN标签;
所述第一边界路由设备建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
在第一方面的第一种可能的实现方式中,还包括:
所述第一边界路由设备向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
结合第一方面或者第一方面的第一种的实现方式,在第二种可能的实现方式中,还包括:
所述第一边界路由设备接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签;
所述第一边界路由设备根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项;
所述第一边界路由设备根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息;
所述第一边界路由设备对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息;
所述第一边界路由设备向所述第一NVE设备发送所述三层报文。
结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:
所述第一边界路由设备接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;
所述第一边界路由设备为所述第二VPN标签分配第二VN ID;
所述第一边界路由设备建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
所述第一边界路由设备向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
所述第一边界路由设备接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括所述第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络;
所述第一边界路由设备根据所述第二NVE设备发送的三层报文中的所述第二VNID匹配到所述第二转发表项;
所述第一边界路由设备根据所述第二转发表项确定对应的所述第二VPN标签;
所述第一边界路由设备封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签;
所述第一边界路由设备向第二边界路由设备发送所述第二MPLS报文。
结合第一方面或者第一方面的第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,
所述NVO3网络为数据中心DC网络。
第二方面,本发明提供了一种建立转发表项的装置,所述装置是位于NVO3网络中的第一边界路由设备的组成部分,所述NVO3网络还包括NVE设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,所述装置包括:
第一消息接收单元,用于接收第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;
第一分配单元,用于为所述第一VN ID分配第一VPN标签;
第一建立单元,用于建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
在第二方面的第一种可能的实现方式中,还包括:
第一消息发送单元,用于向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
结合第二方面或者第二方面的第一种的实现方式,在第二种可能的实现方式中,还包括:
第一报文接收单元,用于接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签;
第一匹配单元,用于根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项;
第一确定单元,用于根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息;
第一封装单元,用于对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息;
第一报文发送单元,用于向所述第一NVE设备发送所述三层报文。
结合第二方面或者第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:
第二消息接收单元,用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;
第二分配单元,用于为所述第二VPN标签分配第二VN ID;
第二建立单元,用于建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
第二消息发送单元,用于向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
第二报文接收单元,用于接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括所述第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络;
第二匹配单元,用于根据所述第二NVE设备发送的三层报文中的所述第二VN ID匹配到所述第二转发表项;
第二确定单元,用于根据所述第二转发表项确定对应的所述第二VPN标签;
第二封装单元,用于封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签;
第二报文发送单元,用于向第二边界路由设备发送所述第二MPLS报文。
结合第二方面或者第二方面的第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,
所述NVO3网络为数据中心DC网络。
第三方面,本发明提供了一种建立转发表项的系统,所述系统包括第一边界路由设备和第一NVE设备,所述第一边界路由设备和所述第一NVE设备位于NVO3网络,所述第一边界路由设备为所述NVO3网络的边界设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,其中,
所述第一边界路由设备,用于接收所述第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;为所述第一VN ID分配第一VPN标签;建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备;
所述第一NVE设备,用于获得所述第一终端设备的MAC地址和所述第一终端设备的第一VN ID,并向所述第一边界路由设备发送所述第一MAC路由通告消息,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
在第三方面的第一种可能的实现方式中,
所述第一边界路由设备,还用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;为所述第二VPN标签分配第二VN ID;建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括第二NVE设备:
所述第一边界路由设备,还用于向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述第二NVE设备,还用于接收所述第四MAC路由通告消息;将所述第三终端设备的MAC地址保存至对应的MAC地址表项;建立第三转发表项,所述第三转发表项包括所述第三终端设备的MAC地址和所述第二VN ID的对应关系。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,第四终端设备通过所述第二NVE设备连接所述NVO3网络,当所述第四终端设备向所述第三终端设备发送第二数据报文时,所述第二数据报文的目的地址为所述第三终端设备的MAC地址,所述第二NVE设备还用于根据所述第三终端设备的MAC地址匹配到所述第三转发表项,根据所述第三转发表项确定对应的所述第二VN ID,对所述第二数据报文进行NVO3隧道封装以得到三层报文,所述三层报文包括所述第二数据报文和所述第二VN ID,向所述第一边界路由设备发送所述三层报文。
由上述技术方案可以看出,在实现NVO3网络和MPLS网络互联时,当NVO3网络的第一边界路由设备接收到第一NVE设备发送的对应第一终端设备的MAC路由通告消息时,所述第一边界路由设备为所述第一终端设备的第一VN ID分配第一VPN标签,并建立具有所述第一VN ID、所述第一VPN标签以及所述第一NVE设备的IP地址信息三者之间的对应关系的第一转发表项,以使得所述第一边界路由设备不需要保存第一终端设备的MAC地址表项也能通过所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备,并且,对应来自所述MPLS网络的目的地为对应所述第一VN ID的所有终端设备都可以使用所述第一转发表项进行转发,对应所述第一VN ID的所有终端设备的MAC地址表项都不需要存储,减轻了所述第一边界路由设备的存储负担,有利于所述NVO3网络中终端数量的扩展。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提提供的一种网络架构示意图;
图1A为本发明实施例提提供的一种网络架构示意图;
图2为本发明实施例提提供的一种建立转发表项的方法流程图;
图2A为本发明实施例提提供的一种建立转发表项的方法流程图;
图3为本发明实施例提提供的一种报文转发的方法流程图;
图4为本发明实施例提提供的一种建立转发表项的方法流程图;
图5为本发明实施例提提供的一种报文转发的方法流程图;
图6为本发明实施例提提供的一种建立转发表项的系统结构示意图;
图6A为本发明实施例提提供的一种建立转发表项的系统结构示意图;
图7为本发明实施例提提供的一种建立转发表项以及转发报文的信令流程图;
图8为本发明实施例提提供的一种建立转发表项以及转发报文的信令流程图;
图9为本发明实施例提提供的一种建立转发表项的装置结构示意图;
图10为本发明实施例提提供的一种建立转发表项的装置结构示意图;
图11为本发明实施例提提供的一种报文转发的装置结构示意图;
图12为本发明实施例提提供的一种建立转发表项的装置结构示意图;
图13为本发明实施例提提供的一种报文转发的装置结构示意图;
图14为本发明实施例提供的一种边界路由设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种网络架构示意图。为了更清楚、直观的对网络的构架进行描述,请参阅图1,该网络架构包括两个不同类型的网络,分别是NVO3网络和MPLS网络,第一边界路由设备为所述NVO3网络的边界设备,第二边界路由设备为所述MPLS网络的边界设备,所述第一边界路由设备与所述第二边界路由设备连接,以此实现所述NVO3网络和所述MPLS网络的互联,所述NVO3网络中包括多个网络虚拟边缘(NetworkVirtualization Edge,NVE)设备,如图1中的NVE设备1、NVE设备2和NVE设备3,所述NVE设备与第一边界路由设备之间运行以太网虚拟专用网(Ethernet Virtual Private Network,EVPN)协议,所述NVE设备可以通过NVO3隧道向所述第一边界路由设备发送报文,所述NVO3隧道的源IP为所述NVE设备的NVE设备IP地址,所述NVO3隧道的目的IP为所述第一边界路由设备的IP地址。终端设备通过所述NVE设备与所述NVO3网络连接,如图1中终端设备a1和终端设备a2通过所述NVE设备1与所述NVO3网络相连。每个终端设备具有MAC地址,以便和MPLS网络中的终端设备进行报文交互。
在图1中,如果终端设备a1要向终端设备b1发送报文,所述终端设备a1必须预先获得到达所述终端设备b1的MAC地址表项。所述NVO3网络和所述MPLS网络需要同步连接各自网络中的终端设备的MAC地址。以便所述MPLS网络的终端设备获得所述NVO3网络的终端设备的MAC地址表项,所述NVO3网络的终端设备获得所述NPLS网络的终端设备的MAC地址表项,这是所述NVO3网络的终端设备和所述MPLS网络的终端设备之间能够进行报文交互的前提。
为了更加清楚和直观,接下来将如图1所示的网络架构放在一个具体的应用场景中举例说明,请参阅图1A,图1A为本发明实施例提供的一种网络架构示意图。在不同类型网络进行互联中,比较常见的是NVO3网络作为数据中心(Data Center,DC)网络,MPLS网络作为DC网络以外的网络的情况。所述NVO3网络和所述MPLS网络属于不同的自治系统(Autonomous System,AS)域,所述第一边界路由设备为所述DC网络的第一自治系统边界路由器(Autonomous System Border Router,ASBR),所述第二边界路由设备为所述MPLS网络的第二ASBR,所述DC网络通过第一ASBR和所述MPLS网络的第二ASBR建立连接,进行实现DC网络与MPLS网络跨域互联。
当所述NVO3网络作为DC网络时,通过NVE设备与所述NVO3网络连接的终端设备具体可以是租户系统(Tenant System,TS),比如说下述实施例中提到的所述第一终端设备和第四终端设备可以是图1A中的TS1和TS4,所述MPLS网络中的终端设备具体可以是用户网络边缘设备(Customer Network Edge,CE),比如说下述实施例中提到的所述第二终端设备和第三终端设备可以是如图1A中的CE2和CE3。
实施例一
本发明实施例以图1所示的网络架构为基础,对第一边界路由设备如何将与NVO3网络连接的终端设备的MAC地址同步到MPLS网络中,并建立转发表项进行描述,本发明实施例所提供的建立转发表项的方法由位于NVO3网络中的第一边界路由设备执行。
图2为本发明实施例提供的一种建立转发表项的方法流程图,如图2所示,所述方法包括:
S201:所述第一边界路由设备接收第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
这里需要说明的是,所述第一NVE设备可以是所述NVO3网络中任意一个NVE设备,所述第一终端设备可以是与所述第一NVE设备相连的任意一个终端设备,所述第一NVE设备可以是如图1中的NVE设备1,通过所述NVE设备1与所述NVO3网络相连的终端设备a1可以是所述第一终端设备。所述第一NVE设备为连接在所述第一NVE设备上的所述第一终端设备分配VN ID,所述第一终端设备只有一个对应的VN ID。当所述第一NVE设备学习到所述第一终端设备的MAC地址后,将包含有所述MAC地址和所述第一VN ID的第一MAC路由通告消息向所述第一边界路由设备发送,以便所述第一边界路由设备将所述MAC地址同步到所述MPLS网络的终端设备。
可选地,所述NVO3网络可以为如所述图1A所示的网路架构中的DC网络。
S202:所述第一边界路由设备为所述第一VN ID分配第一虚拟专用网络(VirtualPrivate Network,VPN)标签。
S203:所述第一边界路由设备建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
也就是说,为了解决现有技术中第一边界路由设备需要保存所述第一终端设备的MAC地址所带来的问题,所述第一边界路由设备在S202中为所述第一终端设备的所述第一VN ID分配了一个第一VPN标签,并在S203中建立了所述第一转发表项。所述第二边界路由设备在转发目的地为所述第一终端设备的报文时,可以在所述报文头前封装所述第一VPN标签。当所述第一边界路由设备接收从所述第二边界路由设备发送的封装了所述第一VPN标签的报文时,可以根据所述第一VPN标签匹配所述第一转发表项,进而确定将所述报文发送到所述第一NVE设备。所述第一NVE设备再根据保存的终端设备的MAC地址表将所述报文转发到所述第一终端设备。其中,所述第一VPN标签可以是所述第一边界路由设备从标签池中随机选择空闲的VPN标签,也可以是特定的VPN标签,本发明对如何分配第一VPN标签不进行限定。
假设所述第一终端设备是如图1所示的终端设备a1,所述终端设备a1通过NVE设备1连接NVO3网络,所述第一NVE设备为NVE设备1,所述NVE设备1为所述终端设备a1分配的第一VN ID为10,所述第一边界路由设备为所述第一VN ID分配第一VPN标签为100,那么所述第一转发表项可以如表1所示:
表1
可选地,在所述第一边界路由设备为所述第一VN ID分配第一VPN标签之后,所述第一边界路由设备可以将从S201中接收到的所述第一NVE设备学习的第一终端设备的MAC地址向所述第二边界路由设备发送,以便完成向所述MPLS网络同步MAC地址。图2A为本发明实施例提供的一种建立转发表项的方法流程图,所述图2A所示实施例进一步还包括:
S204:所述第一边界路由设备向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
所述第二边界路由设备在接收到所述MAC路由通告消息后,会为所述第一VPN标签再分配一个VPN标签,并向所述MPLS网络中的终端设备同步所述MAC地址。所述第二边界路由设备建立标签转发表项,所述标签转发表包括所述第一VPN标签和所分配的VPN标签的对应关系。当所述第二边界路由设备转发目的地为所述第一终端设备的数据报文时,在所述数据报文头前封装所述第一VPN标签,并将封装了所述第一VPN标签的报文发送到所述第一边界路由设备。
需要注意的是,所述S203与S204的执行顺序并不一定是如步骤序号表示的先后关系,所述S204只要在S202中为所述第一VN ID分配第一VPN标签之后便可以执行,也就是说,S204即可以在S203后执行,也可以在S202之后,S203之前执行,甚至也可以和S203同时执行。
通过本实施例可以看出,在实现NVO3网络和MPLS网络互联时,当NVO3网络的第一边界路由设备接收到第一NVE设备发送的对应第一终端设备的MAC路由通告消息时,所述第一边界路由设备为所述第一终端设备的第一VN ID分配第一VPN标签,并建立具有所述第一VN ID、所述第一VPN标签以及所述第一NVE设备的IP地址信息三者之间的对应关系的第一转发表项,以使得所述第一边界路由设备不需要保存第一终端设备的MAC地址表项也能通过所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备,并且,对应来自所述MPLS网络的目的地为对应所述第一VN ID的所有终端设备都可以使用所述第一转发表项进行转发,对应所述第一VN ID的所有终端设备的MAC地址表项都不需要存储,减轻了所述第一边界路由设备的存储负担,有利于所述NVO3网络中终端数量的扩展。
实施例二
参见图3,图3为本发明实施例提供的一种报文转发的方法流程图,本发明实施例在实施例一的基础上,从报文转发的流程描述所述第一边界路由设备如果根据所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备。所方法可以在图2所示的方法的基础上实施,也可以在图2A所示方法的基础上实施。所述方法包括:
S301:所述第一边界路由设备接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签。
需要注意的是,当图3所示的实施例是在图2所示的方法的基础上实施时,所述第二边界路由设备可以预先配置所述第一VPN标签。
当图3所示的实施例是在图2A所示的方法的基础上实施时,所述第二边界路由设备在接收到所述第二MAC路由通告消息后,为所述第一VPN标签再分配一个VPN标签,并建立标签转发表项,所述标签转发表包括所述第一VPN标签和所分配的VPN标签的对应关系。当所述第二边界路由设备转发目的地为所述第一终端设备的数据报文时,在所述数据报文头前封装所述第一VPN标签,并将封装了所述第一VPN标签的报文发送到所述第一边界路由设备。
所述第二终端设备可以是任意一个所述MPLS网络中同步了所述第一终端设备的MAC地址的终端设备,如图1中的终端设备b1。
S302:所述第一边界路由设备根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项。
由于所述第一MPLS报文是通过MPLS封装的,故所述第一边界路由设备对所述第一MPLS报文进行解封装,得到所述第一数据报文,并从所述标签栈中得到所述第一VPN标签,通过匹配得到具有所述第一VPN标签的所述第一转发表项。
S303:所述第一边界路由设备根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息。
这里通过表1进行直观的说明,比如所述第一VPN标签为100,那么通过表1所示的所述第一转发表项可以确定所述第一VN ID为10,所述第一NVE设备的IP地址信息为NVE设备1的IP地址。
S304:所述第一边界路由设备对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息。
S305:所述第一边界路由设备向所述第一NVE设备发送所述三层报文。
也就是说,在确定出所述第一VN ID和所述第一NVE设备的IP地址信息后,所述第一边界路由设备需要将所述第一数据报文在NVO3网络中传输,那么所述第一边界路由设备需要对所述第一数据报文进行NVO3封装,得到所述三层报文,以便将所述三层报文通过所述第一NVE设备的IP地址信息对应的NVO3隧道向所述第一NVE设备传输。所述NVO3封装具体包括:在所述第一数据报文的报文头之前封装所述第一NVE设备的IP地址和所述第一VNID。
可以看出,在所述第一边界路由设备接收到来自所述MPLS网络的第一MPLS报文时,所述第一边界路由设备可以根据所述第一MPLS报文中的第一VPN标签,利用所述第一转发表项转发所述第一MPLS报文到所述第一终端设备,并且,对应来自所述MPLS网络的目的地为对应所述第一VN ID的所有终端设备都可以使用所述第一转发表项进行转发,对应所述第一VN ID的所有终端设备的MAC地址表项都不需要存储,减轻了所述第一边界路由设备的存储负担,有利于所述NVO3网络中终端数量的扩展。
实施例三
参见图4,图4为本发明实施例提供的一种建立转发表项的方法流程图,本发明实施例在实施例一的基础上,对所述第一边界路由设备如何将所述MPLS网络中终端设备的MAC地址同步到所述NVO3网络终端设备中,并建立转发表项进行描述。所述方法包括:
S401:所述第一边界路由设备接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备。
这里需要说明的是,所述第三终端设备可以是所述MPLS网络中的任意一个终端设备,所述第三终端设备可以和实施例一中的所述第二终端设备相同,也可以不同。所述第三终端设备可以是如图1中的终端设备b2。
S402:所述第一边界路由设备为所述第二VPN标签分配第二VN ID。
S403:所述第一边界路由设备建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
也就是说,所述第一边界路由设备除了要转发来自所述MPLS网络的报文以外,还需要转发来自所述NVO3网络的报文。当接收到来自所述NVO3网络的报文,所述第一边界路由设备可以通过所述第二转发表项确定出对应的第二VPN标签。
其中,所述第二VN ID可以是所述第一边界路由设备从VN ID池中随机选择空闲的VN ID,也可以是选择特定的VN ID,本发明对如何分配第二VN ID不进行限定。
假设所述第三终端设备是如图1所示的终端设备b1,所述终端设备b1连接在MPLS网络,所述第二边界路由设备分配的对应所述终端设备b1的第二VPN标签为1000,所述第一边界路由设备为所述第二VPN标签分配第二VN ID为550,那么所述第二转发表项可以如表2所示:
第二VN ID | 第二VPN标签 |
550 | 1000 |
表2
可选的,所述第一边界路由设备为所述第二VPN标签分配第二VN ID之后,所述第一边界路由设备需要完成将所述MPLS网络中终端设备的MAC地址同步到通过与所述NVO3网络连接的终端设备。
S404:所述第一边界路由设备向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
在所述第二NVE设备接收到所述第四MAC路由通告消息后,生成对应所述第三终端设备的MAC地址表项,并将该第三终端设备的MAC地址表项添加到对应第二VN ID的MAC地址表中。
可选地,所述第三MAC路由通告消息和所述第四MAC路由通告消息还包括所述第三终端设备的路由器目标(Router-Target,RT)属性,所述第二NVE设备判断配置的终端设备的RT属性与所述第三终端设备的RT属性否一致,所述第二NVE设备才生成对应所述第三终端设备的MAC地址表项,并将该第三终端设备的MAC地址表项添加到对应第二VN ID的MAC地址表中。
实施例四
参见图5,图5为本发明实施例提供的一种报文转发的方法流程图,本发明实施例是在实施例三的基础上,从报文转发的流程来描述所述第一边界路由设备如何通过所述第二转发表项转发来自所述NVO3网络的报文到所述第三终端设备。所述方法包括:
S501:所述第一边界路由设备接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括所述第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络。
所述三层报文为所述第二NVE设备对所述第二数据报文进行NVO3封装生成的,所述NVO3封装具体包括:在所述第二数据报文的报文头之前封装所述第一边界路由设备的IP地址和所述第二VN ID。
本步骤中的所述第二NVE设备为实施例三中的第二NVE设备,也就是说与所述第二NVE设备相连的第四终端设备的RT属性与所述第三终端设备的RT属性相同,具有数据交互的可行性。
所述第二NVE设备可以是所述NVO3网络中任意一个NVE设备,所述第四终端设备可以是与所述第二NVE设备相连的任意一个终端设备,所述第二NVE设备可以是如图1中的NVE设备2,通过所述NVE设备2与所述NVO3网络相连的终端设备a3可以是所述第四终端设备。所述第二NVE设备也可以和所述所述第一NVE设备是同一个NVE设备,所述第四终端设备也可以和所述第一终端设备是用一个终端设备,本发明对此不进行限定。
S502:所述第一边界路由设备根据所述第二NVE设备发送的三层报文中的所述第二VN ID匹配到所述第二转发表项。
这里通过表2进行直观的说明,比如所述第二VN ID为550,那么通过表2所示的所述第二转发表项可以确定所述第二VPN标签为1000。
S503:所述第一边界路由设备根据所述第二转发表项确定对应的所述第二VPN标签。
S504:所述第一边界路由设备封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签。
S505:所述第一边界路由设备向第二边界路由设备发送所述第二MPLS报文。
所述第一边界路由设备对所述三层报文进行解封装得到所述第二数据报文,所述第一边界路由设备在所述第二数据报文的报文头前封装所述第二VPN标签生成所述第二MPLS报文。由于所述第二边界路由设备建立了所述标签转发表项,故所述第二边界路由设备在接收到所述第二MPLS报文后,可以根据所述第二VPN标签匹配到所述标签转发表项,进而进行报文转发。
实施例五
本实施例将根据图1所示的网络架构为基础,对一种建立转发表项的系统进行描述,图6为本发明实施例提供的一种建立转发表项的系统结构示意图,本发明实施例所提供的建立转发表项系统600包括第一边界路由设备601和第一网络虚拟边缘NVE设备602,所述第一边界路由设备601和所述第一NVE设备602位于NVO3网络,所述第一边界路由设备601为所述NVO3网络的边界设备,所述NVO3网络通过所述第一边界路由设备601和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,如图6所示,所述建立转发表项系统600包括:
所述第一边界路由设备601,用于接收所述第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;为所述第一VN ID分配第一VPN标签;建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
所述第一边界路由设备601可以为实施例一中的所述第一边界路由设备,对于所述第一边界路由设备601请参考实施例一中对所述第一边界路由设备的描述,这里不再赘述。
所述第一NVE设备602,用于获得所述第一终端设备的MAC地址和所述第一终端设备的第一VN ID,并向所述第一边界路由设备发送所述第一MAC路由通告消息,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
这里的所述第一NVE设备602可以为实施例一中的所述第一NVE设备,对于所述第一NVE设备602请参考实施例一中对所述第一NVE设备的描述,这里不再赘述。
可选的,所述第一边界路由设备601,还用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;为所述第二VPN标签分配第二VN ID;建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
所述第一边界路由设备601可以为实施例三中的所述第一边界路由设备,对于所述第一边界路由设备601请参考实施例三中对所述第一边界路由设备的描述,这里不再赘述。
可选的,如图6所示的所述建立转发表项系统600还可以进一步包括第二NVE设备603,请参阅图6A,其为本发明实施例提供的一种建立转发表项的系统结构示意图,其中,
所述第一边界路由设备601,还用于向第二NVE设备603发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
这里的所述第一边界路由设备601可以为实施例三中的所述第一边界路由设备,对于所述第一边界路由设备601请参考实施例三中对所述第一边界路由设备的描述,这里不再赘述。
接下来将对所述第二NVE设备603如何针对接收的所述第四MAC路由通告消息建立第三转发表项进行描述,
所述第二NVE设备603,用于接收所述第四MAC路由通告消息;将所述第三终端设备的MAC地址保存至对应的MAC地址表项;建立第三转发表项,所述第三转发表项包括所述第三终端设备的MAC地址和所述第二VN ID的对应关系。
需要说明的是,所述第二NVE设备603需要转发来自与自身相连的终端设备的报文,当终端设备发送报文的目的地是所述MPLS网络中的所述第三终端设备时,所述第二NVE设备603可以通过第三转发表项确定出对应所述第三终端设备的MAC地址对应的所述第二VN ID。
可选地,所述第三MAC路由通告消息和所述第四MAC路由通告消息还包括所述第三终端设备的RT属性,所述第二NVE设备603判断配置的终端设备的RT属性与所述第三终端设备的RT属性否一致,所述第二NVE设备603才生成对应所述第三终端设备的MAC地址表项,并将该第三终端设备的MAC地址表项添加到对应第二VN ID的MAC地址表中。
接下来从报文转发的角度,对建立了所述第三转发表项的所述第二NVE接收到发向所述第三终端设备的第二数据报文时,如何利用所述第三转发表项对所述第二数据报文进行转发进行描述。
当第四终端设备通过所述第二NVE设备连接所述NVO3网络,且所述第四终端设备向所述第三终端设备发送第二数据报文时,所述第二数据报文的目的地址为所述第三终端设备的MAC地址,所述第二NVE设备603,还用于根据所述第三终端设备的MAC地址匹配到所述第三转发表项,根据所述第三转发表项确定对应的所述第二VN ID,对所述第二数据报文进行NVO3隧道封装以得到三层报文,所述三层报文包括所述第二数据报文和所述第二VNID,向所述第一边界路由设备发送所述三层报文。
也就是说,在确定出所述第二VN ID后,所述第二NVE设备需要将所述第二数据报文在所述NVO3网络中传输,那么所述第二NVE设备需要对所述第二数据报文进行NVO3封装,得到所述三层报文,以便将所述三层报文通过所述第二NVE设备的IP地址信息对应的NVO3隧道向所述第一边界路由设备传输。所述NVO3封装具体包括:在所述第二数据报文的报文头之前封装所述第二VN ID。
通过本发明实施例提供的建立转发表项的系统,在实现NVO3网络和MPLS网络互联时,当NVO3网络的第一NVE设备602获取第一终端设备的MAC地址和第一VN ID时,向所述NVO3网络的第一边界路由设备601发送MAC路由通告消息,当所述第一边界路由设备601接收到第一NVE设备602发送的对应第一终端设备的MAC路由通告消息时,所述第一边界路由设备601为所述第一终端设备的第一VN ID分配第一VPN标签,并建立具有所述第一VN ID、所述第一VPN标签以及所述第一NVE设备602的IP地址信息三者之间的对应关系的第一转发表项,以使得所述第一边界路由设备601不需要保存第一终端设备的MAC地址表项也能通过所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备,并且,对应来自所述MPLS网络的目的地为对应所述第一VN ID的所有终端设备都可以使用所述第一转发表项进行转发,对应所述第一VN ID的所有终端设备的MAC地址表项都不需要存储,减轻了所述第一边界路由设备601的存储负担,有利于所述NVO3网络中终端数量的扩展。
为了更加清楚直观的说明本发明实施例提供的所述建立转发表项的系统,接下来将如图1A所示的网络架构放在一个具体的应用场景中举例说明,将所述NVO3网络作为DC网络,所述MPLS网络作为DC网络以外的网络,所述NVO3网络和所述MPLS网络均为AS域,所述第一边界路由设备和第二边界路由设备分别为ASBR1和ASBR2。
对该应用场景分为两个方面展开描述,第一方面是所述ASBR1将所述NVO3网络中的MAC地址同步到所述MPLS网络,并对来自所述MPLS网络的报文进行转发的过程;第二方面是所述ASBR1将所述MPLS网络中的MAC地址同步到所述NVO3网络中,并对来自所述NVO3网络的报文进行转发的过程。
对于所述第一方面,请参阅图7,其为本发明实施例提供的一种建立转发表项以及转发报文的信令流程图,包括ASBR1、ASBR2和NVE设备1:
S701:所述NVE设备1向所述ASBR1发送第一MAC路由通告信息。
所述第一MAC路由通告信息中包含的MAC地址是所述NVE设备1从与其连接的TS1上学习的。所述第一MAC路由通告信息还包括所述TS1的第一VN ID以及所述TS1的RT属性。
S702:所述ASBR1对所述第一VN ID分配第一VPN标签。
S703:所述ASBR1建立第一转发表项。
所述第一转发表项包括所述NVE设备1的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,可以参阅实施例一中的表1。
S704:所述ASBR1向所述ASBR2发送第二MAC路由通告信息。
所述第二MAC路由通告信息中包括所述TS1的MAC地址、所述第一VPN标签以及所述TS1的RT属性。所述ASBR2将所述所述TS1的MAC地址和所述TS1的RT属性向所述MPLS中的用户设备进行群发,当所述MPLS网络中的PE1判断得到与其连接的CE1的RT属性和所述TS1的RT属性相同时,所述PE1引入所述TS1的MAC地址,建立对应的MAC地址转发表项,完成同步MAC地址。
S705:所述ASBR2向所述ASBR1发送第一MPLS报文。
所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述CE1向所述TS1发送的,所述标签栈包括所述第一VPN标签。
S706:所述ASBR1根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项,确定出对应的所述第一VN ID和所述NVE设备1的IP地址信息。
S707:所述ASBR1对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息。
对于所述第二方面,请参阅图8,其为本发明实施例提供的一种建立转发表项以及转发报文的信令流程图,包括ASBR1、ASBR2和NVE设备2:
S801:所述ASBR2向所述ASBR1发送第三MAC路由通告信息。
所述第三MAC路由通告信息中包含的MAC地址是PE设备从与其连接的CE2上学习的。所述第三MAC路由通告信息还包括所述CE2的第二VPN标签以及所述CE2的RT属性。
S802:所述ASBR1为所述第二VPN标签分配第二VN ID。
S803:所述ASBR1建立第二转发表项。
所述第二转发表项包括所述所述第二VPN标签和所述第二VN ID的对应关系,可以参阅实施例三中的表2。
S804:所述ASBR1向所述NVE设备2发送第四MAC路由通告信息,所述第四MAC路由通告信息中包括所述CE2的MAC地址、所述CE2的RT属性以及所述第二VN ID。
S805:所述NVE设备2将所述CE2的MAC地址保存至对应的MAC地址表项并建立第三转发表项,所述第三转发表项包括所述CE2的MAC地址和所述第二VN ID的对应关系,完成同步MAC地址。
需要说明的是,所述NVE设备2判断配置的TS的RT属性与所述CE2的RT属性否一致,所述NVE设备2才生成对应所述CE2的MAC地址表项,并将该CE2的MAC地址表项添加到对应第二VN ID的MAC地址表中。
S806:所述NVE设备2根据所述CE2的MAC地址匹配到所述第三转发表项,根据所述第三转发表项确定对应的所述第二VN ID,对所述第二数据报文进行NVO3隧道封装以得到三层报文,所述三层报文包括所述第二数据报文和所述第二VN ID。
这里需要说明的是,所述第二数据报文是TS2向所述CE2发送的报文,所述TS2是与所述NVE设备2相连的TS。
S807:所述NVE设备2向所述ASBR1发送所述三层报文。
S808:所述ASBR1根据所述三层报文中的所述第二VN ID匹配到所述第二转发表项,根据所述第二转发表项确定对应的所述第二VPN标签,封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签。
S809:所述ASBR1向所述ASBR2发送所述第二MPLS报文。
实施例六
本实施例为对应实施例一和实施例二的装置实施例,所述建立转发表项装置900是位于NVO3网络中的第一边界路由设备的组成部分,所述NVO3网络还包括NVE设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,
图9为本发明实施例所提供的一种建立转发表项的装置结构示意图,如图9所示,所述建立转发表项装置900包括:
第一消息接收单元901,用于接收第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
有关所述第一消息接收单元901的描述请参考实施例一S201中的相关描述,这里不再赘述。
第一分配单元902,用于为所述第一VN ID分配第一VPN标签。
有关所述第一分配单元902的描述请参考实施例一S202中的相关描述,这里不再赘述。
第一建立单元903,用于建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
有关所述第一建立单元903的描述请参考实施例一S203中的相关描述,这里不再赘述。
可选地,在所述第一分配单元902为所述第一VN ID分配第一VPN标签之后,可以将第一消息接收单元901接收到的所述第一NVE设备学习的第一终端设备的MAC地址向所述第二边界路由设备发送,以便完成向所述MPLS网络同步MAC地址。
在图9的基础上,所述建立转发表项装置900还可以进一步包括第一消息发送单元1001,请参阅图10,其为本发明实施例提供的一种建立转发表项的装置结构示意图,如图10所示,还包括:
第一消息发送单元1001,用于向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
有关所述第一消息发送单元1001的描述请参考实施例一S204中的相关描述,这里不再赘述。
可选的,所述NVO3网络为DC网络。
在所述图9或图10所示装置的基础上,图11为本发明实施例提供的一种报文转发的装置结构示意图,如图11所示,所述报文转发装置1100包括:
第一报文接收单元1101,用于接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签。
有关所述第一报文接收单元1101的描述请参考实施例二S301中的相关描述,这里不再赘述。
第一匹配单元1102,用于根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项。
有关所述第一匹配单元1102的描述请参考实施例二S302中的相关描述,这里不再赘述。
第一确定单元1103,用于根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息。
有关所述第一确定单元1103的描述请参考实施例二S303中的相关描述,这里不再赘述。
第一封装单元1104,用于对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息。
有关所述第一封装单元1104的描述请参考实施例二S304中的相关描述,这里不再赘述。
第一报文发送单元1105,用于向所述第一NVE设备发送所述三层报文。
有关所述第一报文发送单元1105的描述请参考实施例二S305中的相关描述,这里不再赘述。
实施例七
本实施例为对应实施例三和实施例四的装置实施例,在实施例六的基础上,图12为本发明实施例所提供的一种建立转发表项的装置结构示意图,如图12所示,所述建立转发表项装置1200包括:
第二消息接收单元1201,用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备。
有关所述第二消息接收单元1201的描述请参考实施例三S401中的相关描述,这里不再赘述。
第二分配单元1202,用于为所述第二VPN标签分配第二VN ID。
有关所述第二分配单元1202的描述请参考实施例三S402中的相关描述,这里不再赘述。
第二建立单元1203,用于建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
有关所述第二建立单元1203的描述请参考实施例三S403中的相关描述,这里不再赘述。
可选的,所述第二分配单元1202为所述第二VPN标签分配第二VN ID之后,需要完成将所述MPLS网络中终端设备的MAC地址同步到通过与所述NVO3网络连接的终端设备。
所述图12还可以进一步包括第二消息发送单元1204:
所述第二消息发送单元1204,用于向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
有关所述第二消息发送单元1204的描述请参考实施例三S404中的相关描述,这里不再赘述。
在所述图12所示装置的基础上,图13为本发明实施例提供的一种报文转发的装置结构示意图,如图13所示,所述报文转发装置1300包括:
第二报文接收单元1301,用于接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括所述第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络。
有关所述第二报文接收单元1301的描述请参考实施例四S501中的相关描述,这里不再赘述。
第二匹配单元1302,用于根据所述第二NVE设备发送的三层报文中的所述第二VNID匹配到所述第二转发表项。
有关所述第二匹配单元1302的描述请参考实施例四S502中的相关描述,这里不再赘述。
第二确定单元1303,用于根据所述第二转发表项确定对应的所述第二VPN标签。
有关所述第二确定单元1303的描述请参考实施例四S503中的相关描述,这里不再赘述。
第二封装单元1304,用于封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签。
有关所述第二封装单元1304的描述请参考实施例四S504中的相关描述,这里不再赘述。
第二报文发送单元1305,用于向第二边界路由设备发送所述第二MPLS报文。
有关所述第二报文发送单元1305的描述请参考实施例四S505中的相关描述,这里不再赘述。
可以看出,在实现NVO3网络和MPLS网络互联时,当NVO3网络的第一边界路由设备接收到第一NVE设备发送的对应第一终端设备的MAC路由通告消息时,所述第一边界路由设备为所述第一终端设备的第一VN ID分配第一VPN标签,并建立具有所述第一VN ID、所述第一VPN标签以及所述第一NVE设备的IP地址信息三者之间的对应关系的第一转发表项,以使得所述第一边界路由设备不需要保存第一终端设备的MAC地址表项也能通过所述第一转发表项转发来自所述MPLS网络的报文到所述第一终端设备,并且,对应来自所述MPLS网络的目的地为对应所述第一VN ID的所有终端设备都可以使用所述第一转发表项进行转发,对应所述第一VN ID的所有终端设备的MAC地址表项都不需要存储,减轻了所述第一边界路由设备的存储负担,有利于所述NVO3网络中终端数量的扩展。
实施例八
请参阅图14,图14为本发明实施例提供的一种边界路由设备的硬件结构示意图,所述边界路由设备1400位于NVO3网络中,所述NVO3网络还包括NVE设备,所述NVO3网络通过所述边界路由设备1400和第二边界路由设备与MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,所述边界路由设备1400包括存储器1401和接收器1402,以及分别与所述存储器1401和所述接收器1402连接的处理器1403,所述存储器1401用于存储一组程序指令,所述处理器1403用于调用所述存储器1401存储的程序指令执行如下操作:
触发所述接收器1402接收第一NVE设备发送的第一MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
为所述第一VN ID分配第一VPN标签。
建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
可选地,所述处理器1403可以为中央处理器(Central Processing Unit,CPU),所述存储器1401可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器1402可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器1403、接收器1402和存储器1401可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application SpecificIntegrated Circuit,ASIC)。
本发明实施例中提到的第一边界路由设备、第一NVE设备、第一终端设备、第一MAC路由通告消息、第一VN ID和第一VPN标签中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”和“第四”。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。
Claims (19)
1.一种建立转发表项的方法,其特征在于,所述方法由位于三层网络虚拟化NVO3网络中的第一边界路由设备执行,所述NVO3网络还包括网络虚拟边缘NVE设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与多协议标签交换MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,所述方法包括:
所述第一边界路由设备接收第一NVE设备发送的第一媒体接入控制MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一虚拟网络VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;
所述第一边界路由设备为所述第一VN ID分配第一虚拟专用网络VPN标签;
所述第一边界路由设备建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一边界路由设备向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
所述第一边界路由设备接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签;
所述第一边界路由设备根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项;
所述第一边界路由设备根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息;
所述第一边界路由设备对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息;
所述第一边界路由设备向所述第一NVE设备发送所述三层报文。
4.根据权利要求1或2权利要求所述的方法,其特征在于,还包括:
所述第一边界路由设备接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;
所述第一边界路由设备为所述第二VPN标签分配第二VN ID;
所述第一边界路由设备建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述第一边界路由设备向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述第一边界路由设备接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络;
所述第一边界路由设备根据所述第二NVE设备发送的三层报文中的所述第二VN ID匹配到所述第二转发表项;
所述第一边界路由设备根据所述第二转发表项确定对应的所述第二VPN标签;
所述第一边界路由设备封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签;
所述第一边界路由设备向第二边界路由设备发送所述第二MPLS报文。
7.根据权利要求1所述的方法,其特征在于,
所述NVO3网络为数据中心DC网络。
8.一种建立转发表项的装置,其特征在于,所述装置是位于三层网络虚拟化NVO3网络中的第一边界路由设备的组成部分,所述NVO3网络还包括网络虚拟边缘NVE设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与多协议标签交换MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,所述装置包括:
第一消息接收单元,用于接收第一NVE设备发送的第一媒体接入控制MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一虚拟网络VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;
第一分配单元,用于为所述第一VN ID分配第一虚拟专用网络VPN标签;
第一建立单元,用于建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备。
9.根据权利要求8所述的装置,其特征在于,还包括:
第一消息发送单元,用于向所述第二边界路由设备发送第二MAC路由通告消息,所述第二MAC路由通告消息包括所述第一终端设备的MAC地址和所述第一VPN标签。
10.根据权利要求8或9所述的装置,其特征在于,还包括:
第一报文接收单元,用于接收所述第二边界路由设备发送的第一MPLS报文,所述第一MPLS报文包括标签栈和第一数据报文,所述第一数据报文是所述MPLS网络中的第二终端设备向所述第一终端设备发送的报文,所述标签栈包括所述第一VPN标签;
第一匹配单元,用于根据所述第一MPLS报文中的所述第一VPN标签匹配到所述第一转发表项;
第一确定单元,用于根据所述第一转发表项确定对应的所述第一VN ID和所述第一NVE设备的IP地址信息;
第一封装单元,用于对所述第一数据报文进行NVO3隧道封装以得到三层报文,所述三层报文还包括所述第一VN ID和所述第一NVE设备的IP地址信息;
第一报文发送单元,用于向所述第一NVE设备发送所述三层报文。
11.根据权利要求8或9权利要求所述的装置,其特征在于,还包括:
第二消息接收单元,用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;
第二分配单元,用于为所述第二VPN标签分配第二VN ID;
第二建立单元,用于建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
12.根据权利要求11所述的装置,其特征在于,还包括:
第二消息发送单元,用于向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
13.根据权利要求12所述的装置,其特征在于,还包括:
第二报文接收单元,用于接收第二NVE设备发送的三层报文,所述第二NVE设备发送的三层报文包括第二数据报文和所述第二VN ID,所述第二数据报文是第四终端设备向所述第三终端设备发送的报文,所述第四终端设备通过所述第二NVE设备连接所述NVO3网络;
第二匹配单元,用于根据所述第二NVE设备发送的三层报文中的所述第二VN ID匹配到所述第二转发表项;
第二确定单元,用于根据所述第二转发表项确定对应的所述第二VPN标签;
第二封装单元,用于封装所述第二数据报文以得到第二MPLS报文,所述第二MPLS报文包括标签栈和所述第二数据报文,所述标签栈中包括所述第二VPN标签;
第二报文发送单元,用于向第二边界路由设备发送所述第二MPLS报文。
14.根据权利要求8所述的装置,其特征在于,
所述NVO3网络为数据中心DC网络。
15.一种建立转发表项的系统,其特征在于,所述系统包括第一边界路由设备和第一网络虚拟边缘NVE设备,所述第一边界路由设备和所述第一NVE设备位于三层网络虚拟化NVO3网络,所述第一边界路由设备为所述NVO3网络的边界设备,所述NVO3网络通过所述第一边界路由设备和第二边界路由设备与多协议标签交换MPLS网络通信,所述第二边界路由设备为所述MPLS网络的边界设备,其中,
所述第一边界路由设备,用于接收所述第一NVE设备发送的第一媒体接入控制MAC路由通告消息,所述第一MAC路由通告消息中包含所述第一NVE设备学习的第一终端设备的MAC地址和所述第一终端设备的第一虚拟网络VN ID,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络;为所述第一VN ID分配第一虚拟专用网络VPN标签;建立第一转发表项,所述第一转发表项包括所述第一NVE设备的IP地址信息、所述第一VN ID和所述第一VPN标签三者之间的对应关系,所述第一转发表项用于转发来自所述MPLS网络的报文到所述第一终端设备;
所述第一NVE设备,用于获得所述第一终端设备的MAC地址和所述第一终端设备的第一VN ID,并向所述第一边界路由设备发送所述第一MAC路由通告消息,所述第一终端设备通过所述第一NVE设备连接所述NVO3网络。
16.根据权利要求15所述的系统,其特征在于,
所述第一边界路由设备,还用于接收所述第二边界路由设备发送的第三MAC路由通告消息,所述第三MAC路由通告消息包括第三终端设备的MAC地址和所述第二边界路由设备分配给所述第三终端设备的第二VPN标签,所述第三终端设备为所述MPLS网络中的终端设备;为所述第二VPN标签分配第二VN ID;建立第二转发表项,所述第二转发表项包括所述第二VPN标签和所述第二VN ID的对应关系,所述第二转发表项用于转发来自所述NVO3网络的报文到所述第三终端设备。
17.根据权利要求16所述的系统,其特征在于,还包括第二NVE设备:
所述第一边界路由设备,还用于向第二NVE设备发送第四MAC路由通告消息,所述第四MAC路由通告消息包括所述第三终端设备的MAC地址和所述第二VN ID。
18.根据权利要求17所述的系统,其特征在于,
所述第二NVE设备,还用于接收所述第四MAC路由通告消息;将所述第三终端设备的MAC地址保存至对应的MAC地址表项;建立第三转发表项,所述第三转发表项包括所述第三终端设备的MAC地址和所述第二VN ID的对应关系。
19.根据权利要求18所述的系统,其特征在于,第四终端设备通过所述第二NVE设备连接所述NVO3网络,当所述第四终端设备向所述第三终端设备发送第二数据报文时,所述第二数据报文的目的地址为所述第三终端设备的MAC地址,所述第二NVE设备还用于根据所述第三终端设备的MAC地址匹配到所述第三转发表项,根据所述第三转发表项确定对应的所述第二VN ID,对所述第二数据报文进行NVO3隧道封装以得到三层报文,所述三层报文包括所述第二数据报文和所述第二VN ID,向所述第一边界路由设备发送所述三层报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410242405.6A CN105337865B (zh) | 2014-06-03 | 2014-06-03 | 一种建立转发表项的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410242405.6A CN105337865B (zh) | 2014-06-03 | 2014-06-03 | 一种建立转发表项的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337865A CN105337865A (zh) | 2016-02-17 |
CN105337865B true CN105337865B (zh) | 2018-09-21 |
Family
ID=55288170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410242405.6A Active CN105337865B (zh) | 2014-06-03 | 2014-06-03 | 一种建立转发表项的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105337865B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411735B (zh) * | 2016-10-18 | 2019-10-11 | 新华三技术有限公司 | 一种路由配置方法及装置 |
CN106878168B (zh) * | 2017-03-20 | 2021-03-19 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN108183858B (zh) * | 2017-12-26 | 2020-12-29 | 新华三技术有限公司 | 一种路由引入方法和装置 |
CN114124806B (zh) * | 2018-05-25 | 2022-11-25 | 华为技术有限公司 | 一种生成路由的方法和设备 |
CN109412926B (zh) * | 2018-11-16 | 2021-04-27 | 新华三技术有限公司 | 一种隧道建立方法和装置 |
CN112054962B (zh) * | 2019-06-06 | 2021-12-14 | 华为技术有限公司 | 一种实现组播的方法和装置 |
CN110677337B (zh) * | 2019-09-27 | 2021-10-12 | 新华三信息安全技术有限公司 | 数据转发方法、装置、网络设备及计算机可读存储介质 |
CN114143257B (zh) * | 2020-09-03 | 2023-04-28 | 华为技术有限公司 | 一种生成表项的方法、发送报文的方法、设备及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520739A (zh) * | 2008-02-26 | 2009-09-02 | 国际商业机器公司 | 构建基于存储管理计划规范的设备的模拟器的方法和装置 |
CN102137001A (zh) * | 2010-11-29 | 2011-07-27 | 华为技术有限公司 | 交换路由信息的方法、设备和系统 |
CN102739501A (zh) * | 2011-04-01 | 2012-10-17 | 中兴通讯股份有限公司 | 二三层虚拟私有网络中的报文转发方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259725B (zh) * | 2012-02-21 | 2017-04-12 | 华为技术有限公司 | 报文发送方法和网络设备 |
-
2014
- 2014-06-03 CN CN201410242405.6A patent/CN105337865B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520739A (zh) * | 2008-02-26 | 2009-09-02 | 国际商业机器公司 | 构建基于存储管理计划规范的设备的模拟器的方法和装置 |
CN102137001A (zh) * | 2010-11-29 | 2011-07-27 | 华为技术有限公司 | 交换路由信息的方法、设备和系统 |
CN102739501A (zh) * | 2011-04-01 | 2012-10-17 | 中兴通讯股份有限公司 | 二三层虚拟私有网络中的报文转发方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105337865A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105337865B (zh) | 一种建立转发表项的方法、装置和系统 | |
CN105099846B (zh) | 传输数据报文的方法和供应商边缘设备 | |
CN104135420B (zh) | 一种报文转发的方法、设备及系统 | |
CN109873760A (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US9973422B2 (en) | Traffic interconnection between virtual devices | |
CN101155130B (zh) | 学习mac地址的方法及传送vpls客户数据的系统及设备 | |
CN106936939A (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
CN109995654B (zh) | 一种基于隧道传输数据的方法及装置 | |
CN105049360A (zh) | 用于促进互连交换机的网络中的交换机虚拟化的方法和系统 | |
CN103944818B (zh) | 一种多归接入叠加网络中报文处理的方法和系统 | |
CN105681198B (zh) | 一种业务链处理方法、设备及系统 | |
CN108702328A (zh) | 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展 | |
CN107026796B (zh) | 一种vpn路由通告方法、数据流转发方法及相关设备 | |
CN105323136A (zh) | 信息的处理方法及装置 | |
CN104365066B (zh) | 用于以太虚拟专用网的方法和设备 | |
CN103118149B (zh) | 同一租户内服务器间的通信控制方法及网络设备 | |
CN105453513B (zh) | 报文转发方法、转发表项下发方法及网络设备 | |
CN106209557B (zh) | 报文转发方法及装置 | |
CN107395481A (zh) | Evpn拓扑中的广播、未知单播或组播业务的出口节点保护 | |
CN105187311B (zh) | 一种报文转发方法及装置 | |
CN109729012A (zh) | 一种单播报文传输方法和装置 | |
CN106209638A (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN109587059A (zh) | Sr-be内层隧道标签的配置方法、设备及通信系统 | |
CN103326915A (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
CN106941437A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |