CN113254202A - 一种基于万兆以太网口的5g基站前传无损抓包方法 - Google Patents
一种基于万兆以太网口的5g基站前传无损抓包方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0086—Network 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通信***为满足低时延,大吞吐量的需求,要求基站和射频设备间进行高吞吐量的前传数据传输。使用基于万兆以太网口的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:结束。
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)
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 | 福建奇点时空数字科技有限公司 | 一种基于流量数据分析的服务器安全策略配置方法 |
-
2021
- 2021-05-18 CN CN202110539749.3A patent/CN113254202A/zh active Pending
Patent Citations (7)
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)
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 |