一种对虚拟网络隧道加速的方法及系统的制作方法

文档序号:8365331阅读:247来源:国知局
一种对虚拟网络隧道加速的方法及系统的制作方法
【技术领域】
[0001]本申请涉及网络通信领域,特别涉及一种对虚拟化数据中心内虚拟网络隧道进行加速的方法及系统。
技术背景
[0002]随着虚拟化数据中心的广泛应用,虚拟网络在虚拟化数据中心多租户网络隔离、灵活部署上起着至关重要的作用,主流的虚拟网络隧道技术如VXLAN、NVGRE、GRE和GENEVE等,都采用IP或UDP封装使得现有物理IP网络不需要任何改造即可实施虚拟网络。但在一些典型的应用场景中如NFV,业务负载大多数为长度较小的报文,这些隧道技术从性能和效率方面面临很大的问题。比如对于64字节的业务负载,使用传统UDP加上VXLAN的封装需要加上50字节的额外包头,有效负载只有56%。在虚拟数据中心网络的典型部署中,同一接入交换机或汇聚交换机下的多台服务器上的隧道端点都是以太网可达的,而且这种隧道在虚拟数据中心内部大量存在,这种情况下,IP或UDP的封装包头都是无用信息而且消耗额外带宽和计算资源。对于64字节的业务负载,如果采用以太网报头加上VXLAN的封装,有效负载将大大提升到74.4%。
[0003]因此,本领域存在着对改进的隧道加速解决方案的需要。

【发明内容】

[0004]本申请叙述的方法和装置用于对虚拟网络隧道进行加速,从而提升虚拟网络性能和效率,同时不影响使用隧道的虚拟网络解决方案的业务逻辑。根据一个实施例,提供了一种对虚拟网络隧道进行加速的方法,应用于数据中心虚拟网络隧道端点,该方法包括:隧道端点在收到创建第一隧道的指令后,触发建立一条第一隧道类型基于以太网封装的第二隧道的过程,若隧道端点与对端处于同一以太网广播域并且对端也支持该隧道类型基于以太网的封装,则第二隧道建立成功,之后所有基于第一隧道的流量切换到第二隧道。
[0005]在前述实施例的上下文中,第一隧道封装格式为IP或UDP报头加上隧道头加上原始以太网报文,隧道类型包括VXLAN、GRE、NVGRE和GENEVE。
[0006]在前述实施例的上下文中,第二隧道封装格式为以太网报头加上隧道头加上原始以太网报文,第二隧道的隧道头与第一隧道的隧道头一致。
[0007]在前述实施例的上下文中,第二隧道的隧道类型由以太网报头中的以太网类型唯一标示,VXLAN、GRE、NVGRE和GENEVE隧道类型在以太网的封装使用不同的以太网类型。
[0008]在前述实施例的上下文中,第二隧道的建立、切换过程由隧道端点自动完成,任意一隧道端点不支持请求的隧道类型的以太网封装,或两隧道端点不在同一以太网广播域,第二隧道不会被成功建立。
[0009]在前述实施例的上下文中,第二隧道建立过程中,第一隧道保持正常通信。
[0010]本发明的其他实施例提供了一种可由网络设备的一个或多个处理器读取的程序存储设备,其有形地包含可由所述一个或多个处理器执行以便实施用于虚拟网络隧道加速的方法步骤的指令程序,所述方法步骤包括:网络设备在收到创建隧道的指令后,触发与对端网络设备建立一条对应隧道类型基于以太网封装隧道的过程,若网络设备与对端处于同一以太网广播域并且对端也支持该隧道类型基于以太网的封装,则以太网隧道建立成功,之后所有基于原隧道的流量切换到以太网隧道。
[0011]在前述的实施例中,该网络设备可以是交换机和网关设备。
[0012]本发明实施例的其他特征将从附图和后面的详细叙述中更明显得到。
[0013]本发明的突出优点为显著提升了网络性能和带宽利用率,并去除了封装、解封装无用报头带来的计算资源额外消耗,而且对于使用隧道的虚拟网络解决方案不需要任何逻辑修改。此外,该方法是与普通隧道端点完全兼容,并且以太网隧道建立过程中,建立好的基于IP或UDP封装的隧道可以承载业务报文,保证业务不间断。
【附图说明】
[0014]在附图中的视图中借助举例方式对本发明的实施例进行描述,这些实施例并非起局限作用,附图中类似的参考数字将表示类似的元件,其中:
[0015]图1是从概念上描述可以应用本发明实施例的简化网络拓扑的框图,图中仅以VXLAN隧道类型为例。
[0016]图2是从概念上描述了隧道加速端点的模块图。
[0017]图3描述了以太网隧道的报文格式。
[0018]图4描述了以太网隧道控制报文格式。
[0019]图5描述了以太网隧道的控制报文TLV选项的格式。
[0020]图6描述了创建隧道的流程图。
[0021]图7描述了隧道加速端点的静态表用于存储支持的以太网封装的隧道类型。
[0022]图8描述了隧道加速端点的动态表用于存储以太网隧道的状态。
[0023]图9描述了以太网隧道建立过程的状态机。
[0024]图10描述了报文的发送流程。
[0025]图11描述了报文的接收过程。
[0026]图12是可以使用本发明实施例的计算机系统的实例。
【具体实施方式】
[0027]本申请叙述了用于对虚拟网络隧道进行加速,从而提升网络性能和效率的方法和系统。本申请实施的技术方案中,隧道加速端点在支持基于IP或UDP封装的隧道类型的基础上,新增对应的隧道类型在以太网的封装,使得隧道的元数据完全包含在基于以太网封装的隧道中,从而对于使用隧道的虚拟网络解决方案不需要任何业务逻辑修改。在收到创建基于IP或UDP封装的隧道的指令后,隧道加速端点会触发建立对应隧道类型的基于以太网封装的隧道的过程,如果对端也支持该隧道类型基于以太网的封装并且该两端点处于同一以太网广播域,则两隧道端点建立该隧道类型基于以太网封装的隧道并切换到该隧道。
[0028]在后面的叙述中,为了提供对本发明实施例的全面理解,公开了许多特定的详细内容。然而,本领域的技术人员将明白,在不具有这些具体细节中的某些细节的情况下,也可以实现本发明的实施例。在其他实例中,采用框图的形式显示了周知的结构和设备。
[0029]术语
[0030]隧道:将一种通信协议的数据报文封装在第二种通信协议的报头内,从而封装后的报文可以在支持第二种通信协议的网络上传输。第二种通信协议通常为通用协议报头(如Ethernet、IP或UDP等)加上隧道特定的报头用于传输额外的信息。隧道建立在支持第二种通信协议的两节点之间,节点可以为交换机,路由器,服务器,虚拟机或别的支持该通信协议的设备。
[0031]隧道类型:通常用来指定隧道特定的报头格式。
[0032]VN1:虚拟网络标示,长度为24位用来唯一标示一个虚拟网络。
[0033]VXLAN: —种隧道类型,8字节长度,携带VNI以及网络策略相关的信息,通常封装在UDP之上。
[0034]GRE:一种隧道类型,包含可选字段,VNI通常编码于key可选字段中,在虚拟网络环境下,通常封装在IP之上。
[0035]NVGRE:一种隧道类型,8字节长度,基于GRE携带VNI,通常封装在IP之上。
[0036]GENEVE:一种隧道类型,最短8字节长度,携带VNI,可扩展报文长度以携带更多上下文信息,通常封装在UDP或IP之上。
[0037]隧道端点:用于建立隧道的装置,基本功能为将第一种通信协议报文封装在第二种通信协议报头内,以及将第二种通信协议报头解封装为第一种通信协议报文。
[0038]隧道加速端点:在本申请中特指具备将VXLAN、NVGRE, GRE或GENEVE封装在以太网报头中能力的隧道端点。
[0039]BFD:双向链路传输检测,通常用于检测端到端的链路连通性,如隧道等。
[0040]LSO:TCP大包分片卸载,利用网卡的硬件对TCP大报文进行分片以降低主机CPU消耗。
[0041]校验检查卸载:利用网卡的硬件对报文进行校验计算以降低主机CPU消耗。
[0042]ARP proxy:ARP代理,是帮助一主机对来自另一子网的对该主机IP地址的ARP请求进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。
[0043]交换机:指根据以太网报头进行报文转发的系统,也可提供安全访问控制、流量控制和隧道等功能。其可以为物理设备也可以为在虚拟宿主机中的软件系统。
[0044]网关:指一种将多个网络连接在一起的系统。其可以为物理设备也可以为以虚拟机的形式提供网关功能的软件系统。
[0045]以太网广播域:指一种二层网络,连接于此网络的设备均可收到目的地址为广播地址的以太网报文。
[0046]图1是从概念上描述可以应用本发明实施例的简化网络拓扑的框图,图中仅以VXLAN隧道类型为例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1