CN113254202A - 一种基于万兆以太网口的5g基站前传无损抓包方法 - Google Patents

一种基于万兆以太网口的5g基站前传无损抓包方法 Download PDF

Info

Publication number
CN113254202A
CN113254202A CN202110539749.3A CN202110539749A CN113254202A CN 113254202 A CN113254202 A CN 113254202A CN 202110539749 A CN202110539749 A CN 202110539749A CN 113254202 A CN113254202 A CN 113254202A
Authority
CN
China
Prior art keywords
port
packet
thread task
data packet
turning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110539749.3A
Other languages
English (en)
Inventor
杨景文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Tuxun Technology Co ltd
Original Assignee
Chengdu Tuxun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Tuxun Technology Co ltd filed Critical Chengdu Tuxun Technology Co ltd
Priority to CN202110539749.3A priority Critical patent/CN113254202A/zh
Publication of CN113254202A publication Critical patent/CN113254202A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0086Network resource allocation, dimensioning or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于万兆以太网口的5G基站前传无损抓包方法
技术领域
本发明涉及,尤其涉及一种基于万兆以太网口的5G基站前传无损抓包方法。
背景技术
5G通信***为满足低时延,大吞吐量的需求,要求基站和射频设备间进行高吞吐量的前传数据传输。使用基于万兆以太网口的eCPRI(enhanced Common Public RadioInterface)协议数据包传输,是实现基站和射频设备间前传数据交互的主流方案之一。在这种情况下,基站和射频设备间的数据包捕获往往是前传功能模块重要的调试手段,一方面,传统抓包工具由于在大流量情况下的高丢包率缺点无法满足实时捕获的要求,另一方面,为了不影响基站设备的实时处理效率,抓包程序应该运行在基站设备以外的其他机器上。
在当前这个大数据时代,市场上充斥着各种型号和速率的万兆以太网口产品,这些万兆以太网口从硬件上提供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(Base Band Unite,基带处理单元)连接光交换机的1口,EU(Extension Unite,扩展单元)连接光交换机的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:判断是否有数据包达到,若是转S25,否则转S22;
S25:将接收到的数据包***到共享无锁队列中;
S26:结束。
具体的,抓包线程任务包含以下参数选项设置:当前程序用于抓包的光网口的PCI地址、设置抓包线程所绑定的CPU核、持久化线程所绑定的CPU核、需要抓取的以太网包的目的MAC地址的列表(起到数据包过滤作用)、保存为pcap文件的大小(其默认值为256,即每256MB保存一个pcap文件)。
在执行线程任务过程中,能够实时获取已保存下的pcap文件的数目。
本发明采用开源数据平面开发工具DPDK(Data Plane Development Kit)基于Linux内核提供的UIO(Userspace I/O),用于提供用户态下的以太网口数据包收发轮询驱动(PMD,Poll Mode Driver)接口。它将在用户空间分配的大页内存空间通过mmap映射到以太网口的接收缓冲区,使得当有数据包到达以太网口时,DMA就可将数据包搬移到由用户指定的用户态的接收缓冲区,后续用户可直接操作该缓冲区的数据,实现零拷贝,极大地提高处理效率;另外,通过大页内存空间,让物理连续的内存空间大小由非大页内存下的4KB提升到2MB甚至是1GB,为巨型帧(Jumbo Frame)的收发和处理提供了便利能够满足万兆以太网数据的收发要求。
使用万兆交换机的端口镜像功能,将基站设备和射频设备间的流量拷贝到指定的镜像监控端口,通过捕获该监控端口的数据包,即可实现对基站设备和射频设备间交互数据包的捕获。
本发明采用基于DPDK的以太网口轮询驱动实现了对万兆以太网口数据包的无损捕获,克服了传统wireshark软件捕获万兆以太网口数据包高丢包率的缺点,为高速网络设备软件的开发和调试提供保障;通过交换机的端口镜像功能,在不影响BBU和EU正常数据交互的情况下,对BBU和EU间交互的前传数据包进行抓取。
本发明能够满足万兆以太网口在满带宽吞吐量情况下的零丢包率的数据包捕获需求,为高速率的网络传输场景提供调试保障;利用万兆交换机的端口镜像功能,实现在不影响基站和射频设备运行状态的情况下,实现对数据包的捕获;使用无锁队列降低线程间同步所需的开销,使得CPU资源集中在数据包接收和处理任务上。
本发明的技术方案不限于上述具体实施例的限制,凡是根据本发明的技术方案做出的技术变形,均落入本发明的保护范围之内。

Claims (3)

1.一种基于万兆以太网口的5G基站前传无损抓包方法,其特征在于,包括步骤:
设置第一线程任务与第二线程任务;第一线程任务与第二线程任务通过共享的数据包无锁队列进行交互;第一线程任务用于从共享无锁队列中获取数据包,并将获取的数据包写入到pcap文件中;第二线程任务用于通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列,并将接收到的数据包***到共享无锁队列中;
光交换机连接网络设备,光交换机设置第一端口、第二端口与第三端口;网络设备包括基带处理单元、扩展单元与抓包服务器;第一端口连接基带处理单元;第二端口连接扩展单元;第三端口连接抓包服务器;
通过光交换机的端口镜像功能,将到达第一端口、第二端口的数据包拷贝到第三端口;抓包服务器捕获达到第一端口、第二端口的数据包;
执行第一线程任务与第二线程任务,抓取抓包服务器上光网口的数据包。
2.根据权利要求1所述一种基于万兆以太网口的5G基站前传无损抓包方法,其特征在于,所述第一线程任务为持久化线程任务,包括:
S11:初始化;
S12:判断任务是否结束,若是则转S16,否则转S13;
S13:从无锁队列读取数据包;
S14:判断是否有数据包达到,若是转S15,否则转S12;
S15:将数据包写入pacp文件,转S16;
S16:结束。
3.根据权利要求1所述一种基于万兆以太网口的5G基站前传无损抓包方法,其特征在于,所述第二线程任务为抓包线程任务,包括:
S21:初始化;
S22:判断任务是否结束,若是则结束,否则转S23;
S23:通过使用DPDK轮询驱动接口不断轮询读取以太网口的接收队列;
S24:判断是否有数据包达到,若是转S25,否则转S22;
S25:将接收到的数据包***到共享无锁队列中;
S26:结束。
CN202110539749.3A 2021-05-18 2021-05-18 一种基于万兆以太网口的5g基站前传无损抓包方法 Pending CN113254202A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110539749.3A CN113254202A (zh) 2021-05-18 2021-05-18 一种基于万兆以太网口的5g基站前传无损抓包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110539749.3A CN113254202A (zh) 2021-05-18 2021-05-18 一种基于万兆以太网口的5g基站前传无损抓包方法

Publications (1)

Publication Number Publication Date
CN113254202A true CN113254202A (zh) 2021-08-13

Family

ID=77182487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110539749.3A Pending CN113254202A (zh) 2021-05-18 2021-05-18 一种基于万兆以太网口的5g基站前传无损抓包方法

Country Status (1)

Country Link
CN (1) CN113254202A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
CN110213198A (zh) * 2018-02-28 2019-09-06 中标软件有限公司 网络流量的监控方法及***
US20190287176A1 (en) * 2014-09-02 2019-09-19 Nasdaq, Inc. Data packet processing methods, systems, and apparatus
CN110958193A (zh) * 2018-09-26 2020-04-03 英特尔公司 用于软件虚拟交换机的数据平面语义
CN111130859A (zh) * 2019-12-10 2020-05-08 中国电子科技网络信息安全有限公司 一种基于全流量的工控网络拓扑图生成方法
CN111163116A (zh) * 2020-04-08 2020-05-15 成都新动力软件有限公司 一种大流量网络数据参数的提取设备
CN112241535A (zh) * 2020-10-20 2021-01-19 福建奇点时空数字科技有限公司 一种基于流量数据分析的服务器安全策略配置方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190287176A1 (en) * 2014-09-02 2019-09-19 Nasdaq, Inc. Data packet processing methods, systems, and apparatus
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
CN110213198A (zh) * 2018-02-28 2019-09-06 中标软件有限公司 网络流量的监控方法及***
CN110958193A (zh) * 2018-09-26 2020-04-03 英特尔公司 用于软件虚拟交换机的数据平面语义
CN111130859A (zh) * 2019-12-10 2020-05-08 中国电子科技网络信息安全有限公司 一种基于全流量的工控网络拓扑图生成方法
CN111163116A (zh) * 2020-04-08 2020-05-15 成都新动力软件有限公司 一种大流量网络数据参数的提取设备
CN112241535A (zh) * 2020-10-20 2021-01-19 福建奇点时空数字科技有限公司 一种基于流量数据分析的服务器安全策略配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹志伟: ""企业内部网络数据包捕获引擎的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Similar Documents

Publication Publication Date Title
US10210113B2 (en) SAN fabric online path diagnostics
EP3719657A1 (en) Communication with accelerator via rdma-based network adapter
CN108600114B (zh) 针对网络设备以减小的缓冲器使用进行流控制
US9813283B2 (en) Efficient data transfer between servers and remote peripherals
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
US20110058573A1 (en) User selectable multiple protocol network interface device
García-Dorado et al. High-performance network traffic processing systems using commodity hardware
EP2871580B1 (en) Programmed input/output mode
CN108600053B (zh) 一种基于零拷贝技术的无线网络数据包捕获方法
US10609125B2 (en) Method and system for transmitting communication data
US20070271401A1 (en) Techniques to moderate interrupt transfer
CN112953967A (zh) 网络协议卸载装置和数据传输***
CN103678203A (zh) 一种实现网卡零拷贝方法及装置
CN110995507B (zh) 一种网络加速控制器及方法
Leitao Tuning 10Gb network cards on Linux
Yoshino et al. Performance optimization of TCP/IP over 10 gigabit ethernet by precise instrumentation
CN106790162B (zh) 虚拟网络优化方法与***
CN113254202A (zh) 一种基于万兆以太网口的5g基站前传无损抓包方法
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输***及方法
KR20140125311A (ko) 멀티 코어를 가진 네트워크 인터페이스 카드를 이용한 트래픽 처리 장치 및 방법
Zabolotny Low latency protocol for transmission of measurement data from FPGA to Linux computer via 10 Gbps Ethernet link
Zeng et al. Middlenet: A high-performance, lightweight, unified nfv and middlebox framework
Boscia et al. Comparison of 40G RDMA and Traditional Ethernet Technologies
Shiraki Microburst Aware Congestion Control for Storage Traffic
Liu et al. Optimizing flow completion time via adaptive buffer management in data center networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210813