CN112866075B - 面向Overlay网络的带内网络遥测方法、系统及相关装置 - Google Patents
面向Overlay网络的带内网络遥测方法、系统及相关装置 Download PDFInfo
- Publication number
- CN112866075B CN112866075B CN202011520674.6A CN202011520674A CN112866075B CN 112866075 B CN112866075 B CN 112866075B CN 202011520674 A CN202011520674 A CN 202011520674A CN 112866075 B CN112866075 B CN 112866075B
- Authority
- CN
- China
- Prior art keywords
- int
- header
- network
- information
- data packet
- 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
Images
Classifications
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了面向Overlay网络的带内网络遥测方法、系统及相关装置,系统搭建基于VXLAN协议的Overlay网络,使用INT技术实现面向Overlay的网络状态信息监测功能。在虚拟大二层网络中,定义VXLAN over INT报文封装格式,通过构造INT探测数据包进行随路监测,从而确定Overlay网络与Underlay网络的映射关系,并获知物理链路上设备侧的逐跳时延信息;控制器通过查询Overlay网络通信两端虚拟机ID即可迅速获得该链路的传输路径和网络质量信息。
Description
技术领域
本发明属于新一代通信技术领域,具体涉及面向Overlay网络的带内网络遥测装置、系统及相关装置。
背景技术
随着云计算的蓬勃发展,数据中心和企业网络的服务模式也在向云服务模式转变。虚拟化技术作为云计算最为显著的特征,可以有效提高资源利用率、节约能源,降低了数据中心运维成本。但同时,虚拟机增多和虚拟机频繁动态迁移问题也随之出现。要满足虚拟机在任意网络位置之间的无感知迁移,就需要在数据中心部署大二层网络,传统的网络已经不能很好满足需求,为此,以虚拟扩展局域网(Virtual eXtensible Local AreaNetwork,VXLAN)技术为代表的Overlay网络方案应运而生。
Overlay网络是在现有物理网络基础上构建的具有独立控制平面和数据平面的虚拟网络。对于连接到Overlay网络的终端设备而言,物理网络是透明的。Overlay网络技术在不改变原始架构的基础上为云业务提供支撑,可以部署对网络拓扑有特定要求的应用。VXLAN是Overlay网络领域的重要实现技术,它是一种隧道模式的网络覆盖技术,如图1所示。VNI相同时虚拟机(VM)之间方可相互通信;VNI和VXLAN隧道只有隧道端点VTEP可见,对于虚拟机而言是透明的;未知目的、广播、组播等网络流量均被封装为组播转发。VXLAN采用“MAC in UDP”的报文封装模式,如图2所示,再添加外部以太报头(Outer MAC Header)和外部IP报头(Outer IP Header),将原始以太网报文和VXLAN报头封装成UDP报文进行隧道传输。VXLAN等Overlay网络应用较好地满足了数据中心规模扩大、虚拟机灵活迁移和租户隔离的需求。由于VXLAN隧道是一种虚拟通道,通信双方认为自己是直接通信,无法感知相应Underlay网络的存在。VXLAN隧道终点(VXLAN Tunnel End Point,VTEP)部署在VXLAN网络边缘,负责连接租户网络与VXLAN网络,进行报文的封装和解封装,屏蔽了虚拟机对VXLAN网络的感知。VXLAN网络标识符(VXLAN Network Identifier,VNI)和其它相关封装信息只有VTEP可见。VXLAN作为虚拟网络技术,实现了承载网络和服务网络的分离,使虚拟网络可以按需要灵活扩展部署,增加了租户数量,扩大了虚拟机迁移范围,解决了云计算中海量租户隔离的问题,更好地满足数据中心部署大二层网络的需求。
与此同时,随着数据中心Overlay网络的不断应用和快速发展,Overlay网络共享相同的底层Underlay网络,但是对于用户和业务来说,底层网络是完全透明的。如图3所示,多个Overlay网络具有大二层透明服务机制(Layer 2transparent service),虚线下为覆盖的Underlay网络。Overlay网段两端虚拟机无法看到虚线下对应的网络拓扑,也就无法获知VXLAN的实现细节以及通信过程。虚拟化技术使网络监控变得复杂化,网络复杂性和监测难度也在不断增加。对数据中心网络进行实时准确的监测,有助于发现网络瓶颈,优化网络配置,定位潜在危险,提供网络服务质量的验证和控制,更加有效地进行网络性能管理。带内网络遥测(In-band Network Telemetry,INT)方法具有复杂而灵活的遥测机制,有助于解决日益庞大的网络活动监测问题。但INT技术仅仅定义了遥测报文格式和在每个设备上搜集信息的方式,但是在监测Overlay网络时,标准监测设备看不到外部报头,含有遥测指令的探测包无法解决网络转发路径的获取问题,报文中链路设备信息没有得到有效提取和保存。如图3所示,当VTEP1连接的虚拟机与VTEP2连接的虚拟机进行通信时,探测数据包在对应Underlay网络中转发,依次经过交换机S1、S5、S9、S6、S2,进行设备信息探测。然而当VTEP2接收到数据包后,仅保留原始报文,其余报文被剥除,INT探测信息因而丢失。因此,典型的INT方法不能处理隧道流量,无法直接应用于Overlay网络监测,难以进行网络的有效监测。
然而,目前的INT技术仅仅定义了如何使用探测包提取设备的内部状态,只能基于Underlay网络来获取和汇报网络链路信息,然而数据中心使用Overlay网络运行各项业务。理论上Overlay网络本身覆盖的Underlay网络对于虚拟机或服务器来说是透明的,未知网络拓扑结构,而含有遥测指令的INT探测包无法预先确定监测路径。所以,如何利用带内网络遥测方法高效地监控和管理数据中心Overlay网络流量、获取网络链路设备的监测信息成为亟待解决的技术挑战。
PingMesh是微软应用于Azure数据中心的全量Ping测试技术,主要由PingMesh控制器、PingMesh代理、数据存储与分析三部分构成。PingMesh能够在Overlay网络的任意两个服务器之间运行Ping测试,获得任何时候的网络延时,可视化地去显示任意两个端点之间的连接状况。
PingMesh技术只能探测到整条链路端到端的时延情况,但是无法解决逐跳(Hop-by-hop)探测问题,即探测不到路由器或交换机等网络设备侧的逐跳时延;PingMesh技术虽然能够检测Overlay网络中线故障网络,但是无法获知具体位置,而良好的故障排除需要网络可见性,需要获知传输路径。
发明内容
为了解决上述技术问题,本发明提出了一种面向Overlay网络的带内网络遥测方法,本发明可以根据Overlay网络的两端虚拟机ID(IP/VTEP Pair)迅速获取Underlay网络的端到端链路状态,解决Overlay网络转发路径和转发时延不可见问题,实现网络业务的端到端流量可视化,从而满足Overlay网络的监测需求。
本申请通过以下方案实现上述效果:面向Overlay网络的带内网络遥测方法,所述遥测方法包括以下步骤:
步骤一,源端设备节点向终端设备节点发送数据包,所述数据包中包含了源端设备节点和终端设备节点的IP和MAC地址信息;
步骤二,源端设备节点连接的VTEP节点收到所述数据包,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包;
步骤三,链路中的交换设备根据封装后INT报头信息,对所述INT探测数据包进行处理,插入包含设备内部状态信息的INT元数据,探测数据包经过Overlay网络对应的Underlay网络,从源端设备节点连接的VTEP节点传输到达终端设备节点连接的VTEP节点;
步骤四,终端设备节点连接的VTEP节点接收到探测数据包后,交换设备匹配INTHeader插入最后一个INT元数据,将INT Header拆除,同时提取全部遥测信息上传到控制器;终端设备节点收到数据包,传输完成。
进一步的,所述步骤二中,源端设备节点连接的VTEP节点将该数据包添加VXLAN首部、外部UDP首部、外部IP首部、外部Ether首部,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包,发送给终端设备节点连接的VTEP节点。
进一步,所述步骤二完成时,源端设备节点连接的VTEP节点即为带内网络遥测系统的第一个交换节点,INT方法通过在该节点上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要将INT头部所指定的遥测信息封装成元数据INT Meta_1插入到INT Header之后;所述链路中的交换设备根据封装后INT报头信息,对探测数据包进行如下处理:探测数据包转发到交换机Switch1时,所述交换机Switch1匹配INT Header后插入元数据INTMeta_2;探测数据包转发到交换机Switch2时,设备匹配INT Header后插入元数据INTMeta_3。
本申请还提供面向Overlay网络的带内网络遥测系统,所述遥测系统包括:
信息采集模块,所述信息采集模块部署于终端设备,其向数据层发送INT探测报文,通过所述INT探测报文在转发的过程中收集内置交换机信息,并对消息监听模块传送的数据进行解析;
控制模块,所述控制模块是部署于控制器,其用于实现交换机配置、流表下发、采集监测周期设置控制功能,并且所述控制模块在控制层维护一个数据库用于存储数据层获取的网络监测信息;
数据平面,即所述遥测系统的数据层,所述数据平面用于处理和转发交换机各不同端口上各种类型的数据;基于P4语言自定义交换机对数据包的处理流程,使数据层交换机能够支持VXLAN和INT功能,INT探测包在被转发的过程中收集交换设备的内部状态信息;
消息监听模块,所述消息监听模块用于维护控制层和数据层之间的通信连接。
进一步的,所述信息采集模块对接收的数据包进行解析,获取排队时延、传输路径信息;并且根据传输路径,实现Overlay网络和Underlay网络的映射,获取底层链路路径信息。
进一步的,所述控制模块每当抓取到INT探测数据包之后,从中提取出源端和终端设备节点的ID作为Key,解析后遥测信息作为Value,将Key-Value键值对存储到数据库INT_INFO中的数据表之中;所述遥测信息由探测数据包中的INT元数据解析或计算得到,控制器通过查询Overlay网络两端的IP Pair获取端到端的链路逐跳质量信息。
更进一步的,所述INT探测包在被转发的过程中收集内置交换机信息,所述交换机信息包括交换机ID、出入端口ID、出入口时间戳、出入队列时间戳、队列深度。
进一步的,所述消息监听模块用于监听来自数据平面消息,解析出信息类型,并将消息传送至信息采集模块进行相应的处理;同时,消息监听模块接收控制模块的请求,将其发送给对应的数据层交换机,实现控制层对数据层的控制。
更进一步的,所述INT探测数据包为:源端设备节点连接的VTEP节点将报文添加VXLAN报头、外部UDP报头、外部IP报头和外部以太报头,在VXLAN报头和原始二层报文之间插入INT报头,构成INT探测数据包。
本申请请求保护一种计算机可读存储介质,存储有计算机可执行指令,存储有计算机可执行指令,所述计算机可执行指令用于执行上述的解决并发访问网元的受限问题的方法。
有益效果
1、本发明提出的遥测系统中,INT探测数据包在到达Overlay网络终点以后通过交换机与控制层建立的Socket连接发送给控制层,通过查询Overlay网络两端ID可以迅速获取链路端到端的逐跳质量信息;
2、通过本发明提出的方法,利用自定义INT探测包,结合P4数据平面处理逻辑,能够查询Overlay网络的逐跳质量信息,即可发现异常数据及所在链路具体位置,可以快速获取Overlay网络传输路径、准确定位故障位置;
3、本发明提出的方法可以有效结合VXLAN和INT技术,在Overlay网络传输过程中,从而实现Overlay网络的细粒化监控,结合采集的微秒级单跳时延信息,实现了高精度的Overlay网络监测。
附图说明
图1为现有技术中VXLAN网络隧道模式的模型结构图;
图2为现有技术中VXLAN报文结构示意图;
图3为现有技术中底层Underlay网络与Overlay网络架构图;
图4为本发明面向Overlay网络的带内网络遥测方法整体架构图;
图5为INT over VXLAN数据包的报文结构示意图;
图6为VXLAN_GPE报头封装结构示意图;
图7为用于VXLAN GPE封装的INT报头结构示意图;
图8为INT数据包结构示意图;
图9为INT over VXLAN数据包解析流程图;
图10为INT over VXLAN解析部分代码;
图11为Overlay网络中INT探测包的信息采集流程图;
图12为FatTree测试拓扑图;
图13为INT探测信息数据示意图。
具体实施方式
下面结合附图和具体实例对本发明做更进一步的解释:
本发明提出了面向Overlay网络的带内网络遥测方法,搭建基于VXLAN协议的Overlay网络,使用INT技术实现面向Overlay的网络状态信息监测功能。在虚拟大二层网络中,定义VXLAN over INT报文封装格式,通过构造INT探测数据包进行随路监测,从而确定Overlay网络与Underlay网络的映射关系,并获知物理链路上设备侧的逐跳时延信息。控制器通过查询Overlay网络通信两端虚拟机ID即可迅速获得该链路的传输路径和网络质量信息。
实施例1
面向Overlay网络的带内网络遥测系统
面向Overlay网络的带内网络遥测系统的架构如图4所示,主要包括信息采集模块、控制模块、数据平面和消息监听部分。INT探测数据包能够像普通的网络数据包一样在网络中转发,到达终点以后通过交换机与控制层建立的Socket连接发送给控制层,从而可以根据接收到的信息从中解析得到交换机的状态信息。各个模块没有明确的界限,紧密联系,相互协作,实现对Overlay网络状态的实时准确监测。
本发明提出的面向Overlay网络的带内网络遥测的架构,基于P4数据平面进行网络监测信息的采集、监听和控制。信息采集模块通过INT探测数据包的随路采集功能,获得Overlay网络与Underlay网络的对应关系;控制模块通过查询Overlay网络的两端IP Pair,可以迅速获取端到端的链路逐跳质量信息。
信息采集模块主要用于周期性采集网络状态信息。由于通过P4定义了数据平面上报文的处理流程,因此信息采集模块可以向数据层发送探测报文,通过探测报文在转发的过程中收集队列深度等内置交换机信息,并对消息监听部分传送的数据进行解析,从而获取排队时延、传输路径等信息。根据传输路径,信息采集模块可以实现Overlay网络和Underlay网络的映射,获取底层链路路径信息。
控制模块主要用于实现交换机配置、流表下发、采集监测周期设置等控制功能。控制层维护一个数据库用于存储数据层获取的网络监测信息。控制模块会为单独启动一个进程,每当抓取到探测数据包之后,都会从中提取出两端ID(IP/VTEP Pair)作为Key,解析后的设备侧遥测信息作为Value,将Key-Value键值对存储到数据库INT_INFO中。其中,遥测信息由INT元数据解析或计算得到。控制器可以通过查询Overlay网络两端的IP Pair迅速获取端到端的链路逐跳质量信息。
数据平面上使用P4语言自定义交换机对数据包的处理流程,使数据层交换机能够支持VXLAN和INT功能。探测报文在被转发的过程中收集内置交换机信息,这些信息包括交换机ID、出入端口ID、出入口时间戳、出入队列时间戳、队列深度等。
消息监听部分负责维护控制层和数据层之间的通信连接。控制层和数据层之间通过Socket连接进行通信,消息监听模块用于监听来自数据平面消息,并解析出信息类型,从而获知消息类型,并将消息传送至信息采集模块进行相应的处理。同时,消息监听模块接收控制模块的请求,并将其发送给对应的数据层交换机,从而实现控制层对数据层的控制。
本发明基于可编程P4数据平面,需要定义数据包报文封装格式。源端虚拟机向终端虚拟机发送数据帧时,发送方连接的VTEP节点将报文添加VXLAN报头、外部UDP报头、外部IP报头和外部以太报头,在VXLAN报头和原始二层报文之间插入INT报头,构成INT探测包。其中,INT报头由INT Shim Header、INT Meta Header和INT Meta Stack三部分构成。VXLAN报头、INT报头和原始二层报文作为物理网络中的UDP报文的载荷存在。终端接收到该探测包时,INT over VXLAN数据包的报文格式如图5所示。
其中:
(1)Outer Ether Header:外层以太报头。报头包含长度为48比特的外层源MAC地址、48比特的外层目的MAC地址和16比特的以太类型字段等。
(2)Outer IP Header:封装外层IP报头。IP报头包含长度为32比特的外层源IP地址、32比特的外层目的IP地址、3比特的标志位字段(Flags)、16比特的总长度字段和8比特的协议字段等。
(3)UDP Header:UDP报头。VXLAN报头、INT报头和原始以太帧一起作为UDP的数据。UDP报头中,长度为16比特的目的端口号(VXLAN Port)固定为4789,源端口号(SourcePort)为原始以太帧通过哈希算法计算后的值。此外,还有长度为16比特的长度(UDPLength)字段和校验(UDP Checksum)字段。
(4)VXLAN GPE Header:VXLAN通用协议封装报头,报头格式如图6所示。其中,长度为24比特的VNI字段用于定义VXLAN网络中不同的租户,8比特的封装协议字段(NextProtocol)用于指明被封装的数据包的协议类型,封装协议字段为0x5时,表示使用了INT探测报文。此外,此报头还包含8比特的标志字段(VXLAN Flags)和两个分别为24比特和8比特的保留字段(Reserved)。
(5)INT Shim Header:用于VXLAN GPE封装的INT报头,报头格式如图7所示。长度为8比特的类型字段(Type)用于指示INT报头类型,8比特的长度字段(Length)用于记录INT报头和INT项目数据的总长度,8比特的封装协议域字段(Next Protocol)用于指明被封装的数据包的协议类型,此外还有8比特的保留字段(Reserved)。INT Shim Header后接INTMeta Header和INT Meta Stack报文。
(6)INT Meta Header:INT元数据报头。INT数据包格式如图8所示,包含INT MetaHeader和INT Metadata Stack。INT元数据报头中字段的含义长度和和功能见表1,其中,最大跳数字段、指令设置字段均可在构造探测数据包时进行自定义设置。
表1 INT元数据报头中字段
其中,指令设置字段是一个16比特的位图,每一位表示一种INT元数据类别,在构造INT探测数据包时进行设置。需要探测信息时,对应位置1即可,从而确定需要探测的数据信息。例如,需要获取交换机ID和入口时间戳这两类数据时,可将指令设置字段设置位0x11。数据包指令设置字段各位表示的意义见表2。
表2 INT数据包指令设置字段各位表示的意义
(7)INT Meta Stack:INT元数据栈。每条INT元数据记录相关交换机的内部状态信息,包括设备ID、数据出入端口,队列情况,转发时延,数据包复制个数等。INT探测数据包经过一个交换机都会将指令设置字段中指定的数据信息添加到INT元数据栈的栈顶,并将INT报头中的总跳数(TotalHopCnt)值加1。
(8)Original Payload:原始数据。
数据平面是整个系统的重要组成部分,本发明基于P4编程语言,自上而下地定义数据平面中交换机对数据包的处理逻辑。P4处理流程通常有:首先解析器负责解析头字段,然后执行校验和,当数据包进入数据路径时,将数据包传送到入口执行具体任务,再由出口将数据包发送到逆解析器以重新按顺序组装数据包头。解析部分尤为重要,交换机对数据包的解析流程如图9所示,链路设备不仅支持Ethernet、IPv4数据包的转发,还支持UDP、VXLAN和INT协议的封装。VXLAN、INT数据包的解析流程如图9中虚线框内所示。
本发明定义了VXLAN协议中INT探测包报文的封装格式,以及数据平面上探测包的解析流程。INT over VXLAN探测包中,在VXLAN报头和原始二层报文之间插入INT报头,传输过程中VXLAN报头、INT报头和原始二层报文作为物理网络中的UDP报文的载荷存在。INT报头中,可以通过设置INT Meta Header来自定义遥测最大跳数和INT元数据类型功能。同时,如图10INT over VXLAN探测包解析图所示,本发明基于P4编程语言,自上而下地定义了数据平面中交换机对数据包的处理逻辑,实现了Overlay网络中INT探测数据包的顺利解析。
链路交换机接收到数据包开始解析时,如果Ethernet协议中的以太网类型字段(Ethernet.ethertype)的值为0x800,则指明应用于数据字段的协议为IPv4,进入IPv4报头进行解析;如果IP协议的封装协议字段(ipv4.protol)的值为17,则对UDP报头进行解析;如果UDP报头中的目标端口(udp.dstport)的值为4790,则对通用封装VXLAN报头进行解析。
对VXLAN报头的解析如图9中上方虚线框内所示。从图中可以看出,如果VXLAN报头中的协议字段(vxlan_gpe.Next_Protocol)的值为0x05,表明内部字段封装的是INT数据包,则进入INT报头进行解析。INT报文的解析流程如图9中下方虚线框内所示,如果指令数字段(ins_cnt)的值为0,表示不需要采集任何信息,直接进入数据包处理入口(ingress);如果ins_cnt值非0,则进入解析交换机的INT信息值(int_value)。在解析INT元数据的过程中,由于含有多个类型相同的值,且值的个数会随着数据包的转发不断地增加,所以需要使用堆栈(Header Stack)存储,如果某条INT元数据的栈底位(bos)的值为0x1,说明已经遍历到栈底,int_value已经解析完毕,直接进入到ingress;如果bos位的值非0,说明还有int_value值未解析,需要继续循环解析,直到解析完堆栈中的所有值。解析部分的处理流程关键代码如图10所示。
本发明提出的面向Overlay网络的带内网络遥测系统,INT探测数据包能够像普通的网络数据包一样在网络中转发,到达终点以后通过交换机与控制层建立的Socket连接发送给控制层,从而可以根据接收到的信息从中解析得到交换机的状态信息。可以利用INT探测数据包处理隧道流量,通过随路测量采集单跳网络设备侧的排队时延和处理时延,获取端到端的链路设备逐跳探测信息。控制器可以通过查询Overlay网络中通信的两端虚拟机ID(IP Pair),快速获取端到端的链路逐跳质量信息。
实施例2
基于上述系统,本申请还提供Overlay网络中INT探测包的信息采集过程,即一种面向Overlay网络的带内网络遥测方法,其特征在于,所述遥测方法包括以下步骤:
步骤一,源端设备节点向终端设备节点发送数据包,所述数据包中包含了源端设备节点和终端设备节点的IP和MAC地址信息;
步骤二,源端设备节点连接的VTEP节点收到所述数据包,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包;源端设备节点连接的VTEP节点将该数据包添加VXLAN首部、外部UDP首部、外部IP首部、外部Ether首部,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包,发送给终端设备节点连接的VTEP节点。
步骤二完成时,源端设备节点连接的VTEP节点即为带内网络遥测系统的第一个交换节点,INT方法通过在该节点上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要将INT头部所指定的遥测信息封装成元数据INT Meta_1插入到INT Header之后。
所述链路中的交换设备根据封装后INT报头信息,对探测数据包进行如下处理:探测数据包转发到交换机Switch1时,所述交换机Switch1匹配INT Header后插入元数据INTMeta_2;探测数据包转发到交换机Switch2时,设备匹配INT Header后插入元数据INTMeta_3。
步骤三,链路中的交换设备根据封装后INT报头信息,对所述INT探测数据包进行处理,插入包含设备内部状态信息的INT元数据,探测数据包经过Overlay网络对应的Underlay网络从源端设备节点连接的VTEP节点传输到达终端设备节点连接的VTEP节点;
步骤四,终端设备节点连接的VTEP节点接收到探测数据包后,交换设备匹配INTHeader插入最后一个INT元数据,将INT Header拆除,同时提取全部遥测信息上传到控制器;终端设备节点收到数据包,传输完成。
如图11所示,以VXLAN隧道下对应的Underlay网络设备为Switch1和Switch2为例,叙述Overlay网络中INT探测数据包的传输过程和信息采集过程。其通信过程可以概括为如下的步骤:
(1)源端虚拟机(VM1,VM2)向终端虚拟机(VM3,VM4)发送数据帧,帧中包含了源端和终端虚拟机的IP和MAC地址信息。
(2)源端连接的VTEP节点(VTEP1)收到数据帧,通过查找源端所在的VXLAN以及终端所连接的VTEP节点,将该报文添加VXLAN首部、外部UDP首部、外部IP首部、外部Ether首部后,在VXLAN报头和原始数据报文之间打入INT报头(INT Header),构成INT探测包,发送给终端VTEP节点(VTEP2)。
此时,VTEP1即为带内网络遥测系统的第一个交换节点,INT模块通过在该节点上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要将INT头部所指定的遥测信息封装成元数据(INT Meta_1)插入到INT Header之后。
(3)报文经过Overlay网络对应的Underlay网络从源端VTEP(VTEP1)节点传输到达终端VTEP节点(VTEP2)。对于源端和终端虚拟机而言,报文经过隧道进行端到端的通信,它们无法感知Underlay网络中物理设备的存在;而对于Underlay网络中的交换机等其他设备而言,由于VTEP将原始报文封装成一个新的UDP报文,因此链路中的交换机看不到原始报文,仅感知封装后的参数。
链路中的交换机根据封装后INT报头信息,对探测数据包进行如下处理:报文转发到交换机Switch1时,设备匹配INT Header后插入元数据(INT Meta_2);报文转发到交换机Switch2时,设备匹配INT Header后插入元数据(INT Meta_3)。
(4)终端VTEP节点(VTEP2)接收到报文后,交换设备匹配INT Header插入最后一个元数据(INT Meta_4),将INT Header拆除,同时提取全部遥测信息上传到控制器。这样控制器就采集到了网络链路状态信息,包括延时信息和链路拥塞等异常情况。随后拆除报文的外部以太报头、外部IP报头和外部UDP报头,检查报文的VNI以及内部数据帧的目的MAC地址,确认终端虚拟机与本VTEP节点相连后,拆除VXLAN首部,将内部数据帧交付给终端虚拟机(VM3,VM4)。
(5)终端虚拟机收到数据帧,传输完成。Overlay网络中INT监测信息的存储与显示。
本发明中,INT监测信息的存储与显示主要由控制层实现,通过维护一个数据库来存储数据层获取的网络监测信息。控制模块单独启动一个进程,每当VTEP抓取到探测数据包时,都会利用数据包中的INT数据进行解析或计算,获得时延等网络性能信息,然后以通信隧道两端的IP/VTEP Pair为Key值,以逐跳网络性能信息作为Value值,将Key-Value键值对存储到数据库INT_INFO中。
如图12所示,以FatTree测试拓扑为例,在FatTree拓扑上进行VXLAN和INT配置。一次链路发现请求中的网络性能信息如图13所示,ip_pair为Overlay网络通信两端的虚拟机IP Pair,int_meta为Underlay传输网络的逐跳设备信息。在IP Pair对应的每条网络性能信息中,依次为所经过的每台交换机的设备ID、入口ID、出口ID、排队时延和处理时延,其中时延信息精确到微秒,由P4交换机的端口时间戳等固有元数据计算得到。例如,当VM1为发送方、VM5为接收方进行通讯时,由于INT数据信息以堆栈形式存放,所以Overlay网络映射的Underlay传输网络中,途经的5台交换机ID分别为1、9、17、11、3,由此可知转发路径。其中,经过交换机S1时,入、出口ID分别为1、3,排队时延和处理时延分别为7、103微秒。
本发明提出的面向Overlay网络的带内网络遥测方法,利用本发明提出的面向Overlay网络的带内网络遥测方法,可以准确获取Overlay网络与对应Underlay网络的映射关系,采集传输路径中途径的设备ID信息,解决了Overlay网络传输路径不可见问题。通过查询Overlay网络的逐跳质量信息,即可迅速发现异常数据及所在链路具体位置,从而实现准确的故障定位。
本发明提出的方法可以有效结合VXLAN和INT技术,在Overlay网络传输过程中,利用自定义INT探测包,结合P4数据平面处理逻辑,获取对应底层Underlay网络的设备侧逐跳时延信息,从而实现Overlay网络的细粒化监控。结合采集的微秒级单跳时延信息,实现了高精度的Overlay网络监测。
以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。
Claims (10)
1.面向Overlay网络的带内网络遥测方法,其特征在于,所述遥测方法包括以下步骤:
步骤一,源端设备节点向终端设备节点发送数据包,所述数据包中包含了源端设备节点和终端设备节点的IP和MAC地址信息;
步骤二,源端设备节点连接的VTEP节点收到所述数据包,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包;
步骤三,链路中的交换节点根据封装后INT报头信息,对所述INT探测数据包进行处理,插入包含设备内部状态信息的INT元数据,探测数据包经过Overlay网络对应的Underlay网络,从源端设备节点连接的VTEP节点传输到达终端设备节点连接的VTEP节点;
步骤四,终端设备节点连接的VTEP节点接收到探测数据包后,交换节点匹配INTHeader插入最后一个INT元数据,将INT Header拆除,同时提取全部遥测信息上传到控制器;终端设备节点收到数据包,传输完成。
2.根据权利要求1所述的面向Overlay网络的带内网络遥测方法,其特征在于,所述步骤二中,源端设备节点连接的VTEP节点将该数据包添加VXLAN首部、外部UDP首部、外部IP首部、外部Ether首部,在VXLAN报头和原始数据报文之间加入INT报头,构成INT探测数据包,发送给终端设备节点连接的VTEP节点。
3.根据权利要求1所述的面向Overlay网络的带内网络遥测方法,其特征在于,所述步骤二完成时,源端设备节点连接的VTEP节点即为带内网络遥测系统的第一个交换节点,INT方法通过在该节点上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要将INT头部所指定的遥测信息封装成元数据INT Meta_1插入到INT Header之后;所述链路中的交换节点根据封装后INT报头信息,对探测数据包进行如下处理:探测数据包转发到交换机Switch1时,所述交换机Switch1匹配INT Header后插入元数据INT Meta_2;探测数据包转发到交换机Switch2时,设备匹配INT Header后插入元数据INT Meta_3。
4.面向Overlay网络的带内网络遥测系统,其特征在于,所述遥测系统包括:
信息采集模块,所述信息采集模块部署于终端设备,其向数据层发送INT探测数据包,通过所述INT探测数据包在转发的过程中收集内置交换机信息,并对消息监听模块传送的数据进行解析;
控制模块,所述控制模块部署于控制器,其用于实现交换机配置、流表下发、采集监测周期设置控制功能,并且所述控制模块在控制层维护一个数据库用于存储数据层获取的网络监测信息;
数据平面,即所述遥测系统的数据层,所述数据平面用于处理和转发交换机各不同端口上各种类型的数据;在所述数据平面,基于P4语言自定义交换机对数据包的处理流程,使数据层交换机能够支持VXLAN和INT功能,INT探测数据包在被转发的过程中收集交换节点的内部状态信息;
消息监听模块,所述消息监听模块用于维护控制层和数据层之间的通信连接。
5.根据权利要求4所述的面向Overlay网络的带内网络遥测系统,其特征在于,所述信息采集模块对接收的数据包进行解析,获取排队时延、传输路径信息;并且根据传输路径,实现Overlay网络和Underlay网络的映射,获取底层链路路径信息。
6.根据权利要求4所述的面向Overlay网络的带内网络遥测系统,其特征在于,所述控制模块启动一个进程,每当抓取到INT探测数据包之后,从中提取出源端和终端设备节点的ID作为Key,解析后遥测信息作为Value,将Key-Value键值对存储到数据库INT_INFO中的数据表之中;所述遥测信息由探测数据包中的INT元数据解析或计算得到,控制器通过查询Overlay网络两端的IP Pair获取端到端的链路逐跳质量信息。
7.根据权利要求4所述的面向Overlay网络的带内网络遥测系统,其特征在于,所述INT探测数据包在被转发的过程中收集内置交换机信息,所述交换机信息包括交换机ID、出入端口ID、出入口时间戳、出入队列时间戳、队列深度。
8.根据权利要求4所述的面向Overlay网络的带内网络遥测系统,其特征在于,所述消息监听模块用于监听来自数据平面消息,解析出信息类型,并将消息传送至信息采集模块进行相应的处理;同时,消息监听模块接收控制模块的请求,将其发送给对应的数据层交换机,实现控制层对数据层的控制。
9.根据权利要求4至8任一项所述的面向Overlay网络的带内网络遥测系统,其特征在于,所述INT探测数据包为:源端设备节点连接的VTEP节点将报文添加VXLAN报头、外部UDP报头、外部IP报头和外部以太报头,在VXLAN报头和原始二层报文之间插入INT报头,构成INT探测数据包。
10.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被计算机执行用于实现如权利要求1至3任一项所述的面向Overlay网络的带内网络遥测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520674.6A CN112866075B (zh) | 2020-12-21 | 2020-12-21 | 面向Overlay网络的带内网络遥测方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520674.6A CN112866075B (zh) | 2020-12-21 | 2020-12-21 | 面向Overlay网络的带内网络遥测方法、系统及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866075A CN112866075A (zh) | 2021-05-28 |
CN112866075B true CN112866075B (zh) | 2023-03-24 |
Family
ID=75997841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011520674.6A Active CN112866075B (zh) | 2020-12-21 | 2020-12-21 | 面向Overlay网络的带内网络遥测方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866075B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364778B (zh) * | 2021-06-07 | 2022-07-29 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN113676345B (zh) * | 2021-07-09 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 一种交换机故障的定位方法、系统及装置 |
CN115707012A (zh) * | 2021-08-06 | 2023-02-17 | 华为技术有限公司 | 一种通信方法、装置及设备 |
CN113938407B (zh) * | 2021-09-02 | 2023-06-20 | 北京邮电大学 | 基于带内网络遥测系统的数据中心网络的故障检测方法及装置 |
CN114024921B (zh) * | 2021-10-14 | 2024-05-28 | 郑州浪潮数据技术有限公司 | 一种隧道协同方法、装置、设备及可读存储介质 |
CN113709043B (zh) * | 2021-10-28 | 2022-04-15 | 阿里云计算有限公司 | 路径追踪方法及设备 |
CN114006856B (zh) * | 2021-12-30 | 2022-03-11 | 北京天维信通科技有限公司 | 基于hash算法实现多路径并发传输的网络处理方法 |
CN114363259B (zh) * | 2021-12-30 | 2023-12-08 | 中国光大银行股份有限公司 | 用于overlay网络的路径探测系统以及路径探测方法 |
CN114710316B (zh) * | 2022-02-23 | 2023-05-30 | 北京邮电大学 | 带内遥测数据验证方法及白盒交换机 |
CN114710424B (zh) * | 2022-03-10 | 2024-05-14 | 福州大学 | 基于软件定义网络的主机侧数据包处理延时测量方法 |
CN115314409B (zh) * | 2022-07-20 | 2024-02-06 | 北京邮电大学 | 网络状态信息获取方法及系统 |
CN116232984B (zh) * | 2023-05-09 | 2023-08-08 | 武汉中科通达高新技术股份有限公司 | 一种以网络端到端延时最小化为目标的路由方法及系统 |
CN116938753B (zh) * | 2023-09-13 | 2023-12-29 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579900A (zh) * | 2017-10-13 | 2018-01-12 | 锐捷网络股份有限公司 | 从vlan网络接入vxlan网络的方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10334446B2 (en) * | 2016-08-05 | 2019-06-25 | Nxgen Partners Ip, Llc | Private multefire network with SDR-based massive MIMO, multefire and network slicing |
CN108259344B (zh) * | 2017-11-29 | 2020-12-29 | 新华三技术有限公司 | 遥测Telemetry方法和装置 |
CN108449228B (zh) * | 2018-03-05 | 2020-03-17 | 新华三技术有限公司 | 报文处理方法及网络设备 |
CN111769998B (zh) * | 2019-08-13 | 2022-07-05 | 北京京东尚科信息技术有限公司 | 一种网络时延状态的探测方法及装置 |
CN111885430B (zh) * | 2020-06-30 | 2022-12-02 | 网络通信与安全紫金山实验室 | 一种基于以太帧的带内遥测方法及带内遥测系统 |
-
2020
- 2020-12-21 CN CN202011520674.6A patent/CN112866075B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579900A (zh) * | 2017-10-13 | 2018-01-12 | 锐捷网络股份有限公司 | 从vlan网络接入vxlan网络的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112866075A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866075B (zh) | 面向Overlay网络的带内网络遥测方法、系统及相关装置 | |
CN102291291B (zh) | 用于可获知时间的内置远程镜像的方法 | |
JP7035227B2 (ja) | データパケット検出方法、デバイス、及びシステム | |
US9306819B2 (en) | Controller driven OAM for split architecture network | |
CN112702330B (zh) | 面向Overlay网络的轻量级带内网络遥测方法、装置及存储介质 | |
EP2429128B1 (en) | Flow statistics aggregation | |
US11272396B2 (en) | Frame aggregation method, network setting frame sending method, and device | |
EP4207647A1 (en) | Method for detecting multicast service flow and related apparatus | |
EP3082293B1 (en) | Switching device and packet loss method therefor | |
CN103069754A (zh) | 通信单元、通信系统、通信方法、以及记录介质 | |
CN112436601B (zh) | 智能变电站的信息流处理方法、计算机设备和存储介质 | |
CN105991338A (zh) | 网络运维管理方法及装置 | |
US20140156867A1 (en) | Offload processing interface | |
CN113037542B (zh) | 一种基于软件定义网络的云网络拓扑构建方法 | |
WO2015196636A1 (zh) | 一种报文采集方法、系统、网络设备及网管中心 | |
CN113328956B (zh) | 一种报文处理方法及装置 | |
KR20230017324A (ko) | Bier 멀티캐스트 트래픽 통계 수집 방법, 디바이스 및 시스템 | |
CN114690680A (zh) | 数据处理的方法、控制器以及第一网络设备 | |
JP3588316B2 (ja) | 通信ネットワーク構成推定方法および装置ならびに記録媒体 | |
US11582156B2 (en) | Traffic detection method, apparatus, and system | |
CN117478564A (zh) | SRv6网络的业务测量方法以及SRv6网络 | |
CN118233177A (zh) | 一种基于流量扩展特征的工控安全检测系统及方法 | |
CN115150308A (zh) | 一种流量统计方法和装置 | |
JP2011166196A (ja) | トポロジー検索機能を有する通信システム及び通信装置 |
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 |