一种基于万兆以太网口的5G基站前传无损抓包方法技术

技术编号:29672525 阅读:36 留言:0更新日期:2021-08-13 21:54
本发明专利技术公开了一种基于万兆以太网口的5G基站前传无损抓包方法,包括步骤:设置第一线程任务与第二线程任务;光交换机连接网络设备;将到达第一端口、第二端口的数据包拷贝到第三端口;Capturer服务器捕获达到第一端口、第二端口的数据包;执行第一线程任务与第二线程任务,抓取Capturer服务器上光网口的数据包。本发明专利技术实现了对万兆以太网口数据包的无损捕获,能够实现万兆以太网口零丢包率的数据包捕获,为高速率的网络传输场景提供调试保障;利用万兆交换机的端口镜像功能,实现在不影响基站和射频设备运行状态的情况下,实现对数据包的捕获;使用无锁队列降低线程间同步所需的开销,使得CPU资源集中在数据包接收和处理任务上。

【技术实现步骤摘要】
一种基于万兆以太网口的5G基站前传无损抓包方法
本专利技术涉及,尤其涉及一种基于万兆以太网口的5G基站前传无损抓包方法。
技术介绍
5G通信系统为满足低时延,大吞吐量的需求,要求基站和射频设备间进行高吞吐量的前传数据传输。使用基于万兆以太网口的eCPRI(enhancedCommonPublicRadioInterface)协议数据包传输,是实现基站和射频设备间前传数据交互的主流方案之一。在这种情况下,基站和射频设备间的数据包捕获往往是前传功能模块重要的调试手段,一方面,传统抓包工具由于在大流量情况下的高丢包率缺点无法满足实时捕获的要求,另一方面,为了不影响基站设备的实时处理效率,抓包程序应该运行在基站设备以外的其他机器上。在当前这个大数据时代,市场上充斥着各种型号和速率的万兆以太网口产品,这些万兆以太网口从硬件上提供10Gbps以上的数据吞吐量能力,但与之相矛盾的是,虽然目前主流CPU的处理能力足以处理10Gbps以上速率的数据,但绝大多数的数据包处理软件还是基于操作系统内核协议栈进行的,由此会产生以下额外的开销:中断开销、内核态与用户态间迁移的上下文切换开销,以及数据包的多次拷贝。在满带宽的场景下,累计的额外开销会远高于该数据包的解析开销,也就是基于操作系统内核协议栈的数据包收发和处理效率不足以应付10Gbps以上速率的数据,由此产生的数据丢包率使得软件层面的实际数据吞吐量只能到达千兆水平。网口抓包是涉及网络数据传输场景的应用软件必不可少的调试手段,其常用方法是使用wireshark来捕获指定网口的所有数据包,但wireshark是通过操作系统内核提供的协议栈进行数据包收发和处理的,也就是通过wireshark抓取万兆以太网口数据时,在网口数据处于满带宽的情况下,会产生较高的丢包率,不利于软件的调试。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供一种基于万兆以太网口的5G基站前传无损抓包方法,包括步骤:设置第一线程任务与第二线程任务;第一线程任务与第二线程任务通过共享的数据包无锁队列进行交互;第一线程任务用于从共享无锁队列中获取数据包,并将获取的数据包写入到pcap文件中;第二线程任务用于通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列,并将接收到的数据包插入到共享无锁队列中;光交换机连接网络设备,光交换机设置第一端口、第二端口与第三端口;网络设备包括基带处理单元、扩展单元与抓包服务器;第一端口连接基带处理单元;第二端口连接扩展单元;第三端口连接抓包服务器;通过光交换机的端口镜像功能,将到达第一端口、第二端口的数据包拷贝到第三端口;抓包服务器捕获达到第一端口、第二端口的数据包;执行第一线程任务与第二线程任务,抓取抓包服务器上光网口的数据包。具体的,所述第一线程任务为持久化线程任务,包括:S11:初始化;S12:判断任务是否结束,若是则转S16,否则转S13;S13:从无锁队列读取数据包;S14:判断是否有数据包达到,若是转S15,否则转S12;S15:将数据包写入pacp文件,转S16;S16:结束。具体的,所述第二线程任务为抓包线程任务,包括:S21:初始化;S22:判断任务是否结束,若是则结束,否则转S23;S23:通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列;S24:判断是否有数据包达到,若是转S25,否则转S22;S25:将接收到的数据包插入到共享无锁队列中;S26:结束。本专利技术的有益效果在于:本专利技术采用基于DPDK的以太网口轮询驱动实现了对万兆以太网口数据包的无损捕获,克服了传统wireshark软件捕获万兆以太网口数据包高丢包率的缺点,为高速网络设备软件的开发和调试提供保障;通过交换机的端口镜像功能,在不影响BBU和EU正常数据交互的情况下,对BBU和EU间交互的前传数据包进行抓取。本专利技术能够满足万兆以太网口在满带宽吞吐量情况下的零丢包率的数据包捕获需求,为高速率的网络传输场景提供调试保障;利用万兆交换机的端口镜像功能,实现在不影响基站和射频设备运行状态的情况下,实现对数据包的捕获;使用无锁队列降低线程间同步所需的开销,使得CPU资源集中在数据包接收和处理任务上。附图说明图1是本专利技术的原理图;图2是光交换机与网络设备连接的拓扑结构示意图;图3是第一线程任务的流程图;图4是第二线程任务的流程图。具体实施方式下面结合附图对本专利技术作进一步说明:如附图1所示,本专利技术一种基于万兆以太网口的5G基站前传无损抓包方法,包括步骤:设置第一线程任务与第二线程任务;第一线程任务与第二线程任务通过共享的数据包无锁队列进行交互;第一线程任务用于从共享无锁队列中获取数据包,并将获取的数据包写入到pcap文件中;第二线程任务用于通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列,并将接收到的数据包插入到共享无锁队列中;光交换机连接网络设备,光交换机设置第一端口、第二端口与第三端口;网络设备包括基带处理单元、扩展单元与抓包服务器;第一端口连接基带处理单元;第二端口连接扩展单元;第三端口连接抓包服务器;通过光交换机的端口镜像功能,将到达第一端口、第二端口的数据包拷贝到第三端口;抓包服务器捕获达到第一端口、第二端口的数据包;如附图2所示的10G光交换机包括1、2、3三个光网口,其中BBU(BaseBandUnite,基带处理单元)连接光交换机的1口,EU(ExtensionUnite,扩展单元)连接光交换机的3口,进行数据交互,而抓包软件位于抓包服务器(Capturer服务器)上,抓包服务器连接到光交换机的2口;通过光交换机的端口镜像功能,利用光交换机的硬件能力,将到达光网口1、3的数据包拷贝到光网口2,使得抓包服务器可以捕获到达光网口1或3的数据包。以抓取BBU和EU间上行数据包(由EU给BBU发送的数据包)为例,为使得光网口2能够传输上行数据包,设置光网口2对光网口3的输入方向的数据包进行镜像监控,这样所有从EU发出的且到达光网口3的数据包,均会有相应的拷贝从光网口2输出到抓包服务器。执行第一线程任务与第二线程任务,抓取抓包服务器上光网口的数据包。如附图3所示,所述第一线程任务为持久化线程任务,包括:S11:初始化;S12:判断任务是否结束,若是则转S16,否则转S13;S13:从无锁队列读取数据包;S14:判断是否有数据包达到,若是转S15,否则转S12;S15:将数据包写入pacp文件,转S16;S16:结束。如附图4所示,所述第二线程任务为抓包线程任务,包括:S21:初始化;S22:判断任务是否结束,若是则结束,否则转S23;S23:通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列;S24:判断是本文档来自技高网
...

【技术保护点】
1.一种基于万兆以太网口的5G基站前传无损抓包方法,其特征在于,包括步骤:/n设置第一线程任务与第二线程任务;第一线程任务与第二线程任务通过共享的数据包无锁队列进行交互;第一线程任务用于从共享无锁队列中获取数据包,并将获取的数据包写入到pcap文件中;第二线程任务用于通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列,并将接收到的数据包插入到共享无锁队列中;/n光交换机连接网络设备,光交换机设置第一端口、第二端口与第三端口;网络设备包括基带处理单元、扩展单元与抓包服务器;第一端口连接基带处理单元;第二端口连接扩展单元;第三端口连接抓包服务器;/n通过光交换机的端口镜像功能,将到达第一端口、第二端口的数据包拷贝到第三端口;抓包服务器捕获达到第一端口、第二端口的数据包;/n执行第一线程任务与第二线程任务,抓取抓包服务器上光网口的数据包。/n

【技术特征摘要】
1.一种基于万兆以太网口的5G基站前传无损抓包方法,其特征在于,包括步骤:
设置第一线程任务与第二线程任务;第一线程任务与第二线程任务通过共享的数据包无锁队列进行交互;第一线程任务用于从共享无锁队列中获取数据包,并将获取的数据包写入到pcap文件中;第二线程任务用于通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列,并将接收到的数据包插入到共享无锁队列中;
光交换机连接网络设备,光交换机设置第一端口、第二端口与第三端口;网络设备包括基带处理单元、扩展单元与抓包服务器;第一端口连接基带处理单元;第二端口连接扩展单元;第三端口连接抓包服务器;
通过光交换机的端口镜像功能,将到达第一端口、第二端口的数据包拷贝到第三端口;抓包服务器捕获达到第一端口、第二端口的数据包;
执行第一线程任务与第二线程任务,抓取抓包服务器上光网口的数据包。


2.根据权利要求1所述...

【专利技术属性】
技术研发人员:杨景文
申请(专利权)人:成都图迅科技有限公司
类型:发明
国别省市:四川;51

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

1