CN114710424B - Host data packet processing delay measurement method based on software defined network - Google Patents
Host data packet processing delay measurement method based on software defined network Download PDFInfo
- Publication number
- CN114710424B CN114710424B CN202210232233.9A CN202210232233A CN114710424B CN 114710424 B CN114710424 B CN 114710424B CN 202210232233 A CN202210232233 A CN 202210232233A CN 114710424 B CN114710424 B CN 114710424B
- Authority
- CN
- China
- Prior art keywords
- host
- request
- data packet
- packet
- delay
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 65
- 238000000691 measurement method Methods 0.000 title claims abstract description 8
- 238000005259 measurement Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000002159 abnormal effect Effects 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 6
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种基于软件定义网络的主机侧数据包处理延时测量方法,将包处理延时测量任务负载到架可编程交换机上,利用可编程交换机的高处理性能实现延时异常测量的全覆盖性和低负载性。通过协调主机端和可编程交换机共同完成整体的测量任务,以避免高速包处理速率下交换机内存溢出导致测量精度损失,最后由交换机根据计算出的处理延迟检测异常数据包,并报告给部署在控制层的分析器作进一步处理。通过结合可编程交换机的高处理性能和主机端的存储能力,实现延时异常测量的全覆盖性和低负载性,该方法简单,实现灵活,实用性强。
The present invention proposes a host-side data packet processing delay measurement method based on a software-defined network, which loads the packet processing delay measurement task onto a rack programmable switch, and uses the high processing performance of the programmable switch to achieve full coverage and low load of delay anomaly measurement. The overall measurement task is completed by coordinating the host side and the programmable switch to avoid loss of measurement accuracy caused by switch memory overflow at high-speed packet processing rate. Finally, the switch detects abnormal data packets based on the calculated processing delay and reports them to the analyzer deployed in the control layer for further processing. By combining the high processing performance of the programmable switch and the storage capacity of the host side, full coverage and low load of delay anomaly measurement are achieved. The method is simple, flexible to implement, and highly practical.
Description
技术领域Technical Field
本发明属于计算机软件,软件定义网络技术领域,尤其涉及一种基于软件定义网络的主机侧数据包处理延时测量方法。The present invention belongs to the field of computer software and software defined network technology, and in particular to a method for measuring the delay of data packet processing on a host side based on a software defined network.
背景技术Background technique
现代数据中心网络(DCNs)支持许多对延迟敏感的应用,如网上冲浪、支付服务和在线社交网络。这些应用在DCN终端主机之间产生TCP流。它们还对TCP流的端到端延迟发布严格的服务水平目标(SLO)。例如,一个SLO要求99%的流量在ms内完成。在这种情况下,偶尔出现毫秒的端到端延迟异常是不可接受的,因为它降低了用户体验,减少了收入。 因此,DCN管理员被强烈要求及时发现延迟异常,这样他们就可以快速排除故障以恢复SLO,从而最大限度地减少收入损失。研究表明,主机端延迟在TCP流的整体端到端延迟中占主导地位,它表示TCP数据包进入终端主机和终端主机返回相应响应之间的时间。因此,对主机侧的分析延迟被认为是DCN的一个基本构件。这种分析需要全面覆盖和低开销。对于全覆盖,分析应该测量所有数据包的延迟,以提供主机侧状态的完整视图。对于低开销,分析本身则不应产生影响主机侧性能的高CPU消耗。Modern data center networks (DCNs) support many latency-sensitive applications such as web surfing, payment services, and online social networking. These applications generate TCP flows between DCN end hosts. They also publish strict service level objectives (SLOs) on the end-to-end latency of TCP flows. For example, an SLO requires that 99% of flows complete within ms. In this case, occasional end-to-end latency anomalies of milliseconds are unacceptable because it degrades user experience and reduces revenue. Therefore, DCN administrators are strongly required to detect latency anomalies in a timely manner so that they can quickly troubleshoot to restore SLOs and minimize revenue losses. Studies have shown that host-side latency dominates the overall end-to-end latency of TCP flows, which represents the time between a TCP packet entering the end host and the end host returning the corresponding response. Therefore, analyzing latency on the host side is considered a fundamental building block of DCN. Such analysis requires both full coverage and low overhead. For full coverage, the analysis should measure the latency of all packets to provide a complete view of the host-side status. For low overhead, the analysis itself should not generate high CPU consumption that affects host-side performance.
现有的主机端延时分析解决方案在全覆盖与低开销之间存在着权衡取舍。基于系统调用的解决方案在终端主机的用户空间运行。它们调用系统调用,从驻扎在内核空间的网络栈中收集系统日志和TCP连接信息。为了实现全面覆盖,他们必须频繁地调用系统调用以获得实时统计数据,这样做不可避免地会产生高CPU消耗,并降低主机端性能;基于路径追踪的解决方案在终端主机的内核空间工作,利用内核空间网络堆栈的功能来插入追踪点,在主机端处理过程中追踪每个数据包的路径。因此,他们能够实现延时分析的全覆盖。然而,使用大量的追踪点也会导致非同小可的CPU消耗。;基于抽样的解决方案通过数据包采样来减轻上述解决方案的开销。他们选择一些数据包作为采样率的样本并只测量样本的延时。虽然这些解决方案实现了低开销,但由于有选择地进行采样,采样本身就存在低覆盖率和低准确性的问题。这使得采样不适合大多数监测任务,包括主机侧延迟的分析。Existing host-side latency analysis solutions have a trade-off between full coverage and low overhead. System call-based solutions run in the user space of the end host. They call system calls to collect system logs and TCP connection information from the network stack residing in the kernel space. In order to achieve full coverage, they must frequently call system calls to obtain real-time statistics, which inevitably incurs high CPU consumption and degrades host-side performance; Path tracing-based solutions work in the kernel space of the end host, leveraging the capabilities of the kernel space network stack to insert trace points to trace the path of each packet during host-side processing. Therefore, they are able to achieve full coverage of latency analysis. However, the use of a large number of trace points also leads to nontrivial CPU consumption.; Sampling-based solutions mitigate the overhead of the above solutions by sampling packets. They select some packets as samples of the sampling rate and only measure the latency of the samples. Although these solutions achieve low overhead, sampling itself has the problem of low coverage and low accuracy due to selective sampling. This makes sampling unsuitable for most monitoring tasks, including the analysis of host-side latency.
发明内容Summary of the invention
为了弥补现有技术的缺陷和不足,本发明提出一种基于软件定义网络的主机侧数据包处理延时测量方法,即一种将剖析操作卸载到可编程交换机,提供全覆盖和低开销的主机侧延迟分析的方法,用于有效解决处理延迟测量高开销或低覆盖率的问题的问题。In order to make up for the defects and shortcomings of the prior art, the present invention proposes a host-side packet processing delay measurement method based on software-defined networking, that is, a method for offloading the profiling operation to a programmable switch to provide full coverage and low-overhead host-side delay analysis, which is used to effectively solve the problem of high overhead or low coverage of processing delay measurement.
其将包处理延时测量任务负载到架可编程交换机上,利用可编程交换机的高处理性能实现延时异常测量的全覆盖性和低负载性。通过协调主机端和可编程交换机共同完成整体的测量任务,以避免高速包处理速率下交换机内存溢出导致测量精度损失,最后由交换机根据计算出的处理延迟检测异常数据包,并报告给部署在控制层的分析器作进一步处理。It loads the packet processing delay measurement task onto the programmable switch, and uses the high processing performance of the programmable switch to achieve full coverage and low load of delay anomaly measurement. The overall measurement task is completed by coordinating the host side and the programmable switch to avoid the loss of measurement accuracy caused by switch memory overflow at high packet processing rates. Finally, the switch detects abnormal data packets based on the calculated processing delay and reports them to the analyzer deployed in the control layer for further processing.
包处理延时测量方法主要包括以下步骤:(1)部署在交换机上的处理程序识别并收集TCP请求数据包达到时间戳tin;(2)终端主机收到TCP请求并调用其网络堆栈进行处理。当请求到达堆栈的网络层时,代理程序拦截请求并从IP选项字段中提取tin,将请求交付给上层堆栈的同时存储tin在队列中;(3)代理程序从传输层收到与请求相对应的响应请求。删除在存储队列中的tin。在IP选项字段中记录tin,并将响应发送回可编程交换机;(4)当交换机收到请求时,处理程序从请求中提取tin,并记录当前的系统时间tout,计算出宿主端请求的延迟,并向控制平面发送报告;本发明通过结合可编程交换机的高处理性能和主机端的存储能力,实现延时异常测量的全覆盖性和低负载性,该方法简单,实现灵活,实用性强。The packet processing delay measurement method mainly includes the following steps: (1) The processing program deployed on the switch identifies and collects the TCP request data packet reaching the timestamp t in ; (2) The terminal host receives the TCP request and calls its network stack for processing. When the request reaches the network layer of the stack, the agent intercepts the request and extracts t in from the IP option field, delivers the request to the upper layer stack and stores t in the queue; (3) The agent receives the response request corresponding to the request from the transport layer. Delete t in the storage queue. Record t in the IP option field and send the response back to the programmable switch; (4) When the switch receives the request, the processing program extracts t in from the request and records the current system time t out , calculates the delay of the host request, and sends a report to the control plane; The present invention combines the high processing performance of the programmable switch and the storage capacity of the host to achieve full coverage and low load of delay anomaly measurement. The method is simple, flexible to implement and highly practical.
本发明具体采用以下技术方案:The present invention specifically adopts the following technical solutions:
一种基于软件定义网络的主机侧数据包处理延时测量方法,其特征在于:将包处理延时测量任务负载架设在可编程交换机上,,利用可编程交换机的高处理性能实现延时异常测量的全覆盖性和低负载性;通过协调主机端和可编程交换机共同完成整体的测量任务,以避免高速包处理速率下交换机内存溢出导致测量精度损失;最后由交换机根据计算出的处理延迟检测异常数据包,报告给部署在控制层的分析器作进一步处理。A method for measuring the delay of data packet processing on the host side based on a software-defined network is characterized in that: the packet processing delay measurement task load is set up on a programmable switch, and the high processing performance of the programmable switch is used to achieve full coverage and low load of delay anomaly measurement; the overall measurement task is completed by coordinating the host side and the programmable switch to avoid loss of measurement accuracy caused by switch memory overflow at a high-speed packet processing rate; finally, the switch detects abnormal data packets according to the calculated processing delay and reports them to an analyzer deployed in the control layer for further processing.
进一步地,为了解决延时分析问题,在主机侧和交换机侧分别部署处理程序和代理程序,各自针对整体测量任务不同部分提出数据包处理逻辑,其包处理延时测量方法具体包括以下步骤:Furthermore, in order to solve the delay analysis problem, a processing program and an agent program are deployed on the host side and the switch side respectively, and each proposes a data packet processing logic for different parts of the overall measurement task. The packet processing delay measurement method specifically includes the following steps:
设外界发往主机侧TCP请求数据包后,主机侧向外界应答响应数据包:Assume that after the outside world sends a TCP request data packet to the host side, the host side responds to the outside world with a response data packet:
步骤S1:部署在交换机上的处理程序识别并收集TCP请求数据包达到时间戳tin;Step S1: The processing program deployed on the switch identifies and collects TCP request data packets reaching the timestamp t in ;
步骤S2:终端主机收到TCP请求并调用其网络堆栈进行处理;当请求到达堆栈的网络层时,所述代理程序拦截请求并从IP选项字段中提取tin,将请求交付给上层堆栈的同时存储tin在队列中;Step S2: The terminal host receives the TCP request and calls its network stack for processing; when the request reaches the network layer of the stack, the agent intercepts the request and extracts tin from the IP option field, delivers the request to the upper stack and stores tin in the queue;
步骤S3:所述代理程序从传输层收到与请求相对应的响应请求;删除在存储队列中的tin;在IP选项字段中记录tin,并将响应发送回可编程交换机;Step S3: the agent receives a response request corresponding to the request from the transport layer; deletes tin in the storage queue; records tin in the IP option field, and sends a response back to the programmable switch;
步骤S4:当交换机收到请求时,处理程序从请求中提取tin,并记录当前的系统时间tout,计算出宿主端请求的延迟,并向控制平面发送报告。Step S4: When the switch receives the request, the processing program extracts t in from the request, records the current system time t out , calculates the delay of the host request, and sends a report to the control plane.
进一步地,将包处理延迟测量任务转化为以下六个局部子任务:(1)数据包的类型识别,(2)收集请求数据包到达时间戳tin,(3) 存储包处理期间Gbps量级时间戳信息,(4)收集响应数据包到达时间戳tout,(5)计算包处理延迟,(6)识别延迟异常包并向控制平面报告。Furthermore, the packet processing delay measurement task is transformed into the following six local subtasks: (1) identifying the type of data packet, (2) collecting the arrival timestamp t in of the request data packet, (3) storing the Gbps-level timestamp information during packet processing, (4) collecting the arrival timestamp t out of the response data packet, (5) calculating the packet processing delay, and (6) identifying delay abnormal packets and reporting them to the control plane.
进一步地,在步骤S1中,所述处理程序执行识别数据包类型时忽略SYN和FIN数据包,以避免影响TCP连接的建立和终止;对于其他TCP数据包,检查该数据包的出口交换机端口ρ,若其连接到DCN结构中的外部交换机,则该数据包也被忽略;否则,处理程序检查IP可选项字段修改情况以识别该数据包的类型,同时修改请求数据包的IP可选项字段,将时间戳信息存入后传递给终端主机,以避免高速转发环境下交换机内存溢出导致的测量精度损失。Further, in step S1, the processing program ignores SYN and FIN packets when executing the identification of the packet type to avoid affecting the establishment and termination of the TCP connection; for other TCP packets, the egress switch port ρ of the packet is checked, and if it is connected to an external switch in the DCN structure, the packet is also ignored; otherwise, the processing program checks the modification of the IP option field to identify the type of the packet, and modifies the IP option field of the request packet, stores the timestamp information and passes it to the terminal host to avoid the loss of measurement accuracy caused by the switch memory overflow in a high-speed forwarding environment.
进一步地,在步骤S2中,所述代理程序部署在网络层,拦截主机端网络堆栈中即将进入传输层解析的请求数据包,从被丢弃的IP可选项字段中提取时间戳tin并提供有效载荷数据供高层应用接收。Further, in step S2, the agent is deployed at the network layer, intercepts the request data packet in the host-side network stack that is about to enter the transport layer for parsing, extracts the timestamp t in from the discarded IP option field, and provides payload data for high-level applications to receive.
进一步地,在步骤S3中,所述代理程序在主机侧网络堆栈的网络层中创建一组队列Q,用于管理附加到流量请求的时间戳;当终端主机收到一个请求数据包,代理程序根据请求的五元组的散列结果键来定位队列Q[key]并存储时间戳tin;当收到来自传输层的响应时,代理程序利用请求包的TCP确认号和响应TCP序列号之间的等价关系在队列中定位并剔除时间戳tin。Further, in step S3, the agent creates a set of queues Q in the network layer of the host-side network stack for managing timestamps attached to traffic requests; when the terminal host receives a request data packet, the agent locates the queue Q[key] according to the hash result key of the five-tuple of the request and stores the timestamp t in ; when receiving a response from the transport layer, the agent locates and removes the timestamp t in in the queue using the equivalence relationship between the TCP confirmation number of the request packet and the response TCP sequence number.
进一步地,在步骤S4中,所述处理程序利用提取出的时间戳tin和包到达时间戳tout计算包处理延时t;并设定可配置的阈值θ,对于延迟t>θ,生成一份包含延迟t、数据包的五元组,连同接收数据包的入口交换机端口的标识符延迟报告发送给分析器,用于在检测覆盖率和带宽开销之间进行权衡。Furthermore, in step S4, the processing program calculates the packet processing delay t using the extracted timestamp t in and the packet arrival timestamp t out ; and sets a configurable threshold θ. For delay t>θ, a five-tuple including delay t and data packet is generated and sent to the analyzer together with the identifier delay report of the ingress switch port that receives the data packet, so as to strike a balance between detection coverage and bandwidth overhead.
与现有技术相比,本发明及其优选方案结合可编程交换机的高处理性能和主机端的存储特性,协调主机端和可编程交换机共同完成整体的测量任务,实现包处理延时测量的全覆盖性和低负载性,可以有效避免交换机内存溢出和主机侧系统调用时间消耗,有效解决了在包处理延时测量方面难以同时满足全覆盖性和低负载性的问题。Compared with the prior art, the present invention and its preferred solution combine the high processing performance of the programmable switch and the storage characteristics of the host side, coordinate the host side and the programmable switch to jointly complete the overall measurement task, and achieve full coverage and low load of packet processing delay measurement. It can effectively avoid switch memory overflow and host side system call time consumption, and effectively solve the problem of difficulty in simultaneously meeting full coverage and low load in packet processing delay measurement.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本发明实施例部署在交换机端的处理程序架构示意图;FIG1 is a schematic diagram of a processing program architecture deployed on a switch end according to an embodiment of the present invention;
图2为本发明实施例部署在主机端的代理程序程序架构示意图。FIG. 2 is a schematic diagram of the program architecture of an agent program deployed on a host side according to an embodiment of the present invention.
具体实施方式Detailed ways
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:In order to make the features and advantages of this patent more obvious and easy to understand, the following embodiments are specifically described in detail as follows:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本说明书使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。It should be noted that the following detailed descriptions are illustrative and are intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used in this specification have the same meanings as those commonly understood by those skilled in the art to which the present application belongs.
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and/or "include" are used in this specification, it indicates the presence of features, steps, operations, devices, components and/or combinations thereof.
本实施例提出了基于软件定义网络的主机侧数据包处理延时测量方法。该方法将包处理延时测量任务解耦后选择性负载局部子任务到可编程交换机上,利用可编程交换机的高处理性能实现延时异常测量的全覆盖性和低负载性。通过协调主机端和可编程交换机共同完成整体的测量任务,以避免高速包处理速率下交换机内存溢出导致测量精度损失,最后由交换机根据计算出的处理延迟检测异常数据包,并报告给部署在控制层的分析器用以作进一步处理。特别的是,本实施例针对整体测量任务分别在交换机端和主机端部署处理程序和代理程序,运行不同的数据包处理逻辑,具体如下:This embodiment proposes a host-side data packet processing delay measurement method based on software-defined networking. This method decouples the packet processing delay measurement task and selectively loads local subtasks onto the programmable switch, using the high processing performance of the programmable switch to achieve full coverage and low load of delay anomaly measurement. The overall measurement task is completed by coordinating the host side and the programmable switch to avoid loss of measurement accuracy caused by switch memory overflow at high packet processing rates. Finally, the switch detects abnormal data packets based on the calculated processing delay and reports them to the analyzer deployed at the control layer for further processing. In particular, this embodiment deploys a handler and an agent on the switch side and the host side for the overall measurement task, respectively, and runs different data packet processing logics, as follows:
1.识别并收集TCP请求数据包信息:如图1所示,对于每个到达的TCP数据包,处理程序首先执行识别数据包类型的操作。具体来说,它忽略了SYN和FIN数据包,以避免影响TCP连接的建立和终止。对于任何其他TCP数据包,则检查该数据包的交换机出端口ρ。如果ρ连接到DCN结构中的外部交换机,处理程序也将忽略该数据包。否则,处理程序会检查数据包的IP可选项字段;如果IP选项是空的,那么该数据包还没有被代理程序处理过,因此它被识别为一个新的请求。否则,该数据包将被识别为一个由终端主机返回的响应包。特别的,对于识别出的请求包,处理程序将当前时间tin嵌入该数据包的IP可选项字段。1. Identify and collect TCP request packet information: As shown in Figure 1, for each arriving TCP packet, the handler first performs the operation of identifying the packet type. Specifically, it ignores SYN and FIN packets to avoid affecting the establishment and termination of TCP connections. For any other TCP packets, the switch egress port ρ of the packet is checked. If ρ is connected to an external switch in the DCN structure, the handler will also ignore the packet. Otherwise, the handler checks the IP option field of the packet; if the IP option is empty, the packet has not been processed by the agent, so it is identified as a new request. Otherwise, the packet will be identified as a response packet returned by the terminal host. In particular, for the identified request packet, the handler embeds the current time t in into the IP option field of the packet.
2.代理程序程序处理逻辑:当一个请求到达终端主机时,它将被传递到主机侧的网络堆栈。堆栈分析数据包头,并提供有效载荷数据供高层应用接收。2. Agent program processing logic: When a request arrives at the end host, it will be passed to the network stack on the host side. The stack analyzes the packet header and provides payload data for high-level applications to receive.
(1)如图2所示,当请求包进入传输层时,其IP头部将被默认丢弃。代理程序在网络层拦截请求,在IP头部被丢弃之前存储tin,保证其剖析操作的正常执行。代理程序创建了一组Q队列用于tin存储,每个队列都与一个由流量的五元组识别的特定流量相关,以此索引附加到请求包上的时间戳。特别的是,当存储一个请求的tin,它也在队列中存储该请求的确认号码。(1) As shown in Figure 2, when a request packet enters the transport layer, its IP header will be discarded by default. The agent intercepts the request at the network layer and stores t in before the IP header is discarded to ensure the normal execution of its analysis operation. The agent creates a set of Q queues for t in storage, each queue is associated with a specific flow identified by the flow's five-tuple, which indexes the timestamp attached to the request packet. In particular, when storing a request's t in , it also stores the request's confirmation number in the queue.
(2)如图2所示,当从传输层传来一个数据包时,代理程序交换数据包的五元组的源字段和目的字段,并通过散列获得密钥。它使用数据包的序列号查询Q[key]中的相应位置。如果查找失败,即代理程序之前记录的确认号中没有该序列号,则该数据包是一个由终端主机发送的新请求,并且没有被处理程序分析过。因此,代理程序忽略了这个数据包。否则,它将定位后相应位置上的tin重新嵌入到数据包的IP可选项字段中,并传递回交换机。(2) As shown in Figure 2, when a data packet is received from the transport layer, the agent exchanges the source field and destination field of the five-tuple of the data packet and obtains the key through hashing. It uses the sequence number of the data packet to query the corresponding position in Q[key]. If the search fails, that is, the confirmation number previously recorded by the agent does not have the sequence number, then the data packet is a new request sent by the terminal host and has not been analyzed by the processing program. Therefore, the agent ignores this data packet. Otherwise, it re-embeds the tin at the corresponding position after locating into the IP option field of the data packet and passes it back to the switch.
数据包处理延时计算:如图1所示,当处理程序识别到终端主机传回的响应数据包后,处理程序会执行另外三个剖析操作。首先,它记录收到该响应包时的时间戳tout。其次,它从IP选项中检索出tin,计算出主机端处理延迟t = tout - tin,并重新设置IP选项。最后,有选择地将延迟数据报告给分析器,由分析器基于收到的数据进一步分析延迟的异常情况。Packet processing delay calculation: As shown in Figure 1, when the handler recognizes the response packet sent back by the end host, the handler performs three additional analysis operations. First, it records the timestamp t out when the response packet is received. Second, it retrieves t in from the IP options, calculates the host-side processing delay t = t out - t in , and resets the IP options. Finally, the delay data is selectively reported to the analyzer, which further analyzes the delay anomalies based on the received data.
本实施例提供的以上程序设计方案可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。The above program design scheme provided in this embodiment can be stored in a computer-readable storage medium in a coded form and implemented in the form of a computer program, and the basic parameter information required for calculation is input through computer hardware, and the calculation result is output.
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程、以及流程图中的流程结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。The present invention is described with reference to the flowcharts of the methods, devices (apparatus), and computer program products according to the embodiments of the present invention. It should be understood that each process in the flowchart, as well as the combination of processes in the flowchart, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more processes in the flowchart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程图中指定的功能。These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more flowcharts.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart.
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。The above is only a preferred embodiment of the present invention, and does not limit the present invention in other forms. Any technician familiar with the profession may use the above disclosed technical content to change or modify it into an equivalent embodiment with equivalent changes. However, any simple modification, equivalent change and modification made to the above embodiment according to the technical essence of the present invention without departing from the technical solution of the present invention still belongs to the protection scope of the technical solution of the present invention.
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于软件定义网络的主机侧数据包处理延时测量方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。This patent is not limited to the above-mentioned optimal implementation mode. Anyone can derive other various forms of host-side data packet processing delay measurement methods based on software-defined networks under the inspiration of this patent. All equal changes and modifications made according to the scope of the patent application of the present invention should be covered by this patent.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210232233.9A CN114710424B (en) | 2022-03-10 | 2022-03-10 | Host data packet processing delay measurement method based on software defined network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210232233.9A CN114710424B (en) | 2022-03-10 | 2022-03-10 | Host data packet processing delay measurement method based on software defined network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114710424A CN114710424A (en) | 2022-07-05 |
CN114710424B true CN114710424B (en) | 2024-05-14 |
Family
ID=82168354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210232233.9A Active CN114710424B (en) | 2022-03-10 | 2022-03-10 | Host data packet processing delay measurement method based on software defined network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114710424B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094962B (en) * | 2023-02-08 | 2025-03-25 | 之江实验室 | A method for measuring network transmission delay between any two nodes in a programmable network |
CN118075219A (en) * | 2023-12-12 | 2024-05-24 | 天翼云科技有限公司 | P4-assisted cloud EIP gateway shared bandwidth flow supervision method and system |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095525A (en) * | 2012-12-28 | 2013-05-08 | 广东电网公司茂名供电局 | Monitoring method and system for process level network virtual secondary circuit based on intelligent switching |
JP2016208441A (en) * | 2015-04-28 | 2016-12-08 | 日本電信電話株式会社 | Time synchronization method and time synchronization apparatus |
CN108631899A (en) * | 2018-05-16 | 2018-10-09 | 常州海德克智能科技有限公司 | It is forwarded and fault-tolerance approach and device based on the data packet in time triggered Ethernet |
CN111490975A (en) * | 2020-03-23 | 2020-08-04 | 山东大学 | Distributed denial of service DDoS attack tracing system and method based on software defined network |
CN112291115A (en) * | 2020-11-20 | 2021-01-29 | 桂林航天工业学院 | High-precision real-time delay monitoring method based on software defined data center |
CN112866075A (en) * | 2020-12-21 | 2021-05-28 | 网络通信与安全紫金山实验室 | In-band network telemetering method, system and related device for Overlay network |
CN113242158A (en) * | 2021-05-10 | 2021-08-10 | 上海华讯网络系统有限公司 | Real-time monitoring method and system based on switch hardware timestamp |
WO2022005873A1 (en) * | 2020-07-01 | 2022-01-06 | Cisco Technology, Inc. | Path visibility, packet drop, and latency measurement with service chaining data flows |
CN113904960A (en) * | 2021-12-06 | 2022-01-07 | 上海金仕达软件科技有限公司 | Method, device, system and storage medium for measuring data transmission delay |
CN114039891A (en) * | 2021-11-06 | 2022-02-11 | 麻恩泽 | Sketch-based software-defined network large-flow end-to-end time delay and packet loss rate estimation method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060029016A1 (en) * | 2004-06-29 | 2006-02-09 | Radware Limited | Debugging application performance over a network |
US8756411B2 (en) * | 2010-12-06 | 2014-06-17 | Siemens Aktiengesellschaft | Application layer security proxy for automation and control system networks |
US8989010B2 (en) * | 2012-07-10 | 2015-03-24 | Telefonaktiebolaget L M Ericsson (Publ) | Delayed based traffic rate control in networks with central controllers |
-
2022
- 2022-03-10 CN CN202210232233.9A patent/CN114710424B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095525A (en) * | 2012-12-28 | 2013-05-08 | 广东电网公司茂名供电局 | Monitoring method and system for process level network virtual secondary circuit based on intelligent switching |
JP2016208441A (en) * | 2015-04-28 | 2016-12-08 | 日本電信電話株式会社 | Time synchronization method and time synchronization apparatus |
CN108631899A (en) * | 2018-05-16 | 2018-10-09 | 常州海德克智能科技有限公司 | It is forwarded and fault-tolerance approach and device based on the data packet in time triggered Ethernet |
CN111490975A (en) * | 2020-03-23 | 2020-08-04 | 山东大学 | Distributed denial of service DDoS attack tracing system and method based on software defined network |
WO2022005873A1 (en) * | 2020-07-01 | 2022-01-06 | Cisco Technology, Inc. | Path visibility, packet drop, and latency measurement with service chaining data flows |
CN112291115A (en) * | 2020-11-20 | 2021-01-29 | 桂林航天工业学院 | High-precision real-time delay monitoring method based on software defined data center |
CN112866075A (en) * | 2020-12-21 | 2021-05-28 | 网络通信与安全紫金山实验室 | In-band network telemetering method, system and related device for Overlay network |
CN113242158A (en) * | 2021-05-10 | 2021-08-10 | 上海华讯网络系统有限公司 | Real-time monitoring method and system based on switch hardware timestamp |
CN114039891A (en) * | 2021-11-06 | 2022-02-11 | 麻恩泽 | Sketch-based software-defined network large-flow end-to-end time delay and packet loss rate estimation method |
CN113904960A (en) * | 2021-12-06 | 2022-01-07 | 上海金仕达软件科技有限公司 | Method, device, system and storage medium for measuring data transmission delay |
Non-Patent Citations (2)
Title |
---|
《基于SDN的CDN请求路由方法研究》;郭俊杰;《中国优秀硕士学位论文全文数据库 信息科技辑》(第07期);I139-20 * |
基于包重传延时的主机操作系统探测技术的设计与实现;濮青;小型微型计算机系统(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114710424A (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850337B (en) | A kind of network quality detection method and device | |
CN100553255C (en) | Be used to detect the TCP network and connect the system and method that carries out Nagle | |
CN114710424B (en) | Host data packet processing delay measurement method based on software defined network | |
US20150074258A1 (en) | Scalable performance monitoring using dynamic flow sampling | |
CN107645398A (en) | A kind of method and apparatus of diagnostic network performance and failure | |
CN112073234A (en) | Fault detection method, device, system, equipment and storage medium | |
US7171464B1 (en) | Method of tracing data traffic on a network | |
US11336545B2 (en) | Network device measurements employing white boxes | |
CN110677324A (en) | Elephant flow two-stage detection method based on sFlow sampling and controller active update list | |
CN112383421B (en) | Fault positioning method and device | |
US20220368606A1 (en) | Fault Detection Model Training Method, Apparatus, and System | |
WO2020135429A1 (en) | Traffic analysis method and apparatus, and traffic detection method and apparatus | |
CN109525495B (en) | Data processing device and method and FPGA board card | |
KR20220029142A (en) | Sdn controller server and method for analysing sdn based network traffic usage thereof | |
Dong et al. | Multi-dimensional detection of Linux network congestion based on eBPF | |
CN101183998A (en) | Time-sensitive method for establishing and executing dynamic bidirectional circular TCP stream buffer | |
JP5742549B2 (en) | Packet capture processing method and apparatus | |
US20140086091A1 (en) | Method, apparatus, and system for analyzing network transmission characteristic | |
Song et al. | Hcmonitor: an accurate measurement system for high concurrent network services | |
CN111800311A (en) | Real-time sensing method for decentralized computing state | |
WO2022083509A1 (en) | Data stream identification method and device | |
CN112291076A (en) | Packet loss positioning method, device and system and computer storage medium | |
WO2023174287A1 (en) | Time delay analysis method and apparatus | |
WO2021147371A1 (en) | Fault detection method, apparatus and system | |
CN118200203B (en) | Network jitter detection method and network jitter detection device |
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 |