手册下载
组播可视化方案-UDP智能流量分析技术白皮书-6W100-整本手册.pdf (1.35 MB)
组播可视化方案-UDP智能流量分析技术白皮书
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
UDP协议由于其无连接和高效传输的特性,在视频流、在线游戏、实时通信等组播业务中被广泛使用。然而,UDP本身不提供数据包的重传机制,缺乏可靠性保证,这使得UDP流量在传输过程中容易出现丢包和时延等问题,进而影响应用的性能和用户体验。因此,网络管理员需要对UDP流量进行统计分析,从而优化网络性能。
然而,传统的网络流量分析工具多依赖于采样技术,采样比一般至少是2000:1。基于这种采样方式的分析功能只能用于相对粗略的流量统计,无法实现精确地基于每条业务流进行深度分析,无法获知流量的丢包、时延等信息。特别是在复杂的网络环境中,对每个具体业务流的深入分析成为了提升网络管理效率和优化网络性能的关键。
因此,UDP智能流量分析技术应运而生。它能够对特定的业务流进行深入的性能分析,提供包括丢包、时延等在内的高精度性能指标。这项技术通过精确匹配和分析特定UDP流,不仅可以实现对网络状态的实时监控,还能快速定位和解决网络中的问题,极大地提升了网络的可靠性和运维效率。此外,UDP智能流量分析还支持将分析结果进行可视化展示,使得网络管理员可以更直观地理解网络状态,更有效地进行网络规划和管理。
由于组播业务中广泛使用UDP流量,因此组播可视化方案可以通过UDP智能流量分析技术实现。
UDP智能流量分析技术通过提供精准的网络性能数据、实时的故障定位能力以及直观的流量可视化功能,极大地提升了网络的可靠性和管理效率,为各类网络环境下的业务流畅运行提供了有力保障。以下是UDP智能流量分析技术的主要优点:
· 高精度性能指标分析:通过对UDP流进行深度分析,该技术能够提供包括丢包、时延在内的高精度性能指标。网络管理员能够基于这些数据做出准确决策,从而优化网络性能,提升最终用户体验。
· 实时故障定位:在复杂的网络环境中,传统的基于采样的流量分析方法往往无法快速准确地定位问题。UDP智能流量分析技术能够实时监控指定的业务流,一旦发现问题,如流量异常、时延突增等,即可迅速定位到具体的流,极大地缩短了故障响应和恢复时间。
· 流量可视化:该技术支持将分析结果输出到分析器进行可视化展示,使得网络状态和性能一目了然。可以帮助网络管理员直观了解流量的分布和变化,便于及时调整和优化网络配置。
· 应用范围广:UDP智能流量分析技术不仅局限于组播流量,也能应用于单播流量场景,如VoIP电话、在线游戏等。这提高了技术的适用性和灵活性,能够满足更广泛的业务需求。
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议。与TCP相比,UDP可靠性较差,控制选项较少,存在不提供数据包分组、组装和不能对数据包进行排序的缺点。也就是说,当报文发送之后,是无法得知其是否安全完整到达的。但其简单的协议结构使其在处理速度和资源消耗上具有优势,数据传输延迟小、数据传输效率高,尤其适用于对传输可靠性要求不高的应用程序,如音频、多媒体应用和证券行情场景。因此UDP流量在组播场景中得到广泛应用。
UDP报文封装在IP数据包中,UDP报文结构的如图2-1所示。
图2-1 UDP报文格式
其中,主要字段解释如下:
· UDP报文由报文头和数据组成。UDP报文头很简单,只有8 bytes,由4个字段组成,每个字段的长度都是2 bytes(16 bits):
¡ Source Port和Destination Port表示源端口和目的端口。
¡ Length表示UDP报文的长度,单位为bytes,其最小值是8,表示仅有UDP报文头,没有UDP数据。
¡ Checksum表示校验和,用来检测UDP报文在传输中的正确性,若有错就丢弃。
· UDP报文前面封装的是IP报文头:
¡ Protocol表示IP报文携带的数据使用的是哪种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17,ICMP的协议号为1。
¡ Identification是主机发送的每一份数据报文的唯一标识,通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时可以进行报文分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。对于一个UDP流来说,主机每发送一个UDP报文,报文中的Identification字段就会加1,通过Identification字段的值就可以确定UDP报文的序号。由于Identification字段的大小为16 bits,因此一个UDP流中UDP报文的序号最多为0~65535。
UDP智能流量分析方案的核心技术是NetAnalysis技术。NetAnalysis技术是一种网络流量监控和分析技术,可以对指定的业务流进行深度分析,得到指定业务流的丢包、时延等性能指标数据。同时,支持将分析结果上送给网络流分析数据处理器进行分析和展示,从而方便网络管理员监控网络运行情况和快速定位网络故障。
一个典型的NetAnalysis系统由NDE、NAP和NDA三部分组成。
· NDE(NetAnalysis Data Exporter,网络流数据输出者):NDE通过ACL中所定义的规则来筛选出需要进行分析的UDP业务流量,并将其上送至NAP。
· NAP(NetAnalysis Processor,网络流分析处理器):接收NDE上送的数据流,并对其进行处理与分析。完成分析后,NAP会将结果发送给NDA。
· NDA(NetAnalysis Data Analyzer,网络流数据分析器):一个具有图形化界面的网络流量分析工具,旨在简化数据的获取、展示和分析过程,以便用户使用。
图2-2 NetAnalysis系统
NDE和NAP通常集成在一台网络设备上。
UDP智能流量分析过程主要分为流匹配、流分析和流输出三个步骤。
流匹配是UDP智能流量分析技术中的首要步骤,其目的是从网络数据流中精确识别出特定的UDP流,以便进行更深入的分析。
在NDE上,管理员根据业务需求定义ACL规则匹配特定的UDP报文。当UDP报文通过NDE时,只有符合ACL匹配规则的报文才会被标记,并进一步分析处理。例如,如果网络管理员想要监控从特定IP地址到另一特定IP地址的所有视频流量,则可以设置一个ACL规则来匹配报文的源和目的IP地址。
NDE对匹配成功的UDP报文按五元组信息建立UDP流,相同的五元组能够唯一确定一条UDP流。
表2-1 五元组信息
五元组 |
说明 |
SPORT |
UDP的源端口号 |
SIP |
UDP的源IP地址。目前仅支持IPv4地址 |
DPORT |
UDP流的目的端口号 |
DIP |
UDP流的目的IP地址。目前仅支持IPv4地址 |
Protocol |
UDP协议 |
Block在UDP智能流量分析中是一个关键概念,它是对UDP流进行分析的基本单位。
每条UDP流中存在多个UDP报文,主机每发送一个UDP报文,报文中的Identification字段就会加1,依据UDP报文的Identification字段可以确定UDP报文的序号。
一个UDP流中UDP报文的序号为0~65535,NDE通过对UDP报文序号进行分段,可以将一个UDP流分为多个Block,每一个Block都有一个唯一的Block号。缺省情况下,智能流量分析模块将Block数设置为256,表示将UDP流分为256个Block。那么序号为0~255的UDP报文即属于第一个Block,序号为256~511的UDP报文即属于第二个Block,依次类推,如图2-3所示。用户也可根据实际情况配置Block数来控制每个Block中UDP报文的数量。
如图2-4所示,NDE将UDP流按报文序号划分到不同的Block后,会将这些Block通过软件处理复制并上送给NAP。
当NAP接收来自NDE的第一个UDP Block时,开始对其中的报文进行初步分析,例如,入端口、时间戳,UDP报文数量等,从而创建该UDP流的流表。随着后续Block的到来,NAP会不断更新这个流表的特征。
表2-2 流表特征
特征 |
描述 |
Flow created at |
UDP流的创建时间 |
Direction |
UDP流的方向,目前仅支持入方向 |
Src IP |
UDP流的源IP地址 |
Dst IP |
UDP流的目的IP地址 |
Src Port |
UDP流的源端口号 |
Dst Port |
UDP流的目的端口号 |
Interface |
UDP流的入端口,NDA汇总后可以分析出UDP流的路径 |
VNI |
VXLAN封装的VXLAN ID,支持识别VXLAN网络 |
Block Id |
Block号 |
Block Timestamp |
Block的时间戳,使用Block内第一个报文的时间戳 NDA汇总后可以分析出UDP流的时延 |
Receive Packets |
UDP流从入端口采集到的该Block内的UDP报文数量,NDA汇总后可以分析出UDP流的丢包 |
Receive Bytes |
UDP流从入端口采集到的该Block内的UDP报文的字节数 |
流输出是UDP智能流量分析的最后阶段,流分析的流表信息首先被存储在设备的缓冲区中,然后再将流表信息传递给NDA进行分析并进行可视化展示。
这个过程包括以下几个具体步骤:
(1) 订阅流表信息:NDA向NAP订阅流表,并发送订阅消息,完成相应的订阅。设备会收到携带订阅请求的报文,并进行处理。
(2) 周期性输出流表信息:当NAP收到订阅消息后,NAP会每隔一个Block,将流表信息上送给NDA。例如,当收到第二个Block时,会将第一个Block的流表信息上送至NDA。
(3) 丢包处理:如果在某个Block分析过程中发生丢包,设备将等待一段预设时间(不同设备时间或有不同)后,再将该Block的流表信息上传至NDA,以保证数据的完整性。
当一个流在设定的非活跃时间内没有新的报文出现时,将触发老化过程。具体步骤如下:
(1) 检测非活跃流:设备会监控每个UDP流的活动时间,如果从流的最后一个报文到当前时间的间隔超过预设的非活跃时间,则标识该流为非活跃流。
(2) 老化流表信息:一旦某个流被标识为非活跃流,其当前的流表信息将被强制输出至NDA。
(3) 释放缓存资源:老化的流表信息发送至NDA后,设备将从缓存中删除相应的流表信息,释放资源以供新的流量使用。这样确保了设备的高效运行和资源的合理利用。
NDA汇总所有设备的流表信息后,通过对各设备相同Block号的流表信息进行深度分析,从而计算出UDP流的丢包、时延、路径等性能指标数据。
图2-5 NDA汇总分析
NDA根据各设备相同Block号的流表信息中的入端口信息,并结合LLDP报文数据,可以分析出上游设备以及上游设备的出端口,然后绘制出一张路径图。若上游设备是M-LAG组网,则会使用主设备信息以及出端口绘制路径图。
路径分析功能需各设备上配置LLDP协议,以便通过LLDP相关邻居信息找到上游设备和上游接口。
如图2-5所示,NDA获取到Device C的入端口为Port 1后,根据Port 1结合LLDP报文数据,找到上游接口是上游设备Device B的Port 2。依次类推,绘制路径图。
NDA根据各设备相同Block号的流表信息中的时间戳信息,计算时延。
如图2-5所示,NDA获取到Device C的Block 1的时间戳为T1,Device B的Block 1的时间戳为T2,则Device C到Device B之间时延为T2-T1。
时延分析功能需各设备上配置时钟同步。
NDA根据各设备相同Block号的流表信息中的UDP报文数量信息,计算丢包数。
如图2-5所示,NDA获取到Device C的Block 1内的UDP报文数量N1,Device B的Block 1内的UDP报文数量N2,则Device C到Device B之间丢包数为N1-N2。
NDA可以对分析结果进行可视化处理,展示UDP流的性能指标等关键信息(例如设备路径图、时延和丢包统计图表等),帮助网络管理员监测和优化网络性能。
在组播场景中,组播源与接收者之间的所有设备开启UDP智能流量分析功能,并将数据发送到NDA。NDA对收集到的数据进行深度分析,可视化展示分析结果,例如流量的路径、时延和丢包等关键指标。