虚拟网络隧道内流量数据获取方法与系统技术方案

技术编号:21719074 阅读:20 留言:0更新日期:2019-07-27 21:35
一种虚拟网络隧道内流量数据获取方法与系统,方法主要是通过修正运行于交换机内数据流查表达到目的,当多个执行软件交换机的主机之间通过虚拟网络传递信息时,交换机可以取得隧道内数据流的信息,以达到监控、计量与管理隧道内数据流的目的。其中,由一主机中运行的虚拟机产生封包,封包于主机中逻辑通信端口以一隧道协议封装,经由虚拟网络隧道传送到交换机,于交换机卸装封包时,可根据封包表头查找一数据流查表,以获取隧道内流量数据,之后经重新封装后传送到目的地主机所建立的逻辑通信端口,由目的地主机卸装后得到封包的原始数据。

The Method and System of Flow Data Acquisition in Virtual Network Tunnel

【技术实现步骤摘要】
虚拟网络隧道内流量数据获取方法与系统
本公开涉及一种获取网络流量数据的方法与系统,特别涉及获取虚拟网络环境中节点之间隧道内流量数据的方法与系统。
技术介绍
软件定义网络(Software-DefinedNetworks,SDN)为一种新一代的网络架构,其利用集中式的控制器(controller)取代过往分布式网络系统中交换机(switch)的控制平面(controlplane),软件定义网络让其中的交换机只需负责数据平面(dataplane)的部分,使得集中式的控制器可以达到对控制需求的优化。软件定义网络采用的集中式控制器可以实现拓扑(topology)的优化与优选的路径规划等。此外通过一种封包转送的开放流(OpenFlow)协议使得控制器和交换机之间的沟通有一个标准且公开的准则,如此一来就不用受限于各家开发厂商自定义的规范,进而使得网络管理者可以撰写或是优化自己想要的控制器的各种应用(applications),进而达到具有多功能性的应用模块。开放流协议提供统一的沟通接口,使控制平面与数据平面能正常沟通,其中控制平面采用数据流查表(FlowTable)控管数据平面,且可直接控管数据平面,执行如信息转送(forwarding)与查找(lookups)的动作,形成一种数据流记录(flowentry),数据平面则依此数据流查表判断、执行。现行数据中心(datacenter)常采用软件定义网络(SDN)作为运行的架构,建构虚拟网络,在虚拟网络中建构多个服务用户的虚拟机。不过,虚拟网络的建立是通过隧道(tunnel)技术来实现的,虚拟机之间传送的数据会在一个隧道的起点与终点进行封包的封装与拆装,以致于对于一台处在网络中的交换机而言,它无法辨别一个隧道内不同的数据流,无法让管理者监控其中流动的数据流进而控管流量与优化网络带宽使用。
技术实现思路
鉴于现有技术无法监视交换机之间隧道内流量的问题,本公开涉及一种虚拟网络隧道内流量数据获取方法与系统,方法让网络交换机(switch)能够辨别隧道内不同的数据流,并可应用在SDN(软件定义网络)交换机上,SDN交换机支持开放流协议,能与SDN控制器进行沟通,能够对隧道内指定的数据流限速。在一实施例中,虚拟网络隧道内流量数据获取方法应用于一交换机内,方法包括运行有软件交换机的一个节点,如交换机,接收由第一主机中运行的虚拟机产生的封包,封包于此第一主机内执行的软件交换机建立的逻辑通信端口以一隧道协议封装,经由一虚拟网络隧道传送到交换机。进一步地,于交换机的输入逻辑通信端口卸装封包后,可根据封包表头查找一数据流查表,以获取隧道内流量数据,可以统计隧道内数据流、执行计量以管理隧道内数据流。之后,于交换机的输出逻辑通信端口重新以隧道协议封装封包,重新封装封包时,修改封包表头,加载交换机的信息与目的地主机的信息等。进一步地,重新封装的封包通过另一虚拟网络隧道传送到目的地主机中软件交换机所建立的逻辑通信端口,再由目的地的软件交换机的逻辑通信端口接收经重新封装的封包,卸装封包而得到封包的原始数据。根据另一实施例,本公开提出执行虚拟网络隧道内流量数据获取方法的系统,系统中包括有交换机,并通过虚拟网络连接多个主机,其中包括第一主机,其中运行第一虚拟机,执行第一软件交换机,与交换机之间建立第一虚拟网络隧道,其中第二主机运行第二虚拟机,执行第二软件交换机,与交换机之间建立第二虚拟网络隧道。由交换机中运行的软件交换机程序执行虚拟网络隧道内流量数据获取方法包括有,接收由第一虚拟机产生的封包,封包在其逻辑通信端口以特定隧道协议封装,并经由一虚拟网络隧道传送到交换机,之后,经交换机卸装后,根据封包表头查找一数据流查表,以获取隧道内流量数据,其目的如统计隧道内数据流、执行计量以管理隧道内数据流。进一步地,实现获取隧道内流量数据的目的后,重新封装封包,再经另一虚拟网络隧道传送到目的地,如第二软件交换机所建立的逻辑通信端口,在此通信埠(端口)卸装封包,使第二虚拟机可以得到封包的原始数据。附图说明图1所示为应用隧道运行机制的虚拟网络与系统示意图;图2所示为应用隧道运行机制的虚拟网络与系统示意图;图3所示流程描述封包转送处理步骤;图4所示为虚拟网络上各节点形成的网络系统示意图;图5显示为运行于网络系统中一软件交换机内的数据流查表范例;图6所示为虚拟网络隧道内流量数据获取方法的实施例流程图;图7所示为运行虚拟网络隧道内流量数据获取方法的虚拟网络系统实施例示意图;图8显示为运行于网络系统中一软件交换机内修正后数据流查表范例;图9所示为运行虚拟网络隧道内流量数据获取方法的虚拟网络系统再一实施例示意图。具体实施方式软件定义网络(Software-DefinedNetwork,SDN)采用的集中式控制器(SDNcontroller)可以实现拓扑(topology)的优化与优选的路径规划等,其中通过开放流(OpenFlow)协议让控制器和SDN交换机之间以一个标准且公开的准则通信,其中SDN交换机采用数据流查表(FlowTable)控管数据平面(dataplane),执行如信息传送路径、转送(forwarding)与查找(lookups)的动作,形成一种数据流记录(flowentry),数据平面则依此数据流查表判断、执行,也能让网络管理者可以撰写或是优化自己想要的控制器的各种应用(applications),进而达到具有多功能性的应用模块。现行数据中心常采用软件定义网络(SDN)作为运行的架构,SDN网络将数据平面(dataplane)与控制平面(controlplane)分开,其利用集中式的控制器(controller)取代过往分布式网络系统中交换机(switch)的控制平面,软件定义网络让其中的交换机只需负责数据平面的部分,使得集中式的控制器可以达到对控制需求的优化。在数据中心里,用户(subscriber)可以建立属于自己的虚拟网络(VirtualNetwork),并将自己的虚拟机(VM)连接上这个虚拟网络,让虚拟机之间能够通过这个虚拟网络互相传送数据。然而,虚拟网络的建立是通过隧道(tunnel)技术来实现的,虚拟机之间传送的数据会在一个隧道的起点与终点进行封包的封装(Encapsulation)与拆装(Decapsulation),以致于对于一台处在网络中的交换机而言,原本是无法辨别一个隧道内不同的数据流,也因此无法进行监控与流量控制。而本公开所提出的虚拟网络隧道内流量数据获取方法与系统,能够让网络交换机(switch)能够辨别隧道内不同的数据流,并可应用在SDN(软件定义网络)交换机上,SDN交换机支持开放流(OpenFlow)协议而与SDN控制器进行沟通,能够对隧道内指定的数据流限速。并且在特定云端操作系统(如OpenStack)布署的环境中进行效能测量,以能准确记录每个隧道内数据流的网络带宽使用量的信息,且这样的应用与现行运行在应用层(applicationlayer)的方式不同,并不会对交换机的整体效能造成过大的负担。其中应用的技术为特定网络交换机之间的通信协议,如开放流(OpenFlow)协议,开放流协议主要使用三种用于通信的信息(messagetypes),包括封包输入(packet-in)、本文档来自技高网
...

【技术保护点】
1.一种虚拟网络隧道内流量数据获取方法,应用于一交换机内,其特征在于,所述方法包括:接收由一第一主机中运行的第一虚拟机产生的封包,该封包于该第一主机内执行的一第一软件交换机建立的逻辑通信端口以一隧道协议封装,经由一第一虚拟网络隧道传送到该交换机;于该交换机的一输入逻辑通信端口卸装该封包;根据封包表头查找一数据流查表,以获取隧道内流量数据;于该交换机的一输出逻辑通信端口重新以该隧道协议封装该封包;以及通过一第二虚拟网络隧道传送到一第二主机中一第二软件交换机所建立的逻辑通信端口;其中,由该第二软件交换机的逻辑通信端口接收经重新封装的该封包,并卸装该封包,该第二主机中运行的一第二虚拟机得到该封包的原始数据。

【技术特征摘要】
2018.01.19 TW 1071020511.一种虚拟网络隧道内流量数据获取方法,应用于一交换机内,其特征在于,所述方法包括:接收由一第一主机中运行的第一虚拟机产生的封包,该封包于该第一主机内执行的一第一软件交换机建立的逻辑通信端口以一隧道协议封装,经由一第一虚拟网络隧道传送到该交换机;于该交换机的一输入逻辑通信端口卸装该封包;根据封包表头查找一数据流查表,以获取隧道内流量数据;于该交换机的一输出逻辑通信端口重新以该隧道协议封装该封包;以及通过一第二虚拟网络隧道传送到一第二主机中一第二软件交换机所建立的逻辑通信端口;其中,由该第二软件交换机的逻辑通信端口接收经重新封装的该封包,并卸装该封包,该第二主机中运行的一第二虚拟机得到该封包的原始数据。2.如权利要求1所述的虚拟网络隧道内流量数据获取方法,其特征在于,所述第一虚拟网络隧道设有一隧道标识符,与该第二虚拟网络隧道的隧道标识符不同。3.如权利要求2所述的虚拟网络隧道内流量数据获取方法,其特征在于,于重新封装该封包时,修改该封包表头,加载该交换机的信息与目的地主机的信息。4.如权利要求1所述的虚拟网络隧道内流量数据获取方法,其特征在于,所述数据流查表根据该第一主机与该第二主机内软件交换机的设定更新,包括根据该第二主机中该第二软件交换机所建立的逻辑通信端口以及该第二虚拟网络隧道加入新的数据流记录。5.如权利要求1所述的虚拟网络隧道内流量数据获取方法,其特征在于,于查找该数据流查表后,统计隧道内数据流、执行计量以管理隧道内数据流。6.如权利要求5所述的虚拟网络隧道内流量数据获取方法,其特征在于,查找该数据流查表以获取隧道内流量数据由连接该交换机的一控制器执行。7.如权利要求6所述的虚拟网络隧道内流量数据获取方法,其特征在于,所述交换机为一软件定义网络交换机,该控制器为一软件定义网络控制器,该交换机与该控制器之间以一开放流协议运行。8.如权利要求1至7中任一权利要求所述的虚拟网络隧道内流量数据获取方法,其特征在于,所述数据流查表包括有多个表,具有包括一个或多个匹配字段的表,用以查询进入该第一虚拟网络隧道或该第二虚拟网络隧道内的封包表头记载符合各表的数据流记...

【专利技术属性】
技术研发人员:王协源林旻谚
申请(专利权)人:思锐科技股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1