VxLAN网关以及基于VxLAN网关实现的主机接入互联网的方法与流程

文档序号:11147880阅读:906来源:国知局
VxLAN网关以及基于VxLAN网关实现的主机接入互联网的方法与制造工艺

本发明涉及计算机网络领域,尤其是一种VxLAN网关以及基于VxLAN(Virtual Extensible Local Area Network,虚拟可扩展局域网)网关实现的主机接入互联网的方法和VxLAN网关。



背景技术:

传统方式中,政企用户采用VxLAN技术实现大二层的连通,并通过统一的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器给主机分配地址。

DHCP服务器无法区别来自同一个二层互通域内不同局域网(即企业分支)的主机,只能给所有主机分配同一网段内的地址和同一个默认网关。这就要求整个VxLAN二层互通域内的主机通过同一个出口接入到互联网。如图1所示,各个局域网的互联网出口12位于第一局域网14,第二局域网16的上网流量无法直接接入互联网18,必须经第一局域网14迂回并发送到互联网出口12。企业实际为上网付出了多余的流量开销。



技术实现要素:

本发明实施例所要解决的一个技术问题是:在基于VxLAN技术实现二层互通的网络中,如何避免来自局域网的上网流量经其他局域网迂回后再进入互联网。

根据本发明实施例的第一个方面,提供了一种基于虚拟可扩展局域网VxLAN网关实现的主机接入互联网的方法,包括:VxLAN网关对本局域网内主机广播的查询默认网关MAC(Media Access Control,媒体访问控制)地址的ARP(Address Resolution Protocol,地址解析 协议)查询进行响应,回复以VxLAN网关的LAN(Local Area Network,局域网)口的MAC地址,以此引导本局域网内主机将上网流量发送到VxLAN网关的LAN口;VxLAN网关从LAN口接收到本局域网内主机发送的上网流量后,将上网流量进行NAT(Network Address Translation,网络地址转换)转换后,从WAN(Wide Area Network,广域网)口发送到互联网。

在一个实施例中,VxLAN网关通过LAN口接收本局域网内主机发送的上网流量包括:VxLAN网关通过LAN口接收本局域网内主机发送的流量,并通过流量的目的MAC地址识别流量是否为上网流量,如果流量的目的MAC地址是VxLAN网关的LAN口的MAC地址,则流量是上网流量,如果流量的目的MAC地址不是VxLAN网关的LAN口的MAC地址,则流量是二层互通流量。

在一个实施例中,方法还包括:VxLAN网关通过LAN口接收本局域网内主机发送的二层互通流量,对来自LAN口的二层互通流量进行VxLAN封装,并通过WAN口发送到其他VxLAN网关。

在一个实施例中,方法还包括:VxLAN网关通过WAN口接收互联网流量,将互联网流量进行网络地址转换NAT转换后,从LAN口发送到本局域网内主机。

在一个实施例中,VxLAN网关通过WAN口接收互联网流量包括:VxLAN网关通过WAN口接收流量,并通过流量的报文类型识别流量是否为互联网流量,如果流量不是VxLAN封装流量,则流量是互联网流量,如果流量是VxLAN封装流量,则流量是二层互通流量。

在一个实施例中,方法还包括:VxLAN网关通过WAN口接收其他VxLAN网关发送的二层互通流量,对来自WAN口的二层互通流量进行VxLAN解封装,并通过LAN口发送到本局域网内的主机。

根据本发明实施例的第二个方面,提供一种VxLAN网关,包括:ARP响应模块,用于对本局域网内主机广播的查询默认网关媒体访问控制MAC地址的地址解析协议ARP查询进行响应,回复以VxLAN网关的局域网LAN口的MAC地址,以此引导本局域网内主机将上网 流量发送到VxLAN网关的LAN口;流量接收模块,用于从LAN口接收到本局域网内主机发送的上网流量;NAT模块,用于将上网流量进行NAT转换;流量发送模块,用于将转换后的上网流量从广域网WAN口发送到互联网。

在一个实施例中,流量接收模块还包括MAC识别单元,用于通过流量的目的MAC地址识别流量是否为上网流量,如果流量的目的MAC地址是VxLAN网关的LAN口的MAC地址,则流量是上网流量,如果流量的目的MAC地址不是VxLAN网关的LAN口的MAC地址,则流量是二层互通流量。

在一个实施例中,流量接收模块还用于通过LAN口接收本局域网内主机发送的二层互通流量;VxLAN网关还包括VxLAN封装模块,用于对来自LAN口的二层互通流量进行VxLAN封装;流量发送模块还用于通过WAN口将封装后的流量发送到其他VxLAN网关。

在一个实施例中,流量接收模块用于通过WAN口接收互联网流量,流量发送模块用于在NAT模块将互联网流量进行网络地址转换NAT转换后,从LAN口发送到本局域网内主机。

在一个实施例中,流量接收模块还包括报文识别单元,用于通过流量的报文类型识别流量是否为互联网流量,如果流量不是VxLAN封装流量,则流量是互联网流量,如果流量是VxLAN封装流量,则流量是二层互通流量。

在一个实施例中,流量接收模块用于通过WAN口接收其他VxLAN网关发送的二层互通流量;VxLAN网关还包括VxLAN解封装模块,用于对来自WAN口的二层互通流量进行VxLAN解封装;流量发送模块用于通过LAN口将解封装后的流量发送到本局域网内主机。

本发明通过使用VxLAN网关LAN口的MAC地址回复局域网内主机的ARP查询,引导本局域网内主机将上网流量发送到VxLAN网关的LAN口,从而能够将本局域网内的上网流量直接通过VxLAN网关发送到互联网,而无需经其他VxLAN网关迂回,节约了网络资源, 提升了网络性能和用户体验。

此外,VxLAN网关根据LAN口收到的报文的目标MAC地址识别不同流量,实现了VxLAN网关LAN口的复用;根据WAN口收到的报文的类型识别不同的流量,实现了VxLAN网关WAN口的复用。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出现有技术中基于VxLAN技术实现二层互通的局域网接入互联网的场景示意图。

图2示出本发明基于VxLAN网关实现的主机接入互联网的方法的场景示意图。

图3示出本发明基于VxLAN网关实现的主机接入互联网的方法的一个实施例的流程图。

图4示出本发明对VxLAN网关的LAN口收到的流量进行识别的方法一个实施例的流程图。

图5示出本发明对VxLAN网关的WAN口收到的流量进行识别的方法一个实施例的流程图。

图6示出本发明VxLAN网关一个实施例的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实 际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2为本发明基于VxLAN网关实现的主机接入互联网的方法的场景示意图。以VxLAN互通域中有两个局域网为例,如图2所示,第一局域网14具有VxLAN网关24,第二局域网16具有VxLAN网关26。各个局域网均通过各自的VxLAN网关实现互联网流量的发送或接收,无需通过其他VxLAN网关迂回。

下面参考图3描述本发明一个实施例的基于VxLAN网关实现的主机接入互联网的方法。图3为本发明基于VxLAN网关实现的主机接入互联网的方法的一个实施例的流程图。如图3所示,该实施例的方法包括:

步骤S302,VxLAN网关所在局域网内的主机广播查询默认网关MAC地址的ARP查询。

其中,默认网关是DHCP服务器为VxLAN互通域中各个VxLAN的主机分配的统一网关。

步骤S304,VxLAN网关响应ARP查询并回复以VxLAN网关的LAN口的MAC地址,而不是回复以默认网关(或称统一网关)的MAC地址,以此引导本局域网内主机将上网流量发送到VxLAN网关的LAN口。主机收到ARP响应后,将上网流量发送至VxLAN网关的LAN口。

具体地,首先,VxLAN网关检查ARP查询报文的目标IP(Internet Protocol,互联网协议)地址,确保不会将查询默认网关MAC地址的ARP报文转发至同一互通域内的其他局域网;其次,如果VxLAN网关发现默认网关在本地局域网内,则VxLAN网关不再需要进行更多的操作,默认网关将响应此ARP查询;如果默认网关不在本地局域网内,那么VxLAN网关以VxLAN网关LAN口的MAC地址响应此ARP查询报文。

其中,上网流量即访问互联网的报文。

步骤S306,VxLAN网关通过LAN口接收本局域网内主机发送的上网流量,将上网流量进行NAT转换后,从WAN口发送到互联网。

其中,NAT转换为网络地址转换。VxLAN网关具有一个有效的外部IP地址,VxLAN网关的NAT功能可以将本局域网内主机的本地地址转换为全球IP地址,使主机能够和互联网进行正常通信。

通过使用VxLAN网关LAN口的MAC地址回复局域网内主机的ARP查询,引导本局域网内主机将上网流量发送到VxLAN网关的LAN口,从而能够将本局域网内的上网流量直接通过VxLAN网关发送到互联网,而无需经其他VxLAN网关迂回,节约了网络资源,提升了网络性能和用户体验。

从VxLAN发出流量中,除了发往互联网的上网流量以外,还有发往VxLAN互通域内其他局域网的二层互通流量。本发明还提出可以根据LAN口收到的报文的目标MAC地址对这两种流量进行识别。下面参考图4描述本发明一个实施例的对VxLAN网关的LAN口收到的流量进行识别的方法。

图4为本发明对VxLAN网关的LAN口收到的流量进行识别的方法一个实施例的流程图。如图4所示,该实施例的方法包括:

步骤S402,VxLAN网关通过LAN口接收本局域网内主机发送的流量。

步骤S404,VxLAN网关判断流量的目的MAC地址是否等于VxLAN网关的LAN口MAC地址。

步骤S406,如果流量的目的MAC地址是VxLAN网关,即VxLAN网关的LAN口MAC地址,则流量是上网流量。然后,将上网流量进行NAT转换,将主机的本地地址转换为全球IP地址,然后执行步骤S410。

步骤S408,如果流量的目的MAC地址不是VxLAN网关,则流量是二层互通流量。然后,VxLAN网关对来自LAN口的二层互通流量进行VxLAN封装,然后执行步骤S412。

其中,VxLAN封装是一种将二层报文用三层协议进行封装的技术, 可以对二层网络在三层范围进行扩展,使虚拟机可以在互相连通的三层网络范围内迁移,而不需要改变IP地址和MAC地址,保证业务的连续性。

步骤S410,VxLAN网关通过WAN口将上网流量发送到互联网。

步骤S412,VxLAN网关通过WAN口将二层互通流量发送到其他VxLAN网关。

上述方案,VxLAN网关根据LAN口收到的报文的目标MAC地址识别不同流量,将上网流量和二层互通流量区别开来,实现了VxLAN网关LAN口的复用。

与上述发送互联网流量的过程相对应地,VxLAN网关还可以通过VxLAN网关的WAN口实现对互联网流量的接收,例如可以采用以下的方法:首先,VxLAN网关通过WAN口接收互联网流量;然后,VxLAN网关将互联网流量进行NAT转换,将表示流量目的地址的全球IP地址转换为本地地址;最后,VxLAN网关将流量从LAN口发送到本局域网内主机。

通过采用这种方法,VxLAN网关能够直接接收互联网并发往局域网的流量,而无需经过VxLAN互通域中统一入口进行迂回,节约了网络资源,提高了效率。

除了接收互联网流量以外,VxLAN网关的WAN口也能够接收二层互通流量。下面参考图5描述本发明一个实施例的对VxLAN网关的WAN口收到的流量进行识别的方法。

图5为本发明对VxLAN网关的WAN口收到的流量进行识别的方法一个实施例的流程图。如图5所示,该实施例的方法包括:

步骤S502,VxLAN网关通过WAN口接收流量。

步骤S504,VxLAN网关查看流量的报文类型。

步骤S506,如果流量不是VxLAN封装流量,则流量是互联网流量。VxLAN网关将互联网流量进行NAT转换,将表示流量目的地址的全球IP地址转换为本地主机地址,然后步骤S510。

步骤S508,如果流量是VxLAN封装流量,则流量是二层互通流 量。VxLAN网关对来自WAN口的二层互通流量进行VxLAN解封装,然后步骤S510。

步骤S510,VxLAN网关将流量从LAN口发送到局域网内的主机。

由于二层互通流量在发送之前进行了VxLAN封装,因而通过流量的报文类型能够将接收到的流量区分开来。从而根据WAN口收到的报文的类型识别不同的流量,实现了VxLAN网关WAN口的复用。

通过采用上述各个实施例的互联网接入方法,能够实现通过VxLAN网关对互联网流量和二层互通流量进行收发的过程,使各个局域网在实现相互之间的通信的情况下,能够分别直接接入互联网,节约了流量,并提升了用户的使用体验。

下面参考图6描述本发明一个实施例的VxLAN网关。

图6为本发明VxLAN网关一个实施例的结构图。如图6所示,该实施例的VxLAN网关包括:ARP响应模块622,用于对本局域网内主机广播的查询默认网关媒体访问控制MAC地址的地址解析协议ARP查询进行响应,回复VxLAN网关的局域网LAN口的MAC地址,以引导本局域网内主机将上网流量发送到VxLAN网关的LAN口;流量接收模块624,用于通过LAN口接收本局域网内主机发送的上网流量;NAT模块626,用于将上网流量进行NAT转换;流量发送模块628,用于将转换后的上网流量从广域网WAN口发送到互联网。

其中,流量接收模块624还可以包括MAC识别单元,用于通过流量的目的MAC地址识别流量是否为上网流量,如果流量的目的MAC地址是VxLAN网关的LAN口的MAC地址,则流量是上网流量,如果流量的目的MAC地址不是VxLAN网关的LAN口的MAC地址,则流量是二层互通流量。

流量接收模块624还可以用于通过LAN口接收本局域网内主机发送的二层互通流量;此时,VxLAN网关还可以包括VxLAN封装模块,用于对来自LAN口的二层互通流量进行VxLAN封装;流量发送模块628还可以用于通过WAN口将封装后的流量发送到其他VxLAN网关。

流量接收模块624还可以用于通过WAN口接收互联网流量,流量 发送模块628用于在NAT模块626将互联网流量进行网络地址转换NAT转换后,从LAN口发送到本局域网内主机。

其中,流量接收模块624还可以包括报文识别单元,用于通过流量的报文类型识别流量是否为互联网流量,如果流量不是VxLAN封装流量,则流量是互联网流量,如果流量是VxLAN封装流量,则流量是二层互通流量。

流量接收模块624可以用于通过WAN口接收其他VxLAN网关发送的二层互通流量;网关还包括VxLAN解封装模块,用于对来自WAN口的二层互通流量进行VxLAN解封装;流量发送模块628用于通过LAN口将解封装后的流量发送到本局域网内主机。

本发明的VxLAN网关使用LAN口的MAC地址回复局域网内主机的ARP查询,引导本局域网内主机将上网流量发送到VxLAN网关的LAN口,从而能够将本局域网内的上网流量直接通过VxLAN网关发送到互联网,而无需经其他VxLAN网关迂回,节约了网络资源,提升了网络性能和用户体验。

此外,VxLAN网关根据LAN口收到的报文的目标MAC地址识别不同流量,实现了VxLAN网关LAN口的复用;根据WAN口收到的报文的类型识别不同的流量,实现了VxLAN网关WAN口的复用。

此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1