Nothing Special   »   [go: up one dir, main page]

CN104869042A - 报文转发方法和装置 - Google Patents

报文转发方法和装置 Download PDF

Info

Publication number
CN104869042A
CN104869042A CN201410058013.4A CN201410058013A CN104869042A CN 104869042 A CN104869042 A CN 104869042A CN 201410058013 A CN201410058013 A CN 201410058013A CN 104869042 A CN104869042 A CN 104869042A
Authority
CN
China
Prior art keywords
nve
message
tes
address
vpn instance
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
Application number
CN201410058013.4A
Other languages
English (en)
Other versions
CN104869042B (zh
Inventor
郝卫国
厉益舟
倪辉
黄世碧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410058013.4A priority Critical patent/CN104869042B/zh
Priority to PCT/CN2014/086173 priority patent/WO2015123987A1/zh
Priority to EP14883484.9A priority patent/EP3099022B1/en
Publication of CN104869042A publication Critical patent/CN104869042A/zh
Priority to US15/243,108 priority patent/US10110490B2/en
Application granted granted Critical
Publication of CN104869042B publication Critical patent/CN104869042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种报文转发方法和装置,所述报文转发方法包括:第一NVE接收第一TES发送的第一报文,第一报文的目的IP地址为第二TES的IP地址,第一报文的目的MAC地址为第一NVE对应的网关MAC地址,第一TES和第二TES属于相同的三层VPN;第一NVE根据接收第一报文的端口信息和第一报文中的至少一个获取第一TES的接入VN ID,并获取第一TES的三层VPN实例标识;第一NVE对第一报文进行二层终结,并查找第一TES的三层VPN实例标识对应的路由转发表,得到对应第二TES的IP地址的表项,根据所述表项将第一报文封装为NVO3报文;第一NVE通过三层将所述NVO3报文转发至第二NVE,第二TES接入第二NVE。

Description

报文转发方法和装置
技术领域
本发明实施例涉及网络技术,尤其涉及一种NVO3网络中的报文转发方法和装置。
背景技术
基于三层网络的网络虚拟化(英文:Network Virtualization Overlays,缩写:NVO3)是一种实现网络虚拟化的技术,通过NVO3技术可以将一个物理网络进行虚拟化,使一个物理网络可以由不同的租户共同使用,每个租户之间的数据流量相互隔离,不同租户使用的虚拟网络中的网络协议(英文:Internet Protocol,缩写:IP)可以相同,这样相当于每个租户独立使用该物理网络。
在使用NVO3技术的网络中,每个租户一般包括一个或多个虚拟网络,每个虚拟网络内的租户终端系统(英文:tenant end system,缩写:TES)之间能够通过NVO3网络实现二层(数据链路层)互通,不同虚拟网络内的TES之间通过三层(网络层)互通。网络虚拟边缘(英文:network virtualization edge,缩写:NVE)是NVO3网络的虚拟网络边缘设备,负责每个虚拟网络内不同TES之间的流量转发、NVO3隧道封装和解封装等处理。
目前对于NVO3网络中跨子网的三层数据流量而言,一般都需要通过集中式的三层网关进行转发,但跨子网的三层数据流量都通过集中式的三层网关转发,会导致三层数据流量的转发路径产生迂回,并且容易在集中式的三层网关处形成转发瓶颈,从而影响报文转发的效率。
发明内容
本发明提供一种报文转发方法和装置,用于提高报文转发效率。
第一方面提供一种报文转发方法,包括:
第一NVE接收第一TES发送的第一报文,所述第一报文的目的IP地址为第二TES的IP地址,所述第一报文的目的MAC地址为所述第一NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层VPN;
所述第一NVE根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入VN ID,并根据所述第一TES的接入VNID获取所述第一TES的三层VPN实例标识;
所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为NVO3报文;
所述第一NVE通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
在第一方面第一种可能的实现方式中,所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为所述NVO3报文,包括:
所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID;
所述第一NVE根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一NVE根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入VN ID,并根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识,包括:
所述第一NVE根据接收所述第一报文的端口信息、所述第一报文中的二层VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID,并获取与所述第一TES的接入VN ID对应的三层VPN实例标识。
结合第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述第一NVE根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文,包括:
所述第一NVE将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址,得到替换后的第一报文;
所述第一NVE为所述替换后的第一报文封装NVO3头,生成所述NVO3报文,所述NVO3头中的目的IP地址为所述第二NVE的IP地址,源IP地址为所述第一NVE的IP地址,所述NVO3头中的VN ID为所述第二TES的三层VPN实例标识对应的全局VN ID。
结合第一方面至第一方面第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述第一NVE接收第一TES发送的第一报文之前,所述方法还包括:
所述第一NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表;
所述根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识包括:
所述第一NVE根据所述第一TES的接入VN ID查找所述接入VN ID与三层VPN实例标识的对应关系表,得到所述第一TES的三层VPN实例标识。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
所述第一NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述第一NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识;
所述第一NVE通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述第一NVE将所述第一NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
第二方面提供一种报文转发方法,包括:
第二NVE接收第一NVE发送的NVO3报文,所述NVO3报文为所述第一NVE对第一TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的IP地址为第二TES的IP地址;
当所述NVO3报文的隧道头部的目的IP地址为所述第二NVE的IP地址时,所述第二NVE将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述第一NVE将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址后得到的;
所述第二NVE对所述解封装后的报文进行二层终结;
所述第二NVE根据所述NVO3报文的隧道头部的全局VN ID获取所述全局VN ID对应的三层VPN实例标识;
所述第二NVE根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
在第二方面第一种可能的实现方式中,所述第二NVE接收第一NVE发送的NVO3报文之前,所述方法还包括:
所述第二NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表,
所述获取所述全局VN ID对应的三层VPN实例标识包括:
所述第二NVE根据所述全局VN ID查找所述三层VPN实例标识与全局VN ID的对应关系表,得到所述全局VN ID对应的三层VPN实例标识。
结合所述第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
所述第二NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述第二NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识;
所述第二NVE通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述第二NVE将所述第二NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其他NVE设备本地本每个三层VPN实例标识对应的路由转发表、所述三层VPN实例与全局VN ID的对应关系表。
第三方面提供一种报文转发装置,包括:
接收模块,用于接收第一TES发送的第一报文,所述第一报文的目的IP地址为第二TES的IP地址,所述第一报文的MAC地址为第一网络虚拟边缘NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层VPN;
第一获取模块,用于根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入VN ID;
第二获取模块,用于根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识;
封装模块,用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为NVO3报文;
发送模块,用于通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
在第三方面第一种可能的实现方式中,所述封装模块具体用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID;根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文。
结合第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一获取模块,具体用于根据接收所述第一报文的端口信息、所述第一报文中的二层VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID。
结合第三方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述封装模块具体用于将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述NVE对应的网关MAC地址,得到替换后的第一报文;为所述替换后的第一报文封装NVO3头,生成所述NVO3报文,所述NVO3头中的目的IP地址为所述第二NVE的IP地址,源IP地址为所述NVE的IP地址,所述NVO3头中的VN ID为所述第二TES的三层VPN实例标识对应的全局VN ID。
结合第三方面至第三方面第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
设置模块,用于在本地生成接入VN ID与三层VPN实例标识的对应关系表;
所述第二获取模块具体用于根据所述第一TES的接入VN ID查找所述接入VN ID与三层VPN实例标识的对应关系表,得到所述第一TES的三层VPN实例标识。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述装置还包括生成模块和同步模块;
所述设置模块,还用于在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识;
所述生成模块,用于通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述同步模块,用于将所述第一NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
第四方面提供一种报文转发装置,所述报文转发装置为网络虚拟边缘NVE,包括:
接收模块,用于接收另一NVE发送的NVO3报文,所述NVO3报文为所述另一NVE对第一TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的IP地址为第二TES的IP地址;
解封装模块,用于当所述NVO3报文的隧道头部的目的IP地址为所述NVE的IP地址时,将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述另一NVE将所述第一报文的目的MAC地址替换为所述NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址后得到的;
终结模块,用于对所述解封装后的报文进行二层终结;
获取模块,用于根据所述NVO3报文的隧道头部的全局VN ID获取所述全局VN ID对应的三层VPN实例标识;
转发模块,用于根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
在第四方面第一种可能的实现方式中,所述装置还包括:
设置模块,用于在本地生成三层VPN实例标识与全局VN ID的对应关系表;
所述获取模块具体用于根据所述全局VN ID查找所述三层VPN实例标识与全局VN ID的对应关系表,得到所述全局VN ID对应的三层VPN实例标识。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括生成模块和同步模块;
所述设置模块还用于在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识;
所述生成模块,用于通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述同步模块,用于将所述NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其他NVE设备本地本每个三层VPN实例标识对应的路由转发表、所述三层VPN实例与全局VN ID的对应关系表。
本发明实施例提供的报文转发方法和装置,在NVO3网络中,使每个NVE作为本地连接的TES的网关,在跨虚拟网络的TES之间传输数据时,分别由TES本地连接的NVE作为网关,可以使跨虚拟网络的TES之间的报文不需要通过集中式的三层网关转发,而是可以直接在TES本地连接的NVE之间传输,从而减少了数据流量的迂回,提高了报文转发效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为NVO3网络架构示意图;
图2为NVO3网络中的二层报文转发流程示意图;
图3为NVE上设置的对应关系示意图;
图4为本发明实施例提供的报文转发方法实施例一的流程图;
图5为本发明实施例提供的报文转发方法实施例二的流程图;
图6为本发明实施例提供的报文转发方法实施例一或二之前的预处理流程图;
图7为本发明实施例提供的报文转发方法实施例三的流程图;
图8为本发明实施例提供的报文转发方法实施例三之前的预处理流程图;
图9为本发明实施例提供的报文转发装置实施例一的结构示意图;
图10为本发明实施例提供的报文转发装置实施例二的结构示意图;
图11为本发明实施例提供的报文转发装置实施例三的结构示意图;
图12为本发明实施例提供的报文转发装置实施例四的结构示意图;
图13为本发明实施例提供的报文转发装置实施例五的结构示意图;
图14为本发明实施例提供的报文转发装置实施例六的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在NVO3网络中,一般一个租户对应一个三层虚拟专用网络(英文:Virtual Private Network,缩写:VPN),不同租户对应的三层VPN在每个NVE上通过虚拟路由转发表(英文:Virtual Routing and Forwarding,缩写:VRF)进行隔离,一个VPN可以包括多个虚拟网络(英文:Virtual Network,缩写:VN)。一个虚拟网络对应一个子网网段,通过24bit的虚拟网络标识(英文:Virtual Network Identifer,缩写:VN ID)来识别。
图1为NVO3网络架构示意图,如图1所示,NVO3网络包括NVE11、NVE12、NVE13,TES14和TES15接入NVE11,TES16接入NVE12,TES17接入NVE13。NVE11、NVE12和NVE13之间通过三层网络连接,TES14和TES15与NVE11,TES16与NVE12,以及TES17与NVE13之间分别通过二层网络连接。需要说明的是,NVO3网络中NVE与TES的数量不以图1中为限。
图2为NVO3网络中的二层报文转发流程示意图,如图2所示,假设TES1和TES2属于同一个租户的同一个虚拟网络,TES1接入NVE1,TES2接入NVE2。TES1与TES2之间的单播通信过程如下。
步骤S201,NVE1接收到TES1发送的单播报文,其中所述单播报文的目的介质访问控制(英文:Media Access Control,缩写:MAC)地址为TES2的MAC地址。
具体地,本步骤中,假设NVE1已经在该TES1所属的VN内完成了MAC地址的学习。由于TES1接入NVE1,因此TES1发送的报文均会被NVE1接收到。
步骤S202,NVE1查找MAC转发表,获知所述单播报文的目的MAC地址对应的TES2位于远端的NVE2上。
步骤S203,NVE1对所述单播报文进行NVO3封装,得到NVO3报文。
具体地,由于TES1发送的单播报文是发送至连接远端NVE2的TES2的,但TES1发送至NVE1的报文是二层的报文,而NVE1与NVE2之间是通过三层网络连接的,NVE1无法将该二层报文直接传输至NVE2,因此NVE1需要将该单播报文封装成NVO3报文再传输。
NVO3的典型封装包括虚拟扩展局域网(英文:Virtual eXtensible LANs,缩写:VXLAN)和网络虚拟通用路由封装(英文:Network VirtualizationGeneric Routing Encapsulation,英文:NVGRE),其中VXLAN采用介质访问控制在用户数据包协议中(英文:Media Access Control in User DatagramProtocol,缩写:MAC-in-UDP)封装方式,NVGRE采用介质访问控制在通用路由封装中(英文:Media Access Control in Generic Routing Encapsulation,缩写:MAC-in-GRE)封装方式,封装头里面都有24bit的VN ID。
步骤S204,NVE1将所述NVO3报文发送至NVE2。
步骤S205,NVE2对所述NVO3报文进行解封装,得到所述单播报文,并获取所述单播报文的目的MAC地址。
步骤S206,NVE2通过根据所述单播报文的目的MAC地址查找本地MAC转发表将所述单播报文转发至TES2。
图2示出了NVO3网络中属于同一个虚拟网络的TES之间的报文转发流程。但对于不属于同一个虚拟网络的TES之间的报文转发,发送报文的TES连接的NVE都需要将报文发送至网络中的集中式三层网关,再由所述集中式的三层网关将所述报文转发至目的TES所在的NVE,这样的流量转发方式会导致流量转发路径有迂回,并且容易形成转发瓶颈。
基于上述问题,本发明实施例提供一种NVO3网络中的报文转发方法,使网络中的每个NVE都能充当网关设备,对于跨虚拟网络的报文不需要都送到集中式的三层网关进行转发,从而对于跨虚拟网络的流量能够做到最优转发。
一个NVE可能同时处于多个VPN中,不同的VPN在NVE上通过VRF进行隔离,将一个NVE中通过VRF隔离的每个VPN称为该NVE中的一个三层VPN实例,每个三层VPN实例中包括若干的VN。NVE需要为本地的每个三层VPN实例设置相应的标识,并且为本地的每个VN设置相应的VNID。为了使同一个VPN中的报文能够跨虚拟网络在不同的NVE之间传输,需要为每个VPN设置一个全局VN ID,即不同NVE上针对同一个三层VPN可能设置不同的三层VPN实例标识,但必须设置相同的全局VN ID,该全局VN ID可以由不同的NVE协商确定,也可以由管理中心指定。NVE为本地的每个VN设置的VN ID是本地的TES接入时使用的,因此将其称为接入VN ID。
如图3所示,图3为NVE上设置的对应关系示意图。设一个NVE包括两个三层VPN实例,两个三层VPN实例标识分别为VPN30和VPN300,其中VPN30对应的全局VN ID为VN30、VPN300对应的全局VN ID为VN300,VN30和VN300用于NVE之间跨虚拟网络通信时使用,以使接收到NVO3报文的NVE设备根据该全局VN ID得知该NVO3报文对应哪个三层VPN实例。此外,NVE还需要为每个虚拟网络设置对应的接入VN ID,每个虚拟网络可能属于不同的三层VPN实例,例如,VN31、VN32、VN33、VN310、VN320、VN330均为虚拟虚拟网络的接入VN ID。其中VN31、VN32和VN33属于三层VPN实例标识为VPN30的三层VPN实例,VN310、VN320和VN330属于三层VPN实例标识为VPN300的三层VPN实例。网络中的TES是直接接入各虚拟虚拟网络,因此VN31、VN32、VN323、VN310、VN320、VN330用于当NVE设备接收到TES发送的报文时,当获取到报文中的接入VN ID后,得知该TES接入了哪个虚拟虚拟网络,并根据虚拟虚拟网络的接入VN ID和三层VPN实例标识的对应关系得知该TES属于哪个三层VPN实例。因此,可以说NVE上设置了三层VPN实例标识与全局VN ID的对应关系表和接入VN ID和三层VPN实例标识的对应关系表。这两个对应关系表,可以体现在如图3所示的同一张表里,也可以分别设置。
图4为本发明实施例提供的报文转发方法实施例一的流程图,如图4所示,本实施例的方法包括:
步骤S401,第一NVE接收第一TES发送的第一报文,所述第一报文的目的IP地址为第二TES的IP地址,目的MAC地址为该第一NVE对应的网关MAC地址,所述第一TES和第二TES属于相同的三层VPN。
具体地,在本实施例中,将每个NVE作为其本地连接的TES的三层网关,即对于本地TES发送的到达网关的地址解析协议请求(英文:AddressResolution Protocol Request,缩写:ARP Request)报文,NVE都回应地址解析协议响应(英文:Address Resolution Protocol Reply,缩写:ARP Reply)报文,ARP Reply报文中源MAC地址为NVE对应的网关MAC地址,每个二层虚拟网络对应一个网关接口,多个网关接口可以对应相同的网关MAC地址。
本实施例中,第一TES与第一NVE本地连接,第二TES与第二NVE本地连接,第一TES与第二TES位于同一个租户的不同的虚拟网络中,即第一TES和第二TES属于相同的三层VPN,但属于该三层VPN中不同的虚拟网络。第一TES需要向第二TES发送第一报文。则第一TES向第二TES发送所述第一报文后,第一TES本地连接的第一NVE会接收到该第一报文,该第一报文的目的IP地址为第二TES的IP地址,该第一报文的目的MAC地址为该第一NVE对应的网关MAC地址。
步骤S402,所述第一NVE根据接收第一报文的端口信息和第一报文中的至少一个获取第一TES的接入VN ID,并根据第一TES的接入VN ID获取第一TES对应的三层VPN实例标识。
具体地,TES的接入VN ID和三层VPN实例标识的对应关系可以预先配置在如图3所示的表中。所述第一NVE为本地的每个三层VPN生成相应的三层VPN实例标识,不同三层VPN实例中的IP地址可以重叠,不同的三层VPN实例生成的路由转发表彼此隔离。所述第一NVE接收第一TES发送的第一报文后,根据所述第一报文中的信息和接收报文的端口中的至少一个获取所述第一TES的接入VN ID,并根据所述TES的接入VN ID得到相应的三层VPN实例标识,根据所述三层VPN实例标识查找相应的路由转发表。
其中根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入虚拟网络标识VN ID,具体可以是根据端口与VN ID的对应关系获取所述第一TES的接入VN ID,也可以是根据所述第一报文携带的VN ID来获取所述第一TES的接入VN ID,还可以是根据所述第一报文携带的虚拟局域网标识(英文:Virtual Local Area Network Identifier,缩写:VLAN ID)以及VLAN ID与VN ID的对应关系来获取所述第一TES的接入VN ID,还可以是根据MAC地址与VN ID的对应关系来获取所述第一TES的接入ID,还可以是根据“端口+VLAN”与VN ID的对应关系来获取所述第一TES的接入VN ID。
步骤S403,所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为NVO3报文。
具体地,所述第一NVE获取到第一TES的三层VPN实例标识后,由于第一TES与第二TES不在同一虚拟网络中,因此需要将第一报文通过三层转发,因此首先对第一报文进行二层终结,即将第一报文的数据链路层终结,而是通过网络层继续转发第一报文。然后根据所述第一报文的目的IP地址,即所述第二TES的IP地址,查找第一TES的三层VPN实例标识对应的路由转发表,获取第二TES连接的第二NVE的IP地址和MAC地址,以及第二NVE上相同三层VPN对应的全局VN ID,然后将所述第一报文封装为NVO3报文,其中该NVO3报文中的全局VN ID填入第二TES的三层VPN实例标识对应的全局VN ID,目的MAC地址填入第二NVE的MAC地址。
步骤S404,所述第一NVE通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
具体地,所述第一NVE可以通过三层网络将所述NVO3报文转发至第二NVE,当第二NVE接收到该NVO3报文后,对该NVO3报文进行解封装,由于该NVO3报文的目的MAC地址为第二NVE的MAC地址,因此第二NVE判断该NVO3报文是跨虚拟网络报文,第二NVE对该NVO3报文进行二层终结,根据所述NVO3报文中的全局VN ID查找到对应的三层VPN实例标识,查找该三层VPN实例标识对应的路由转发表将解封后的报文转发至第二TES。其中第二TES与第二NVE本地连接。
本实施例,在NVO3网络中,使每个NVE作为本地连接的TES的网关,在跨虚拟网络的TES之间传输数据时,分别由TES本地连接的NVE作为网关,可以使跨虚拟网络的TES之间的报文不需要通过集中式的三层网关转发,而是可以直接在TES本地连接的NVE之间传输,从而减少了数据流量的迂回,提高了报文转发效率。
图5为本发明实施例提供的报文转发方法实施例二的流程图,如图5所示,本实施例的方法包括:
步骤S501,第一NVE接收第一TES发送的第一报文,所述第一报文的目的IP地址为第二TES的IP地址,目的MAC地址为该第一NVE对应的网关MAC地址,所述第一TES和第二TES属于相同的三层VPN。
步骤S502,所述第一NVE根据接收所述第一报文的端口信息、所述第一报文中的二层VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID,并获取与所述第一TES的接入VN ID对应的三层VPN实例标识。
具体地,TES的接入VN ID和三层VPN实例标识的对应关系可以预先配置在如图3所示的表中。NVE为本地的每个三层VPN生成相应的三层VPN实例标识,不同三层VPN实例中IP地址可以重叠,不同的三层VPN实例生成的路由转发表彼此隔离,在报文转发时候,根据三层VPN实例标识查找相应的路由转发表;NVE接收TES发送的报文后,根据所述报文中的信息和接入端口的信息中的至少一个获取对应的接入VN ID,例如具体可以是根据端口与VN ID的对应关系获取所述第一TES的接入VN ID,也可以是根据所述第一报文携带的VN ID来获取所述第一TES的接入VN ID,还可以是根据所述第一报文携带的VLAN ID以及VLAN ID与VN ID的对应关系来获取所述第一TES的接入VN ID,还可以是根据MAC地址与VN ID的对应关系来获取所述第一TES的接入ID,还可以是根据“端口+VLAN”与VN ID的对应关系来获取所述第一TES的接入VN ID。
步骤S503,所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID。
具体地,网络中的每个NVE都向其它NVE通告本地每个租户内(每个VPN实例)直连TES的主机路由,以及从外部路由协议引入的路由。每个NVE向其它NVE通告每个VPN实例对应的三层网关MAC地址、NVE源IP地址,入口NVE(Ingress NVE)。在进行三层报文转发时,内层目的MAC地址填写出口NVE(Egress NVE)通告过来的三层网关的MAC。
在第一NVE中也有从网络中其他NVE通告来的网络中其他NVE的路由信息,因此第一NVE在接收到第一报文后,可以查找第一TES的三层VPN实例标识对应的路由转发表,从中找出第一报文中的目的IP地址(即第二TES的IP地址)对应的路由信息。第一TES的三层VPN实例标识对应的路由转发表包括:目的TES的IP地址、目的TES所在的NVE的IP地址、目的TES所在的NVE对应的网关MAC地址以及目的TES的三层VPN实例标识对应的全局VN ID。从而第一NVE可以获取第二TES所连接的第二NVE的IP地址、第二NVE对应的网关MAC地址以及第二TES的三层VPN实例标识对应的全局VN ID。
步骤S504,所述第一NVE根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文。
具体地,所述第一NVE根据第二NVE的IP地址和第二NVE对应的网关MAC地址可以获知第一报文的发送目的地。在第一NVE将第一报文封装为NVO3报文时,首先将第一报文的目的MAC地址替换为第二NVE对应的网关MAC地址,第一报文的源MAC地址替换为第一NVE对应的网关MAC地址;然后将第二NVE的IP地址作为NVO3报文的目的IP地址、第一NVE的IP地址作为NVO3报文的源IP地址、第二TES的三层VPN实例标识对应的全局VN ID作为NVO3报文的全局VN ID,封装NVO3的隧道头部,生成NVO3报文。
步骤S505,所述第一NVE通过三层将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
图6为本发明实施例提供的报文转发方法实施例一或二之前的预处理流程图,由于NVE需要使用本地路由信息和网络中其它NVE的路由信息才能够实现图4和图5所示实施例的报文转发方法,因此,本实施例的预处理可以在图4和图5所示实施例之前进行。如图6所示,本实施例的预处理包括:
步骤S601,所述第一NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述第一NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识。
具体地,NVE本地可能具有多个三层VPN实例,因此NVE需要为本地的每个三层VPN实例标识设置对应的全局VN ID,即在本地生成三层VPN实例标识与全局VN ID的对应关系表。由于不同NVE中属于相同VPN的三层VPN实例标识对应的全局VN ID相同,因此在进行NVO3报文跨虚拟网络转发时,在封装的NVO3报文中加入全局VN ID,则当第一NVE接收到网络中其他NVE发送的NVO3报文时,第一NVE就可以根据三层VPN实例标识与全局VN ID的对应关系表查找到相应的三层VPN实例标识。
步骤S602,所述第一NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述第一NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识。
具体地,NVE本地可能具有多个三层VPN实例,每个三层VPN实例可能包括多个虚拟网络,因此NVE需要为本地的每个虚拟网络的接入VN ID设置对应的三层VPN实例标识,即在本地生成接入VN ID与三层VPN实例标识的对应关系表。这样当第一NVE接收到本地接入的TES发送的报文时,就可以根据根据该报文信息或该报文的端口信息获取报文中的接入VN ID,并根据接入VN ID与三层VPN实例标识的对应关系表查找到对应的三层VPN实例标识。
步骤S603,所述第一NVE通过ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表。
具体地,由于第一TES与第一NVE可能直接连接也可能通过IP网络等外部路由协议连接,为了使第一NVE连接的所有TES都能够使用本发明实施例提供的报文转发方法进行报文传输,第一NVE需要获取本地直接连接和通过外部路由协议连接的所有TES的路由信息。第一NVE通过地址解析协议(英文:Address Resolution Protocol,缩写:ARP)获取本地连接的TES的路由信息,通过外部路由协议获取如IP网络等外部路由协议连接的TES的路由信息。第一NVE将获取的所有TES的路由信息为本地的每个三层VPN实例标识中生成对应的路由转发表。
上述步骤S601到S603在本发明中的实施顺序不受上述实施例中示例的限制。
步骤S604,所述第一NVE将所述第一NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
具体地,为了使NVE之间能够进行报文转发,第一NVE需要将自身的IP地址、第一NVE对应的网关MAC地址、还有步骤S603中获取的第一NVE本地每个三层VPN实例标识对应的路由转发表、步骤S601中生成的三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE。同时,第一NVE还要接收网络中其它NVE发送的上述信息。这样,在网络中的每个NVE中都会生成一个由NVE的IP地址、NVE对应的网关MAC地址、NVE本地每个三层VPN实例标识对应的路由转发表、NVE本地每个三层VPN实例与全局VN ID的对应关系表对应关系组成的路由转发信息。
进一步地,NVE之间互相发送路由信息可以通过边际网关协议(BorderGateway Protocol,BGP)。每个NVE上对每个租户配置一个BGP路由标识(Route Distinguisher,RD)作为控制层面整网BGP三层VPN标识。每个NVE通告RD、三层租户标识、自身MAC地址、NVE源IP地址。NVE之间信息通告也可以采用软件定义网络(Software Defined Network,SDN)方式进行集中管理。SDN控制器(SDN Controller)上拥有所有NVE的信息,通过控制器(controller)将NVE之间信息进行同步。
图4至图6为NVE作为发送端的网关设备的方法流程,下面以NVE作为接收端的网关设备为例提供的报文转发方法进行说明。
图7为本发明实施例提供的报文转发方法实施例三的流程图,如图7所示,本实施例的方法包括:
步骤S701,第二NVE接收第一NVE发送的NVO3报文,所述NVO3报文为所述第一NVE对第一TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的IP地址为第二TES的IP地址。
具体地,当位于第一NVE中的第一TES需要向第二NVE中的第二TES发送第一报文时,第一NVE首先接收到第一TES发送的第一报文,当第一NVE确定第一报文中的目的IP地址为第二TES的IP地址后,将第一报文封装为NVO3报文,并将该NVO3报文发送至第二NVE。第二NVE接收到第一NVE将第一报文封装后并发送的NVO3报文。
步骤S702,当所述NVO3报文的隧道头部的目的IP地址为所述第二NVE的IP地址时,所述第二NVE将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述第一NVE将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址后得到的。
具体地,第二NVE接收到NVO3报文后,首先确定NVO3报文隧道头部的目的IP地址是否为本第二NVE的IP地址,若是则将NVO3报文解封装,从而获取解封装后的报文。由于第一NVE为了将NVO3报文通过第二NVE转发至第二TES,首先将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址,因此第二NVE解封装后的报文与第一TES发送的原始第一报文存在上述区别。
步骤S703,所述第二NVE对所述解封装后的报文进行二层终结。
具体地,第二NVE获取解封装后的报文后,判断该第一报文中的目的MAC地址是否为该第二NVE对应的网关MAC地址。根据图2中所示的NVO3网络二层报文转发流程可知,若传输数据的TES同属于一个虚拟网络,则接收并解封装NVO3报文的NVE获取的报文中目的MAC地址将为目的TES的地址,则NVE可以通过二层将报文直接发送至目的TES。本实施例中,若第二NVE获取解封装后的报文后,判断目的MAC地址为第二NVE对应的网关MAC地址,则第二NVE对解封装后的报文进行二层终结。这样,第二NVE可以使用路由信息,使用基于IP方式的转发方法将解封装后的报文转发至第二TES。
需要说明的是,TES与NVE可以是本地直接连接,也可以通过例如IP网络等外部路由协议连接,而现有的NVO3网络中,若TES之间跨虚拟网络传输报文,则接收NVO3报文的NVE在将NVO3报文解封装后,只能根据数据封装内的VN路由信息,在对应的VN内查找MAC转发表,将报文转发至相应的TES。而当TES与NVE之间是通过IP网络连接时,NVE则无法对解封装后的NVO3报文进行转发。在本实施例中,当第二NVE接收到NVO3报文并解封装后,确定该报文中的目的MAC地址为该第二NVE自身对应的网关MAC地址时,对解封装后的报文进行二层终结,并根据路由信息通过基于IP路由方式的路径将解封装后的报文转发至目的TES,适用于TES与NVE的任一种连接方式。
步骤S704,所述第二NVE根据所述NVO3报文的隧道头部的全局VN ID确定所述全局VN ID对应的三层VPN实例标识。
具体地址,第二NVE在解封装NVO3报文时,从NVO3报文的隧道头部可以获取其中携带的全局VN ID,该全局VN ID为发送该NVO3报文在封装NVO3报文时加入的,该全局VN ID为目的TES所在的三层VPN实例的标识对应的全局VN ID。第二NVE根据NVO3报文隧道头部的该全局VN ID可以确定该全局VN ID对应的三层VPN实例标识。
步骤S705,所述第二NVE根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
具体地,第二NVE获取三层VPN实例标识后,可以查找该三层VNP实例标识对应的路由转发表,根据解封装后的报文中的目的IP地址即可将该解封装后的报文转发至第二TES。由于第二NVE中保存有路由信息,而解封装后的报文中的目的IP地址为第二TES的IP地址,并且在步骤S703中,第二NVE对第一报文进行了二层终结,因此第二NVE可以通过路由信息将解封装后的报文转发至第二TES。
本实施例,在NVO3网络中,使每个NVE作为本地连接的TES的网关,在跨虚拟网络的TES之间传输数据时,分别由TES本地连接的NVE作为网关,可以使跨虚拟网络的TES之间的报文不需要通过集中式的三层网关转发,而是可以直接在TES本地连接的NVE之间传输,从而减少了数据流量的迂回,提高了报文转发效率。
图8为本发明实施例提供的报文转发方法实施例三之前的预处理流程图,由于NVE需要使用本地路由信息和网络中其它NVE的路由信息才能够实现图7所示实施例的报文转发方法,因此,本实施例的预处理可以在图7所示实施例之前进行。如图8所示,本实施例的预处理包括:
步骤S801,所述第二NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述第二NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识。
具体地,NVE本地可能具有多个三层VPN实例,因此NVE需要为本地的每个三层VPN实例标识设置对应的全局VN ID,即在本地生成三层VPN实例标识与全局VN ID的对应关系表。由于不同NVE中属于相同VPN的三层VPN实例标识对应的全局VN ID相同,因此在进行NVO3报文跨虚拟网络转发时,在封装的NVO3报文中加入全局VN ID,则当第二NVE接收到网络中其他NVE发送的NVO3报文时,第二NVE就可以根据三层VPN实例标识与全局VN ID的对应关系表查找到相应的三层VPN实例标识。
步骤S802,所述第二NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述第二NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识。
具体地,NVE本地可能具有多个三层VPN实例,每个三层VPN实例可能包括多个虚拟网络,因此NVE需要为本地的每个虚拟网络的接入VN ID设置对应的三层VPN实例标识,即在本地生成接入VN ID与三层VPN实例标识的对应关系表。这样当第二NVE接收到本地接入的TES发送的报文时,就可以根据根据该报文信息或该报文的端口信息获取报文中的接入VN ID,并根据接入VN ID与三层VPN实例标识的对应关系表查找到对应的三层VPN实例标识。
步骤S803,所述第二NVE通过ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表。
具体地,由于第二TES与第二NVE可能直接连接也可能通过IP网络等外部路由协议连接,为了使第二NVE连接的所有TES都能够使用本发明实施例提供的报文转发方法进行报文传输,第二NVE需要获取本地直接连接和通过外部路由协议连接的所有TES的路由信息。第二NVE通过ARP获取本地连接的TES的路由信息,通过外部路由协议获取如IP网络等外部路由协议连接的TES的路由信息。第二NVE将获取的所有TES的路由信息为本地的每个三层VPN实例标识中生成对应的路由转发表。
上述步骤S801到S803在本发明中的实施顺序不受上述实施例中示例的限制。
步骤S804,所述第二NVE将所述第二NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
具体地,为了使NVE之间能够进行报文转发,第二NVE需要将自身的IP地址、第二NVE对应的网关MAC地址、还有步骤S803中获取的第二NVE本地每个三层VPN实例标识对应的路由转发表、步骤S801中生成的三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE。同时,第二NVE还要接收网络中其它NVE发送的上述信息。这样,在网络中的每个NVE中都会生成一个由NVE的IP地址、NVE对应的网关MAC地址、NVE本地每个三层VPN实例标识对应的路由转发表、NVE本地每个三层VPN实例与全局VN ID的对应关系表对应关系组成的路由转发信息。
进一步地,NVE之间互相发送路由信息可以通过BGP。每个NVE上对每个租户配置一个BGP RD作为控制层面整网BGP三层VPN标识。每个NVE通告RD、三层租户标识、自身MAC地址、NVE源IP地址。NVE之间信息通告也可以采用SDN方式进行集中管理。SDN Controller上拥有所有NVE的信息,通过controller将NVE之间信息进行同步。
图9为本发明实施例提供的报文转发装置实施例一的结构示意图,如图9所示,本实施例的报文转发装置可以为网络虚拟边缘,所述装置包括:
接收模块91,用于接收第一TES发送的第一报文,所述第一报文的目的IP地址为第二TES的IP地址,所述第一报文的目的MAC地址为所述NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层VPN。
第一获取模块921,用于根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入VN ID。
第二获取模块922,用于根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识。
封装模块93,用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为NVO3报文。
发送模块94,用于通过三层将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
本实施例的报文转发装置用于实现图4所示方法实施例的技术方法,其实现原理和技术效果类似,此处不再赘述。
进一步地,图9所示实施例中,封装模块93具体用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID;根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VNID将所述第一报文封装为所述NVO3报文。
进一步地,图9所示实施例中,第一获取模块921,具体用于根据接收所述第一报文的端口信息、所述第一报文中的二层VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID。
进一步地,图9所示实施例中,封装模块93具体用于将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述NVE对应的网关MAC地址,得到替换后的第一报文;为所述替换后的第一报文封装NVO3头,生成所述NVO3报文,所述NVO3头中的目的IP地址为所述第二NVE的IP地址,源IP地址为所述NVE的IP地址,所述NVO3头中的VN ID为所述第二TES的三层VPN实例标识对应的全局VN ID。
图10为本发明实施例提供的网络虚拟边缘实施例二的结构示意图,如图10所示,本实施例的报文转发装置在图9的基础上,还包括:
设置模块95,用于在本地生成接入VN ID与三层VPN实例标识的对应关系表。
在这种情况下,所述第二获取模块922具体用于根据所述第一TES的接入VN ID查找所述接入VN ID与三层VPN实例标识的对应关系表,得到所述第一TES的三层VPN实例标识。
在本发明另一个实施例中,所述装置还包括生成模块96和同步模块97,所述设置模块95还用于在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识。
所述生成模块96,用于通过ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表。
所述同步模块97,用于将所述NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
本实施例的报文转发装置还可以实现图6所示方法实施例中的预处理,其实现原理和技术效果类似,此处不再赘述。
进一步地,图10所示实施例中,同步模块97,具体用于通过BGP将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VNID发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、所述其它NVE对应的网关MAC地址、所述其它NVE本地每个三层VPN实例的路由转发表、所述其它NVE本地每个三层VPN实例对应的VN ID;或者将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VN ID发送给网络中的SDN控制器,以使所述SDN控制器将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VNID发送给网络中的其它NVE,并接收所述SDN控制器发送的网络中其他NVE发送的其他NVE的IP地址、其他NVE对应的网关MAC地址、其他NVE本地每个三层VPN实例的路由转发表、其他NVE本地每个三层VPN实例对应的VN ID。
图11为本发明实施例提供的报文转发装置实施例三的结构示意图,如图11所示,所述装置为网络虚拟边缘,包括:
接收模块111,用于接收另一NVE发送的NVO3报文,所述NVO3报文为所述另一NVE对第一TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的IP地址为第二TES的IP地址。
解封装模块112,用于当所述NVO3报文的隧道头部的目的IP地址为所述NVE的IP地址时,将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述另一NVE将所述第一报文的目的MAC地址替换为所述NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述另一NVE对应的网关MAC地址后得到的。
终结模块113,用于对所述解封装后的报文进行二层终结。
获取模块114,用于根据所述NVO3报文的隧道头部的全局VN ID获取所述全局VN ID对应的三层VPN实例标识。
转发模块115,用于根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
本实施例的报文转发装置用于实现图7所示方法实施例的技术方法,其实现原理和技术效果类似,此处不再赘述。
图12为本发明实施例提供的报文转发装置实施例四的结构示意图,如图12所示,本实施例的报文转发装置在图11的基础上,还包括:
设置模块116,用于在本地生成三层VPN实例标识与全局VN ID的对应关系表。
所述获取模块114具体用于根据所述全局VN ID查找所述三层VPN实例标识与全局VN ID的对应关系表,得到所述全局VN ID对应的三层VPN实例标识。
此外,所述装置还包括生成模块117和同步模块118。
所述设置模块还用于在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识。
所述生成模块,用于通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述同步模块,用于将所述NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其他NVE设备本地本每个三层VPN实例标识对应的路由转发表、所述三层VPN实例与全局VN ID的对应关系表。
本实施例的报文转发装置用于实现图8所示方法实施例中的预处理,其实现原理和技术效果类似,此处不再赘述。
进一步地,图12所示实施例中,同步模块118,具体用于通过BGP将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VNID发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、所述其它NVE对应的网关MAC地址、所述其它NVE本地每个三层VPN实例的路由转发表、所述其它NVE本地每个三层VPN实例对应的VN ID;或者将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VN ID发送给网络中的SDN控制器,以使所述SDN控制器将所述NVE的IP地址、所述NVE对应的网关MAC地址、所述NVE本地每个三层VPN实例的路由转发表、所述NVE本地每个三层VPN实例对应的VNID发送给网络中的其它NVE,并接收所述SDN控制器发送的网络中其他NVE发送的其他NVE的IP地址、其他NVE对应的网关MAC地址、其他NVE本地每个三层VPN实例的路由转发表、其他NVE本地每个三层VPN实例对应的VN ID。
图13为本发明实施例提供的报文转发装置实施例五的结构示意图。如图13所示,所述报文转发装置包括发射机1302、接收机1301、存储器1303以及分别与发射机1302、接收机1301和存储器1303连接的处理器1304;当然,该交换设备还可以包括输入输出装置等一些通用部件,本发明实施例在此不做任何限制。
其中,所述接收机1301用于接收第一租户终端系统TES发送的第一报文,所述第一报文的目的网络协议IP地址为第二TES的IP地址,所述第一报文的目的介质访问控制MAC地址为所述第一NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层虚拟专用网络VPN。
所述存储器1303用于存储程序代码,且所述处理器1304用于调用所述存储器1303中存储的程序代码,以执行以下操作:接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入虚拟网络标识VN ID,并根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识;对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为基于三层网络的网络虚拟化NVO3报文,并将所述NVO3报文发送给所述发射机1302。
所述发射机1302用于通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
图14为本发明实施例提供的报文转发装置实施例六的结构示意图。如图14所示,所述报文转发装置包括发射机1402、接收机1401、存储器1403以及分别与发射机1402、接收机1401和存储器1403连接的处理器1404;当然,该交换设备还可以包括输入输出装置等一些通用部件,本发明实施例在此不做任何限制。所述报文转发装置为第二网络虚拟边缘。
其中,所述接收机1401用于接收第一NVE发送的基于三层网络的网络虚拟化NVO3报文,所述NVO3报文为所述第一NVE对第一租户终端系统TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的网络协议IP地址为第二TES的IP地址。
所述存储器1403用于存储程序代码,且所述处理器1404用于调用所述存储器1403中存储的程序代码,以执行以下操作:对所述解封装后的报文进行二层终结;根据所述NVO3报文的隧道头部的全局虚拟网络标识VN ID获取所述全局VN ID对应的三层VPN实例标识;将所述解封装后的报文发送给所述发射机1402。
所述发射机1402用于根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

1.一种报文转发方法,其特征在于,包括:
第一网络虚拟边缘NVE接收第一租户终端系统TES发送的第一报文,所述第一报文的目的网络协议IP地址为第二TES的IP地址,所述第一报文的目的介质访问控制MAC地址为所述第一NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层虚拟专用网络VPN;
所述第一NVE根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入虚拟网络标识VN ID,并根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识;
所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为基于三层网络的网络虚拟化NVO3报文;
所述第一NVE通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
2.根据权利要求1所述的方法,其特征在于,所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为所述NVO3报文,包括:
所述第一NVE对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID;
所述第一NVE根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文。
3.根据权利要求2所述的方法,其特征在于,所述第一NVE根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入VN ID,并根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识,包括:
所述第一NVE根据接收所述第一报文的端口信息、所述第一报文中的二层虚拟局域网VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID,并获取与所述第一TES的接入VN ID对应的三层VPN实例标识。
4.根据权利要求2或3所述的方法,其特征在于,所述第一NVE根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文,包括:
所述第一NVE将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址,得到替换后的第一报文;
所述第一NVE为所述替换后的第一报文封装NVO3头,生成所述NVO3报文,所述NVO3头中的目的IP地址为所述第二NVE的IP地址,源IP地址为所述第一NVE的IP地址,所述NVO3头中的VN ID为所述第二TES的三层VPN实例标识对应的全局VN ID。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述第一NVE接收第一TES发送的第一报文之前,所述方法还包括:
所述第一NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表;
所述根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识包括:
所述第一NVE根据所述第一TES的接入VN ID查找所述接入VN ID与三层VPN实例标识的对应关系表,得到所述第一TES的三层VPN实例标识。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述第一NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识;
所述第一NVE通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述第一NVE将所述第一NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
7.一种报文转发方法,其特征在于,包括:
第二网络虚拟边缘NVE接收第一NVE发送的基于三层网络的网络虚拟化NVO3报文,所述NVO3报文为所述第一NVE对第一租户终端系统TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的网络协议IP地址为第二TES的IP地址;
当所述NVO3报文的隧道头部的目的IP地址为所述第二NVE的IP地址时,所述第二NVE将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述第一NVE将所述第一报文的目的介质访问控制MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述第一NVE对应的网关MAC地址后得到的;
所述第二NVE对所述解封装后的报文进行二层终结;
所述第二NVE根据所述NVO3报文的隧道头部的全局虚拟网络标识VNID获取所述全局VN ID对应的三层VPN实例标识;
所述第二NVE根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
8.根据权利要求7所述的方法,其特征在于,所述第二NVE接收第一NVE发送的NVO3报文之前,所述方法还包括:
所述第二NVE在本地生成三层VPN实例标识与全局VN ID的对应关系表;
所述获取所述全局VN ID对应的三层VPN实例标识包括:
所述第二NVE根据所述全局VN ID查找所述三层VPN实例标识与全局VN ID的对应关系表,得到所述全局VN ID对应的三层VPN实例标识。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述第二NVE在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述第二NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识;
所述第二NVE通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述第二NVE将所述第二NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其他NVE设备本地本每个三层VPN实例标识对应的路由转发表、所述三层VPN实例与全局VN ID的对应关系表。
10.一种报文转发装置,其特征在于,包括:
接收模块,用于接收第一租户终端系统TES发送的第一报文,所述第一报文的目的网络协议IP地址为第二TES的IP地址,所述第一报文的目的介质访问控制MAC地址为第一网络虚拟边缘NVE对应的网关MAC地址,所述第一TES和所述第二TES属于相同的三层虚拟专用网络VPN;
第一获取模块,用于根据接收所述第一报文的端口信息和所述第一报文中的至少一个获取所述第一TES的接入虚拟网络标识VN ID;
第二获取模块,用于根据所述第一TES的接入VN ID获取所述第一TES的三层VPN实例标识;
封装模块,用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,根据所述表项将所述第一报文封装为基于三层网络的网络虚拟化NVO3报文;
发送模块,用于通过三层网络将所述NVO3报文转发至第二NVE,所述第二TES接入所述第二NVE。
11.根据权利要求10所述的装置,其特征在于,所述封装模块具体用于对所述第一报文进行二层终结,并根据所述第二TES的IP地址查找所述第一TES的三层VPN实例标识对应的路由转发表,得到对应所述第二TES的IP地址的表项,所述表项包括所述第二TES的IP地址、所述第二TES所在的第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID;根据所述第二NVE的IP地址、所述第二NVE对应的网关MAC地址以及所述第二TES的三层VPN实例标识对应的全局VN ID将所述第一报文封装为所述NVO3报文。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块,具体用于根据接收所述第一报文的端口信息、所述第一报文中的二层虚拟局域网VLAN标识和所述第一报文的源MAC地址中的至少一个获取所述第一TES的接入VN ID。
13.根据权利要求11或12所述的装置,其特征在于,所述封装模块具体用于将所述第一报文的目的MAC地址替换为所述第二NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述NVE对应的网关MAC地址,得到替换后的第一报文;为所述替换后的第一报文封装NVO3头,生成所述NVO3报文,所述NVO3头中的目的IP地址为所述第二NVE的IP地址,源IP地址为所述NVE的IP地址,所述NVO3头中的VN ID为所述第二TES的三层VPN实例标识对应的全局VN ID。
14.根据权利要求10~13任一项所述的装置,其特征在于,所述装置还包括:
设置模块,用于在本地生成接入VN ID与三层VPN实例标识的对应关系表;
所述第二获取模块具体用于根据所述第一TES的接入VN ID查找所述接入VN ID与三层VPN实例标识的对应关系表,得到所述第一TES的三层VPN实例标识。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括生成模块和同步模块;
所述设置模块,还用于在本地生成三层VPN实例标识与全局VN ID的对应关系表,所述三层VPN实例标识与全局VN ID的对应关系表用于使所述NVE在接收到网络中其他NVE发送的NVO3报文时,根据所述三层VPN实例标识与全局VN ID的对应关系表查找对应的三层VPN实例标识;
所述生成模块,用于通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述同步模块,用于将所述第一NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收所述其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其它NVE设备本地每个三层VPN实例标识对应的路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表。
16.一种报文转发装置,其特征在于,所述报文转发装置为网络虚拟边缘NVE,包括:
接收模块,用于接收另一NVE发送的基于三层网络的网络虚拟化NVO3报文,所述NVO3报文为所述另一NVE对第一租户终端系统TES发送的第一报文进行NVO3封装得到的,所述第一报文的目的网络协议IP地址为第二TES的IP地址;
解封装模块,用于当所述NVO3报文的隧道头部的目的IP地址为所述NVE的IP地址时,将所述NVO3报文解封装,得到解封装后的报文,所述解封装后的报文为所述另一NVE将所述第一报文的目的介质访问控制MAC地址替换为所述NVE对应的网关MAC地址,将所述第一报文的源MAC地址替换为所述另一NVE对应的网关MAC地址后得到的;
终结模块,用于对所述解封装后的报文进行二层终结;
获取模块,用于根据所述NVO3报文的隧道头部的全局虚拟网络标识VNID获取所述全局VN ID对应的三层VPN实例标识;
转发模块,用于根据所述三层VPN实例标识以及所述第二TES的IP地址查找路由转发表,将所述解封装后的报文转发至所述第二TES。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
设置模块,用于在本地生成三层VPN实例标识与全局VN ID的对应关系表;
所述获取模块具体用于根据所述全局VN ID查找所述三层VPN实例标识与全局VN ID的对应关系表,得到所述全局VN ID对应的三层VPN实例标识。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括生成模块和同步模块;
所述设置模块还用于在本地生成接入VN ID与三层VPN实例标识的对应关系表,所述接入VN ID与三层VPN实例标识的对应关系表用于使所述NVE根据所述TES的接入VN ID查找到对应的三层VPN实例标识;
所述生成模块,用于通过地址解析协议ARP以及外部路由协议为本地的每个三层VPN实例标识生成对应的路由转发表;
所述同步模块,用于将所述NVE的IP地址、所述对应的网关MAC地址、所述路由转发表、所述三层VPN实例标识与全局VN ID的对应关系表发送给网络中的其它NVE,并接收网络中其它NVE发送的所述其它NVE的IP地址、对应的网关MAC地址、所述其他NVE设备本地本每个三层VPN实例标识对应的路由转发表、所述三层VPN实例与全局VN ID的对应关系表。
CN201410058013.4A 2014-02-20 2014-02-20 报文转发方法和装置 Active CN104869042B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410058013.4A CN104869042B (zh) 2014-02-20 2014-02-20 报文转发方法和装置
PCT/CN2014/086173 WO2015123987A1 (zh) 2014-02-20 2014-09-10 报文转发方法和装置
EP14883484.9A EP3099022B1 (en) 2014-02-20 2014-09-10 Packet forwarding methods and apparatuses
US15/243,108 US10110490B2 (en) 2014-02-20 2016-08-22 Method and apparatus for forwarding packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410058013.4A CN104869042B (zh) 2014-02-20 2014-02-20 报文转发方法和装置

Publications (2)

Publication Number Publication Date
CN104869042A true CN104869042A (zh) 2015-08-26
CN104869042B CN104869042B (zh) 2018-07-13

Family

ID=53877608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410058013.4A Active CN104869042B (zh) 2014-02-20 2014-02-20 报文转发方法和装置

Country Status (4)

Country Link
US (1) US10110490B2 (zh)
EP (1) EP3099022B1 (zh)
CN (1) CN104869042B (zh)
WO (1) WO2015123987A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591922A (zh) * 2015-10-13 2016-05-18 杭州华三通信技术有限公司 一种报文的传输方法和装置
CN106161227A (zh) * 2016-06-27 2016-11-23 杭州华三通信技术有限公司 一种报文转发方法及装置
CN106533890A (zh) * 2016-12-30 2017-03-22 华为技术有限公司 一种报文处理方法、装置及系统
CN106936939A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统
CN107113230A (zh) * 2015-12-17 2017-08-29 华为技术有限公司 确定通用路由封装gre隧道标识的方法、设备和系统
CN107959613A (zh) * 2016-10-18 2018-04-24 华为技术有限公司 报文转发方法及装置
CN108199946A (zh) * 2017-12-29 2018-06-22 新华三技术有限公司 数据转发方法及通信系统
CN108199963A (zh) * 2017-12-27 2018-06-22 新华三技术有限公司 报文转发方法和装置
CN109412952A (zh) * 2018-12-13 2019-03-01 北京华三通信技术有限公司 路由信息发布方法及装置
CN109995640A (zh) * 2018-01-03 2019-07-09 中兴通讯股份有限公司 一种多类型层叠网互连的方法、装置及系统
CN111884903A (zh) * 2020-07-15 2020-11-03 迈普通信技术股份有限公司 一种业务隔离方法、装置、sdn网络系统及路由设备
CN112838975A (zh) * 2016-01-29 2021-05-25 华为技术有限公司 虚拟专用网络vpn业务优化方法和设备
CN116055446A (zh) * 2023-01-30 2023-05-02 杭州优云科技有限公司 跨网络的报文转发方法、电子设备及机器可读存储介质
CN116112315A (zh) * 2022-12-27 2023-05-12 广东中兴新支点技术有限公司 一种跨网段通信传输方法、系统、设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9742657B2 (en) * 2015-05-29 2017-08-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for resynchronization of forwarding states in a network forwarding device
US9628379B2 (en) * 2015-06-01 2017-04-18 Cisco Technology, Inc. Large scale residential cloud based application centric infrastructures
US10038650B2 (en) * 2015-08-25 2018-07-31 Futurewei Technologies, Inc. System and method for tunnel stitching transport
CN107317832B (zh) * 2016-04-27 2020-01-03 新华三技术有限公司 报文转发方法及装置
CN107360089B (zh) * 2016-05-10 2021-03-19 新华三技术有限公司 一种路由建立方法、业务数据转换方法及装置
CN109995634B (zh) * 2017-12-29 2021-08-17 中兴通讯股份有限公司 一种组播虚拟专用网络的承载方法和设备
US10904148B2 (en) * 2018-03-12 2021-01-26 Nicira, Inc. Flow-based local egress in a multisite datacenter
CN108965092B (zh) * 2018-07-24 2020-11-06 新华三技术有限公司 一种数据报文传输方法和装置
US10992635B2 (en) * 2018-10-17 2021-04-27 ColorTokens, Inc. Establishing connection between different overlay networks using edge application gateway
US11893404B2 (en) * 2019-08-06 2024-02-06 Nutanix, Inc. Efficient traffic forwarding between virtual machines
WO2021037358A1 (en) * 2019-08-28 2021-03-04 Huawei Technologies Co., Ltd. Virtual local presence based on l3 virtual mapping of remote network nodes
CN112087388B (zh) * 2020-08-17 2022-03-08 深圳市风云实业有限公司 一种l2数据报文的转发方法
CN112118185A (zh) * 2020-09-24 2020-12-22 盛科网络(苏州)有限公司 报文转发方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888625A (zh) * 2009-05-14 2010-11-17 阿瓦雅公司 本地和移动网络标识符的整合
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备
CN103428038A (zh) * 2012-05-18 2013-12-04 中兴通讯股份有限公司 虚拟机所属租户标识的检测方法及装置
CN103580980A (zh) * 2012-07-24 2014-02-12 中兴通讯股份有限公司 虚拟网络自动发现和自动配置的方法及其装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110745A (zh) * 2007-08-14 2008-01-23 华为技术有限公司 衔接二层网络和三层网络的方法、装置和系统
CN108200225B (zh) * 2010-06-29 2022-04-12 华为技术有限公司 不对称网络地址封装
CN102413061B (zh) * 2011-12-31 2015-04-15 杭州华三通信技术有限公司 一种报文传输方法及设备
US9300582B2 (en) * 2012-12-19 2016-03-29 Cisco Technology, Inc. Method and apparatus for forwarding information base scaling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888625A (zh) * 2009-05-14 2010-11-17 阿瓦雅公司 本地和移动网络标识符的整合
CN103428038A (zh) * 2012-05-18 2013-12-04 中兴通讯股份有限公司 虚拟机所属租户标识的检测方法及装置
CN103580980A (zh) * 2012-07-24 2014-02-12 中兴通讯股份有限公司 虚拟网络自动发现和自动配置的方法及其装置
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D.BLACK,J. HUDSON,L. KREEGER,M. LASSERRE.ETL: "An Architecture for Overlay Networks (NVO3) draft-ietf-nvo3-arch-01", 《INTERNET ENGINEERING TASK FORCE》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591922A (zh) * 2015-10-13 2016-05-18 杭州华三通信技术有限公司 一种报文的传输方法和装置
CN105591922B (zh) * 2015-10-13 2019-03-15 新华三技术有限公司 一种报文的传输方法和装置
CN107113230A (zh) * 2015-12-17 2017-08-29 华为技术有限公司 确定通用路由封装gre隧道标识的方法、设备和系统
US11817970B2 (en) 2015-12-17 2023-11-14 Huawei Technologies Co., Ltd. Method, device, and system for determining generic routing encapsulation GRE tunnel identifier
US10873478B2 (en) 2015-12-17 2020-12-22 Huawei Technologies Co., Ltd. Method, device, and system for determining generic routing encapsulation GRE tunnel identifier
CN106936939A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统
US10764086B2 (en) 2015-12-31 2020-09-01 Huawei Technologies Co., Ltd. Packet processing method, related apparatus, and NVO3 network system
CN112838975B (zh) * 2016-01-29 2024-10-22 华为技术有限公司 虚拟专用网络vpn业务优化方法和设备
CN112838975A (zh) * 2016-01-29 2021-05-25 华为技术有限公司 虚拟专用网络vpn业务优化方法和设备
CN106161227A (zh) * 2016-06-27 2016-11-23 杭州华三通信技术有限公司 一种报文转发方法及装置
CN107959613A (zh) * 2016-10-18 2018-04-24 华为技术有限公司 报文转发方法及装置
CN107959613B (zh) * 2016-10-18 2020-06-02 华为技术有限公司 报文转发方法及装置
CN106533890B (zh) * 2016-12-30 2019-12-24 华为技术有限公司 一种报文处理方法、装置及系统
CN106533890A (zh) * 2016-12-30 2017-03-22 华为技术有限公司 一种报文处理方法、装置及系统
CN108199963A (zh) * 2017-12-27 2018-06-22 新华三技术有限公司 报文转发方法和装置
CN108199963B (zh) * 2017-12-27 2020-01-07 新华三技术有限公司 报文转发方法和装置
CN108199946B (zh) * 2017-12-29 2020-08-14 新华三技术有限公司 数据转发方法及通信系统
CN108199946A (zh) * 2017-12-29 2018-06-22 新华三技术有限公司 数据转发方法及通信系统
CN109995640A (zh) * 2018-01-03 2019-07-09 中兴通讯股份有限公司 一种多类型层叠网互连的方法、装置及系统
WO2019134637A1 (zh) * 2018-01-03 2019-07-11 中兴通讯股份有限公司 多类型的层叠虚拟网络互连的方法、装置及系统
CN109412952A (zh) * 2018-12-13 2019-03-01 北京华三通信技术有限公司 路由信息发布方法及装置
CN111884903B (zh) * 2020-07-15 2022-02-01 迈普通信技术股份有限公司 一种业务隔离方法、装置、sdn网络系统及路由设备
CN111884903A (zh) * 2020-07-15 2020-11-03 迈普通信技术股份有限公司 一种业务隔离方法、装置、sdn网络系统及路由设备
CN116112315A (zh) * 2022-12-27 2023-05-12 广东中兴新支点技术有限公司 一种跨网段通信传输方法、系统、设备及存储介质
CN116112315B (zh) * 2022-12-27 2024-05-10 广东中兴新支点技术有限公司 一种跨网段通信传输方法、系统、设备及存储介质
CN116055446A (zh) * 2023-01-30 2023-05-02 杭州优云科技有限公司 跨网络的报文转发方法、电子设备及机器可读存储介质
CN116055446B (zh) * 2023-01-30 2023-11-17 杭州优云科技有限公司 跨网络的报文转发方法、电子设备及机器可读存储介质

Also Published As

Publication number Publication date
EP3099022B1 (en) 2018-05-30
EP3099022A4 (en) 2017-03-08
US20160359745A1 (en) 2016-12-08
EP3099022A1 (en) 2016-11-30
WO2015123987A1 (zh) 2015-08-27
US10110490B2 (en) 2018-10-23
CN104869042B (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN104869042A (zh) 报文转发方法和装置
CN109873760B (zh) 处理路由的方法和装置、以及数据传输的方法和装置
CN104660508B (zh) 一种报文转发方法及装置
CN106936777B (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
US8995444B2 (en) Method and system for extending routing domain to non-routing end stations
CN104935516B (zh) 基于软件定义网络的通信系统及方法
CN109995654B (zh) 一种基于隧道传输数据的方法及装置
CN102316030B (zh) 一种实现数据中心二层互联的方法和装置
WO2016045637A1 (en) Forwarding data packets in software defined network
CN101110745A (zh) 衔接二层网络和三层网络的方法、装置和系统
CN104869013B (zh) 一种基于sdn的网关配置方法及sdn控制器
WO2015165311A1 (zh) 传输数据报文的方法和供应商边缘设备
CN105376154A (zh) 渐进式mac地址学习
EP3605959B1 (en) Method, device and computer storage medium for implementing double control plane
CN104601472A (zh) 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN103841023A (zh) 数据转发的方法和设备
CN109474507B (zh) 一种报文转发方法及装置
CN102368727A (zh) 跨ip网络的trill网络通信方法、系统和设备
CN108040135B (zh) 一种vpws报文穿越三层ip网络的方法及装置
CN107204907B (zh) 云数据中心互联方法及装置
CN101552727A (zh) 一种报文发送和接收方法及运营商边缘路由器
CN105453513A (zh) 报文转发方法、转发表项下发方法及网络设备
CN117811875A (zh) 一种家庭互通网络访问方法和装置
CN104780090A (zh) Vpn组播传输的方法、装置、pe设备
CN114598635A (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