用于监控覆盖网络中的数据流量的方法与流程

文档序号:16977660发布日期:2019-02-26 19:10阅读:610来源:国知局
用于监控覆盖网络中的数据流量的方法与流程

本专利申请涉及用于监控覆盖网络中的数据流量的方法。本专利申请还涉及用于监控覆盖网络中的数据流量的一个或多个计算设备。数据流量在分组交换计算机网络中通常以以太网ip网络分组或非ip分组的传输来实现。



背景技术:

覆盖网络是建立在另一个计算机网络顶部的计算机网络。覆盖网络的节点、主机或客户端通过虚拟或逻辑链路来连接,虚拟或逻辑链路中的每一个对应于相同或不同的底层物理网络中的路径(通常经过的许多物理链路)。在物理计算机网络中,可以安装数据监控交换机或网络交换机,在接收、处理和转发数据分组到目的地计算机端口之外,监管(oversee)来自大量网络链路的数据流量。然而,数据监控交换机或任何其他类型的网络节点(例如网络接口控制器,中继器,集线器,桥接器,交换机,路由器,调制解调器和防火墙)都不能够观察根据开放系统互连(osi)模型的覆盖网络的不同层之间的数据流量,该osi模型包括物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。或者说,根据tcp/ip模型,覆盖网络包括应用层,传输层,网络层和网络接口层。ip(因特网协议),arp(地址解析协议),icmp(因特网控制消息协议)和igmp(因特网组管理协议)是与传输层相关的协议或服务。

因此,监控覆盖网络中的数据流量将有利于提高可视性和资源管理。



技术实现要素:

本专利申请旨在提供一种或多种用于监控覆盖网络中的数据流量的新的并且有用的方法。本专利申请还旨在提供一个或多个新的并且有用的计算设备,该计算设备被配置以监控覆盖网络中的数据流量。本专利申请的基本特征由一个或多个独立权利要求提供,而本专利申请的有利特征分别由其从属权利要求提供。

根据第一方面,本申请提供了一种用于在覆盖网络中从第一计算设备向第二计算设备的数据传输的方法。第一计算设备或第二计算设备包括物理计算机,虚拟机和虚拟计算机。覆盖网络是指建立在另一网络顶部的计算机网络。可以将覆盖网络中的节点视为通过虚拟或逻辑链路连接,虚拟或逻辑链路中的每一个可以通过底层覆盖网络中的许多物理链路而对应于路径。该方法包括第一计算设备的以下步骤。特别地,该方法包括:第一步骤,获取涉及将被发送到第二计算设备的数据分组的数据分组信息。数据分组信息包括涉及数据分组的传输的信息,诸如转发或接收数据分组的一个或多个地址。该方法还包括第二步骤,将数据分组封装以包括外部协议报头(也称为ip报头)。外部协议报头或ip报头可选地包含数据分组开始处的报头信息,其中包含涉及ip版本,源ip地址,目的地ip地址,生存时间等的数据分组信息。该方法还包括第三步骤,在传输数据分组之前、之后或是期间,更新、改变或修改封装的数据分组的外部协议报头以包括数据分组信息。该方法还包括如下步骤,将具有更新的、改变的或修改的外部协议报头的封装的数据分组发送到连接到覆盖网络的网络交换机,以将数据分组传送到第二计算设备。

该方法或应用的实施例还包括调整(alter)涉及用于传输数据分组的网络层的外部协议报头的ip选项字段的步骤。因此,本方法能够由处理数据分组的ip选项字段的物理交换机、虚拟交换机、网络交换机、网络接口或简单地由交换机来实现或编程。由于ip选项字段被物理交换机、虚拟交换机、网络交换机、网络接口或交换机操纵,由交换机密切监控覆盖网络流量,使得覆盖网络流量的调节对交换机容易且透明。无论是否根据一个或多个预定规则或程序,每个合理的ip选项数据(例如yyyyyyyy或01010101)可以由物理交换机、网络交换机、交换机、虚拟机或第一计算设备进行处理(例如标识或修改)。

根据该方法,两个虚拟机可以经由在相同或不同覆盖网络的不同层中操作的网络交换机和/或路由器进行通信。覆盖网络解决了层2相邻跨越层3边界的问题,这是虚拟网络之间的逻辑分离,并在租户之间提供安全通信通道,并消除了重叠寻址。虚拟网络与底层网络也存在逻辑分离。虚拟机也可以是可能具有相同ip地址的租户。然而,具有虚拟机映射表的虚拟交换机拥有虚拟机的mac地址,并且能够通过参考查找表(例如虚拟机映射表)来向虚拟机分配(assign)标识符或vxlan网络标识符(vnid),其可以手动地被配置或通过动态学习配置、或由称为软件定义的控制器的远程计算机来提供。除了vxlan(虚拟可扩展lan),可以使用其他网络或隧道传输协议,包括gre(通用路由封装),nvgre(使用通用路由封装的网络虚拟化)和sst(结构化流传输)。

因此,本方法使得虚拟交换机、物理交换机、虚拟机或物理机器(例如计算机)能够监控覆盖网络中的数据流量,这改善了资源管理,为覆盖网络的数据流量提供可见性,并且有助于网络运营管理。此外,该方法为各种租户需求提供端到端覆盖流量资源管理和差异化服务。本申请还提供了具有sdn(软件定义网络)和自动网络管理的集中式网络策略管理。

或者说,为了调节覆盖数据流量,可选地操纵数据分组的ip报头(即外部协议报头),特别是在ip报头的ip选项字段中。ip选项字段包括复制的字段(copiedfield),选项类字段,选项编号字段,选项长度字段和选项数据字段。“选项数据”字段提供选项数据或流标签,其被调整以便为虚拟交换机提供信息,从而执行监控和调节数据流量。

本申请的实施例规定:从虚拟机向虚拟交换机发送数据分组可以按照如下来封装:首先是vxlan协议,其次是udp报头,第三是ip报头,然后在从虚拟交换机向目的地虚拟机发送之前最后是mac报头。因此,为了从虚拟机发送数据分组,调整ip选项字段的步骤包括利用虚拟网络(例如vxlan,nvgre,sst)报头封装数据分组以用于发送数据分组。与目的地服务器连接的目的地虚拟交换机可以通过如下来将数据分组解除封装:首先是mac报头,其次是ip报头,第三是udp报头,以及最后是vxlan报头。在剥离mac地址后,在ip报头处,物理交换机将读取选项数据字段,以确定采取的适当措施,例如改变数据速率。因此,为了在虚拟机处接收数据分组,调整ip选项字段的步骤包括剥离ip选项字段以用于接收数据分组。剥离ip选项字段的步骤包括去除数据分组的虚拟网络(例如vxlan,nvgre,sst)报头。因此,目的地虚拟交换机可以通过其vxlan报头标识数据分组,并且忽略ip选项报头。相比之下,在物理交换机中,vxlan报头不被解析或读取,因此物理交换机需要读取ip选项字段来用于监控重叠数据流量。

调整ip选项字段的步骤可以包括提供流标签(即选项数据)以用于发送数据分组的步骤。例如,控制虚拟机的数据流量的方法可以根据虚拟机的虚拟网络标识由交换机(例如物理或虚拟交换机)来处理,其由虚拟交换机的查找表来分配。查找表也可以是由物理交换机或网络交换机动态更新的虚拟机映射表。在动态更新过程中,虚拟交换机获取必要的信息来填充虚拟机映射表,虚拟机映射表包括例如虚拟机mac地址和虚拟机所驻留的物理服务器的ip地址的信息。备选地,调整ip选项字段的步骤可以包括从外部协议报头剥离流标签以用于接收数据分组的步骤。

调整ip选项字段的步骤还可以包括设置如下字段的步骤:“复制的”字段,“选项类”字段,“编号”字段,用于指示流标签或选项的长度数据的“选项长度”字段,用于指示选项数据的“选项数据”字段,或这些字段中的任何一个的组合。例如,调整ip选项字段包括如下步骤:将“复制的”字段中的标志设置为1,将“选项类”字段中的类设置为0,将“编号”字段设置为31,将“选项长度”字段设置为3,根据虚拟网络标识设置“选项数据”字段,或任何这些字段的组合。ip选项字段的字段或部分由交换机或网络交换机动态更新、读取或处理,以便网络层中的数据流量对交换机或网络交换机可见。

该方法可选地包括根据ip选项字段监管(administrate)(例如控制,调节)覆盖网络的数据流量的步骤。ip选项字段的信息能够根据由计算设备的网络管理员或运营商管理的预定方案或程序、由交换机或网络交换机来处理。

监管数据流量的步骤包括:更新网络策略,例如可以在虚拟交换机处、或者可以根据虚拟机的网络标识在连接到虚拟交换机的物理交换机处,应用或去除一个或多个网络策略。例如,如果在虚拟机的虚拟机映射表中没有找到数据分组的虚拟网络标识,则网络策略包括广播数据分组。当广播数据分组时,数据分组将跨越整个虚拟网络发送。备选地,控制数据流量的步骤可以包括如果在虚拟机映射表中没有找到目的地址的匹配,则基于一个或多个常规规则转发数据分组的步骤。网络策略的另一个实例是计算从特定虚拟机接收的数据分组的数量。备选地,网络策略包括拒绝从特定虚拟机发送的数据分组。可以在虚拟交换机或物理交换机处应用一个或多个网络策略。特别地,虚拟交换机能够标识数据流量或调整ip选项,使得物理交换机能够基于ip选项监控覆盖数据流量,并将一个或多个网络策略应用于这些覆盖数据流量。网络策略可以执行网络连接尝试的认证和授权,基于配置的系统健康策略来评估计算机健康合规(compliance),并确定如何限制不合规计算机的网络访问或通信。覆盖网络可以是提供授权服务并促进文件的跟踪和控制的基于策略的网络。例如,网络策略在物理交换机上提供访问控制列表(acl),其规定数据分组传输到主计算机或其他层3(即,网络层)主机的计算机端口或ip地址的规则。访问控制列表可选地被配置以控制入站和/或出站数据流量。例如,应用网络策略还包括允许或拒绝将数据分组传输到计算机的步骤,计算机可以是物理交换机,虚拟交换机,路由器,虚拟机,主机计算机,外部计算机或简单地是端点计算机。

监管数据流量包括通过软件定义的网络控制器来改变网络策略,这允许网络管理员通过开放接口和下级功能的抽象动态地以编程方式初始化、控制、改变和管理网络行为。网络管理员得到ip选项字段或外部协议头部的信息的支持,从而覆盖网络能够满足更现代计算环境(如数据中心)的动态、可扩展的计算和存储需求。软件定义的网络控制器将覆盖网络从转发流量到选择的目的地(数据平面)的底层网络解耦或分离(disassociate),该覆盖网络关于将流量发送到何处(sdn控制器或控制平面)做出决定。

应用的实施例提供了更新网络策略的步骤,包括对第一计算设备规定(prescribe)速率限制的步骤,其包括虚拟机、虚拟交换机或连接到虚拟交换机的物理交换机的承诺访问速率和分布式承诺访问速率。例如,更新网络策略还包括拒绝将数据分组传输到计算设备(例如,第二计算设备)的步骤。

监管数据流量的步骤有时包括监控覆盖网络的网络层上的数据分组的数据流量的步骤,无论是在虚拟交换机还是在物理交换机处。

本方法有助于网络虚拟化,其目的在于以大大简化多租户环境以及传统环境中的网络配置的方式,将端站(endstation)所看到的网络进行虚拟化。实现网络虚拟化的网络虚拟化技术之一是使用网络覆盖,其中在服务器、边缘网络交换机以及端站连接到的网关之间建立隧道。隧道实际上通过如下来实现:将由源端站传输的分组封装到覆盖报头(即,外部协议报头或ip报头),其经由基于因特网协议的网络,在用户数据报协议(udp)中从源交换机传递到目的交换机。

覆盖报头包括唯一地标识虚拟网络的标识符(id)。目标交换机(隧道端点)剥离覆盖报头,udp传输头和ip报头,并经由传统网络连接将原始数据分组传送到目标端站。除了这种隧道机制之外,边缘交换机还参与地址发现协议,其可以基于学习/泛洪或基于查找。

覆盖网络可以使用任何可用的虚拟化协议,例如虚拟可扩展局域网(vxlan),定位/id分离协议(lisp),覆盖传输虚拟化(otv),使用通用路由封装(nvgre)的网络虚拟化等,来通过使用称为隧道的构造来连接地理上分离的层2(l2)网络。这些隧道是层3(l3)传输隧道之上的l2,其能够将分组封装到覆盖分组中以跨网络传输。由一个虚拟网络中的虚拟机(vm)发起并且目的指向另一个物理位置中的另一个vm或同一虚拟网络中的一组vm发起的l2数据分组通过l3隧道传输。

可以使用具有虚拟化平台的任意数量的虚拟机来实现覆盖网络,该虚拟化平台控制进出每个vm的网络分组的处理。一个或多个vm可以与覆盖网络相关联。虚拟化平台使用针对相应覆盖网络和/或vm的预定属性和策略,来处理与每个覆盖网络和/或vm相关联的网络流量。随着覆盖网络数量的增加,虚拟化平台的处理负载需求也在增加。虚拟化平台的处理负载要求包括多个隧道终止,虚拟隧道端点管理(vtep),每个隧道的地址学习,每个隧道的分组封装和解封装等。因此,针对网络的给定性能级别,覆盖网络或虚拟机的数量受到虚拟化平台的处理能力的限制。

根据第二方面,本申请提供了一种包括虚拟机和耦合到虚拟机的虚拟交换机的计算设备。虚拟交换机被配置以从虚拟机接收将被发送到覆盖网络中的计算设备(例如,另一,本地,远程或外部计算机)的数据分组,以将数据分组封装以包括外部协议报头,并且更新外部协议报头以包括涉及数据分组的数据分组信息。计算设备还包括网络接口,被配置以接收并传输具有更新的外部协议报头的封装的数据分组到连接到覆盖网络的网络交换机,以便将数据分组传输到计算设备。

网络接口是计算机网络中两个设备或协议层之间的软件和/或硬件接口。网络接口通常具有某些形式的网络地址,其可以包括其本身的节点id,端口号或唯一节点id。网络接口提供传递数据分组,连接和断开等功能。网络接口的示例包括作为其他计算机或外围设备的接口的计算机端口(硬件),作为连接到计算机网络的计算机连接器的网络接口控制器,作为用于电话网络的分界点的网络接口设备,作为对于网络的软件接口的网络套接字,以及作为对于网络的协议接口的端口(计算机联网)。

网络接口可以被配置或可操作地调整外部协议报头的ip选项字段。网络接口还可以被配置以向外部协议报头的ip选项字段提供流标签。应用的实施例提供了网络接口,其被进一步配置以从外部协议报头的ip选项字段剥离流标签。应用程序的示例指示网络接口被进一步配置以设置“复制的”字段,“选项类”字段,“编号”字段,指示流标签或选项数据的长度的“选项长度”字段,用于指示选项字段的“选项数据”,或外部协议报头的ip的任何这些字段的组合的“选项数据”。

网络接口还可以被配置以根据更新的外部协议报头的ip选项字段,监管计算设备的覆盖网络的数据流量。网络接口附加地可以被配置以根据更新的外部协议报头的ip选项字段,更新计算设备的网络策略。网络接口可选地配置以根据更新的外部协议报头的ip选项字段,规定虚拟机、虚拟交换机或计算设备的数据传输速率限制。网络接口有时被配置以根据更新的外部协议报头的ip选项字段来拒绝数据分组的传输。在一些情况下,网络接口还被配置以根据更新的外部协议报头的ip选项字段,监控数据分组的数据流量。

根据第三方面,本申请提供了一种网络交换机,其包括被配置以接收封装的数据分组的接收端口,被配置以传输封装的数据分组的传输端口;以及耦合到接收和传输端口的处理器。接收端口或传输端口是操作系统中通信的端点,其标识特定进程或网络服务的类型。接收端口或传输端口通常与主机的ip地址和通信的协议类型相关联,从而完成通信会话的目的地或源起网络地址。接收端口或传输端口通常由16位数字(通常称为端口号)针对每个地址和协议进行标识。处理器被配置以从封装的数据分组的外部协议报头获取数据分组信息,数据分组信息涉及在覆盖网络中将从第一计算设备被发送到第二计算设备的数据分组。

处理器可被进一步配置或操作以调整外部协议报头的ip选项字段以用于传输数据分组或封装的数据分组。处理器可以被进一步配置以提供用于发送数据分组或封装的数据分组的外部协议报头的流标签(例如选项数据)。处理器可以被配置以从外部协议报头剥离流标签以用于接收数据分组或封装的数据分组。处理器还可以被配置以设置“复制的”字段,“选项类”字段,“编号”字段,指示流标签或选项数据的长度的“选项长度”字段,用于指示选项数据的“选项数据”字段,或外部协议报头的任何这些字段的组合。

本申请的实施例提供了处理器,其可操作以根据ip选项字段来监管覆盖网络的数据流量。处理器可选地进一步配置以根据ip选项字段来更新网络策略。监管数据流量的步骤有时包括由软件定义的联网控制器改变网络策略的步骤。处理器可以被进一步配置以规定接收端口,传输端口或两者的速率限制。处理器可以进一步被配置以拒绝将数据分组或封装的数据分组传输到计算设备(例如,第二计算设备)。在一些情况下,处理器被配置以监控接收端口,传输端口或两者的数据流量。

附图说明

附图示出了实施例并且用于解释所公开的实施例的原理。然而,应当理解,这些附图仅仅是为了说明的目的,而不是用于定义相关发明的限制。尤其是,

图1示出了使得经由云网络从源服务器向目的地服务器的数据分组传输的第一实施例;

图2示出了利用另一ip报头封装的数据分组;

图3示出了ipv4报头中的ip选项字段;

图4示出了具有连接到物理交换机的物理服务器的网络接口卡的第二实施例;以及

图5示出了使得网络接口卡和sdn控制器与服务器和物理交换机通信的第三实施例。

具体实施方式

现在将参考上述附图描述本申请的示例性非限制性实施例。

图1示出了具有经由云网络104从源服务器100向目的地服务器102的数据分组106传输的第一实施例。

具有ip(因特网协议)地址192.168.1.10的称为服务器一(serverone)100的源服务器100被连接到云网络104。服务器一100具有与两个虚拟机(vm)108,110连接的第一虚拟交换机112。虚拟机108,110也称为租户。服务器一100的第一租户称为租户t1108,其具有ip地址10.0.0.1,而服务器一的第二租户(称为租户t2110)具有相似的ip地址10.0.0.1。租户t1108和租户t2110两者都是被连接到第一虚拟交换机(vtep1)112的虚拟机。

具有ip地址192.168.1.20的目的地服务器102被称为服务器二102,其被连接到云网络104。服务器二102具有与两个虚拟机(vm)116,118连接的第二虚拟交换机114。服务器二102的第一租户称为租户t3116,其具有10.0.0.2的ip地址,而服务器二102的第二租户称为租户t4118,其具有10.0.0.2的相似ip地址。租户t3116和租户t4118两者都是被连接到第二虚拟交换机(vtep2)114的虚拟机。

图1中的数据分组106示出了表示从源服务器100处的租户t1108向目的地服务器102处的租户t3161传送的相应数据的封装。

图1所示的管道描绘了在服务器一100和服务器二102之间建立的隧道120,由此租户(即t1108,t2101,t3161,t4118)被配置以根据vxlan覆盖协议相互通信。

两个服务器100,102(即,服务器一和服务器二)中的每一个具有安装在其中100,102的管理程序(虚拟机监控器),其在图1中未示出。管理程序(hypervisor)是基于内核的虚拟机(kvm)。

根据图如图1所示,vxlan(虚拟可扩展lan)用作跨越覆盖网络和作为虚拟网络端点的虚拟交换机112,114的用于传输数据分组106的隧道机制。还存在其他隧道协议的替代方案。例如,管理程序可以是替代vtep112,114的虚拟网络端点,并且可以使用诸如gre(通用路由封装)和nvgre(使用通用路由封装的网络虚拟化)的其他隧道协议。

底层网络的隧道需求是两个物理服务器100,102之间存在ip网络连接性。在图1中,具有ip地址192.168.1.10的服务器一100可以到达ip地址为192.168.1.20的服务器二102。它们的底层网络可以被云104抽象并替换,如图1所示。底层网络104表示多个交换机、路由器、计算设备和连接(未示出)。

虚拟交换机112、114用作端点。在vxlan中,它被称为vtep(虚拟隧道端点)。vtep112、114需要知道每个租户的vm的位置。例如,服务器一100处的vtep1112想要与服务器二102处的租户t3116进行通信,服务器一100处的vtep1112必须通过192.168.2.20处的服务器二102。同样地,为了使服务器二102处的vtep2114与服务器一100处的t1108进行通信,必须学习到达192.168.1.10处的服务器一100。

vtep112、114是需要将虚拟机的mac地址映射到虚拟网络的端点ip地址的映射表(这被称为虚拟机映射表)的虚拟交换机。获取映射表有四种方法或方式,即手动,推送,拉取和动态。在手动模式中,映射表由用户配置。这种模式主要在学习环境中使用。在推送模式中,vtep112、114使用sdn(软件定义网络)控制器190获取虚拟机108、110、116、118mac(媒体访问控制)地址到ip地址的映射表。在拉取模式中,vtep112、114从可以是sdn控制器190的中央目录请求映射信息。在动态模式中,当数据分组106在网络中流动时,vtep112、114从数据分组106的流中学习。这类似于传统的层2交换机学习。例如,来自vm108、110、116、118的广播消息被封装成多播消息,以跨越网络到达vtep112,114订户。在多播目的地vtep112、114从数据分组106学习源vm108、110、116、118到源隧道端点ip的映射。无论虚拟网络端点如何学习路由信息,隧道端点需要虚拟机108、110、116、118的mac地址到vtepip地址的映射。

图2示出了用不同报头的封装的数据分组106。参考图1和图2所示,从租户t1108向远程租户t3161发送数据分组106的方法包括:使得租户t1108将数据分组106发送到对应于租户t3161的mac地址的目的地ip,其中租户t1108具有10.0.0.1的ip地址。数据分组106由服务器一100处的vtep1112接收。服务器一100处的vtep1112读取数据分组106,并检测数据分组106是从租户t1108被递送,具有t3116mac地址的目的地。服务器一100处的vtep1112执行映射表查找,并发现租户t3116的mac地址在具有ip地址192.168.2.20的服务器二102处。为了将数据分组106递送到租户t3116,服务器一100处的vtep1112必须利用相关协议报头封装数据分组106。

数据封装的方法包括首先是最外部的层2mac报头126,如图2所示其结束语帧检查序列136,这依赖于层3的集线器、交换机和相关的底层网络。其次,层3ip报头128,其具有对应于vtep2114所驻留的服务器二102的目的地ip地址192.168.2.20。服务器一100的源ip地址是其中vtep1112驻留的192.168.1.10。第三,层4udp(用户数据报协议)报头130,具有由互联网号码分配机构(iana)为vxlan保留的目的地端口为4789。源udp端口是基于内部数据分组106的哈希函数动态计算的。针对负载平衡而动态地计算源端口,这在一对虚拟机之间为数据分组106的源udp端口创建了可变性。这种可变性确保了针对通常执行哈希函数的差的通道的负载平衡,该哈希函数包括描述通过其上发送流量的物理端口的层4端口号。第四,朝向数据分组106移动进入的是vxlan报头132。租户t1108,t2101和租户t3164,t4118使用相同的ip寻址。vtep112,114通过使用vnid(vxlan网络标识符)区分租户的流量。租户t1108和t3116被分配vnid100,122。该vnid类似于传统的vlan标签。但是,使用vxlan具有更高可扩展性。如ieee802.1q中规定,传统vlan仅支持4096组合,这是因为保留了12位用于使用。vnid具有24位的保留,允许16,777,216个vxlan标识符。第五,在vxlan报头之后,获取来自租户t1108的原始层2帧134。

在外部mac报头126位于适当位置(inplace)的情况下,数据分组106到达具有ip地址192.168.2.20的服务器二102中的vtep2114。

vtep2114接收vxlan分组,并读取为租户t1108和租户t3161保留的vnid100、122。vtep2114剥离所有外部报头,留下用于发送到租户t3116的来自租户t1108的原始帧134。租户t3116不知晓基于vxlan的封装,该基于vxlan的封装是为了获得原始的层2帧134本身所需要的。

返回参考图1,vnid100、122分别被分配给租户t1108和租户t3161。vnid200、124分别被分配给租户t2110和租户t4118。以这种方式,租户t1108、t2110和租户t3116、t4118可以在相同的ip子网中使用相同的ip地址,而不会冲突。

特别提到了ip报头128,其焦点是ip报头128中的选项字段162。ip报头128具有192位,包括版本字段138(4位),报头长度字段140(4位),服务类型字段142(8位),总长度字段144(16位),标识符字段146(16位),标志字段148(4位),分段偏移字段150(12位),生存时间字段152(8位),协议字段154(8位),报头校验和字段156(16位),源地址字段158(32位),目的地址字段160(32位),选项字段162(24位)和填充字段164(8位)。

在本实施例中使用选项字段162。注意,除了需要确保报头包含整数数量的32位字所需的任何填充之外,报头长度字段140中的值必须包含足够的额外32位字来容纳所有选项。选项的列表可以用eol(选项列表结束,0x00)选项终止;这只有在选项的结尾不会与报头的结尾一致时才需要。可以放在报头中的可能选项如图3所示。

图3示出了ipv4报头中的ip选项字段162。复制的字段166是1位长并被设置为1,使得选项被复制到分段的分组的所有分段中。2位长的选项类别字段168通常被设置为用于“控制”的二进制值“00”,用于“调试和测量”的二进制值“10”。二进制值“01”和“11”被保留。选项编号字段170为5位长,并被设置为31,指示该选项是流标签。0至30已经按照iana的规定被分配和使用。复制的字段166、选项类字段168和选项编号字段170有时被称为单个八位字段、选项类型。

选项长度字段172为8位长,指示包括此字段的整个选项的大小(以字节为单位)。对于简单选项,此字段172可以不存在。选项长度字段172可以被设置为3,这意味着3字节或24位。选项数据174(即流标签)字段是8位长并且被用于包含流标签。

为了包括选项字段162,在4位长的ip报头128处的报头长度140必须大于指示可允许的32位字的数目的整数4(即从5到15)。此字段的最小值为5,指示5×32位的长度产生160位或20字节。最大值为15,这是从4位字段导出的15个字×32位,产生480位或60字节。因此,ip报头128可以具有从160位(20字节)到480位(60字节)的报头长度140。

因此,选项字段162包括分别由二进制1、00、1111、00000011、xxxxxxxx、yyyyyyyy表示的复制的字段166、选项类字段168、选项编号字段170、选项长度字段172和选项数据字段174,其中“xxxxxxxx”是流标签的长度,“yyyyyyyy”是流标签。“xxxxxxxx”代表一个8位长度的流标签,其在yyyyyyyy中提供256字节的信息。流标签被写入选项数据字段174。流标签被物理交换机读取,并且物理交换机具有与用于实现相应流标签相关联的网络策略。

例如,具有十进制值为5000的数据选项意味着速率限制为5mbps。具有十进制值为5001的数值选项意味着速率限制为6mbps,具有十进制值为5002的数值选项意味着速率限制为7mbps。另外,可以设置包括安全规则和优先级的其他网络策略。

图4示出了使用vxlan覆盖协议被连接到物理交换机180的物理服务器178的网络接口卡(nic)176的第二实施例。图1至图3的第一实施例和图4的第二实施例之间的区别在于,图4的租户或虚拟机182、184、186驻留在相同ip地址子网中并且通信。

在部署中,用户或网络管理员需要在物理服务器178处的虚拟交换机(vs)188上配置vm(虚拟机)182、184、186映射到不同虚拟网络id。例如,vm1182被分配50000的vnid,vm2184被分配50001的vnid,而vm3186被分配50002的vnid。用户还需要在物理交换机180处配置被映射到网络策略的ip选项字段162。

vs188从vm1182接收数据分组106。sv188执行vm映射表(即,虚拟机映射表)的查找以获取50000的vnid,然后使用vxlan报头来封装数据分组106。

通过将选项字段162进行改变,即分别将复制166字段、选项类别168字段、选项编号170字段、选项长度172字段和选项数据174字段设置为1、0、31、3字节和50000,来在vs188处修改ip报头128。

然后,vxlan封装的数据192分组由udp报头130和修改的ip报头128具体地被ip选项字段162封装,最后由mac报头126封装,并发送到如图2所示的物理交换机180。

物理交换机178从虚拟交换机188接收封装的分组,物理交换机178执行查找ip选项162映射表,如果匹配,则物理交换机178执行诸如速率限制的相关网络策略。

例如,ip选项字段162具有复制166字段为1,选项类别168字段为0,选项编号170字段为31,选项长度172字段为3,和选项数据174字段为5000,速率限制被设置为5mbps。如果ip选项162字段具有复制166字段为1,选项类别168字段为0,选项编号170字段为31,选项长度172字段为3,以及选项数据174字段为5001,则速率限制为6mbps。如果ip选项162字段具有复制166字段为1,选项类别168字段为0,选项编号170字段为31,选项长度172字段为3,以及选项数据174字段为5002,则速率限制是7mbps。

图5示出了使得网络接口卡176和sdn控制器190与服务器178和物理交换机180通信的第三实施例。

sdn控制器190向物理服务器178处的虚拟交换机188和物理交换机180提供映射表(即,虚拟机映射表)。用户或网络管理员仅需要在sdn控制器190上配置vm映射到不同的虚拟网络id以及配置相关联的网络策略到每个映射条目。

在申请中,除非另外规定,术语“包括”,“组成”及其语法变体旨在表示“开放”或“包容性”的语言,使得它们包括所述元素,而且还允许包含额外的,非明确的列举的元素。

易见的是,在阅读前述公开内容之后,在不脱离本申请的精神和范围的情况下,本申请的各种其它修改和改编对于本领域技术人员将是易见的,并且意图是所有这些修改和修改都在落所附权利要求的范围内。

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