CN114389905B - 网络流量统计方法、相关装置和介质 - Google Patents
网络流量统计方法、相关装置和介质 Download PDFInfo
- Publication number
- CN114389905B CN114389905B CN202111490928.9A CN202111490928A CN114389905B CN 114389905 B CN114389905 B CN 114389905B CN 202111490928 A CN202111490928 A CN 202111490928A CN 114389905 B CN114389905 B CN 114389905B
- Authority
- CN
- China
- Prior art keywords
- application program
- address
- message
- application
- tunnel
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8214—Data or packet based
-
- 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
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种网络流量统计方法、相关装置和介质。该方法包括:获取第一隧道报文;确定目标设备中用于处理第一隧道报文的第一应用程序;基于租户、服务和应用程序之间的对应关系,确定第一应用程序提供的第一服务和在目标设备部署第一应用程序的第一租户;基于第一隧道报文中载荷的数据量,分别更新第一应用程序的网络流量统计值、第一服务的网络流量统计值和第一租户的网络流量统计值。本公开提高了云计算系统的多租户场景下网络流量统计对象的多样性,支持从租户、服务和应用程序的维度对租户进行网络流量统计。
Description
技术领域
本公开涉及计算机技术领域,更具体而言,涉及一种网络流量统计方法、相关装置和介质。
背景技术
云计算系统一般采用多租户架构提供服务,以最大化资源使用效率。在云计算系统中,将传统的物理机虚拟化成若干个虚拟机以形成大的虚拟机资源池,每个租户拥有资源池中的一组虚拟机,这些虚拟机通过租户网络相互连通,这样,多个租户可以共享底层基础设施并且虚拟网络隔离。云计算系统可以采用按使用流量付费的方式按需为多个租户提供资源服务。目前,流量统计通常是基于互联网协议(internet protocol,IP)的报文以获取IP地址对应的数据流量,并在交换机端口对每个IP地址的流量进行流量统计,通常只能对云计算系统的外网流量使用情况进行粗粒度统计,流量统计对象单一,无法从多个维度(例如,租户、服务和应用程序等)对租户进行使用流量统计。
发明内容
有鉴于此,本公开旨在提高在云计算系统的多租户场景下网络流量统计对象的多样性,支持从租户、服务和应用程序的维度对租户进行网络流量统计。
为了达到这个目的,根据本公开的一个方面,提供了一种网络流量统计方法,包括:
获取第一隧道报文;
确定目标设备中用于处理所述第一隧道报文的第一应用程序;
基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户;
基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
可选地,所述获取第一隧道报文之前,所述网络流量统计方法还包括:
基于租户、服务和应用程序的业务拓扑结构,确定所述租户、服务和应用程序之间的对应关系。
可选地,所述第一隧道报文包括隧道包头和原始报文,所述确定目标设备中用于处理所述第一隧道报文的第一应用程序包括:
基于所述隧道包头,确定所述目标设备所位于的第一虚拟私有云;
基于所述原始报文,确定所述第一虚拟私有云中在所述目标设备部署所述第一应用程序的第一租户;以及
基于所述原始报文,确定所述第一应用程序的标识。
可选地,所述隧道包头包括外层用户数据报协议头,所述外层用户数据报协议头包括外层用户数据报协议目的端口,所述基于所述隧道包头,确定所述目标设备所位于的第一虚拟私有云包括:
基于预设的外层用户数据报协议目的端口号与虚拟私有云标识之间的映射关系,确定所述第一隧道报文中所述外层用户数据报协议目的端口所对应的虚拟私有云为所述第一虚拟私有云。
可选地,所述第一虚拟私有云的网络划分为多个网络片段,不同的网络片段分配给不同的租户,所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一虚拟私有云中在所述目标设备部署所述第一应用程序的第一租户包括:
获取所述内层源IP地址或所述内层目的IP地址所属于的网络片段;
基于预设的网络片段与租户标识之间的映射关系,将所述获取的网络片段对应的租户确定为所述第一租户。
可选地,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立应用链接关系表,所述应用链接关系表的第一表项中存储的数据结构包括源IP地址、目的IP地址、应用程序标识和报文传输方向;
所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述应用链接关系表,获取与所述内层源IP地址和内层目的IP地址匹配的第一表项,基于所述匹配的第一表项,确定所述第一应用程序的标识和所述第一隧道报文的传输方向。
可选地,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立应用规则表,所述应用规则表的第二表项中存储的数据结构包括应用程序的第一规则描述和第二规则描述,所述第一规则描述包括第一源IP地址、第一目的IP地址、应用程序标识和第一报文传输方向,所述第二规则描述包括第二源IP地址、第二目的IP地址、应用程序标识和第二报文传输方向,所述第一源IP地址与所述第二目的IP地址一致,所述第一目的IP地址与所述第二源IP地址一致,所述第一报文传输方向与所述第二报文传输方向相反,
所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述应用规则表,获取与所述内层源IP地址和内层目的IP地址匹配的第二表项中的第一规则描述或第二规则描述,基于所述匹配的第一规则描述或第二规则描述,确定所述第一应用程序的标识和所述第一隧道报文的传输方向。
可选地,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立全局应用规则表,所述全局应用规则表的第三表项中存储的数据结构包括应用程序访问规则与应用程序标识之间的映射关系;
所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述全局应用规则表,如果所述原始报文中存储有与所述第三表项匹配的应用程序访问规则,则基于所述匹配的应用程序访问规则确定所述第一应用程序的标识。
根据本公开的一个方面,提供了一种网络流量统计装置,包括:
获取单元,用于获取第一隧道报文;
应用程序确定单元,用于确定目标设备中用于处理所述第一隧道报文的第一应用程序;
服务和租户确定单元,用于基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户;
统计单元,用于基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
根据本公开的一个方面,提供了一种计算装置,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现如上所述的方法。
根据本公开的一个方面,提供了一种片上系统,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现如上所述的方法。
根据本公开的一个方面,提供了一种计算机可读介质,包括计算机可执行代码,所述计算机可执行代码被处理器执行时实现如上所述的方法。
在本公开实施例中,利用了租户在目标设备部署应用程序,而应用程序提供对应的服务,因而可以建立租户、服务和应用程序之间的对应关系,从而可以在确定第一应用程序的网络流量统计值的更新值(即第一隧道报文中载荷的数据量)的情况下,无需额外的硬件设备即可根据预设的租户、服务和应用程序之间的对应关系,更新第一应用程序提供的第一服务的网络流量统计值以及更新在目标设备部署第一应用程序的第一租户的网络流量统计值,从而提高了云计算系统的多租户场景下网络流量统计对象的多样性,支持从租户、服务和应用程序的维度对租户进行网络流量统计。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出了本公开实施例所应用的物联网(IoT)的系统架构图;
图2示出了根据本公开实施例的数据中心的内部结构图;
图3示出了根据本公开实施例的计算装置的内部结构图;
图4示出了根据本公开实施例的网络流量统计方法的流程图;
图5示出了本公开一个实施例的VXLAN报文的数据结构示意图;
图6示出了本公开一个实施例的租户、服务和应用程序的业务拓扑结构的示意图;
图7示出了本公开一个实施例的网络流量统计装置的结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中使用以下术语。
虚拟私有云(virtual private cloud,VPC):是一套通过云服务器构建的逻辑隔离的、由用户自主配置和管理的虚拟网络环境。用户可以在虚拟私有云中自由选择IP地址范围、创建多个子网、自定义安全组以及配置路由表和网关等,方便地管理和配置网络,进行安全、快捷的网络变更。同时,可以通过自定义安全组内与组件云服务器的访问规则以及防火墙等多种安全层,加强对子网中服务器访问和控制。
计算装置:具有计算或处理能力的设备,它可以体现为终端的形式,如物联网设备、移动终端、桌上电脑、膝上电脑等,也可以体现为服务器或服务器组成集群。在本公开应用的物联网的环境下,计算装置可以是数据中心中的服务器,也可以是物联网设备。
虚拟机(Virtual Machine,VM):位于计算装置的底层硬件之上,通过软件模拟出的一套具有完整硬件功能的,运行在一个隔离的环境里面的计算机系统。它可以模拟出宿主机的各种指令,从而使得在虚拟机里面实现实体机里面所能进行的操作。
隧道通信技术:是一种通过互联网络基础设施在网络之间传递数据的方式,使用隧道传递的数据可以是不同协议的数据帧或数据包。隧道通信技术通过在隧道入口设备上对不同协议的数据帧或数据包在外层封装隧道包头,得到隧道报文,在隧道的两端边缘设备(即隧道端点(tunnel end point,TEP))之间通过公共互联网络转发隧道报文。一旦隧道报文到达隧道出口设备,隧道报文将被解封装,并转发到最终目的地(例如,隧道出口设备上的虚拟机)。整个传递过程中,隧道报文在公共互联网络上传递时所经过的逻辑路径称为隧道。隧道通信技术是包括数据封装、传输和解封装的全过程。
虚拟可扩展局域网(virtual extensible local area network,VXLAN):是一种叠加(overlay)网络技术,是采用L2 over L4的报文封装模式,将二层报文用三层协议进行封装,实现二层网络在三层范围内进行扩展,满足数据中心大二层虚拟迁移和多租户的需求的技术。
VXLAN报文:是采用VXLAN技术将虚拟网络的数据帧添加VXLAN首部后,封装在物理网络中的用户数据报协议(user datagram protocol,UDP)报文中,生成的一个包括外层VXLAN封装与内层原始报文的报文。
本公开的应用场景
本公开实施例提出了一种网络流量统计方案。整个网络流量统计方案相对较为通用,可以用于使用隧道通信技术在云计算系统进行报文通信的各种硬件设备,例如,用于数据中心、用于AI(人工智能)加速单元,用于GPU(图形处理单元),用于能执行深度学习模型的IOT(物联网)设备,嵌入式设备等。网络流量统计方法与执行该网络流量统计方法的处理单元最终部署在的硬件无关。但为了示例性描述,下文中将主要以物联网为应用场景进行描述。本领域技术人员应当理解,本公开实施例还可以适用于其它的应用场景。
物联网整体架构
图1是本公开一个实施例所应用的物联网(IoT)100的系统架构图。
云计算系统101可以是虚拟私有云,可以表示互联网,或者可以是局域网(LAN)、或广域网(WAN),诸如公司的专有网络。云计算中的核心是计算能力的虚拟化,通过虚拟化,分散在各个物理服务器中的计算能力被整合到一起,以统一的资源池的形式向所有租户提供服务。在一些实施例中,租户是云计算系统101的资源的使用者,对应于一个或多个虚拟专有网络的管理实体。不同的租户可以属于不同的公司或不同的部门。云计算系统101上的租户资源一般通过虚拟网络技术隔离,云计算系统101可以虚拟化为多个虚拟专有网络,每个租户可以有一个或多个虚拟专有网络。虚拟专有网络之间在网络上隔离,虚拟专有网络内部的资源网络互通,保证了用户的网络安全。虚拟私有云通过隧道通信技术在隧道入口设备和隧道出口设备间实现报文通信,进而可以实现与公网或者用户私有IDC(InternetData Center)或物联网(IoT,Internet of things)设备等的通信。
如从图1中可以看出,大量IoT装置可以通过云计算系统101进行通信,这可以允许不同的IoT装置自主地向其他装置请求或提供信息。例如,交通控制组206可以从远程气象站组214请求当前天气预报,所述远程气象站组可以在没有人为干预的情况下提供预报。进一步地,可以由自动柜员机220向应急车辆224警告正在发生盗窃。当应急车辆224朝向自动柜员机220前进时,其可以访问交通控制组206以请求准许到达所述位置,例如,通过灯变红以在交叉路口阻止交叉车流足够的时间从而使应急车辆224无阻碍地进入交叉路口。
在一些实施例中,如图1所示,IoT装置可以包括以各种组合来分组的任何数量的不同类型的装置。例如,交通控制组206可以包括沿着城市中的街道的IoT装置。这些IoT装置可以包括红绿灯、交通流量监控器、相机、天气传感器等。交通控制组206或其他子组中的各IoT装置可以通过无线链路208(诸如,LPWA链路等)来与云计算系统101进行通信。进一步地,有线或无线子网络212可以允许IoT装置彼此通信,诸如通过局域网、无线局域网等。在一些实施例中,IoT装置可以使用诸如网关210等另一装置来与云计算系统101进行通信。例如,IoT装置和云计算系统101之间可以使用隧道通信技术实现报文的通信。在一些实施例中,在IoT装置向云计算系统101发送报文的过程中,IoT装置将原始报文发送至网关210,对应的,网关210接收原始报文,根据自身的转发关系表,确定下一跳设备为云计算系统101中一个服务器。网关210将原始报文封装为隧道报文(例如,VXLAN报文)后,通过网关210与服务器之间的隧道,将隧道报文发送至服务器,对应的,服务器中部署的虚拟机监视器中的虚拟交换机接收到隧道报文,将隧道报文解封装为原始报文,并将原始报文发送至服务器中部署的虚拟机。在一些实施例中,在云计算系统101向IoT装置发送报文的过程中,云计算系统101中一个服务器将原始报文发送至网关210,对应的,网关210接收原始报文,根据自身的转发关系表,确定下一跳设备为IoT装置。网关210将原始报文封装为隧道报文(例如,VXLAN报文)后,通过网关210与IoT装置之间的隧道,将隧道报文发送至IoT装置,对应的,IoT装置中部署的虚拟机监视器中的虚拟交换机接收到隧道报文,将隧道报文解封装为原始报文,并可以将原始报文发送至IoT装置中部署的虚拟机。
在一些实施例中,如图1所示,IoT装置的其他分组可以包括远程气象站214、本地信息终端216、报警系统218、自动柜员机220、报警面板222、或移动车辆,诸如应急车辆224或其他车辆226等。这些IoT装置中的每一个都可以与其他IoT装置、与服务器140、或与两者进行通信。服务器140可以部署在其他虚拟私有云中。
在一些实施例中,云计算系统101中可以包括一个或多个数据中心(图中未示出),数据中心可以设置于不同的地理区域。随着虚拟化技术的日益成熟,数据中心的服务模式也从传统的提供能源、物理服务器、网络连接等基础设施租用与托管的简单模式向基础设施即服务(Infrastructure as a Service,IaaS)的云服务模式转变。提供云计算系统101的运营商可以将数据中心的基础设施作为一种服务通过网络对外提供,并根据租户对资源的实际使用量或占用量进行计费。
图2示出了根据本公开实施例的数据中心的内部结构图。数据中心是全球协作的特定设备网络,用来在互联网网络基础设施上传递、加速、展示、计算、存储数据信息。在今后的发展中,数据中心也将会成为企业竞争的资产。在传统的大型数据中心,网络结构通常如图2所示,即互连网络模型(hierarchical inter-networking model)。这个模型包含了以下部分:
服务器140:各服务器140是数据中心的处理和存储实体,数据中心中大量数据的处理和存储都是由这些服务器140完成的。在一些实施例中,在IoT装置和服务器140之间使用隧道通信技术实现报文通信。在数据中心中,利用虚拟化技术,可以在服务器140构建一个或多个虚拟机,多个虚拟机共享同一个物理主机的物理资源,如处理器、内存、磁盘和网络设备等,从而可实现以虚拟机为粒度将一台物理主机的物理资源共享给多个租户使用,使多个租户能在安全隔离的前提下方便灵活地使用物理资源,极大提升物理资源的利用率。
接入交换机130:接入交换机130是用来让服务器140接入到数据中心中的交换机。一台接入交换机130接入多台服务器140。接入交换机130通常位于机架顶部,所以它们也被称为机顶(Top of Rack)交换机,它们物理连接服务器。
汇聚交换机120:每台汇聚交换机120连接多台接入交换机130,同时提供其他的服务,例如防火墙,入侵检测,网络分析等。
核心交换机110:核心交换机110为进出数据中心的包提供高速的转发,为汇聚交换机120提供连接性。整个数据中心的网络分为L3层路由网络和L2层路由网络,核心交换机110为通常为整个数据中心的网络提供一个弹性的L3层路由网络。
通常情况下,汇聚交换机120是L2和L3层路由网络的分界点,汇聚交换机120以下的是L2网络,以上是L3网络。每组汇聚交换机管理一个传送点(POD,Point Of Delivery),每个POD内都是独立的VLAN网络。服务器在POD内迁移不必修改IP地址和默认网关,因为一个POD对应一个L2广播域。
汇聚交换机120和接入交换机130之间通常使用生成树协议(STP,Spanning TreeProtocol)。STP使得对于一个VLAN网络只有一个汇聚层交换机120可用,其他的汇聚交换机120在出现故障时才被使用(上图中的虚线)。也就是说,在汇聚交换机120的层面,做不到水平扩展,因为就算加入多个汇聚交换机120,仍然只有一个在工作。
计算装置
图3示出了本公开一个实施例的服务器140(计算装置141或片上系统142或IoT设备143)的内部结构图。如图3所示,计算装置141可以包括一个或多个处理器32,以及存储器39。计算装置141中的存储器39可以是主存储器(简称为主存或内存),用于存储由数据信号表示的指令信息和/或数据信息,也可以用于实现处理器32与外部存储设备36(或称为辅助存储器或外部存储器)之间的数据交换。
在一些情形下,处理器32可能需要访问存储器39,以获取存储器39中的数据或对存储器39中的数据进行修改。由于存储器39的访问速度较慢,为了缓解处理器32与存储器39之间的速度差距,计算装置141还包括与总线31耦合的高速缓冲存储器38,高速缓冲存储器38用于对存储器39中的一些可能会被反复调用的程序数据或者报文数据等数据进行缓存。高速缓冲存储器38例如由静态随机存储器(Static Random Access Memory,简称为SRAM)等类型的存储装置实现。
基于此,处理器32可以包括指令执行单元321、内存管理单元322等部分。指令执行单元321在执行一些需要修改内存的指令时发起写访问请求,该写访问请求指定了需要写入内存中的写入数据和相应的物理地址;内存管理单元322用于将这些指令指定的虚拟地址转译为该虚拟地址映射的物理地址,写访问请求指定的物理地址与相应指令指定的物理地址可以一致。
存储器39和高速缓冲存储器38之间的信息交互通常按块来组织。在一些实施例中,高速缓冲存储器38和存储器39可以按照相同的空间尺寸被划分成数据块,数据块可以作为高速缓冲存储器38和存储器39之间的数据交换的最小单位(包括预设长度的一个或多个数据)。为了表述简洁清晰,下面将高速缓冲存储器38中的各个数据块简称为缓存块(可以称为cacheline或高速缓存线),且不同的缓存块具有不同的缓存块地址;将存储器39中的各个数据块简称为内存块,且不同的内存块具有不同的内存块地址。缓存块地址例如包括用于定位数据块的物理地址标签。
由于受到空间和资源的限制,高速缓冲存储器38无法对存储器39中的全部内容都进行缓存,即高速缓冲存储器38的存储容量通常小于存储器39,高速缓冲存储器38提供的各个缓存块地址无法对应存储器39提供的全部内存块地址。处理器32在需要访问内存时,首先经总线31访问高速缓冲存储器38,以判断所要访问的内容是否已被存储于高速缓冲存储器38中,如果是,则高速缓冲存储器38命中,此时处理器32直接从高速缓冲存储器38中调用所要访问的内容;如果处理器32需要访问的内容不在高速缓冲存储器38中,则处理器32需要经总线31访问存储器39,以在存储器39中查找相应的信息。因为高速缓冲存储器38的存取速率非常快,因此当高速缓冲存储器38命中时,处理器32的效率可以显著提高,进而也使整个计算装置141的性能和效率得以提升。
如图上所示,处理器32、高速缓冲存储器38和存储器39封装在片上系统(SoC)301中。设计人员可以对SoC架构进行配置从而使得计算装置141中的各个元件之间的通信是安全的。
在本例中,计算装置141还可以包括各种软件,图上示出了嵌入式操作系统306、加载器307、虚拟机监视器(Virtual Machine Monitor,VMM)302、虚拟机303、客户操作系统(Guest OS,又称为操作系统副本)304和应用程序(又称为Guest Software,客户软件)305。这些软件可以固化在存储器39中,也可以存储在外部存储器36中。通常情况,虚拟机303、虚拟机监视器302、加载器307和嵌入式操作系统306固化在存储器39中,客户操作系统304和应用程序305可以存储在外部存储器36中。
在一些实施例中,如图3所示,在底层硬件(即片上系统301)之上设置有虚拟机监视器302,虚拟机监视器302可以以用户程序的形态运行在物理硬件上。虚拟机监视器302是支撑虚拟机303的核心软件,它是虚拟机技术的核心,为虚拟机303提供硬件的物理资源抽象,包括虚拟处理器及其他设备,例如I/O设备、内存、外存等,从而使得上层运行的多个虚拟机303可以分时共享物理资源而不用关心硬件细节。虚拟机监视器302能够为底层硬件之上运行的多个虚拟机303提供物理内存管理和调度。另外,虚拟机监视器302甚至可以模拟实现某些硬件功能。在一些实施例中,虚拟机监视器302中设置有虚拟交换机(图中未示出),其可以将隧道报文解封装为原始报文或将原始报文封装为隧道报文,从而通过隧道通信技术实现IoT装置和云计算系统101之间的报文通信。
在一些实施例中,租户在使用数据中心服务时,并不实际的拥有对应的物理服务器等资源,而从数据中心租借虚拟机及相关的存储与网络服务获得计算能力,像使用物理服务器一样在虚拟机上部署自己的服务。数据中心的多个计算装置141中部署的虚拟机组成虚拟机资源池,该虚拟机资源池可以分为多组虚拟机,位于同一组的这些虚拟机可以位于不同的数据中心,也可以位于同一数据中心的不同计算装置141。在一些实施例中,对于一个租户来说,其可以租赁一组虚拟机,其所租赁的虚拟数据中心类似于其私有的物理数据中心,数据中心的多个租户可以共用同一个计算装置141的物理设备,从而将一台计算装置141的物理资源共享给多个租户使用,使多个租户能在安全隔离的前提下方便灵活地使用物理资源,极大提升物理资源的利用率。在一些实施例中,租户可以在计算装置141上部署应用程序305,通过应用程序305可以提供服务308。如图3所示,在虚拟机监视器302之上可以装载一个或多个虚拟机303,作为一个示例,图中示出了虚拟机1至n;租户1至n可以分别在虚拟机1至n上部署多个应用程序305,作为一种示例,图中示出了应用程序1至n,n为非0的自然数。通过应用程序305可以提供多个服务308,例如,地图、音乐、视频和DNS等服务类型,作为一个示例,图中示出了服务1至n,n为非0的自然数。每个虚拟机303独立运行在物理硬件之上,为对应的应用程序305和客户操作系统304提供运行环境。应用程序305可以是用于控制或响应外部设备(例如,生物识别传感器、打印机、麦克风、扬声器、流阀、或其他I/O部件、传感器、致动器、或设备)的程序、用于各种I/O任务的程序、安全性程序、证实程序、各种计算模块、通信程序、通信支持协议、或其他程序、或其组合。在一些实施例中,可以通过域名、IP地址、或者端口号等访问规则访问应用程序305。作为一种示例,租户可以在计算装置141部署包括域名:www.xiami.com、或IP地址:50.0.0.1等访问规则的应用程序305,从而可以通过应用程序305提供音乐服务。
在一些情况下,加载器307和嵌入式操作系统306可以合二为一。对于计算装置141的底层硬件之上设置的这些软件,可以配置加载器307用于核实并将各种软件从外部存储器36或存储器39加载到高速缓冲存储器38中。加载器307自身可以是用安全方式进行加载的软件。可以将计算装置141配置为在上电或重置后立即或很快从存储器39检索得到加载器307,然后可以基于配置信息确定将哪些软件进行加载,进而根据对于这些软件的核实结果将相应软件加载到高速缓冲存储器38中,例如基于软件来源、指纹、证书等决定是否加载某个软件。一部分应用程序305可以独立于嵌入式操作系统306,并由加载器307加载,另一部分应用程序305可以依赖于嵌入式操作系统306,由嵌入式操作系统306加载并控制其运行。
在一些实施例中,计算装置141还可以包括网络流量统计器310,网络流量统计器310可以根据隧道报文中的隧道信息,从租户、服务和应用程序这三个维度统计租户对(云服务)资源的使用量。由于根据隧道报文中的隧道信息实现统计租户的网络流量的过程将在下文中说明,故这里不再赘述。
此外,计算装置141还可以包括存储设备36、显示设备33、音频设备34、鼠标/键盘35等输入/输出设备。存储设备36例如是通过相应接口与总线31耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备33例如经相应的显卡与总线31耦合,用于根据总线31提供的显示信号进行显示。
计算装置141通常还包括通信设备37,因此可以通过各种方式与网络或其他设备通信。通信设备37例如可以包括一种或多种通信模块,作为示例,通信设备37可以包括适用于特定的无线通信协议的无线通信模块。
当然,不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线31和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器32之内或独立于处理器32。
根据本公开实施例的网络流量统计方法
根据本公开的一个实施例,提供了一种网络流量统计方法。该方法可以由网络流量统计器310执行。在计算装置141为单台计算机的情况下,网络流量统计器310是单台计算机的一部分,该网络流量统计方法由单台计算机的一部分执行。在计算装置141为多台计算机构成的集合的情况下,网络流量统计器310是单台计算机,该网络流量统计方法由单台计算机执行。在计算装置141为云的形式的情况下,网络流量统计器310是云端的一系列计算机或计算机上的部分,该网络流量统计方法由云端的一系列计算机或计算机上的部分执行。
如图4所示,根据本公开一个实施例的网络流量统计方法包括:步骤S410、获取第一隧道报文;步骤S420、确定目标设备中用于处理所述第一隧道报文的第一应用程序;步骤S430、基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户;步骤S440、基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
下面分别对以上步骤进行详细描述。
在步骤S410中,获取第一隧道报文。
在一些实施例中,在物联网的应用环境中,大量IoT装置可以通过云计算系统(即虚拟私有云)进行通信,例如,IoT装置和云计算系统之间可以使用隧道通信技术实现报文的通信。在一些示例中,云计算系统可以是隧道报文的接收端,这里的隧道报文可以是云计算系统中一个服务器中部署的虚拟机监视器中的虚拟交换机接收的报文。在另一些示例中,IoT装置可以是隧道报文的接收端,这里的隧道报文可以是IoT装置中部署的虚拟机监视器中的虚拟交换机接收的报文。在一些实施例中,IoT装置和云计算系统之间的隧道可以是虚拟可扩展局域网隧道、通用路由封装(Generic Routing Encapsulation,GRE)隧道、二层隧道协议(Layer 2Tunneling Protocol,L2TP)隧道等。在一个示例中,IoT装置和云计算系统之间的隧道是虚拟可扩展局域网隧道,隧道报文是VXLAN报文。下面以VXLAN报文为例详细说明隧道报文的数据结构。图5示出了本公开一个实施例的VXLAN报文的数据结构示意图。在一些实施例中,如图5所示,外层VXLAN隧道包头包括外层以太网头、外层IP头、外层UDP头和VXLAN头;内层原始报文包括内层以太头、内层IP头以及载荷等。其中,外层以太网头包括外层目的物理地址(media access control address,MAC)以及外层源MAC地址等;外层IP头包括外层源IP地址、外层目的IP地址以及协议号等;外层UDP头包括外层UDP源端口、外层UDP目的端口、UDP长度以及UDP校验和等;VXLAN头包括24比特(bit)的VXLAN网络标识(VXLAN network identifier,VNI)以及预留字段等,VNI用于标识一个VXLAN段,区分VXLAN网络中的不同租户。内层以太头包括内层目的MAC地址与内层源MAC地址等;内层IP头包括内层源IP地址与内层目的IP地址等。
在一些实施例中,在步骤S410之前,网络流量统计方法还包括:基于租户、服务和应用程序的业务拓扑结构,确定所述租户、服务和应用程序之间的对应关系。
虚拟私有云包括多个虚拟专有网络,每个租户可以有一个或多个虚拟专有网络,虚拟私有云可以为多个租户提供云计算资源。多个租户可以分别在虚拟私有云部署应用程序,通过应用程序提供服务。由此,应当理解,基于租户、服务和应用程序的业务拓扑结构,应用程序对应于特定的服务和特定的租户。因此,可以确定租户、服务和应用程序之间的对应关系,以租户、服务和应用程序为统计对象,从租户、服务和应用程序的维度统计租户使用的网络流量。图6示出了本公开一个实施例的租户、服务和应用程序的业务拓扑结构的示意图。在一些实施例中,如图6所示,虚拟私有云包括多个租户,每个租户在虚拟私有云上针对每个服务可以部署有多个应用程序,进而每个租户在虚拟私有云上提供多个服务。作为一种示例,图6中示出了租户1至租户m,每个租户在虚拟私有云上提供服务1至服务m,对应于每一个服务,部署有应用程序1至应用程序m,m为非0的自然数。在一些实施例中,虚拟私有云、租户、服务和应用程序之间的对应关系存储为动态链表的形式。动态链表中的表项中存储的数据结构包括:虚拟私有云标识、租户标识、服务标识和应用程序标识。可以根据应用程序标识,从匹配的表项中查询到应用程序标识所对应的服务和租户。
接着,在步骤S420中,确定目标设备中用于处理第一隧道报文的第一应用程序。
在一些示例中,在物联网的应用环境中,在IoT装置和云计算系统之间使用隧道通信技术实现报文通信的过程中,云计算系统中一个服务器可以是第一隧道报文的接收端,其上部署有第一应用程序,第一应用程序可以对解封装第一隧道报文后获得的原始报文进行处理。在另一些示例中,IoT装置可以是第一隧道报文的接收端,其上部署有第一应用程序,第一应用程序可以对解封装第一隧道报文后获得的原始报文进行处理。
在一些实施例中,步骤S420包括:基于所述隧道包头,确定所述目标设备所位于的第一虚拟私有云;基于所述原始报文,确定所述第一虚拟私有云中在所述目标设备部署所述第一应用程序的第一租户;以及基于所述原始报文,确定所述第一应用程序的标识。
在一些实施例中,参考图5所示的隧道报文的数据结构,隧道包头的UDP头可以包括外层UDP目的端口。外层UDP目的端口可以用于标识获取隧道报文的目标设备所位于的虚拟私有云,虚拟私有云的标识可以用于识别虚拟私有云,因此可以将隧道报文中的外层UDP目的端口号与虚拟私有云的标识设置为一致的参数,从而建立外层UDP目的端口号与虚拟私有云的标识之间的映射关系。当一个虚拟私有云的标识与第一隧道报文中的外层UDP目的端口号一致,则此虚拟私有云即为第一虚拟私有云。
在一些实施例中,一般采用通过建立虚拟局域网(virtual local area network,vlan)或虚拟可拓展局域网隔离虚拟私有云的网络,可以不受网络用户的物理位置限制而根据租户需求将虚拟私有云的网络划分为多个网络片段。例如,将虚拟私有云的网络划分为多个IP地址范围,不同的网络片段可以分配给不同的租户,从而可以建立网络片段与租户标识之间的映射关系。在一些实施例中,参考图5所示的隧道报文的数据结构,内层原始报文的内层IP头包括内层源IP地址与内层目的IP地址。在一些实施例中,内层源IP地址可以是IoT设备的IP地址,内层目的IP地址可以是为IoT设备提供服务的服务器的IP地址。在另一些实施例中,内层源IP地址可以是为IoT设备提供服务的服务器的IP地址,内层目的IP地址可以是IoT设备的IP地址。因此,可以将第一隧道报文中的内层源IP地址和/或内层目的IP地址与第一虚拟私有云的多个网络片段对应的多个IP地址范围进行比较,从而获取该内层源IP地址和/或内层目的IP地址所对应的网络片段,然后可以基于预设的网络片段与租户标识之间的映射关系,将所获取的网络片段对应的租户确定为第一租户。
在一些实施例中,在基于原始报文,确定第一应用程序的标识之前,网络流量统计方法还包括:建立应用链接关系表。应用链接关系表的第一表项中存储的数据结构包括源IP地址、目的IP地址、应用程序标识和报文的传输方向。在一些实施例中,参考图5所示的隧道报文的数据结构,内层原始报文的内层IP头包括内层源IP地址与内层目的IP地址。因此,可以遍历应用链接关系表,获取与第一隧道报文的内层源IP地址和内层目的IP地址匹配的第一表项,基于匹配的第一表项,确定第一应用程序的标识和第一隧道报文的传输方向。在一些实施例中,第一隧道报文的内层源IP地址与第一表项中存储的源IP地址一致,且第一隧道报文的内层目的IP地址和第一表项中存储的目的IP地址一致,基于匹配的第一表项,将第一表项中存储的应用程序标识确定为第一应用程序的标识,将第一表项中存储的报文传输方向确定为第一隧道报文的传输方向。
在一些实施例中,在确定第一应用程序的标识之前,所述网络流量统计方法还包括:建立应用规则表。应用规则表的第二表项中存储的数据结构包括应用程序的第一规则描述和第二规则描述。其中,第一规则描述包括第一源IP地址、第一目的IP地址、应用程序标识和第一报文传输方向;第二规则描述包括第二源IP地址、第二目的IP地址、应用程序标识和第二报文传输方向。这里的第一源IP地址与第二目的IP地址一致,第一目的IP地址与第二源IP地址一致,第一报文传输方向与第二报文传输方向相反。在一些实施例中,参考图5所示的隧道报文的数据结构,内层原始报文的内层IP头包括内层源IP地址与内层目的IP地址。因此,可以遍历应用规则表,获取与内层源IP地址和内层目的IP地址匹配的第二表项中的第一规则描述或第二规则描述,基于匹配的第一规则描述或第二规则描述,确定第一应用程序的标识和第一隧道报文的传输方向。在一些实施例中,第一隧道报文的内层源IP地址与第一规则描述中存储的第一源IP地址一致,且第一隧道报文的内层目的IP地址和第一规则描述中存储的第一目的IP地址一致,基于匹配的第二表项的第一规则描述,将第二表项的第一规则描述中存储的应用程序标识确定为第一应用程序的标识,将第二表项的第一规则描述中存储的第一报文传输方向确定为第一隧道报文的传输方向。在一些实施例中,第一隧道报文的内层源IP地址与第二规则描述中存储的第二源IP地址一致,且第一隧道报文的内层目的IP地址和第二规则描述中存储的第二目的IP地址一致,基于匹配的第二表项的第二规则描述,将第二表项的第二规则描述中存储的应用程序标识确定为第一应用程序的标识,将第二表项的第二规则描述中存储的第二报文传输方向确定为第一隧道报文的传输方向。
在一些实施例中,确定基于原始报文第一应用程序的标识之前,所述网络流量统计方法还包括:建立全局应用规则表。全局应用规则表的第三表项中存储的数据结构可以包括应用程序的访问规则与应用程序标识之间的映射关系,应用程序的访问规则可以包括原始报文的协议号、端口号、源IP地址和目的IP地址等。在一些实施例中,参考图5所示的隧道报文的数据结构,内层原始报文包括载荷,载荷中可以存储处理隧道报文的应用程序的访问规则。因此,可以遍历全局应用规则表,如果第一隧道报文中存储有与第三表项匹配的应用程序的访问规则,则将匹配的应用程序的访问规则所对应的应用程序标识确定为第一应用程序的标识。
在一些实施例中,为了确定第一应用程序的标识,可以优先遍历应用链接关系表,在应用链接关系表中存储与第一隧道报文的内层源IP地址和内层目的IP地址匹配的第一表项的情况下,基于匹配的第一表项,确定第一应用程序的标识和第一隧道报文的传输方向;在应用链接关系表中未存储与第一隧道报文的内层源IP地址和内层目的IP地址匹配的第一表项的情况下,才遍历应用规则表,在应用规则表中存储有与第一隧道报文的内层源IP地址和内层目的IP地址匹配第二表项的第一规则描述或第二规则描述的情况下,基于匹配的第一规则描述或第二规则描述,确定第一应用程序的标识和第一隧道报文的传输方向;在应用规则表未存储与第一隧道报文的内层源IP地址和内层目的IP地址匹配的第二表项的情况下,才会遍历全局应用规则表,在第一隧道报文中存储有与第三表项匹配的应用程序的访问规则的情况下,则将匹配的应用程序的访问规则所对应的应用程序标识确定为第一应用程序的标识。
在步骤S430中,基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户。
如上文所述的那样,在确定第一应用程序的标识的情况下,基于图6所示的租户、服务和应用程序的业务拓扑结构,可以查询存储有租户、服务和应用程序之间的对应关系的动态链表,基于匹配的表项,确定第一应用程序所对应的第一服务和第一租户。
在步骤S440中,基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
在一些实施例中,第一隧道报文中载荷的数据量可以作为第一应用程序的网络流量统计值的更新值,将第一应用程序的网络流量统计值与该更新值的和值作为第一应用程序的更新的网络流量统计值。同样的,在确定第一应用程序的网络流量统计值的更新值的情况下,该更新值也可以作为第一服务的网络流量统计值的更新值,将第一服务的网络流量统计值与该更新值的和值作为第一服务的更新的网络流量统计值。同样的,在确定第一应用程序的网络流量统计值的更新值的情况下,该更新值还可以作为第一租户的网络流量统计值的更新值,将第一租户的网络流量统计值与该更新值的和值作为第一租户的更新的网络流量统计值。
在一些实施例中,第一应用程序的网络流量统计值包括流入第一应用程序的上行流量统计值、流出第一应用程序的下行流量统计值和流经第一应用程序的总流量统计值。因此,可以基于第一隧道报文中载荷的数据量以及第一隧道报文传输方向更新第一应用程序的上行流量统计值、下行流量统计值和总流量统计值,进而,可以更新与第一应用程序对应的第一服务的上行流量统计值、下行流量统计值和总流量统计值,还可以更新与第一应用程序对应的第一租户的上行流量统计值、下行流量统计值和总流量统计值。
根据本公开实施例的网络流量统计装置
根据本公开的一个实施例,还提供了一种网络流量统计装置。它可以是图3所示的网络流量统计器310。如图7所示,该网络流量统计装置可以包括:
获取单元710,用于获取第一隧道报文。应用程序确定单元720,用于确定目标设备中用于处理所述第一隧道报文的第一应用程序。服务和租户确定单元730,用于基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户。统计单元740,用于基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
由于上述网络流量统计装置的实现细节在上文的方法实施例的详细介绍中已经描述,为节约篇幅,故不赘述。
本公开的商业价值
本公开实施例中,可以在确定第一应用程序的网络流量统计值的更新值的情况下,无需额外的硬件设备即可根据租户、服务和应用程序之间的对应关系,更新第一应用程序所对应的第一服务的网络流量统计值以及第一租户的网络流量统计值,从而提高了云计算系统的多租户场景下网络流量统计对象的多样性,支持从租户、服务和应用程序的维度对租户进行流量统计。在此场景下,通过减少计算装置部署的硬件设备,从而降低计算装置的成本,进而降低整个数据中心的运行成本。本公开实施例使整个数据中心的运行成本降低,因而具备了良好的商业价值和经济价值。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAn)或广域网(WAn)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (12)
1.一种网络流量统计方法,包括:
获取第一隧道报文;
确定目标设备中用于处理所述第一隧道报文的第一应用程序;
基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户;
基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
2.根据权利要求1所述的网络流量统计方法,其中,所述获取第一隧道报文之前,所述网络流量统计方法还包括:
基于租户、服务和应用程序的业务拓扑结构,确定所述租户、服务和应用程序之间的对应关系。
3.根据权利要求1所述的网络流量统计方法,其中,所述第一隧道报文包括隧道包头和原始报文,所述确定目标设备中用于处理所述第一隧道报文的第一应用程序包括:
基于所述隧道包头,确定所述目标设备所位于的第一虚拟私有云;
基于所述原始报文,确定所述第一虚拟私有云中在所述目标设备部署所述第一应用程序的第一租户;以及
基于所述原始报文,确定所述第一应用程序的标识。
4.根据权利要求3所述的网络流量统计方法,其中,所述隧道包头包括外层用户数据报协议头,所述外层用户数据报协议头包括外层用户数据报协议目的端口,所述基于所述隧道包头,确定所述目标设备所位于的第一虚拟私有云包括:
基于预设的外层用户数据报协议目的端口号与虚拟私有云标识之间的映射关系,确定所述第一隧道报文中所述外层用户数据报协议目的端口所对应的虚拟私有云为所述第一虚拟私有云。
5.根据权利要求3所述的网络流量统计方法,其中,所述第一虚拟私有云的网络划分为多个网络片段,不同的网络片段分配给不同的租户,所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一虚拟私有云中在所述目标设备部署所述第一应用程序的第一租户包括:
获取所述内层源IP地址或所述内层目的IP地址所属于的网络片段;
基于预设的网络片段与租户标识之间的映射关系,将所述获取的网络片段对应的租户确定为所述第一租户。
6.根据权利要求3所述的网络流量统计方法,其中,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立应用链接关系表,所述应用链接关系表的第一表项中存储的数据结构包括源IP地址、目的IP地址、应用程序标识和报文传输方向;
所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述应用链接关系表,获取与所述内层源IP地址和内层目的IP地址匹配的第一表项,基于所述匹配的第一表项,确定所述第一应用程序的标识和所述第一隧道报文的传输方向。
7.根据权利要求3所述的网络流量统计方法,其中,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立应用规则表,所述应用规则表的第二表项中存储的数据结构包括应用程序的第一规则描述和第二规则描述,所述第一规则描述包括第一源IP地址、第一目的IP地址、应用程序标识和第一报文传输方向,所述第二规则描述包括第二源IP地址、第二目的IP地址、应用程序标识和第二报文传输方向,所述第一源IP地址与所述第二目的IP地址一致,所述第一目的IP地址与所述第二源IP地址一致,所述第一报文传输方向与所述第二报文传输方向相反,
所述原始报文包括内层IP头,所述内层IP头包括内层源IP地址和内层目的IP地址,所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述应用规则表,获取与所述内层源IP地址和内层目的IP地址匹配的第二表项中的第一规则描述或第二规则描述,基于所述匹配的第一规则描述或第二规则描述,确定所述第一应用程序的标识和所述第一隧道报文的传输方向。
8.根据权利要求3所述的网络流量统计方法,其中,所述基于所述原始报文,确定所述第一应用程序的标识之前,所述网络流量统计方法还包括:
建立全局应用规则表,所述全局应用规则表的第三表项中存储的数据结构包括应用程序访问规则与应用程序标识之间的映射关系;
所述基于所述原始报文,确定所述第一应用程序的标识包括:
遍历所述全局应用规则表,如果所述原始报文中存储有与所述第三表项匹配的应用程序访问规则,则基于所述匹配的应用程序访问规则确定所述第一应用程序的标识。
9.一种网络流量统计装置,包括:
获取单元,用于获取第一隧道报文;
应用程序确定单元,用于确定目标设备中用于处理所述第一隧道报文的第一应用程序;
服务和租户确定单元,用于基于租户、服务和应用程序之间的对应关系,确定所述第一应用程序提供的第一服务和在所述目标设备部署所述第一应用程序的第一租户;
统计单元,用于基于所述第一隧道报文中载荷的数据量,分别更新所述第一应用程序的网络流量统计值、所述第一服务的网络流量统计值和所述第一租户的网络流量统计值。
10.一种计算装置,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现权利要求1-8中任一个所述的方法。
11.一种片上系统,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现权利要求1-8中任一个所述的方法。
12.一种计算机可读介质,包括计算机可执行代码,所述计算机可执行代码被处理器执行时实现权利要求1-8中任一个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490928.9A CN114389905B (zh) | 2021-12-08 | 2021-12-08 | 网络流量统计方法、相关装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490928.9A CN114389905B (zh) | 2021-12-08 | 2021-12-08 | 网络流量统计方法、相关装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114389905A CN114389905A (zh) | 2022-04-22 |
CN114389905B true CN114389905B (zh) | 2023-10-13 |
Family
ID=81196093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111490928.9A Active CN114389905B (zh) | 2021-12-08 | 2021-12-08 | 网络流量统计方法、相关装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114389905B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827623A (zh) * | 2022-09-27 | 2024-04-05 | 中兴通讯股份有限公司 | 应用程序的拨测方法、电子设备、计算机可读介质 |
CN118075107A (zh) * | 2022-11-14 | 2024-05-24 | 华为云计算技术有限公司 | 基于云计算技术的云服务部署方法及云管理平台 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100195B1 (en) * | 1999-07-30 | 2006-08-29 | Accenture Llp | Managing user information on an e-commerce system |
CN104079508A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 消息处理方法及装置 |
CN104145458A (zh) * | 2012-12-09 | 2014-11-12 | 华为技术有限公司 | 一种转发报文的方法、装置和数据中心网络 |
CN105281981A (zh) * | 2015-11-04 | 2016-01-27 | 北京百度网讯科技有限公司 | 网络服务的数据流量监控方法和装置 |
CN106603256A (zh) * | 2015-10-14 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种流量控制方法及装置 |
CN107241294A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 网络流量的处理方法及装置、清洗设备、网络设备 |
CN109995639A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置、交换机及存储介质 |
CN111865815A (zh) * | 2020-09-24 | 2020-10-30 | 中国人民解放军国防科技大学 | 一种基于联邦学习的流量分类方法及系统 |
CN113301075A (zh) * | 2020-05-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 流量控制方法、分布式系统、设备及存储介质 |
CN113301076A (zh) * | 2020-05-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 流量控制方法、分布式系统、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268656A1 (en) * | 2012-04-10 | 2013-10-10 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
US20150066759A1 (en) * | 2013-08-27 | 2015-03-05 | Connectloud, Inc. | METHOD AND APPARATUS FOR GAUGING NETWORK TRAFFIC FLOW FOR SOFTWARE DEFINED NETWORKS WITHIN A SOFTWARE DEFINED CLOUDd |
WO2015071888A1 (en) * | 2013-11-18 | 2015-05-21 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-tenant isolation in a cloud environment using software defined networking |
US10142353B2 (en) * | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10237090B2 (en) * | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
-
2021
- 2021-12-08 CN CN202111490928.9A patent/CN114389905B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100195B1 (en) * | 1999-07-30 | 2006-08-29 | Accenture Llp | Managing user information on an e-commerce system |
CN104145458A (zh) * | 2012-12-09 | 2014-11-12 | 华为技术有限公司 | 一种转发报文的方法、装置和数据中心网络 |
CN104079508A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 消息处理方法及装置 |
CN106603256A (zh) * | 2015-10-14 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种流量控制方法及装置 |
CN105281981A (zh) * | 2015-11-04 | 2016-01-27 | 北京百度网讯科技有限公司 | 网络服务的数据流量监控方法和装置 |
CN107241294A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 网络流量的处理方法及装置、清洗设备、网络设备 |
CN109995639A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置、交换机及存储介质 |
CN113301075A (zh) * | 2020-05-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 流量控制方法、分布式系统、设备及存储介质 |
CN113301076A (zh) * | 2020-05-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 流量控制方法、分布式系统、设备及存储介质 |
CN111865815A (zh) * | 2020-09-24 | 2020-10-30 | 中国人民解放军国防科技大学 | 一种基于联邦学习的流量分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114389905A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778532B2 (en) | Overlay network movement operations | |
US10541836B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
EP4183120B1 (en) | Interface-based acls in an layer-2 network | |
US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
US10237230B2 (en) | Method and system for inspecting network traffic between end points of a zone | |
CN106998286B (zh) | 一种vxlan报文转发方法及装置 | |
US10476699B2 (en) | VLAN to VXLAN translation using VLAN-aware virtual machines | |
CN105519080B (zh) | 用于在网络层2对等方之间交换ip分组的方法和装置 | |
CN111885075A (zh) | 容器通信方法、装置、网络设备及存储介质 | |
CN112702252A (zh) | 一种报文处理方法、系统及相关设备 | |
US20140254603A1 (en) | Interoperability for distributed overlay virtual environments | |
CN109716717A (zh) | 从软件定义的网络控制器管理虚拟端口信道交换机对等体 | |
CN103200069A (zh) | 一种报文处理的方法和设备 | |
CN114389905B (zh) | 网络流量统计方法、相关装置和介质 | |
CN110311860B (zh) | Vxlan下多链路负载均衡方法及装置 | |
EP4272379B1 (en) | Layer-2 networking using access control lists in a virtualized cloud environment | |
CN106453023A (zh) | 一种用于物理设备与虚拟网络的通信方法、设备与系统 | |
CN110505095B (zh) | 一种使用少量服务器搭建大规模虚拟数据中心的方法 | |
EP4272383B1 (en) | Layer-2 networking information in a virtualized cloud environment | |
CN116648691A (zh) | 在虚拟化的云环境中使用访问控制列表的层2网络 | |
CN116648892A (zh) | 虚拟化云环境中的层2联网风暴控制 | |
CN116711270A (zh) | 虚拟化的云环境中的层2联网信息 | |
CN116830547A (zh) | 虚拟化云环境中的层2联网跨越端口 |
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 |