CN111130978B - 网络流量转发方法、装置、电子设备及机器可读存储介质 - Google Patents
网络流量转发方法、装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN111130978B CN111130978B CN201911220505.8A CN201911220505A CN111130978B CN 111130978 B CN111130978 B CN 111130978B CN 201911220505 A CN201911220505 A CN 201911220505A CN 111130978 B CN111130978 B CN 111130978B
- Authority
- CN
- China
- Prior art keywords
- protocol stack
- traffic
- local
- address
- vtep
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013507 mapping Methods 0.000 claims abstract description 100
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000005538 encapsulation Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000006855 networking Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- HEEACTTWORLLPM-UHFFFAOYSA-N 2-(1h-imidazol-5-yl)ethanol Chemical compound OCCC1=CNC=N1 HEEACTTWORLLPM-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
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
本申请提供一种网络流量转发方法、装置、电子设备及机器可读存储介质。在本申请中,本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备,从而为接入EVPN系统的仅支持单栈的设备提供基于VXLAN的跨协议栈的业务通信,实现了网络的灵活部署并降低了组网的设备成本。
Description
技术领域
本申请涉及通信技术领域,尤其涉及网络流量转发方法、装置、电子设备及机器可读存储介质。
背景技术
VXLAN(Virtual Extensible LAN,虚拟可扩展局域网),是一种网络虚拟化技术,可以基于IP网络且采用“MAC in UDP”封装形式的在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连。
VXLAN技术通过建立VXLAN隧道,在现有网络上创建大量的虚拟可扩展局域网,不同的虚拟可扩展局域网使用VNI(VXLAN Network Identifier,虚拟可扩展局域网网络标识符)进行标识。众所周知,由于VLAN的头部有限,只有12bit,导致VLAN的限制个数是2^12=4096个,无法满足日益增长的需求。而目前VXLAN报文的头部内有24bit,可以支持2^24次方的VNI个数(VXLAN中通过VNI来识别,相当于VLAN ID)。在实现时,VXLAN技术可以通过作为VTEP(VXLAN Tunnel Endpoint,VXLAN隧道的端点)的两台网络设备建立VXLAN隧道,对进入网络设备的原始报文进行VXLAN封装与VXLAN解封装。
通常VXLAN技术可以应用在不同的场景,例如:VPN场景,基于VXLAN可以为已有的服务提供商或企业IP网络的分散物理站点提供二层互联,并能够为不同的租户提供业务隔离;又例如:云计算场景,为跨三层部署的大型云计算环境的提供基于二层的扩展部署。
发明内容
本申请提供一种网络流量转发方法,所述方法应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈;所述方法包括:
本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;
基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备。
可选的,所述基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备,包括:
检查所述目标流量是否存在基于VXLAN封装的路由流量;
如果所述目标流量存在基于VXLAN封装的路由流量,基于所述本端VTEP的IP地址的地址映射关系,将所述路由流量中携带的基于所述第一协议栈的本端VTEP的IP地址替换为对应的基于所述第二协议栈的本端VTEP的IP地址;
将本端VTEP的IP地址替换后的所述路由流量,基于上述第二协议栈进行协议封装后并转发至对端设备,以使对端设备与本端设备建立与所述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
可选的,所述跨协议栈映射表项还包括与本端设备相连的业务设备的业务网段从所述第一协议栈映射到所述第二协议栈的业务网段映射关系;
所述基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备,还包括:
检查所述目标流量是否存在基于VXLAN封装的数据流量;
如果所述目标流量还存在基于VXLAN封装的数据流量,基于所述与本端设备相连的业务设备的业务网段的地址映射关系,将所述数据流量中携带的基于所述第一协议栈的业务网段替换为对应的基于所述第二协议栈的业务网段;
将业务网段替换后的所述数据流量,基于上述第二协议栈进行协议封装后,并经所述VXLAN隧道转发至对端设备,以使对端设备对所述数据流量在本地进行与所述第二协议栈对应的协议处理。
可选的,所述第一协议栈为IPv4且所述第二协议栈为IPv6,或者所述第一协议栈为IPv6且所述第二协议栈为IPv4。
本申请还提供一种网络流量转发装置,所述装置应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈;所述装置包括:
接收模块,本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;
转发模块,基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备。
可选的,所述转发模块进一步:
检查所述目标流量是否存在基于VXLAN封装的路由流量;
如果所述目标流量存在基于VXLAN封装的路由流量,基于所述本端VTEP的IP地址的地址映射关系,将所述路由流量中携带的基于所述第一协议栈的本端VTEP的IP地址替换为对应的基于所述第二协议栈的本端VTEP的IP地址;
将本端VTEP的IP地址替换后的所述路由流量,基于上述第二协议栈进行协议封装后并转发至对端设备,以使对端设备与本端设备建立与所述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
可选的,所述跨协议栈映射表项还包括与本端设备相连的业务设备的业务网段从所述第一协议栈映射到所述第二协议栈的业务网段映射关系;
所述转发模块进一步:
检查所述目标流量是否存在基于VXLAN封装的数据流量;
如果所述目标流量还存在基于VXLAN封装的数据流量,基于所述与本端设备相连的业务设备的业务网段的地址映射关系,将所述数据流量中携带的基于所述第一协议栈的业务网段替换为对应的基于所述第二协议栈的业务网段;
将业务网段替换后的所述数据流量,基于上述第二协议栈进行协议封装后,并经所述VXLAN隧道转发至对端设备,以使对端设备对所述数据流量在本地进行与所述第二协议栈对应的协议处理。
可选的,所述第一协议栈为IPv4且所述第二协议栈为IPv6,或者所述第一协议栈为IPv6且所述第二协议栈为IPv4。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,基于为EVPN系统的成员网络设备设置跨协议栈映射表项,使得当存在跨协议栈互通的成员网络设备在基于VXLAN进行路由及数据通信时,通过该跨协议栈映射表项进行VTEP地址和业务网段的进行映射替换,从而为接入EVPN系统的仅支持单栈的设备提供基于VXLAN的跨协议栈的业务通信,实现了网络的灵活部署并降低了组网的设备成本。
附图说明
图1是一示例性实施例提供的一种EVPN系统的组网图;
图2是一示例性实施例提供的一种网络流量转发方法的流程图;
图3是一示例性实施例提供的一种网络流量转发装置的框图;
图4是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的网络流量转发的相关技术,进行简要说明。
请参见图1,图1是本说明书一实施例提供的一种EVPN系统的组网图。
如图1所示的组网包括:运营商边缘路由设备(PE1、PE2)、用户边缘路由设备(CE1、CE2、CE3、CE4)、业务设备(h1、h2、h3、h4、h5、h6);
其中,PE1与PE2可以建立VXLAN隧道,h1、h2、h3可以分别经相连的CE1、CE2和PE1,与PE2、CE3和CE4相连的h4、h5、h6,通过VXLAN隧道进行通信。
需要说明的是,通常情况下,PE1和PE2所支持的网络协议栈需要相同,才能保证,与PE1本地相连的业务设备,和与PE2本地相连的业务设备进行VXLAN通信。
例如,在一些场景下,PE1和PE2所支持的网络协议栈都为IPv4或者都为IPv6,才能保证与PE1本地相连的业务设备(h1、h2、h3),和与PE2本地相连的业务设备(h4、h5、h6)基于VXLAN进行正常通信。
又例如,在一些场景下,PE1所支持的网络协议栈为IPv6,并且PE2所支持的网络协议栈为IPv4,则与PE1本地相连的基于IPv6的业务设备(h1、h2、h3),和与PE2本地相连的基于IPv4的业务设备(h4、h5、h6)无法基于VXLAN进行通信。
再例如,在一些场景下,PE1所支持的网络协议栈为IPv4,并且PE2所支持的网络协议栈为IPv6,则与PE1本地相连的基于IPv4的业务设备(h1、h2、h3),和与PE2本地相连的基于IPv6的业务设备(h4、h5、h6)无法基于VXLAN进行通信。
在以上组网架构的基础上,本申请旨在提出一种,基于在EVPN系统中存在不同网络协议栈的成员网络设备间进行基于VXLAN的网络流量转发的技术方案。
在实现时,EVPN系统的成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备;其中,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈。
进一步地,本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,跨协议栈映射表项至少包括在第一协议栈和第二协议栈中的本端VTEP的IP地址的地址映射关系;基于跨协议栈映射表项,本端设备将目标流量转发至对端设备。
在以上方案中,基于为EVPN系统的成员网络设备设置跨协议栈映射表项,使得当存在跨协议栈互通的成员网络设备在基于VXLAN进行路由及数据通信时,通过该跨协议栈映射表项进行VTEP地址和业务网段的进行映射替换,从而为接入EVPN系统的仅支持单栈的设备提供基于VXLAN的跨协议栈的业务通信,实现了网络的灵活部署并降低了组网的设备成本。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种网络流量转发方法的流程图,所述方法应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈,上述方法执行以下步骤:
步骤202、本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系。
步骤204、基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备。
在本说明书中,上述EVPN系统包括至少两个启用EVPN技术的成员网络设备;
其中,上述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备;上述本端设备与上述对端设备可以建立VXLAN隧道。
为了方便理解,这里简单介绍下EVPN(Ethernet Virtual Private Network,基于Ethernet的虚拟专用网)。
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。出于灾备,企业分支机构的多地部署,提升资源利用率等方面的考虑,企业可能在不同的物理站点部署自己的数据中心网络。于是,如何将这些数据中心站点互联起来,并能达到降低数据中心的管理成本,灵活扩充数据中心业务等就成为企业数据中心的重要任务。由此,在以上背景下,EVPN应运而生。EVPN是一种构建数据中心二层网络互联技术。EVPN通过扩展MP-BGP(多协议扩展边界网关协议)来传递网络节点的MAC(Media Access Control Address)和ARP(Address Resolution Protocol)等信息,通过生成的MAC表项和路由表项进行二、三层报文转发,以实现数据中心互联的目的。EVPN详细架构及技术原理,请参见EVPN技术说明,这里不再赘述。
在本说明书中,上述本端设备与上述对端设备,是指上述EVPN系统中基于上述本端设备和上述对端设备各自搭建的本端VTEP和对端VTEP,建立VXLAN隧道的两个上述成员网络设备。
需要说明的是,上述本端设备和上述对端设备是以网络流量的流向为基准的相对概念。例如,请参见图1,当网络流量从与PE1本地相连的业务设备(h1、h2、h3中任何一个或组合)流向与PE2本地相连的业务设备(h4、h5、h6中任何一个或组合)时,上述本端设备为PE1,上述对端设备为PE2。
当然,在实际应用中,上述本端设备和上述对端设备也可以互换。例如,请参见图1,当网络流量从与PE2本地相连的业务设备(h4、h5、h6中任何一个或组合)流向与PE1本地相连的业务设备(h1、h2、h3中任何一个或组合)时,上述本端设备为PE2,上述对端设备为PE1。
为了方便理解和描述,后续以网络流量从与PE1本地相连的业务设备流向与PE2本地相连的业务设备时,也即,上述本端设备为PE1,上述对端设备为PE2时,进行描述说明。
在本说明书中,上述本端设备的网络层协议栈为第一协议栈且上述对端设备的网络层协议栈为第二协议栈。
需要说明的是,网络层协议栈是指,OSI(Open System Interconnection,开放式系统互联)模型的网络层的协议栈,其对应TCP/IP模型中的IP层的IP协议栈。
在示出的一种实施方式中,上述本端设备的网络层协议栈为IPv4且上述对端设备的网络层协议栈为IPv6。
在示出的另一种实施方式中,上述本端设备的网络层协议栈为IPv6且上述对端设备的网络层协议栈为IPv4。
需要说明的是,IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPNG(IP Next Generation,下一代因特网),它是IETF(Internet Engineering Task Force,Internet工程任务组)设计的一套规范,是IPv4的升级版本。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展;而IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。IPv6和IPv4之间最显著的区别为:IP地址的长度从32比特增加到128比特。IPv6及IPv4的详细说明,请参见IPv6及IPv4的技术文档,这里不再赘述。为了描述方便,后续将IPv6协议栈及IPv4协议栈,分别简称为IPv6及IPv4。
在本说明书中,上述目标流量,是指从上述本端设备流向至上述对端设备的网络流量。
例如,请参见图1,上述目标流量可以包括与PE1本地相连的业务设备(h1、h2、h3中任何一个或组合),从PE1流向至PE2,并流至与PE2本地相连的业务设备(h4、h5、h6中任何一个或组合)的网络流量。
在本说明书中,上述跨协议栈映射表项,是指用于上述本端设备对上述目标流量进行跨网络层协议栈流量转发至上述对端设备的跨协议栈映射表项;
其中,上述跨协议栈映射表项至少包括上述本端VTEP的IP地址从上述第一协议栈映射到上述第二协议栈的地址映射关系。
例如,以上述第一协议栈为IPv6且上述第二协议栈为IPv4进行示例说明,请参见图1,上述本端设备为基于IPv6的PE1,上述对端设备为基于IPv4的PE2。上述跨协议栈映射表项至少包括基于IPv6的PE1的VTEP的IP地址从IPv6映射到IPv4的地址映射关系,请参见如下表1所示:
表1
如以上表1所示,PE1的VTEP的IP地址在映射前为一个IPv6地址:A,经如表1所示的编号1对应的跨协议栈映射表项映射,PE1的VTEP的IP地址在映射后为一个IPv4地址:B。
又例如,以上述第一协议栈为IPv4且上述第二协议栈为IPv6进行示例说明,请参见图1,上述本端设备为基于IPv4的PE1,上述对端设备为基于IPv6的PE2。上述跨协议栈映射表项至少包括基于IPv4的PE1的VTEP的IP地址从IPv4映射到IPv6的地址映射关系,请参见如下表2所示:
表2
如以上表1所示,PE1的VTEP的IP地址在映射前为一个IPv4地址:C,经如表2所示的编号1对应的跨协议栈映射表项映射,PE1的VTEP的IP地址在映射后为一个IPv6地址:D。
需要说明的是,通常情况下,上述本端设备的本端VTEP的IP地址的地址可以使用上述本端设备的本地环回接口(Loopback接口)的地址。
在本说明书中,基于上述跨协议栈映射表项,上述本端设备将上述目标流量转发至上述对端设备。
例如,以上述第一协议栈为IPv6且上述第二协议栈为IPv4进行示例说明,基于如表1所示的跨协议栈映射表项,本端设备PE1将上述目标流量转发至对端设备PE2。
又例如,以上述第一协议栈为IPv4且上述第二协议栈为IPv6进行示例说明,基于如表2所示的跨协议栈映射表项,本端设备PE1将上述目标流量转发至对端设备PE2。
在示出的一种实施方式中,在基于上述跨协议栈映射表项,上述本端设备将上述目标流量转发至上述对端设备的过程中,上述本端设备检查上述目标流量是否存在基于VXLAN封装的路由流量;
例如,以上述第一协议栈为IPv6且上述第二协议栈为IPv4进行示例说明,在基于如表1所示的跨协议栈映射表项,本端设备PE1将上述目标流量转发至对端设备PE2的过程中,本端设备PE1检查上述目标流量是否存在基于VXLAN封装的路由流量。
需要说明的是,上述基于VXLAN封装的路由流量,是指上述本端设备与上对端设备基于MP-BGP(MultiProtol Border Gateway Protocol,多协议的BGP,也即,多协议的边界网关协议)作为EVPN路由的控制层面,VXLAN作为EVPN路由的数据承载的进行路由协议交互的网络流量;其中,EVPN路由包括多种类型,比如,EVPN路由可以包括type2路由(基于EVPN的MAC/IP路由)、type3路由(基于EVPN的inclusive multicast路由,也常被简称为IMET路由)、type5路由(基于EVPN的IP前缀路由)等。EVPN路由的类型及路由原理,请参见EVPN技术说明,这里不再赘述。
在本说明书中,进一步地,如果上述目标流量存在基于VXLAN封装的路由流量,上述本端设备基于上述本端VTEP的IP地址的地址映射关系,将上述路由流量中携带的基于上述第一协议栈的本端VTEP的IP地址替换为对应的基于上述第二协议栈的本端VTEP的IP地址。
接着以上示例继续说明,如果上述目标流量存在基于VXLAN封装的路由流量,本端设备PE1基于如表1所示的上述本端VTEP的IP地址的地址映射关系,将上述路由流量中携带的基于IPv6的本端VTEP的IP地址:A,替换为对应的基于IPv4的本端VTEP的IP地址:B。
在本说明书中,进一步地,上述本端设备将本端VTEP的IP地址替换后的上述路由流量转发至对端设备,以使对端设备与本端设备建立与上述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
接着以上示例继续说明,本端设备PE1将本端VTEP的IP地址替换后的上述路由流量转发至对端设备PE2,以使对端设备与本端设备建立与上述路由流量指示的路由关系的BGP对等体,及用于数据流量传输的VXLAN隧道。
当然,在实际应用中,除了将上述本端设备将本端VTEP的IP地址替换后,还要基于本端VTEP的IP地址替换后的IP协议栈,对上述路由流量重新进行协议封装。比如:如果上述目标流量存在基于VXLAN封装的路由流量,本端设备PE1基于如表1所示的上述本端VTEP的IP地址的地址映射关系,将上述路由流量中携带的基于IPv6的本端VTEP的IP地址:A,替换为对应的基于IPv4的本端VTEP的IP地址:B后,基于IPv4协议栈对上述路由流量重新进行IPv4封装,具体请参见IPv4协议说明,这里不再赘述。
在本说明书中,上述数据流量,是指上述本端设备与上对端设备基于MP-BGP作为EVPN路由的控制层面,VXLAN作为EVPN路由的数据承载的进行普通业务数据传输的网络流量。
例如,在实际应用中,上述数据流量可以包括与PE1本地相连的业务设备(h1、h2、h3中任何一个或组合),从PE1流向至PE2,并流至与PE2本地相连的业务设备(h4、h5、h6中任何一个或组合)的任何数据业务(比如:音视频数据、web数据等)的网络流量。
在示出的一种实施方式中,上述跨协议栈映射表项除了包括本端VTEP的IP地址从上述第一协议栈映射到上述第二协议栈的地址映射关系外,还包括与上述本端设备相连的业务设备的业务网段从上述第一协议栈映射到上述第二协议栈的业务网段映射关系。
例如,以上述第一协议栈为IPv6且上述第二协议栈为IPv4进行示例说明,请参见图1,本端设备PE1除了包括如以上表1或表2示出的跨协议栈映射表项外,还包括与本端设备PE1相连的业务设备(h1、h2、h3)的业务网段从IPv6映射到IPv4的业务网段映射关系,请参见如下表3所示:
表3
需要说明的是,基于IPv6的业务网段E可以基于IPv6协议栈定义的网络前缀及接口ID进行表示,基于IPv4的业务网段F可以IPv4协议栈定义的基于网络号、主机号及掩码进行表示,具体请参见IPv6和IPv4的技术说明,这里不再赘述。
在本说明书中,进一步地,在基于上述跨协议栈映射表项,上述本端设备将上述目标流量转发至上述对端设备的过程中,上述本端设备还可以基于上述跨协议栈映射表项,检查上述目标流量是否存在基于VXLAN封装的上述数据流量。
例如,以上述第一协议栈为IPv6且上述第二协议栈为IPv4继续进行示例说明,在基于如表3所示的跨协议栈映射表项,本端设备PE1将上述目标流量转发至对端设备PE2的过程中,本端设备PE1检查上述目标流量是否存在基于VXLAN封装的上述数据流量。
在本说明书中,进一步地,如果上述目标流量还存在基于VXLAN封装的数据流量,上述本端设备基于上述与本端VTEP相连的业务设备的业务网段的地址映射关系,将上述数据流量中携带的基于上述第一协议栈的业务网段替换为对应的基于上述第二协议栈的业务网段。
接着以上示例继续说明,如果上述目标流量存在基于VXLAN封装的上述数据流量,本端设备PE1基于如表3所示的与本端设备PE1相连的业务设备(h1、h2、h3)的业务网段的地址映射关系,将上述数据流量中携带的基于IPv6的业务网段:E,替换为对应的基于IPv4的业务网段:F。
当然,在实际应用中,除了基于上述与本端VTEP相连的业务设备的业务网段的地址映射关系,将上述数据流量中携带的基于上述第一协议栈的业务网段替换为对应的基于上述第二协议栈的业务网段替换后,还要基于本端VTEP的IP地址替换后的IP协议栈,对上述数据流量重新进行协议封装。比如:如果上述目标流量存在基于VXLAN封装的上述数据流量,本端设备PE1基于如表3所示的与本端设备PE1相连的业务设备(h1、h2、h3)的业务网段的地址映射关系,将上述数据流量中携带的基于IPv6的业务网段:E,替换为对应的基于IPv4的业务网段:F后,基于IPv4协议栈对上述数据流量重新进行IPv4封装,具体请参见IPv4协议说明,这里不再赘述。
在本说明书中,进一步地,上述本端设备将与该本端设备相连的业务设备的业务网段替换后的上述数据流量,经上述VXLAN隧道转发至上述对端设备,以使上述对端设备对上述数据流量在本地进行与上述第二协议栈对应的协议处理。
接着以上示例继续说明,本端设备PE1将与该本端设备相连的业务设备(h1、h2、h3)的业务网段替换后的上述数据流量,经上述路由流量交互后建立的用于数据流量传输的VXLAN隧道转发至上述对端设备,以使上述对端设备对上述数据流量在本地进行与IPv4对应的协议处理。
需要说明的是,基于上述跨协议栈映射表项,对上述路由流量及上述数据流量中的跨协议栈的映射,保证了在上述本端设备与上述对端设备的网络协议栈不同的情况下,为接入EVPN系统的仅支持单栈的设备(比如:如图1所示的通过CE1及CE2,接入PE1设备的h1、h2、h3;其中,h1、h2、h3可以是仅支持单栈的移动终端或电脑终端、Soho路由终端等),提供基于VXLAN的跨协议栈的业务通信,避免了将PE1和PE2都替换为支持双栈的设备,从而节约了设备成本,实现了网络的灵活部署。
在本说明书中,以上描述的技术方案及示例,是以上述目标流量从上述本端设备(PE1)流向至上述对端设备(PE2)的网络流量来描述。在实际应用中,上述目标流量还可以从上述对端设备(PE2)流向至上述本端设备(PE1)的网络流量,具体过程类似,这里不再赘述。
在以上技术方案中,基于为EVPN系统的成员网络设备设置跨协议栈映射表项,使得当存在跨协议栈互通的成员网络设备在基于VXLAN进行路由及数据通信时,通过该跨协议栈映射表项进行VTEP地址和业务网段的进行映射替换,从而为接入EVPN系统的仅支持单栈的设备提供基于VXLAN的跨协议栈的业务通信,实现了网络的灵活部署并降低了组网的设备成本。
图3是本申请一示例性实施例提供的一种网络流量转发装置的框图。与上述方法实施例相对应,本申请还提供了一种网络流量转发装置的实施例,所述装置应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈,请参考图3所示例的一种网络流量转发装置30,所述装置包括:
接收模块301,本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;
转发模块302,基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备。
在本实施例中,所述转发模块302进一步:
检查所述目标流量是否存在基于VXLAN封装的路由流量;
如果所述目标流量存在基于VXLAN封装的路由流量,基于所述本端VTEP的IP地址的地址映射关系,将所述路由流量中携带的基于所述第一协议栈的本端VTEP的IP地址替换为对应的基于所述第二协议栈的本端VTEP的IP地址;
将本端VTEP的IP地址替换后的所述路由流量,基于上述第二协议栈进行协议封装后并转发至对端设备,以使对端设备与本端设备建立与所述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
在本实施例中,所述跨协议栈映射表项还包括与本端设备相连的业务设备的业务网段从所述第一协议栈映射到所述第二协议栈的业务网段映射关系;
所述转发模块302进一步:
检查所述目标流量是否存在基于VXLAN封装的数据流量;
如果所述目标流量还存在基于VXLAN封装的数据流量,基于所述与本端设备相连的业务设备的业务网段的地址映射关系,将所述数据流量中携带的基于所述第一协议栈的业务网段替换为对应的基于所述第二协议栈的业务网段;
将业务网段替换后的所述数据流量,基于上述第二协议栈进行协议封装后,并经所述VXLAN隧道转发至对端设备,以使对端设备对所述数据流量在本地进行与所述第二协议栈对应的协议处理。
在本实施例中,所述第一协议栈为IPv4且所述第二协议栈为IPv6,或者所述第一协议栈为IPv6且所述第二协议栈为IPv4。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的网络流量转发装置的实施例可以应用在图4所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图4所示,为本申请的网络流量转发装置所在电子设备的一种硬件结构图,除了图4所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图3所示装置的一种电子设备的硬件结构,请参见图4,图4为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口401、处理器402、机器可读存储介质403和总线404;其中,通信接口401、处理器402、机器可读存储介质403通过总线404完成相互间的通信。其中,通信接口401,用于进行网络通信。处理器402可以是一个中央处理器(CPU),处理器402可以执行机器可读存储介质403中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质403可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质403可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图4所示的硬件结构描述。
此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图4中的机器可读机器可读存储介质403,所述机器可执行指令可由数据处理装置中的处理器402执行以实现以上描述的数据处理方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种网络流量转发方法,其特征在于,所述方法应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈;所述方法包括:
本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;
基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备;
所述跨协议栈映射表项还包括与本端设备相连的业务设备的业务网段从所述第一协议栈映射到所述第二协议栈的业务网段映射关系;
所述基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备,还包括:
检查所述目标流量是否存在基于VXLAN封装的数据流量;
如果所述目标流量还存在基于VXLAN封装的数据流量,基于所述与本端设备相连的业务设备的业务网段的地址映射关系,将所述数据流量中携带的基于所述第一协议栈的业务网段替换为对应的基于所述第二协议栈的业务网段;
将业务网段替换后的所述数据流量,基于上述第二协议栈进行协议封装后,并经所述VXLAN隧道转发至对端设备,以使对端设备对所述数据流量在本地进行与所述第二协议栈对应的协议处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备,包括:
检查所述目标流量是否存在基于VXLAN封装的路由流量;
如果所述目标流量存在基于VXLAN封装的路由流量,基于所述本端VTEP的IP地址的地址映射关系,将所述路由流量中携带的基于所述第一协议栈的本端VTEP的IP地址替换为对应的基于所述第二协议栈的本端VTEP的IP地址;
将本端VTEP的IP地址替换后的所述路由流量,基于上述第二协议栈进行协议封装后并转发至对端设备,以使对端设备与本端设备建立与所述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
3.根据权利要求1所述的方法,其特征在于,所述第一协议栈为IPv4且所述第二协议栈为IPv6,或者所述第一协议栈为IPv6且所述第二协议栈为IPv4。
4.一种网络流量转发装置,其特征在于,所述装置应用于EVPN系统的成员网络设备;其中,所述成员网络设备可以被配置为作为本端VTEP的本端设备或作为对端VTEP的对端设备,本端设备的网络层协议栈为第一协议栈且对端设备的网络层协议栈为第二协议栈;所述装置包括:
接收模块,本端设备接收用户下发的针对目标流量的跨协议栈映射表项;其中,所述跨协议栈映射表项至少包括本端VTEP的IP地址从所述第一协议栈映射到所述第二协议栈的地址映射关系;
转发模块,基于所述跨协议栈映射表项,本端设备将所述目标流量转发至对端设备;
所述跨协议栈映射表项还包括与本端设备相连的业务设备的业务网段从所述第一协议栈映射到所述第二协议栈的业务网段映射关系;
所述转发模块进一步:
检查所述目标流量是否存在基于VXLAN封装的数据流量;
如果所述目标流量还存在基于VXLAN封装的数据流量,基于所述与本端设备相连的业务设备的业务网段的地址映射关系,将所述数据流量中携带的基于所述第一协议栈的业务网段替换为对应的基于所述第二协议栈的业务网段;
将业务网段替换后的所述数据流量,基于上述第二协议栈进行协议封装后,并经所述VXLAN隧道转发至对端设备,以使对端设备对所述数据流量在本地进行与所述第二协议栈对应的协议处理。
5.根据权利要求4所述的装置,其特征在于,所述转发模块进一步:
检查所述目标流量是否存在基于VXLAN封装的路由流量;
如果所述目标流量存在基于VXLAN封装的路由流量,基于所述本端VTEP的IP地址的地址映射关系,将所述路由流量中携带的基于所述第一协议栈的本端VTEP的IP地址替换为对应的基于所述第二协议栈的本端VTEP的IP地址;
将本端VTEP的IP地址替换后的所述路由流量,基于上述第二协议栈进行协议封装后并转发至对端设备,以使对端设备与本端设备建立与所述路由流量指示的路由关系及用于数据流量传输的VXLAN隧道。
6.根据权利要求4所述的装置,其特征在于,所述第一协议栈为IPv4且所述第二协议栈为IPv6,或者所述第一协议栈为IPv6且所述第二协议栈为IPv4。
7.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至3任一项所述的方法。
8.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至3任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911220505.8A CN111130978B (zh) | 2019-12-03 | 2019-12-03 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911220505.8A CN111130978B (zh) | 2019-12-03 | 2019-12-03 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111130978A CN111130978A (zh) | 2020-05-08 |
| CN111130978B true CN111130978B (zh) | 2021-11-23 |
Family
ID=70497270
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911220505.8A Active CN111130978B (zh) | 2019-12-03 | 2019-12-03 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111130978B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114301994B (zh) * | 2021-12-29 | 2023-09-19 | 迈普通信技术股份有限公司 | 一种双栈转换方法、装置、网络设备及存储介质 |
| WO2023169364A1 (zh) * | 2022-03-11 | 2023-09-14 | 华为技术有限公司 | 路由生成方法、数据报文的转发方法及装置 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101197858A (zh) * | 2008-01-07 | 2008-06-11 | 杭州华三通信技术有限公司 | 地址转换方法、装置及具有该装置的路由器 |
| CN105162674A (zh) * | 2015-10-16 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | 一种物理机访问虚拟网络的方法及网卡 |
| CN105490884A (zh) * | 2015-12-14 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种vxlan隧道检测方法及装置 |
| CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
| CN109218158A (zh) * | 2017-07-05 | 2019-01-15 | 中国电信股份有限公司 | 基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统 |
| CN110391994A (zh) * | 2019-07-24 | 2019-10-29 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备 |
-
2019
- 2019-12-03 CN CN201911220505.8A patent/CN111130978B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101197858A (zh) * | 2008-01-07 | 2008-06-11 | 杭州华三通信技术有限公司 | 地址转换方法、装置及具有该装置的路由器 |
| CN105162674A (zh) * | 2015-10-16 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | 一种物理机访问虚拟网络的方法及网卡 |
| CN105490884A (zh) * | 2015-12-14 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种vxlan隧道检测方法及装置 |
| CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
| CN109218158A (zh) * | 2017-07-05 | 2019-01-15 | 中国电信股份有限公司 | 基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统 |
| CN110391994A (zh) * | 2019-07-24 | 2019-10-29 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111130978A (zh) | 2020-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
| US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
| US10320664B2 (en) | Cloud overlay for operations administration and management | |
| US10757231B2 (en) | Providing network efficiencies in forwarding packets among provider networks and applying segment routing policies | |
| CN110896371B (zh) | 一种虚拟网络设备及相关方法 | |
| US12052173B2 (en) | Executing workloads across multiple cloud service providers | |
| CN113660164B (zh) | 一种报文转发方法及网络设备 | |
| CN107948086A (zh) | 一种数据包发送方法、装置及混合云网络系统 | |
| CN108718278B (zh) | 一种报文传输方法和装置 | |
| CN103200069A (zh) | 一种报文处理的方法和设备 | |
| CN113783781A (zh) | 使虚拟私有云之间网络互通的方法和装置 | |
| CN113542111B (zh) | 一种报文转发方法及网络设备 | |
| US11121969B2 (en) | Routing between software defined networks and physical networks | |
| CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
| US7856014B2 (en) | High capacity multicast forwarding | |
| CN111010344B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
| EP3902211B1 (en) | Packet forwarding method and network device | |
| WO2019134637A1 (zh) | 多类型的层叠虚拟网络互连的方法、装置及系统 | |
| CN110505138A (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
| CN110086702B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
| CN114760248B (zh) | 报文传输方法、设备及系统 | |
| CN116455703A (zh) | 基于sdn数据中心二层多路径vpn转发的方法与装置 | |
| CN115695369A (zh) | 云租户报文隔离方法、装置、系统、设备、介质和程序产品 | |
| CN114615187A (zh) | 一种逻辑接口数据通信方法及装置 | |
| CN120034477B (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 |