« 包装盒设计往往对调查研究阶段重视不够托玛琳活效清肠杯真的有效果吗 »

流量采集提出的网络数据包交换技术

NetFlow 是流量采集 提出的网络数据包交换技术,它同时可用来记录网络流信息。一个网络流是从给定的源端到目的端的一系列单向数据包,它使用源和目的端点的 IP 地址和传输层端口号、协议类型、服务类型以及输入接口等来标记网络流。NetFlow 记录的流包含了丰富的信息,非常适合于网络性能分析。NetFlow 不需要其他硬件流量设备的支持,开启和关闭都非常方便,因此国内外已有许多运营商用它来收集流量,服务于网络规划、设计和优化等领域。NetFlow的配置非常方便、安装简单,除了需要在路由器上配置之外,只需要一台 UNIX 工作站作为信息采集器,所有路由器或交换机上发送的NetFlow 流都将送到此工作站集中处理和分析。NetFlow 流信息量丰富,可以为流量分布、业务分布等性能分析提供最充足的数据,但需要消耗一定的路由器资源(CPU 和内存)。根据NetFlow 的特点可知,其非常适用于大型的网络,NetFlow 成本较低,实施方便,而且不受速率的限制。同时 Cisco 的路由器中还包含了流量集监测功能模块,称为 NetFlow Services。打开此功能,路由器在转发分组的同时会根据配置记录下经过路由器各个端口的分组情况,记录的内容包括:源和目的IP地址、下一跳地址、输入和输出物理端口号、某个流的包数、某个流的总字节数、流量采集 流的起始时间和结束时间、源和目的地址掩码等。经过指定时间,再将这些统计信息以一定的格式(UDP包,有固定的格式)发送到信息采集器进行处理。信息采集器在特定端口监听等待数据到达,然后根据规定的格式分析、处理和记录数据,得到流经路由器的网络流量状况。严格来说 Netflow 并不是一个简单的流量采集。
常见的基于 libpcap 的抓取系统在监测端口接收到数据包以后,由网卡驱动程序转发到位于操作系统内核的 TCP/IP 协议栈中排队等待处理,流量监测分析程序通过操作系统提供 的socket 套接字接口或者注册钩子函数(hook)的方式提取数据包进行解码和分析。在上述数据包的接收过程中,不仅要为数据包动态的分配和释放缓存,更重要的是需要将数据包从操作系统的内核空间拷贝到用户空间,这些操作将产生大量的系统调用开销,耗费 CPU 资源,因此基于此种架构实现的流量监测分析系统很难适用于高速网络链路环境的监测需求。
KTAM 方案是一种基于 Linux 内核实现的新颖的设计方案,
流量采集 它可以减少系统调用的开销,减轻内存访问的负担,达到减少 CPU 资源开销的目的。KTAM 方案支持三级流量监测分析,分别为数据包级、业务流级和 Payload 级:
数据包级监测分析所有的原始数据包,负责提供数据包 2~3 层的协议解码和报文统计信息;
业务流级监测分析提供对特定的流监测,例如基于特定应用或 IP地址、IP 地址段的流量监测;
Paload级监测分析提供对数据包净载荷的检查,能够识别某些端口不确定的应用比如:P2P 文件共享、VoIP、流媒体等。
目前,为了克服操作系统、PCI 总线带宽和系统资源所带来的性能限制,
流量采集 一些研究人员和硬件生产厂商已经开始进行了一番探索。首先进行的一种尝试是采用网络处理器 NP(Network Processor) 的系统架构替代通用硬件平台来实现数据包捕获、完成流量监测和分析功能,通常采用网络处理器的方法价格非常昂贵,且开发和升级周期较长,大量部署不太现实;第二种尝试方案是试图通过专用硬件来实现数据包捕获进而完成被动流量监测分析,然而这种实现方式价格比较昂贵,且系统缺乏足够的灵活性,很难跟上当今瞬息万变的网络发展现状与具体的流量监测分析需求。随着主干网络带宽的快速增长,目前基于通用硬件平台设计的被动网络流量监测分析系统已经不能适应高速网络链路的监测需求,流量采集 使得基于Intel x86 架构开发骨干网网络流量监测分析系统面临巨大的技术挑战,特别是在没有辅助硬件设备如 Endace DAG(Data Acquisition and Generation) 支持时,仅操作系统造成的性能瓶颈就无法满足千兆链路流量监测需求。为了使基于通用硬件平台设计的廉价方案获得更高的性能,计算机工业界普遍采用并行处理的办法,将整个数据包处理流程从逻辑上划分为多个互不干扰的子流程,交给工作站的不同处理单元并行处理。

相关信息:

流量采集网络流量监测的意义

网络流量采集技术研究现状

流量采集提出的网络数据包交换技术

流量采集网络监听的基本原理

流量采集中断活锁与 NAPI 技术

 

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新留言

最近发表