带内网络遥测系统及方法技术方案

技术编号:20286521 阅读:35 留言:0更新日期:2019-02-10 18:31
本发明专利技术公开了一种带内网络遥测系统及方法,其中,该系统包括:捕获数据包模块,用于捕获数据链路层的数据包,并对数据包进行逐层的报头解析操作,并将数据包发送至网络层、传输层和应用层进行处理,以得到处理后的数据包;分析统计模块,用于在网络层、传输层和应用层对处理后的数据包进行IP地址分析、TCP/UDP和断口分析、统计分析和协议分析,以得到数据包的时延信息;改包模块,用于修改分析后的数据包报头的checksum区域,并将时延信息打印到数据包上并输出至主控主机。该系统可以实时监测网络,减少人力成本,并可以摆脱对专用芯片的依赖,对底层软件进行修改,增强功能适用性。

Intra-band Network Telemetry System and Method

The invention discloses an in-band network telemetry system and method, which includes: capturing data packet module for capturing data packets in data link layer, performing layer-by-layer header parsing operation on data packets, and sending data packets to network layer, transmission layer and application layer for processing in order to obtain processed data packets; analysis and statistics module for use in network layer. Transport layer and application layer carry out IP address analysis, TCP/UDP and fracture analysis, statistical analysis and protocol analysis on the processed data packet to get the delay information of the data packet. Packet module is used to modify the checksum area of the analyzed data packet header, and print the delay information to the data packet and output it to the main control host. The system can monitor the network in real time, reduce the cost of manpower, get rid of the dependence on special chips, modify the underlying software, and enhance the functional applicability.

【技术实现步骤摘要】
带内网络遥测系统及方法
本专利技术涉及数据通信
,特别涉及一种带内网络遥测系统及方法。
技术介绍
随着内部网络的不断发展,网络管理员意识到掌握穿越网络的不同类型的流量越来越重要。网络遥感技术的目的是为了获取有关网络运行状态和网络间通信行为信息,其信息包括与配置相关的静态信息和与网络时间相关的动态信息。流量遥感和分析对于更有效地进行故障排除和解决问题时非常重要,以避免网络服务长时间停滞不前。许多工具可用于帮助管理员监控和分析网络流量。同时网络监控是一项艰巨而艰巨的任务,网络管理员一直在努力保持网络的平稳运行。如果一个网络即使在一段时间内停滞不前,公司的生产力也会下降,而在公共服务部门的情况下,提供基本服务的能力将会受到损害。为了保持主动而不是被动,管理员需要监控整个网络中的流量移动和性能,并验证网络中不存在安全隐患。BarefootDeepInsight是世界上第一个能够全面了解网络中每个数据包的网络监控系统。其软件在商用服务器上运行、解释、分析和查询可能阻碍数据包流的各种条件,并实时和线速进行。智能可编程触发机制只允许有趣的网络事件被实时地监测和报告,与此不相关的数据会自动过滤掉。机器学习可用于实现网络性能的状态基线,并在任何时间尺度和纳秒分辨率下自动检测异常。其为网路中的每个数据包提供了四个基本事实:1:怎么到达这里?数据包沿其访问路径的设备序列。2:为什么到这里?数据包在沿路径上每台设备匹配的规则集.3:有多少时延?数据包在每个交换机中缓冲的纳秒级的时间。4:为什么有时延?数据包与每个队列共享的数据包,流和应用程序。DeepInsight几乎可以检测到网络中的任何异常情况,它可以检测微爆,可以识别哪个应用程序导致拥塞,数据包是否属于它不属于的网络的一部分,以及等价路由((ExperimentalClassofMathematicsandPhysics,简称ECMP)是否不是均衡负载平衡,甚至可以向运营商提供单独丢弃的数据包,并说明它们被丢弃的原因。所有这些都是线速和多Tb/s吞吐量,无需额外的硬件或额外的数据包。异常通常在100微秒内被检测到,但是可以被捕获并且后处理长达一个月。相关技术中,软件定义网络(SoftwareDefinedNetwork,简称SDN)是一种旨在使网络灵活且灵活的架构。在软件定义的网络中,网络工程师或管理员可以从集中控制台调整流量,而无需触摸网络中的各个交换机。无论服务器和设备之间的具体连接如何,集中式SDN控制器都会指示交换机在任何需要的地方提供网络服务。此过程远离传统网络体系结构,在该体系结构中,各个网络设备根据其配置的路由表做出流量决策。如图1所示,SDN架构的典型表示包括三层:应用层,控制层和基础设施层。应用程序层包含组织使用的典型网络应用程序或功能,其中,包括入侵检测系统、负载平衡或防火墙。控制层代表集中式SDN控制器软件,充当软件定义网络的大脑,该控制器驻留在服务器上,管理整个网络中的策略和流量。基础设施层由网络中的物理交换机组成。这三个层使用相应的北向和南向应用程序编程接口(ApplicationProgrammingInterface,简称API)进行通信。SDN包含多种类型的技术,包括功能分离、网络虚拟化和通过可编程性实现的自动化。SDN技术将网络控制平面与数据平面分离,当控制平面决定数据包应如何流经网络时,数据平面实际上将数据包从一个地方移动到另一个地方。软件定义的网络使用有时称为自适应或动态的操作模式,其中,交换机向没有特定路由的数据包发出路由请求到控制器。此过程与自适应路由分开,自适应路由通过基于网络拓扑的路由器和算法发出路由请求,而不是通过控制器。SDN的虚拟化方面通过虚拟覆盖发挥作用,虚拟覆盖是物理网络之上的逻辑上独立的网络。用户可以实现端到端覆盖以抽象底层网络和分段网络流量。P4是用于编程独立于协议的分组处理器的高级语言。P4与OpenFlow等SDN控制协议配合使用,其提高了网络编程的抽象层次,可以作为控制器和交换机之间的通用接口。P4语言使用OpenFlow匹配-行为流处理模式。在这种方法中,当数据包携带数据项匹配特定键时,依据行为项目的内容修改数据包。语言使用能够有效地描述匹配-行为流。如图2所示,P4用于描述或规定数据平面行为,不用于实现数据平面。依据系统/设备灵活度/复杂度要求,数据平面可以运行于固定功能ASIC(例如2层交换机ASIC),也可以运行于完全可编程的通用CPU(路由器,Web代理服务器和防火墙)。P4语言三个主要目标:(1)可重构性:程序员应该能够改变交换机部署后处理数据包的方式。(2)协议独立性:交换机不应该绑定到任何特定的网络协议。(3)目标独立性:程序员应该能够独立于底层硬件的具体情况来描述数据包处理功能。如图3所示,带内联网遥测(INT)是一种新的抽象概念,允许数据包查询交换机内部状态,如队列大小,链路利用率和排队等待时间,而不会干扰控制平面CPU或引起额外的延迟,可以经济有效地实现分组级数据平面遥测。通常情况下,INT依赖于包头中保留有可变长度标签栈的探测包。探测报文在网络边缘周期性生成,并注入网络核心,探测报文将与普通流量一起进行排队和转发。在沿转发路径的每个路由器/交换机中,探测包将提取设备内部状态并将其推入INT标签栈。在最后一跳,边缘设备将把带有端到端INT信息的探测包转发给远程控制器作进一步的分析。在相关技术中仍存在许多缺点,如:(1)需要专门设计相对应功能的硬件。每个设计好的交换机/路由器芯片都有自己的低级接口,类似于微码编程,不适用于其他的交换机/路由器。设计编程一个高效的新交换机芯片是不容易的,更新周期受多方面的限制。(2)设计好的硬件设备既有很单一的功能,兼容性不强。(3)底层细节繁琐,不利于软件工程师进行编程,代码不开源,技术封闭,不利于提升扩展。(4)由于其受硬件限制,更新周期长,版本种类多,价格昂贵
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种带内网络遥测系统,该系统可以实时监测网络,减少人力成本,并可以摆脱对专用芯片的依赖,对底层软件进行修改,增强功能适用性。本专利技术的另一个目的在于提出一种带内网络遥测方法。为达到上述目的,本专利技术一方面实施例提出了一种带内网络遥测系统,包括:捕获数据包模块,用于捕获数据链路层的数据包,并对所述数据包进行逐层的报头解析操作,并将所述数据包发送至网络层、传输层和应用层进行处理,以得到处理后的数据包;分析统计模块,用于在所述网络层、所述传输层和所述应用层对处理后的所述数据包进行IP地址分析、TCP/UDP和断口分析、统计分析和协议分析后,以得到所述数据包的时延信息;改包模块,用于修改分析后的所述数据包报头的checksum区域,并将所述时延信息打印到所述数据包上并输出至主控主机。本专利技术实施例的带内网络遥测系统,通过编程在底层软件上添加分类器、过滤器等筛选、过滤所需要的数据包,然后进行网络进行的统计,并将其信息打印在数据包上,最后进行修改包头并进行转发,封装了硬件细节,利于编程。另外,根据本专利技术上述实施例的带内网络遥测系统还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,所述本文档来自技高网
...

【技术保护点】
1.一种带内网络遥测系统,其特征在于,包括:捕获数据包模块,用于捕获数据链路层的数据包,并对所述数据包进行逐层的报头解析操作,并将所述数据包发送至网络层、传输层和应用层进行处理,以得到处理后的数据包;分析统计模块,用于在所述网络层、所述传输层和所述应用层对处理后的所述数据包进行IP地址分析、TCP/UDP和断口分析、统计分析和协议分析,以得到所述数据包的时延信息;以及改包模块,用于修改分析后的所述数据包报头的checksum区域,并将所述时延信息打印到所述数据包上并输出至主控主机。

【技术特征摘要】
1.一种带内网络遥测系统,其特征在于,包括:捕获数据包模块,用于捕获数据链路层的数据包,并对所述数据包进行逐层的报头解析操作,并将所述数据包发送至网络层、传输层和应用层进行处理,以得到处理后的数据包;分析统计模块,用于在所述网络层、所述传输层和所述应用层对处理后的所述数据包进行IP地址分析、TCP/UDP和断口分析、统计分析和协议分析,以得到所述数据包的时延信息;以及改包模块,用于修改分析后的所述数据包报头的checksum区域,并将所述时延信息打印到所述数据包上并输出至主控主机。2.根据权利要求1所述的带内网络遥测系统,其特征在于,所述捕获数据包模块进一步用于,通过网卡设备驱动接收到所述数据包后经过排队规则,将所述数据包发送至高层的网络栈进行处理,且在处理后的所述数据包的入口处进行程序挂载,记录系统调用入口处理函数的第一系统时间;将所述数据包向网络层及以上发送,并在处理完毕后往物理层发送数据包,在出口队列入口对所述数据包进行程序挂载,且记录系统调用出口处理函数的第二系统时间,并且数据包从所述网卡设备驱动中发出。3.根据权利要求1所述的带内网络遥测系统,其特征在于,所述分析统计模块进一步用于判断所述数据包是否为通过IPV4传输的UDP包,其中,如果是通过所述IPV4传输的所述UDP包,则获取所述数据包的源地址和目的地址。4.根据权利要求1所述的带内网络遥测系统,其特征在于,所述分析统计模块进一步用于校验所述数据包的校验和,其中,如果校验通过,则发送和/或接受所述数据包。5.根据权利要求1所述的带内网络遥测系统,其特征在于,所述分析统计模块进一步用于,获取所述数据包的IP头部分,根据sk_buff结构中的protocol字段判断所述IP头部分是否和IPV4的协议号相同;如果和所述IPV4的协议号相同,则检查所述数据包的传输层包头,判断sk_buff中UDP协议字段是否和UDP数据包的协议号相同;如果和所述UDP数据包的协议号相同,则判断所述数据包的目的端口号是否为8888,其中,如果为8888,则记...

【专利技术属性】
技术研发人员:潘恬黄韬毛珍建陈愈杰刘江张娇杨帆谢人超刘韵洁
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1