删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于PF_RING的多核视频流高性能传输模型*

本站小编 Free考研考试/2021-12-25

随着国家大力推动“平安城市”“雪亮工程”的建设,全国各地建设了大量的高清视频监控设备。同时,伴随着视频传输网上视频流量的不断增长,对视频网络流量的传输能力要求也越来越高,并且视频流的传输是进行视频数据共享和视频数据分析的关键步骤。
现有的视频传输网流量传输模型主要有2种[1-2]:①基于硬件的方式,包括NetFlow和NetStream等,但该方式需要对网络设备进行专业的定制,成本高,且需要采用采样的方式抽取视频流量,这样会造成分析结果不准确。②基于网络抓包嗅探的方式,包括Libpcap和Netmap等,但该方式往往只能够承载百兆级别的网络流量,对于大规模的视频监控网络流量无法进行有效的传输、采集和分析。现阶段,PF_RING技术在数据包抓取方面有其独特的优势,并且已存在较多的研究。例如,刘峰[3]提出CPU零参与方式,提高了千兆网卡数据包的抓取效率。赵志强等[4]通过零拷贝技术,将PF_RING抓取数据包的方式集成到Snort中,使IDS具备了IPv6检测的功能。同时,考虑到视频传输网中的视频流数据具有实时性高、数据吞吐量大、数据误码率低等特性,这就要求视频传输系统具有高性能视频流传输与分析的能力。
鉴于此,本文采用PF_RING多核视频流高性能传输模型进行视频监控系统前端视频流数据包的处理,以便减少视频流数据包的拷贝次数,进而提高对视频传输网中视频流量传输、转发的速度和效率。
1 相关技术 PF_RING的多核视频流高性能传输技术可以提升视频传输系统的传输性能[5-9]。以下将对本文涉及的PF_RING机理和视频传输系统进行概述。
1.1 PF_RING机理 PF_RING是Deri[10]研究出来的运行在Linux内核层的高效数据报文传输模型,其有助于对网络数据报文和网络流量进行深层次的分析研究。同时,用户级别的应用程序可以通过其提供的API来进行更为高效的网络数据传输。
在Linux传统的网络协议栈数据报文处理过程中,CPU大量的处理能力使用在把网卡接收到的数据报文拷贝到kernel中的数据结构队列中,再从kernel的数据结构队列发送到用户空间的应用程序数据接收区中,导致了CPU处理能力的严重耗损。网络传输过程中,在网络设备上需要对数据报文sk_buff结构进行多次拷贝,并且涉及内核态和用户态的频繁系统调用,限制了传输报文的效率,尤其对小报文的传输性能影响更大。本文引入的PF_RING技术,一方面减少了报文在网络设备上的拷贝次数,极大地释放出CPU的处理能力;另一方面与TNAPI技术的融合将网卡接收的数据报文分发到各个CPU核的RX队列中以充分利用多核的特性。通过这2种方式显著提高了网络设备的数据报文处理能力。
1.2 视频传输系统 视频传输系统是一种应用于不同视频传输网之间视频资源共享的通道[11-12],其采用全新硬件设备和全新软件架构,由视频设备认证服务器、视频用户认证服务器和网络安全隔离设备3部分组成,是运行在各视频传输网之间的核心视频数据传输部件。本文提出的视频传输系统采用软硬一体化设计,主要用于解决用户在2个视频传输网域之间相互访问视频资源时所面临的视频资源可信性、用户合法性、数据安全性、访问可控性等问题。视频传输系统部署架构如图 1所示。
图 1 视频传输系统部署架构 Fig. 1 Deployment framework of video transmission system
图选项




由于视频传输网的使用用户多,视频数据量大,在不同的视频传输网之间进行视频数据共享,就需要视频传输系统具有高性能的视频流传输机制。因此,视频传输系统要满足误码率低、延时小、吞吐量高的特性。本文研究使用基于PF_RING多核模型的高效数据包传输技术,进而提升视频传输系统接收视频流的能力,降低视频流的误码率,减少视频流在视频传输系统内部的延时,提高系统的网络数据吞吐量。
2 基于PF_RING多核模型的视频传输系统 本节详细分析了基于PF_RING多核模型的共享视频流传输过程。
2.1 PF_RING模型 PF_RING的工作机制比Linux传统的网络协议栈处理网络数据报文更高效[13-15]图 2为两者工作机制的比较。
图 2 传统协议栈与PF_RING工作机制的比较 Fig. 2 Comparison of working mechanism between traditional protocol stack and PF_RING
图选项




Linux系统传统的处理网络数据报文过程为:网卡驱动将数据放入网卡的缓冲区中;驱动程序发送中断请求给CPU,将网卡缓冲区中数据拷贝到Linux系统的内核网络协议栈缓冲区中;内核网络协议栈的Ethernet层、IP层、TCP/UDP层、Socket层依次对数据报文进行处理;通过Linux的系统调用将数据从内核拷贝到用户空间。
PF_RING是一种与Linux系统Socket不同的新的网络Socket,其可以极大地改进数据报文传输的速度,减少报文传输过程中在Linux系统内核态和用户态之间的拷贝次数。PF_RING对数据传输方式优化的不同又分为PF_RING+TNAPI和PF_RING零拷贝2种实现机制。本文分别采用上述2种模式来提升视频传输系统的传输效率,并进行了对比分析。
随着多核CPU在网络设备上的广泛使用,Deri[10]在NAPI (New Application Program Interface)基础上提出TNAPI (Threaded New Application Program Interface),将网卡接收的数据报文分发到各个CPU核的RX队列中以充分利用多核的特性。PF_RING+TNAPI的实现机制如图 3所示,具体步骤如下:
图 3 PF_RING+TNAPI的实现机制 Fig. 3 Implementation mechanism of PF_RING+TNAPI
图选项




步骤1??创建对应多核的环形缓冲区ring的新型套接字Virtual PF_RING。
步骤2??TNAPI将网卡上收到的数据分发到各核对应的RX队列中。
步骤3??将RX队列中的数据报文拷贝到环形缓冲区ring,若缓冲区ring已满,则将该报文丢弃。
步骤4??在各核上运行用户空间应用程序,通过内存映射文件MMAP或PF_RING轮询直接访问各个环形缓冲区ring中的数据。
PF_RING直接映射网卡内核和寄存器到用户空间的机制即PF_RING零拷贝模式,其实现机制如图 4所示,具体步骤如下:
图 4 PF_RING零拷贝的实现机制 Fig. 4 Implementation mechanism of PF_RING zero-copy
图选项




步骤1??PF_RING设置映射网卡内存ring到用户态的零拷贝方式。
步骤2??仅有一次数据拷贝操作由网卡的网络处理单元完成。
步骤3??应用程序使用PF_RING接口以DMA或应用轮询方式获取网卡环形缓冲区ring中的数据。
步骤4??CPU的处理能力能更多地分配到数据报文处理中,处理网络数据报文更高效。
PF_RING零拷贝模式的缺点在于一次只允许一个应用程序访问DMA缓冲,不利于利用CPU多核的特性。
2.2 视频传输模型 视频传输系统的安全隔离设备是由1个视频控制信令双向物理通道、2个正反向的视频流单向物理通道组成的专用设备[16-18]。视频设备认证服务器主要用于对相互进行数据共享的视频传输网视频服务器等设备的身份认证。视频用户认证服务器主要用于对相互进行数据共享的视频传输网中的使用用户进行身份认证。同时,视频设备认证服务器、视频用户认证服务器需要对视频传输网间的视频流进行高效的传输。
视频传输系统为了实现视频传输网间的视频流高效的传输,使用了PF_RING技术结合内存路由表、多通道多线程相关技术。
视频传输系统的内存路由表包含视频控制信令的内存路由表、由视频控制信令动态分配的视频流内存路由表。其中,视频传输系统的控制信令的内存路由表各字段如下:
1) 源地址、端口。指被调取视频源所在视频传输网服务器的IP和端口。
2) 目标地址、端口。指视频接收方所在视频传输网服务器的IP和端口。
3) 协议类型。UDP或TCP协议。
4) 信令类型。指视频信令所采用的协议,如SIP、RTSP等协议。
视频流内存路由表是由上文中的视频控制信令动态分配得到的内存路由表,且其是以视频传输系统在设备上开辟的端口为Key,以DataNetPortVsas结构体为Value的map内存表。视频传输系统每个通道对应一个视频流内存路由表,系统通道数不超过系统硬件CPU的总核数。NetPortVsas为视频设备认证服务器、视频用户认证服务器的端口。DataNetPortVsas的数据结构如表 1所示。
表 1 DataNetPortVsas的数据结构 Table 1 Data structure of DataNetPortVsas
属性名 数据类型 属性描述
timelast time_t 数据报文时间戳
proxyType IPProxyType 应用层协议类型
netSrcIPPort NetIPPort 码流的视频源IP地址和端口
setNetDstIPPort std::set〈NetIPPort〉 码流的视频目标IP地址和端口集合


表选项






2.3 基于PF_RING多核技术的视频流传输 视频传输系统的高效视频流传输过程如图 5所示。
图 5 视频传输系统的视频流传输 Fig. 5 Video stream transmission of video transmission system
图选项




视频传输系统需要对2个专网间的视频资源进行数据共享。视频用户认证服务器和视频设备认证服务器都具备视频码流的接收和转发能力。如图 5所示,SnifferThread为视频传输系统的视频流接收服务。通过反复实验发现,在现有的8核CPU硬件设备下,使用多通道能满足视频传输系统高效视频流传输的要求。其中,瓶颈在视频传输系统的SnifferThread接收视频码流能力。另外,SnifferThread线程接收视频码流的过程如图 6所示。
图 6 SnifferThread服务框架 Fig. 6 Service framework of SnifferThread
图选项




鉴于此,本文分别使用PF_RING零拷贝机制和PF_RING+TNAPI机制对SnifferThread服务进行优化。PF_RING零拷贝机制基本没有任何额外的数据包复制工作,进而将CPU的处理能力更多地运用在视频流数据报文的处理和传输功能上。PF_RING+TNAPI机制,视频传输系统SnifferThread服务使用多线程多队列方式从网卡获取数据报文,效率较高,可以更好地发挥硬件多核的特性,显著降低了CPU的使用率。
3 实验 3.1 实验环境 为了将传统协议栈、PF_RING+TNAPI、PF_RING零拷贝技术对视频传输系统的传输性能进行对比分析,搭建了如图 7所示的测试环境。
图 7 测试环境拓扑 Fig. 7 Topology of test environment
图选项




测试环境中,硬件设备采用Intel的E5-2623 v3@3.00 GHz型号CPU,32 GB内存,英特尔82599双口光口10 GB网卡;操作系统采用CentOS 6.5。
本节实验的主要目的是验证PF_RING技术对视频传输性能的提高程度。鉴于此,实验中的每条测试用例将在Linux网络协议栈、PF_RING+TNAPI和PF_RING零拷贝3种模式下进行对比分析,着重比较在相同软硬件环境下系统的有效吞吐量、CPU使用率和平均误码率。
使用iperf工具发送10 Mbit/s的模拟视频流数据,测试用例如下:①第1条。400路,每路10 Mbit/s的视频流。②第2条。500路,每路10 Mbit/s的视频流。③第3条。600路,每路10 Mbit/s的视频流。④第4条。700路,每路10 Mbit/s的视频流。⑤第5条。800路,每路10 Mbit/s的视频流。
3.2 实验结果与分析 实验从视频传输系统的有效吞吐量、CPU使用率、平均误码率3个方面观察基于Linux网络协议栈、PF_RING+TNAPI和PF_RING零拷贝3种模式下的视频传输能力,对比结果如图 8~图 10所示,其中每项结果均为5次测试实验的平均值。
图 8 有效吞吐量对比 Fig. 8 Comparision of effective throughput
图选项




图 9 CPU使用率对比 Fig. 9 Comparision of CPU utilization
图选项




图 10 平均误码率对比 Fig. 10 Comparision of average bit error rate
图选项




在上述3种模式下,当模拟发送400×10 Mbit/s、500×10 Mbit/s数据时,系统的有效吞吐量几乎相同;当模拟发送700×10 Mbit/s、800×10 Mbit/s时,PF_RING+TNAPI、PF_RING零拷贝模式具有很大的优势。其中,PF_RING+TNAPI、PF_RING零拷贝模式下有效吞吐量数据相近。
在接收视频流设备的CPU使用率对比中(见图 9),不管模拟发送的数据包有多大,PF_RING+TNAPI、PF_RING零拷贝模式通常具有更低的CPU使用率。其中,PF_RING+TNAPI能更好地发挥硬件多核的特性,在CPU使用率方面具备优势。
图 10显示了平均误码率对比分析,在基于Linux网络协议栈模式下,当模拟数据达到600×10 Mbit/s时,平均误码率超过1%,将导致视频流失真较大。然而,PF_RING+TNAPI、PF_RING零拷贝模式通常具有更低的平均误码率,优势更大。其中,PF_RING+TNAPI、PF_RING零拷贝模式下平均误码率数据相近。
4 结论 考虑到视频流量传输的特点,本文提出一种基于PF_RING的视频流高性能传输模型,其通过使用PF_RING+TNAPI机制结合视频传输系统多通道技术,进而减少视频流数据包在网络设备上的拷贝次数,更好发挥硬件多核的特性,极大地释放出CPU的处理能力。本文得出如下结论:
1) 通过合理地调整CPU的调度能力,本文模型有效解决了由于视频流波动导致的不同进程间相互影响造成的丢包率升高的问题。
2) 为了保证不同网域间视频流数据的安全传输,本文提出了视频控制信令双向传输、视频流单向传输的设计模式。
3) 通过大量的对比实验,本文验证了基于PF_RING+TNAPI的模型相比于传统的基于协议栈的模型在视频流传输方面的网络有效吞吐量、CPU使用率、平均误码率指标上均有很强的优势,在CPU使用率上也优于PF_RING零拷贝模式。

参考文献
[1] 令瑞林, 李峻峰, 李丹, 等. 基于多核平台的高速网络流量实时捕获方法[J]. 计算机研究与发展, 2017, 54(6): 1300-1313.
LING R L, LI J F, LI D, et al. Realtime capture of high-speed traffic on multi-core platform[J]. Journal of Computer Research and Development, 2017, 54(6): 1300-1313. (in Chinese)
[2] 刘宝辰.高性能数据包捕获系统的研究与实现[D].上海: 上海交通大学, 2013: 5-37.
LIU B C.Research and implementation of a high-performance packet capture system[D].Shanghai: Shanghai Jiao Tong University, 2013: 5-37(in Chinese). http://cdmd.cnki.com.cn/Article/CDMD-10248-1014008634.htm
[3] 刘峰.利用PF_Ring零拷贝优化Spark Streaming网络性能[D].南宁: 广西大学, 2017: 10-30.
LIU F.The optimization of network performance of Spark Streaming by using the PF_Ring zero_copy technology[D].Nanning: Guangxi University, 2017: 10-30(in Chinese). http://d.wanfangdata.com.cn/thesis/Y3352416
[4] 赵志强, 易秀双, 刘浩, 等. 基于IPv6的PF_RING ZC数据包捕获技术在IDS中的应用[J]. 通信学报, 2018, 39(1): 1-6.
ZHAO Z Q, YI X S, LIU H, et al. Application of PF_RING ZC packet capture technology based on IPv6 in IDS[J]. Journal on Communications, 2018, 39(1): 1-6. (in Chinese)
[5] 吴克河, 王冬冬. 基于PF_RING的高速网络数据捕获方法[J]. 计算机与数字工程, 2019, 47(3): 598-604.
WU K H, WANG D D. Data capture method of high speed network based on PF_RING[J]. Computer and Digital Engineering, 2019, 47(3): 598-604. (in Chinese)
[6] 刘小威, 陈蜀宇, 卢尧, 等. 零拷贝技术在网络分析工具中的应用[J]. 计算机系统应用, 2012, 21(4): 169-173.
LIU X W, CHEN S Y, LU Y, et al. Application of zero-copy technology to network analysis system[J]. Computer Systems and Applications, 2012, 21(4): 169-173. (in Chinese)
[7] WANG H P, HE D Z, WANG H, et al.Comparison of high-performance packet processing frameworks on NUMA[C]//2016 7th IEEE International Conference on Software Engineering and Service Science(ICSESS).Piscataway: IEEE Press, 2016: 54-58. https://ieeexplore.ieee.org/document/7883014
[8] USUI T, KITATSUJI Y, YOKOTA H. A study on traffic management cooperating with IMS in MPLS networks[J]. Telecommunication Systems, 2013, 52(2): 671-680.
[9] SAMOSIR J, INDRAWAN S M, HAGHIGHI P D. An evaluation of data stream processing systems for data driven applications[J]. Procedia Computer Science, 2016, 80(1): 439-449.
[10] DERI L. High-speed dynamic packet filtering[J]. Journal of Network and Systems Management, 2007, 15(3): 401-415.
[11] DENG R, LIU G Z. QoE driven cross-layer scheme for DASH-based scalable video transmission over LTE[J]. Multimedia Tools and Applications, 2018, 77(6): 6445-6469. DOI:10.1007/s11042-017-4551-y
[12] 刘文敏, 张冬梅, 李舒辰, 等. 基于Netmap的网络监听技术研究[J]. 信息网络安全, 2013(11): 45-48.
LIU W M, ZHANG D M, LI S C, et al. The network monitoring technology based on Netmap[J]. Information Network Security, 2013(11): 45-48. (in Chinese)
[13] 尚珍. 基于NIDS系统下Snort源码分析与数据结构研究[J]. 网络安全技术与应用, 2017(8): 64-65.
SHANG Z. Research on Snort source code analysis and data structure based on NIDS[J]. Network Security Technology and Application, 2017(8): 64-65. (in Chinese)
[14] TYLMAN W. Native support for Modbus RTU protocol in Snort intrusion detection system[J]. Advances in Intelligent Systems and Computing, 2013, 224: 479-487.
[15] 笱程成, 赵荣彩, 邰铭, 等. 高负载网络下线速包捕获接口的设计与实现[J]. 计算机工程与设计, 2010, 31(10): 2203-2205.
GOU C C, ZHAO R C, TAI M, et al. Wire-speed packet capture interface design and implementation in high-load network[J]. Computer Engineering and Design, 2010, 31(10): 2203-2205. (in Chinese)
[16] CHEN S, YANG J, RAN Y, et al. Adaptive layer switching algorithm based on buffer under-flow probability for scalable video streaming over wireless networks[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016, 26(6): 1146-1160. DOI:10.1109/TCSVT.2015.2437071
[17] 谢文韬.基于无锁结构的大容量数据高性能检索系统研究[D].南京: 东南大学, 2017: 5-25.
XIE W T.Large capacity data high-performance retrieval system based on lock free structure[D].Nanjing: Southeast University, 2017: 5-25(in Chinese). http://cdmd.cnki.com.cn/Article/CDMD-10286-1017116780.htm
[18] 尚彪.网络数据包捕获技术的比较研究与实现[D].武汉: 华中科技大学, 2014: 1-26.
SHANG B.Comparative study and implementation of network packet capture technology[D].Wuhan: Huazhong University of Science and Technology, 2014: 1-26(in Chinese). http://d.wanfangdata.com.cn/thesis/D611004


相关话题/数据 系统 网络 技术 实验

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 基于三元组网络的单图三维模型检索*
    信息时代的到来为计算机硬件的发展提供了强大的助力,各种媒体数据如音频、视频、图像、三维数据等呈井喷式增长。如何对已获得的海量媒体数据进行智能分析,并设计快速有效的检索方法成为目前的热点问题。如今,三维模型被广泛应用于计算机辅助设计、影视动画、医疗诊断、自动驾驶[1-2]等众多领域,由于三维视角更贴近 ...
    本站小编 Free考研考试 2021-12-25
  • 双光谱智能体温检测与健康大数据管理系统*
    公共安全视频监控是中国一项重要的基础设施建设,具有易于部署、信息捕获充分、接口和标准统一、可全时段运行等优点,对于建立社会治安防控体系具有重要意义,是维护国家安全和社会安定的重要手段[1]。近年来,面向图像分析和视频监控分析的深度学习技术和大数据挖掘技术取得了很多突破性进展,同时也推动了公共安全视频 ...
    本站小编 Free考研考试 2021-12-25
  • 联合足迹识别与监控视频分析的智能刑侦系统*
    随着科技的发展,犯罪活动智能化、系列化、团伙化的趋势逐渐出现,作案人员反侦察能力越来越强,刻意破坏现场的情况时有发生,被称为“证据之王”的指纹在犯罪现场中提取获得的难度显著提高,而在犯罪现场提取到的作案人员所留足迹越来越多,世界各国的刑侦机关都非常重视对犯罪现场遗留足迹的研究与利用[1]。足迹是在犯 ...
    本站小编 Free考研考试 2021-12-25
  • 基于MobileFaceNet网络改进的人脸识别方法*
    人脸特征具有易获取、易捕捉、易处理以及非接触式等特性,已经受到****们的广泛关注,并在公共安全等领域应用日趋广泛。但是,在实际的应用场景下,人脸识别精度依然受到不同的姿态、光照、遮挡等因素的影响。因此,如何提取更具鲁棒性的特征来有效地辨识人脸便成为解决问题的关键。传统的人脸识别方法主要有主成分分析 ...
    本站小编 Free考研考试 2021-12-25
  • 基于跨尺度特征聚合网络的多尺度行人检测*
    随着人工智能与计算机视觉技术的发展以及人们对公共安全领域的日益重视,智能视频监控技术已经发展为当前的研究热点。行人检测是智能化视频监控系统中的核心关键技术之一,并为后续的更高层次的视频分析与理解提供可靠的数据支持。因此,行人检测技术直接影响着智能视频监控的智能化水平,具有重要的研究意义和应用价值。近 ...
    本站小编 Free考研考试 2021-12-25
  • 基于修正IMM的风机变桨系统故障诊断方法*
    风能的开发和利用近些年正处于一个快速上升阶段[1]。风力发电机是风能转换电能的重要设备,其中的变桨子系统在维持风机的功率输出稳定和运行安全上起着重要的作用。相对于发电机、齿轮箱等其他子系统,变桨系统故障诊断方法的研究起步较晚,但近几年国内外****相继做出了许多尝试。文献[2]采用多胞形未知输入观测 ...
    本站小编 Free考研考试 2021-12-25
  • 新型排气余压利用系统无因次效率研究*
    压缩空气在许多工业中得到广泛应用,据报道,压缩空气系统约占工业能源消耗量的10%[1]。与电气系统、液压系统相比,气动系统具有成本低、维修方便、结构简单、环保等优点[2-3]。然而由于空气的可压缩性,气动系统具有高度的非线性[4]和低能效[5],有研究表明,气动系统的效率甚至低于20%[6]。在压缩 ...
    本站小编 Free考研考试 2021-12-25
  • 数据丢包和量化约束下的分布式滚动时域估计*
    计算机和通信技术的日趋成熟促进了网络化系统的快速发展。凭借其结构灵活、可扩展性强、运行成本低等优势,网络化系统被广泛应用于目标跟踪、组网导航、智能交通、工业控制等多个领域[1-4]。网络化系统在带来诸多便利的同时,也带来了新的问题和挑战:数据通过网络传输时,由于通信故障、网络拥塞等因素的存在,不可避 ...
    本站小编 Free考研考试 2021-12-25
  • 应用于智能芯片的可视化反馈系统研究*
    近年以来科学研究和市场表明,深度学习(DeepLearning,DL)[1]不仅在传统的语音识别、图像识别、搜索/推荐引擎、计算广告等领域证明了其划时代的价值,也引爆了整个人工智能(ArtificialIntelligence,AI)生态向更大的领域延伸。深度学习是机器学习(MachineLearn ...
    本站小编 Free考研考试 2021-12-25
  • 复杂管网系统未知信息调节阀的一种瞬变建模方法*
    由众多管道和调节设备组成的管网系统在供水[1-3]、气力输送[4-7]、液体推进系统[8-10]等工程领域中应用广泛,国内外对这类系统也已开展了诸多研究。由于这类系统一般构成复杂、组件众多,以目前的技术条件主要集中在系统层面开展数值仿真研究,重点关注系统的整体特性及单个部件在系统中的作用和对系统的影 ...
    本站小编 Free考研考试 2021-12-25