CN113676376B - 一种基于分簇的带内网络遥测方法 - Google Patents
一种基于分簇的带内网络遥测方法 Download PDFInfo
- Publication number
- CN113676376B CN113676376B CN202110960712.8A CN202110960712A CN113676376B CN 113676376 B CN113676376 B CN 113676376B CN 202110960712 A CN202110960712 A CN 202110960712A CN 113676376 B CN113676376 B CN 113676376B
- Authority
- CN
- China
- Prior art keywords
- switch
- data packet
- network
- state information
- int
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- 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/12—Discovery or management of network topologies
-
- 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/06—Generation of reports
-
- 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
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- 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/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于分簇的带内网络遥测方法。该方法包括:对网络拓扑进行分簇处理,给每个簇分配其所支配的交换机,簇内的交换机将生成的遥测报告上传至簇头,由簇头将遥测报告上传至收集器;收集器统计已经收集到的遥测报告中的网络状态信息,选出长时间未收集到网络状态信息的交换机,将长时间未收集到网络状态信息的交换机确定为指定交换机;将探测数据包发送到指定交换机,收集器根据接收到的所述探测数据包的反馈信息获取所述指定交换机的网络状态信息,确认所述指定交换机的状态。本发明实现了在使用带内网络遥测(In‑band Network Telemetry,INT)收集网络状态信息时能提高了网络状态信息的及时性、克服收集网络状态信息时MTU限制、提供完整的网络全局视图。
Description
技术领域
本发明涉及无线网络通信技术领域,尤其涉及一种基于分簇的带内网络遥测方法。
背景技术
现有互联网自发明以来取得了巨大的成功,然而随着信息化科技产业的进一步发展和大规模用户需求的急剧增长,网络在服务质量、传输效率、资源利用率和管控能力等诸多方面暴露出严重弊端。现有的网络架构存在的“三重绑定”的特征使得其无法满足未来网络智慧、安全、海量、泛在等需求,难以解决网络可扩展性、移动性、安全性等问题。新型网络体系的研究受到了国内外学术界和产业界的高度关注,已提出的典型代表方案有软件定义网络(SDN,Software Defined Network),网络功能虚拟化(NFV, Network FunctionsVirtualization)、以信息为中心网络(ICN, Information-Centric Networking)、命名数据网络(Named Data Networking)等。为了满足未来网络的架构验证新协议、应用程序,获取网络全局视图的需求,需要一种机制提供网络状态信息,以根据用户需求、网络状态,设计满足用户需求的通信方式。
传统的带外网络状态测量机制实现数据流级别的网络遥测,其监控方式主要是基于采样和轮询机制,无法提供细粒度的网络状态信息,在性能上受到一定限制。NetFlow和sFlow是广泛使用很多年的传统网络监控方式。NetFlow的控制中心需要在每个交换机上执行轮询操作,这种导出数据的方式周期长,并不适合实时监控。sFlow则是通过对交换机的数据包进行采样,采样间隔可配置,其使用内置于硬件中的专用芯片消除了路由器或交换机上CPU 和内存的负担,但是这种方式无法实时调整采样间隔的方式容易错过网络中的一些事件,例如尖峰、异常等,也无法检测到小流。
得益于SDN以及可编程交换机的发展,控制、数据分离的结构使得用户可以自定义包头、流表和处理逻辑,在此基础上有学者提出了INT。INT可以从数据平面收集和报告网络状态信息,不需要控制平面的介入,可以为应用提供前所未有的准确、实时和细粒度的网络状态信息。然而INT会在数据平面增加数据包长度、数据包个数,占用大量网络资源。很多学者提出新的实现INT 方式来改善传统INT方式的不足,降低其在数据平面的开销。但这些方式仍存在不足,其通过降低网络状态信息的精确性降低开销,且没有考虑需要高精度网络状态信息时,数据包面临的最大传输单元(Maximum Transmission Unit,MTU)限制,同时这种网络状态信息采集方式仅在最后一跳上传网络状态信息,降低了网络状态信息的及时性。
现有技术中的一种带内网络遥测系统包括:捕获数据包模块,用于捕获数据链路层的数据包,并对数据包进行逐层的报头解析操作,并将数据包发送至网络层、传输层和应用层进行处理,以得到处理后的数据包;分析统计模块,用于在网络层、传输层和应用层对处理后的数据包进行IP地址分析、 TCP/UDP和端口分析、统计分析和协议分析,以得到数据包的时延信息;改包模块,用于修改分析后的数据报头的checkusum区域,并将时延信息打印到数据包上并输出至主控主机。
上述现有技术中的一种带内网络遥测系统的缺点为:一方面,捕获数据包模块捕获数据链路层数据包,并对所述数据包进行逐层的报头解析操作后,在分析统计模块仅分析统计通过IPv4传输的UDP包获取对应的源地址和目的地址,并未考虑分析捕获的TCP包。
另一方面,该方法未考虑在数据平面插入的网络状态信息造成数据包长度超过MTU限制,导致数据包分片进一步加剧乱序问题,甚至可能导致数据包丢失。
另外,该方法依赖于包头中保留有可变长度标签栈的探测包。探测报文在网络边缘周期性生成,并注入网络核心,探测报文将与普通流量一起进行排队和转发。此方式造成收集到的数据不是交换机处理用户数据包时的实时网络状态。
现有技术中的一种实时可编程的抽样带内网络遥测方法包括:对网络中的POF(Power Over Ethernet)交换机进行功能扩展,使其支持对接收的数据包进行INT操作。由POF交换机接收POF控制器下发的包含了指示POF交换机执行INT操作的抽样率、监控数据类型以及INT头部起始插入位置的消息体,并基于POF交换机的加权组表,来实现实时可编程的抽样INT策略,最终的INT 数据包,将复制一份转发给数据解析起,同时,最终的INT数据包需要将INT 头部删除再发送给用户。所述数据解析器对INT数据包进行解析,同时,提供可调用接口给POF控制器,使得POF控制器能够查询历史记录,并根据当前网络的实时状态来设置和更新网络测量,从而实现闭环控制。在实现POF运行时更改INT监控测量、抽样率的同时,还能保证POF交换机的性能不会下降,并能保持较高的网络监控准确性。
上述现有技术中的一种实时可编程的抽样带内网络遥测方法的缺点为:
一方面,该方法通过POF控制器下发FlowMod消息体,指定某些中间节点处的POF交换机不做INT操作,增加了从控制层面到数据平面的控制信令开销。
另一方面,该方法的抽样方法可以减少网络中需要插入网络状态的数据包数量,降低数据平面的开销。但该抽样方法仅针对数据包是否进行网络状态信息插入进行抽样,并未对数据包采集数据多少进行限制,仍然存在插入数据过多导致数据包大小超过MTU限制的可能性。
另外,该方法并未考虑网络状态及时性的问题,网络状态信息仍然在最后一跳进行上报,降低了网络状态的及时性问题,无法根据用户需求及时调整上报网络状态信息的问题。
发明内容
本发明的实施例提供了一种基于分簇的带内网络遥测方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于分簇的带内网络遥测方法,包括:
对网络拓扑进行分簇处理,给每个簇分配其所支配的交换机,簇内的交换机将生成的遥测报告上传至簇头,由簇头将遥测报告上传至收集器;
所述收集器统计已经收集到的遥测报告中的网络状态信息,选出长时间未收集到网络状态信息的交换机,将长时间未收集到网络状态信息的交换机确定为指定交换机;
将探测数据包发送到指定交换机,收集器根据接收到的所述探测数据包的反馈信息获取所述指定交换机的网络状态信息,确认所述指定交换机的状态。
优选地,所述的对网络拓扑进行分簇处理,给每个簇分配其所支配的交换机,簇内的交换机将生成的遥测报告上传至簇头,由簇头将遥测报告上传至收集器,包括:
针对不同网络类型以及各交换机连接度对整个网络拓扑进行分簇,并在每个簇中选出对应的簇头,为每个簇头分配其所支配的交换机,一个收集器负责一个或多个簇的遥测报告收集,每个簇的簇头与对应的收集器进行连接;
设置INT机制的交换机包括:源交换机、转发交换机、汇聚交换机,该汇聚交换机为最后一跳交换机,源交换机在数据包中插入INT头部以及自身的网络状态信息后转发,转发交换机在接收到数据包后插入自身网络状态信息并转发,最后一跳交换机接收该数据包后插入自身网络状态信息,随后提取所有网络状态信息生成遥测报告,通过当前网络中使用的通信协议对遥测报告进行封装后,发送给其所在簇的簇头,由簇头将遥测报告上传至收集器。
优选地,所述的遥测报告内容包含INT头部以及所经过交换机收集到的 INT数据部分,所述INT头部字段包含采集的INT数据个数、INT部分长度、数据包初始目的IP地址和遥测报告标记,所述INT数据部分字段包含交换机id、队列深度、入口端口、出口端口、处理时延、入口时间戳和出口时间戳。
优选地,所述的方法还包括:
在每个交换机上,对传入的数据包状态进行判断,若当前数据包状态满足插入网络状态信息的要求,则将网络状态信息插入;若当前数据包状态不满足插入网络状态信息的要求,则将数据包中已收集的网络状态信息提取出来生成遥测报告,并将数据包插入的INT头部删除,还原数据包;
当用户数据包到达最后一跳交换机时,最后一跳交换机生成遥测报告,并根据INT信息的总长度将遥测报告中除INT头部、INT数据部分的其余无效负载进行截断。
优选地,所述的将探测数据包发送到指定交换机,收集器根据接收到的所述探测数据包的反馈信息获取所述指定交换机的网络状态信息,确认所述指定交换机的状态,包括:
从外部生成一个探测数据包,探测数据包的路由路径由使用方从外部生成并插入探测数据包中,所述探测数据包的路由路径只能包含一个状态不确定的指定交换机,其余路由路径经过的交换机状态必须为正常,所述探测数据包的目的地址为收集器,将所述探测数据包注入网络中;
若在规定时间间隔内收集器能收集到探测数据包,则判断所述指定交换机的状态为正常;若在规定时间内收集器未收集到探测数据包,则判断所述指定交换机的状态为异常。
优选地,所述带内网络的协议包括但不限于传输控制协议TCP和用户数据包协议UDP。
优选地,所述对网络拓扑进行分簇处理的分簇算法包括但不限于:K近邻算法、最小支配集算法和最小连通支配集算法。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提出了一种基于分簇的带内网络遥测机制,实现了在使用INT收集网络状态信息时能提高了网络状态信息的及时性、克服收集网络状态信息时MTU限制、提供完整的网络全局视图。通过分簇算法对整个网络拓扑进行分簇并选出每个簇的簇头,每个交换机根据当前数据包状态以及数据包长度判断是否需要生成遥测报告,并通过簇头将遥测报告上报至收集器中,减少了控制平面的介入,并提高了网络状态信息的及时性、克服MTU限制。通过结合两种INT的方式可以保证获取完整的网络全局视图。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于分簇的带内网络遥测方法的流程示意图;
图2为本发明实施例提供的一种带内网络结构示意图;
图3为本发明实施例提供的另一种带内网络结构示意图;
图4为本发明实施例提供的另一种带内网络结构示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 (包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
针对上述研究的不足,本发明实施例提出了一种基于分簇的带内网络遥测机制。该方法把握未来精确性、可扩展的网络测量需求,将分簇的概念引入INT实现机制,提高网络状态信息的及时性,克服收集网络状态信息时的 MTU限制,并实现用户定制化网络状态信息及时性,具有前瞻性。该方法使用分簇算法,并在SDN架构及Bmv2可编程交换机实现,该方法可以动态根据数据包长度判断是否将已收集到的网络状态信息及时发送至收集器,减少控制平面的介入,克服当数据包长度到达MTU时无法收集网络状态信息的限制,避免在路由过程中对数据包插入网络状态信息超过MTU时导致分片,增加乱序问题。
现有的实现INT方式会在数据平面增加数据包长度、数据包个数,会占用大量网络资源。为了减少INT在数据平面的开销,已有的改进方案和机制可以概括为以下两种方式。一种方式是通过采样、机器学习的方式,减少数据平面要插入网络状态信息的数据包数量、生成的遥测报告数量;另一种是通过对网络状态信息进行编码后插入,减少每个数据包插入的网络状态信息大小。这两种方式虽然能在一定程度上降低数据平面的开销,但牺牲了遥测结果的精确性,可能导致无法收集到网络中出现的突发事件的信息。另外,在采集网络状态信息的过程中并未考虑MTU的限制,当插入数据包的网络状态信息使得数据包大小超过MTU限制时,可能会导致数据包分片进一步加剧乱序问题,甚至可能导致数据包丢失。为解决以上问题,本发明实施例提出一种基于分簇的带内网络遥测机制,该机制通过基于分簇的遥测报告发送机制将网络状态信息插入数据包的负载部分,不影响已有协议的通信,同时提高了网络状态信息的及时性、并克服MTU的限制。另外,通过分簇,该机制还支持用户定制化网络状态信息及时性,用户可以指定何时需要上传遥测报告。
为了满足用户需求以收集不同的网络状态信息,本发明需要能够更改下发至交换机的流表,因此,本发明主要适用于支持SDN架构的网络。另外,为了能够支持自定义数据包处理流程的需求,需要交换机支持可编程的操作,例如支持P4的Bmv2交换机、OVS交换机、POF交换机等。最后,由于本发明将所有INT相关的信息插入数据包的负载部分(例如TCP/UDP以及payload之间),因此即使不支持INT操作的交换机需要转发包含INT信息的数据包时,也不会由于不识别INT信息而将该数据包抛弃。
本发明实施例提出了一种基于分簇的带内网络遥测方法,该方法的处理流程如图1所示,包括如下的处理步骤:
步骤S1、对网络拓扑进行分簇处理,给每个簇分配一个收集器,由簇头将遥测报告上传至收集器。
针对不同网络类型以及各交换机连接度对整个网络拓扑进行分簇,并在每个簇中选出对应的簇头,为每个簇头合理分配其所支配的交换机,以达到使用最少簇头个数支配整个网络拓扑,减少控制开销的同时均衡簇头之间负载的设计。簇头本身也是一个交换机,还有进行数据包传输操作。
给每个簇分配一个收集器,该收集器无线网络连接对应簇的簇头。每个簇内的交换机将生成的遥测报告上传至簇头,由簇头再将遥测报告上传至收集器。
在INT机制中,交换机主要分为三种:源交换机(source)、转发交换机 (transit)、汇聚交换机(sink、最后一跳交换机)。三种交换机都可以将其网络状态信息插入用户数据包、探测数据包中,另外,source还需要负责插入INT头部、sink节点负责生成遥测报告。当用户数据包进入网络时, source会对不包含INT头部的数据包插入INT头部;当数据包到达sink时,交换机会将数据包中的遥测信息提取并生成遥测报告,并通过当前网络中使用的通信协议对遥测报告进行封装、路由(例如IPv4、IPv6等)。由于探测数据包的目的地址本就为收集器地址,因此source和sink只需将网络状态信息插入并转发即可,不需要执行插入INT头部以及生成遥测报告的操作。
遥测报告内容主要包含INT头部以及所经过交换机收集到的INT数据部分,其中INT头部可包含采集的INT数据个数、INT部分长度、数据包初始目的 IP地址、遥测报告标记等,INT数据部分可包含交换机id、队列深度、入口端口、出口端口、处理时延、入口时间戳、出口时间戳等。在本发明中,为了支持分簇机制,需要扩展transit交换机的功能,即transit交换机也支持对不包含INT头部的用户数据包插入INT头部的功能。遥测报告标记可避免其他交换机对遥测报告执行插入数据的操作,破坏原有数据包结构。
在本发明中,带内网络中可能存在5种数据包,即包含/不包含INT信息的用户数据包,可以由主机、服务器生成;包含/不包含INT信息的探测数据包,由使用INT服务的用户从外部生成注入网络,可以由主机、服务器生成;包含INT信息的遥测报告,由sink节点生成。
步骤S2、在本发明中,使用通信协议封装的遥测报告的包头的目的地址为收集器地址,另外,在INT头部中记录了用户数据包原始的目的地址,以保证能够获取完整的五元组信息,最后,为了避免支持INT的交换机对遥测报告执行除转发之外的其他操作,INT头部中通过一个字段对遥测报告进行标识,因此,收集器可以位于网络中任意位置。
收集器统计已经收集到的遥测报告中的网络状态信息,选出长时间未收集到网络状态信息的交换机,将长时间未收集到网络状态信息的交换机确定为指定交换机。在实际应用中,也可以选定一个或者多个交换机为需要收集网络状态信息的指定交换机。
将探测数据包发送到指定交换机,收集器根据上述探测数据包的反馈信息获取指定交换机的网络状态信息,确认该指定交换机的状态。
探测数据包主要用于探测交换机的状态,在未测量前,交换机状态定义为不确定,测量后,根据测量结果可以分为正常和异常两种情况。可由需要使用带内网络遥测服务的使用方从外部生成一个空白的数据包并注入网络。探测数据包的路由路径需要使用方从外部生成并插入探测数据包中,探测数据包将根据此路径路由到状态不确定的交换机。在生成探测数据包路径时,路径中只能包含一个不确定状态是否正常的交换机,即指定交换机,路由路径上其余交换机状态必须为正常。这能保证探测数据包一定能路由到状态不确定的交换机。若在规定时间间隔内收集器能收集到探测数据包,说明该交换机仍然存在并能正确对数据包执行插入、转发等操作,此时交换机状态定义为正常;若在规定时间内收集器未收集到探测数据包,说明当前交换机状态异常,从而保证能够获取完整的网络全局视图。
步骤S3、对遥测报告无效的负载部分进行截断,减少遥测报告在数据平面开销的设计,为网络状态信息插入留出充足空间。
当用户数据包到达sink时,sink会生成遥测报告,并根据INT信息的总长度将遥测报告中除INT头部、INT数据部分的其余无效负载进行截断。
针对将网络状态信息插入用户数据包的方式,需要将网络状态信息以及 INT包头以INT头部的方式插入多种协议负载部分的设计,达到不干扰已有协议正常通信的目的。
当用户数据包进入网络后,其路由路径上经过的所有交换机都会将自身的网络状态信息插入用户数据包中,并在用户数据包即将离开网络,即到达最后一跳交换机时将网络状态信息提取出来并生成遥测报告发送至收集器。这种随用户数据包路由实时收集网络状态信息的方式可以保证获取到用户数据包在网络中经历的真实状态。
本发明实施例的系统设计支持多种协议的数据包使用该机制,包括IPv4 协议,IPv6协议。
分析模块正确解析INT包头的设计,包括正确解析出探测数据包以及遥测报告的设计,正确解析出网络状态信息的设计。
正确区分出探测数据包以及由用户数据包生成的遥测报告,并正确解析两种数据包获取网络状态信息并将网络状态信息存储的设计。
本发明提出了一种基于分簇的INT实现方式,相对于传统的INT实现方式,该机制可以减少SDN架构中控制平面的干预,克服了将网络状态信息插入用户数据包时MTU的限制,提高网络状态信息的及时性。该方法包括:在SDN 架构下实现INT机制时,通过分簇算法,对整个网络拓扑划分簇,并在每个簇中选出对应的簇头,通过簇头将该簇内交换机发送的遥测报告发送至收集器,另外,采集网络状态信息时,通过将INT包头插入用户数据包以及探测数据包的负载部分,使得该机制不会破坏当前的通信协议。
在每个交换机上,首先对传入的数据包状态进行判断,若当前数据包状态满足插入网络状态信息的要求,则将网络状态信息插入;若当前数据包状态不满足插入网络状态信息的要求,则将数据包中已收集的网络状态信息提取出来生成遥测报告,并将数据包插入的INT头部删除,还原数据包,实现整个网络状态信息采集过程对用户透明。
在一种可能的实现方式中,所述分簇算法的可用算法,该算法包括但不限于:K近邻算法(k-Nearest Neighbor)、最小支配集算法、最小连通支配集算法。
在又一种可能的实现方式中,所述可编程交换机的可用类型,该可用类型包括但不限于bmv2交换机、ovs交换机。
在又一种可能的实现方式中,所述数据包状态的判断标准,该判断标准包括但不限于:数据包长度、数据包生存时间、数据包可采集INT数据的最大个数、用户定制化网络状态信息及时性。
在又一种可能的实现方式中,所述分簇的分簇标准,包括但不限于交换机连接度、交换机cpu大小、当前交换机属于何种运营商。
第二方面,本发明支持结合两种INT方式,包括将网络状态信息插入探测数据包和将网络状态信息插入用户数据包实现INT。
在一种可能的实现方式中,使用探测数据包收集网络状态信息的方式,包括但不限于网络中长时间未收集到某一交换机的网络状态信息时,可以通过发送探测数据包的方式收集网络状态信息;当用户指定当前需要收集某一交换机的特定信息时需要收集对应的网络状态信息。
在又一种可能的实现方式中,使用两种INT实现收集网络状态信息的协议,包括但不限于传输控制协议TCP,用户数据包协议UDP。
在又一种可能的实现方式中,使用两种INT实现收集网络状态信息的类型可以针对不同场景采集不同的数据类型,数据类型包括但不限于,交换机 id、数据包进入交换机端口、数据包离开交换机端口、数据包进入交换机时间戳、数据包离开交换机时间戳、数据包在交换机上的处理时延。
第三方面,本发明中通过分簇可以支持分布式收集器,通过分布式收集器可以减少在遥测报告数量达到每秒数百万个数据包集中式收集器的工作负载。
在一种可能的实现方式中,所述分布式收集器的接入方式,包括但不限于:每个簇使用一个收集器、多个簇使用一个收集器。
实施例二
图2为本发明实施例提供的一种带内网络结构示意图,如图2所示,主机 h1、主机h2之间使用的通信协议为IPv4,虚线部分表示将该网络拓扑划分为两个簇,分别为簇1,s1、s2、s3,其中簇头为s2;簇2,s4、s5,其中簇头为s5,每个簇头连接一个收集器,簇头s2连接收集器c2,簇头s5连接收集器 c1。当主机h1向h2发送数据包时,若数据包剩余长度仅足够插入两个交换机的网络状态信息,传统INT将网络状态信息插入用户数据包的方式无法满足收集整条链路网络状态信息的需求。采用本发明实施例提出的方法,每一跳交换机都会确认当前数据包长度是否足够插入网络状态信息,若不足以插入网络状态信息,则在当前交换机上生成遥测报告,并通过簇头发送至收集器上,由收集器负责解析遥测报告。该实例能确保收集网络状态信息的过程种克服MTU的限制、提高网络状态信息的及时性,减少发送遥测报告时控制平面的介入。
如图2所示,数据包剩余长度只满足插入两跳网络状态信息,因此该实例分别在s2、s5上生成遥测报告,最后由于s1为最后一跳,需要避免丢失最后一跳交换机信息,因此在不超过MTU限制时也会在s1上生成遥测报告,并在每一次生成遥测报告后需将数据包还原。实现了对用户透明的带内网络遥测机制。
实施例三
图3为本发明实施例提供的另一种带内网络结构示意图,如图3所示,本发明实施例提出结合两种INT方式来获取网络全局视图。例如,采用传统INT 将网络状态信息插入用户数据包的方式可以获取交换机处理用户数据包的实时状态,但是可能会导致长时间未收集到网络中某一交换机的网络状态信息,如图3中的交换机s6。这个时候想要获取s6上的网络状态信息,必须通过发送探测数据包的方式获取。采用本发明实施例提出的两种INT方式,可以在获取交换机处理用户数据包实时状态的同时,通过探测数据包获取未收集交换机的网络状态信息,保证能获取网络全局视图。
如图3所示,通过将网络状态信息插入用户数据包的方式可以获取交换机 s1、s2、s3、s4、s5的网络状态信息,当长时间未收集到交换机s6的网络状态信息时,此时可以通过发送探测数据包的方式,从外部发送探测数据包去检测指定交换机s6的状态并获取网络状态信息,最后通过簇头将探测数据包发送至收集器。
实施例四
图4为本发明实施例提供的另一种带内网络结构示意图,如图4所示,本发明实施例提出的技术可以满足用户定制化网络状态信息发送。例如,由于决策需求,需要快速获取到每个交换机处理用户数据包时的数据包状态信息,通过发送探测数据包以及传统的网络状态信息插入用户数据包的方式无法满足该需求。采用本发明实施例提出的方法,用户可以指定何时发送遥测报告,保证了网络状态信息及时性可定制化。
如图4所示,若用户指定需要立即收到每一个交换机的网络状态信息,则规定每一跳交换机都会生成一个遥测报告,并通过当前簇头将遥测报告上传至收集器,实现了用户定制化发送网络状态信息。
本发明提出了一种基于分簇的带内网络遥测机制,实现了在使用INT收集网络状态信息时能提高了网络状态信息的及时性、克服收集网络状态信息时 MTU限制、提供完整的网络全局视图。通过分簇算法对整个网络拓扑进行分簇并选出每个簇的簇头,每个交换机根据当前数据包状态以及数据包长度判断是否需要生成遥测报告,并通过簇头将遥测报告上报至收集器中,减少了控制平面的介入,并提高了网络状态信息的及时性、克服MTU限制。通过结合两种INT的方式可以保证获取完整的网络全局视图。
该系统兼顾提供网络全局视图信息的同时克服了MTU的限制,提高网络状态信息的及时性,支持用户定制化网络状态信息收集,从这个角度出发,很难再找到其他的替代方案完成此发明目的,但是在具体实现的过程应该会有一些其他的方案提出。
综上所述,本发明实施例将发送遥测报告的决策交由数据平面决定,减少了控制平面的介入。通过分簇算法每个交换机上报遥测报告可以取决于当前交换机的状态,包括数据包长度是否超过MTU限制、数据包采集的INT数据的个数是否到达最大个数限制、数据包ttl是否超过最大限制、用户是否要求逐跳上报、多种状态组合等,可以克服在收集网络状态信息时MTU的限制、提高网络状态信息及时性、实现用户定制化网络状态信息收集。在分簇的基础上可以使用分布式收集器从而减少集中式收集器的工作负载,并通过结合两种INT方式,保证获取完整的网络全局视图。
本发明方法兼顾提供网络全局视图信息的同时克服了MTU的限制,提高网络状态信息的及时性,支持用户定制化网络状态信息收集。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种基于分簇的带内网络遥测方法,其特征在于,包括:
对网络拓扑进行分簇处理,给每个簇分配其所支配的交换机,簇内的交换机将生成的遥测报告上传至簇头,由簇头将遥测报告上传至收集器;
所述收集器统计已经收集到的遥测报告中的网络状态信息,选出长时间未收集到网络状态信息的交换机,将长时间未收集到网络状态信息的交换机确定为指定交换机;
将探测数据包发送到指定交换机,收集器根据接收到的所述探测数据包的反馈信息获取所述指定交换机的网络状态信息,确认所述指定交换机的状态;
所述的方法还包括:
在每个交换机上,对传入的数据包状态进行判断,若当前数据包状态满足插入网络状态信息的要求,则将包括入口时间戳和出口时间戳的网络状态信息插入;若当前数据包状态不满足插入网络状态信息的要求,则将数据包中已收集的网络状态信息提取出来生成遥测报告,并将数据包插入的INT头部删除,还原数据包;当用户数据包到达最后一跳交换机时,最后一跳交换机生成遥测报告,并根据INT信息的总长度将遥测报告中除INT头部、INT数据部分的其余无效负载进行截断;
所述的将探测数据包发送到指定交换机,收集器根据接收到的所述探测数据包的反馈信息获取所述指定交换机的网络状态信息,确认所述指定交换机的状态,包括:
从外部生成一个探测数据包,探测数据包的路由路径由使用方从外部生成并插入探测数据包中,所述探测数据包的路由路径只能包含一个状态不确定的指定交换机,其余路由路径经过的交换机状态必须为正常,所述探测数据包的目的地址为收集器,将所述探测数据包注入网络中;
若在规定时间间隔内收集器能收集到探测数据包,则判断所述指定交换机的状态为正常;若在规定时间内收集器未收集到探测数据包,则判断所述指定交换机的状态为异常;
收集器通过进一步分析遥测报告,通过将同一数据包中记录的到达各个交换机的入口时间戳和出口时间戳做减法,得到两个和多个交换机之间的链路时延。
2.根据权利要求1所述的方法,其特征在于,所述的对网络拓扑进行分簇处理,给每个簇分配其所支配的交换机,簇内的交换机将生成的遥测报告上传至簇头,由簇头将遥测报告上传至收集器,包括:
针对不同网络类型以及各交换机连接度对整个网络拓扑进行分簇,并在每个簇中选出对应的簇头,为每个簇头分配其所支配的交换机,一个收集器负责一个或多个簇的遥测报告收集,每个簇的簇头与对应的收集器进行连接;
设置INT机制的交换机包括:源交换机、转发交换机、汇聚交换机,该汇聚交换机为最后一跳交换机,源交换机在数据包中插入INT头部以及自身的网络状态信息后转发,转发交换机在接收到数据包后插入自身网络状态信息并转发,最后一跳交换机接收该数据包后插入自身网络状态信息,随后提取所有网络状态信息生成遥测报告,通过当前网络中使用的通信协议对遥测报告进行封装后,发送给其所在簇的簇头,由簇头将遥测报告上传至收集器。
3.根据权利要求2所述的方法,其特征在于,所述的遥测报告包含INT头部以及所经过交换机收集到的INT数据部分,所述INT头部包含数据包采集的INT数据个数、INT部分长度、数据包初始目的IP地址和遥测报告标记,所述INT数据部分包含交换机id、队列深度、入口端口、出口端口、处理时延、入口时间戳和出口时间戳。
4.根据权利要求1所述的方法,其特征在于,所述带内网络的协议包括但不限于传输控制协议TCP和用户数据包协议UDP。
5.根据权利要求1所述的方法,其特征在于,所述对网络拓扑进行分簇处理的分簇算法包括但不限于:K近邻算法、最小支配集算法和最小连通支配集算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960712.8A CN113676376B (zh) | 2021-08-20 | 2021-08-20 | 一种基于分簇的带内网络遥测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960712.8A CN113676376B (zh) | 2021-08-20 | 2021-08-20 | 一种基于分簇的带内网络遥测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676376A CN113676376A (zh) | 2021-11-19 |
CN113676376B true CN113676376B (zh) | 2022-12-13 |
Family
ID=78544492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110960712.8A Active CN113676376B (zh) | 2021-08-20 | 2021-08-20 | 一种基于分簇的带内网络遥测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676376B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422213B (zh) * | 2021-12-31 | 2023-07-25 | 南京邮电大学 | 基于int的异常流量检测方法和装置 |
CN114501190B (zh) * | 2022-04-06 | 2022-07-15 | 中国科学技术大学 | 基于段路由的虚拟sdn网络带内遥测系统的带内遥测方法 |
CN115174393B (zh) * | 2022-06-27 | 2023-09-22 | 福州大学 | 基于带内网络遥测的服务功能链动态调整方法 |
CN115225550B (zh) * | 2022-07-18 | 2023-09-26 | 北京交通大学 | 一种基于分簇的路径规划算法的按需全网遥测装置 |
CN115442275B (zh) * | 2022-07-27 | 2024-02-27 | 北京邮电大学 | 基于分级可信流的混合遥测方法和系统 |
CN115484202B (zh) * | 2022-08-23 | 2023-05-30 | 南京邮电大学 | 一种基于int的轻量化路径探测方法 |
CN115499102B (zh) * | 2022-09-16 | 2024-04-09 | 迈普通信技术股份有限公司 | 报文处理方法、装置、交换机及计算机可读存储介质 |
CN116938777B (zh) * | 2023-09-14 | 2023-11-21 | 中移(苏州)软件技术有限公司 | 网络遥测的方法及装置、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357046B (zh) * | 2015-11-23 | 2018-10-26 | 北京邮电大学 | 一种用于软件定义网络sdn的网络信息探测的方法 |
CN107835098B (zh) * | 2017-11-28 | 2021-01-29 | 车智互联(北京)科技有限公司 | 一种网络故障检测方法及系统 |
CN108199924B (zh) * | 2018-01-26 | 2020-02-18 | 北京邮电大学 | 基于带内网络遥测的全网流量可视化方法及装置 |
CN110048912B (zh) * | 2019-04-26 | 2022-07-15 | 中国科学技术大学 | 光电跨层网络监测系统、数据处理方法及装置 |
-
2021
- 2021-08-20 CN CN202110960712.8A patent/CN113676376B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113676376A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113676376B (zh) | 一种基于分簇的带内网络遥测方法 | |
US8582466B2 (en) | Flow statistics aggregation | |
USRE48645E1 (en) | Exporting real time network traffic latency and buffer occupancy | |
EP3735762B1 (en) | In-band telemetry with limited extra bytes | |
JP4431315B2 (ja) | パケット通信方法およびパケット通信装置 | |
JP2023505139A (ja) | 伝送品質検出方法、装置およびシステム、ならびに記憶媒体 | |
US20060050702A1 (en) | Packet communication method | |
US7420929B1 (en) | Adaptive network flow analysis | |
CN111726410B (zh) | 用于分散计算网络的可编程实时计算和网络负载感知方法 | |
JP4823156B2 (ja) | リモートトラフィック監視方法 | |
CN115118663B (zh) | 结合带内网络遥测获取网络拥塞信息的方法 | |
CN115037667B (zh) | 一种细粒度网络态势感知与源路由智能优化方法与装置 | |
CN113328956B (zh) | 一种报文处理方法及装置 | |
US9094290B2 (en) | Measuring and displaying bandwidth contention | |
CN116346634A (zh) | 网络管控系统的状态感知信息处理方法、装置及电子设备 | |
US8412843B2 (en) | Network relay apparatus | |
JP2002176437A (ja) | パケット転送制御方法 | |
CN111800311B (zh) | 分散计算状态实时感知方法 | |
CN114157595A (zh) | 一种通信系统、数据处理方法以及相关设备 | |
KR20070060980A (ko) | 제어 프로토콜의 동작을 검증하기 위한 시뮬레이션 장치 및방법 | |
Ren et al. | A reactive traffic flow estimation in software defined networks | |
CN116996392B (zh) | 一种基于加权有向图算法的流量路径重构方法及系统 | |
EP2854340B1 (en) | Misdirected packet statistics collection and analysis | |
Yu et al. | SRv6-based In-band Network Telemetry: Architecture and Strategy | |
CN118233330A (zh) | 业务质量检测方法、装置、节点设备及存储介质 |
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 |