CN112153005A - 一种tcpudp数据包转发***的架构 - Google Patents
一种tcpudp数据包转发***的架构 Download PDFInfo
- Publication number
- CN112153005A CN112153005A CN202010874385.XA CN202010874385A CN112153005A CN 112153005 A CN112153005 A CN 112153005A CN 202010874385 A CN202010874385 A CN 202010874385A CN 112153005 A CN112153005 A CN 112153005A
- Authority
- CN
- China
- Prior art keywords
- thread
- tcpudp
- flow
- forwarding system
- management
- 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
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种TCPUDP数据包转发***的架构,包括主业务功能模块、中间组件、轻量级协议栈和平台依赖,本发明涉及网络安全技术领域。该TCPUDP数据包转发***的架构,通过主业务功能模块包括统计数据stats、进程forvard、控制control、配置config和远程数据库remote DB,本***提供一种基于DPDK的高性能四层转发***,它继承了DPDK性能高、用户态开发等优点,自研的轻量级协议栈,可以实现本***针对ICMP、ARP、TCP/UDP、IPv4的处理要求,大部分组件都是基于本***要求自主研发,符合***的要求,也提高了转发性能,本发明的使用了DPDK环境下用户态直接获取网卡报文,直接操作报文,跳过了协议栈处理,简化了报文处理流程,实现了高性能转发。
Description
技术领域
本发明涉及网络安全技术领域,具体为一种TCPUDP数据包转发***的架构。
背景技术
NAT技术能够解决IP地址不足的问题,用于通信的IP数据包一般具有Source IPAddress(源IP地址)与Destination IP Address(目的IP地址)这两个字段,采用NAT技术实现内网与外网之间的通信时,数据包所经过的路由器/设备通过基于Linux内核协议栈对数据包进行处理,根据源IP地址字段和目的IP地址字段判定数据由什么地方发过来的,它要将数据包发到什么地方去,并通过iptables利用转发规则表,将内网地址与外网地址进行转换。
传统的转发***性能较低,无法实现转发***针对ICMP、ARP、TCP/UDP、IPv4的处理要求,由于转发***中大部分组件都是通过外部装载的,因此与转发***比较难以适配,大幅降低了转发***的转发性能,为此,本领域技术人员提出一种TCPUDP数据包转发***的架构。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种TCPUDP数据包转发***的架构,解决了传统的转发***性能较低,无法实现转发***针对ICMP、ARP、TCP/UDP、IPv4的处理要求,由于转发***中大部分组件都是通过外部装载的,因此与转发***比较难以适配,大幅降低了转发***转发性能的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种TCPUDP数据包转发***的架构,包括主业务功能模块、中间组件、轻量级协议栈和平台依赖,所述主业务功能模块包括统计数据stats、进程forvard、控制control、配置config和远程数据库remote DB,且统计数据stats包括维度统计功能模块sum ip+port和节点流量统计sum all,进程forvard包括分发器distribute和业务线程fwd,控制control包括更新setting和信息线程monitor,所述中间组件包括限制条件limiting cond、规则管理rule manager、定时器litetimer、会话管理conn manager、线程间通信inter-comm、流表控制cJson parser和listctrl,所述轻量级协议栈包括ICMP、TCP/UDP、IPv4和ARP,所述平台依赖包括协议lib curl、协议lib kafka、协议lib pthread和dpdk+igb.ko。
优选的,所述维度统计功能模块sum ip+port是以高防ip和端口为维度统计的功能模块,同时负责把该流量上报到后台服务器以便多节点的同意管理,还负责流量监测,以便实现限流功能,所述节点流量统计sum all主要是整个节点流量的统计情况,以及上报后台服务器。
优选的,所述分发器distribute是一个分发器,从通过dpdk的igb.ko读取网卡的报文,通过自主研发的协议栈,过滤掉没用的报文,再过滤掉不符合规则的报文,然后把报文根据解析出来的报文特征分发到适合的转发线程处理。
优选的,所述业务线程fwd是本***中的主要业务线程,该线程完成主流程工作,从分发器获取分发过来的报文,通过解析报文,委托会话管理conn manager重新获取源、目的ip和端口,然后更新源、目的ip和端口,通过dpdk的igb.ko发送报文到端口,此外,业务线程fwd线程还需要完成如下功能:
通过会话管理conn manager完成会话建立和关闭功能;
通过会话管理conn manager和定时器lite timer配合,完成会话超时管理;
通过规则管理rule manager和自研协议栈,过滤不符合要求的报文;
通过自研协议栈实现TOA功能;
通过限制条件limiting cond,过滤超出阈值的报文;
通过线程间通信inter-comm,获取配置等信息以及定时先统计线程发送该线程统计信息。
优选的,所述更新setting是配置config file和远程数据库remote DB更新,如果配置config file或者远程数据库remote DB有更新,则获取新的配置数据,通过线程间通信inter-comm把最新的消息发送到各业务线程,所述信息线程monitor线程主要是实时监测流表使用情况、流量大小、网卡状态等信息。
优选的,所述限制条件limiting cond指一些限制条件管理,譬如流量控制、连接数限制、新建连接数限制,所述规则管理rule manager指规则的管理,所述定时器litetimer主要用来会话超时的定时器组。
优选的,所述会话管理conn manager指新建会话、关闭会话、刷新超时等操作,所述线程间通信inter-comm指自定义的线程间快速信息传播,所述流表控制cJson parser指配置数据和上传的数据用Json格式传输,包括了解析和封装,所述list ctrl指自定义的一些流表的控制,hash、双向链表等数据结构的操作。
优选的,所述轻量级协议栈目前支持ICMP、TCP/UDP、IPv4、ARP的处理。
(三)有益效果
本发明提供了一种TCPUDP数据包转发***的架构。与现有技术相比具备以下有益效果:
该TCPUDP数据包转发***的架构,通过主业务功能模块包括统计数据stats、进程forvard、控制control、配置config和远程数据库remote DB,且统计数据stats包括维度统计功能模块sum ip+port和节点流量统计sum all,进程forvard包括分发器distribute和业务线程fwd,控制control包括更新setting和信息线程monitor,中间组件包括限制条件limiting cond、规则管理rule manager、定时器lite timer、会话管理conn manager、线程间通信inter-comm、流表控制cJson parser和list ctrl,轻量级协议栈包括ICMP、TCP/UDP、IPv4和ARP,平台依赖包括协议lib curl、协议lib kafka、协议lib pthread和dpdk+igb.ko,本***提供一种基于DPDK的高性能四层转发***,它继承了DPDK性能高、用户态开发等优点,而且自研的轻量级协议栈,可以实现本***针对ICMP、ARP、TCP/UDP、IPv4的处理要求,大部分组件都是基于本***要求自主研发,符合***的要求,因此也提高了转发性能,本发明的使用了DPDK环境下用户态直接获取网卡报文,直接操作报文,跳过了协议栈处理,简化了报文处理流程,实现了高性能转发。
附图说明
图1为本发明转发***的结构框图;
图2为本发明***结构的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明实施例提供一种技术方案:一种TCPUDP数据包转发***的架构,包括主业务功能模块、中间组件、轻量级协议栈和平台依赖,主业务功能模块包括统计数据stats、进程forvard、控制control、配置config和远程数据库remote DB,且统计数据stats包括维度统计功能模块sum ip+port和节点流量统计sum all,进程forvard包括分发器distribute和业务线程fwd,控制control包括更新setting和信息线程monitor,中间组件包括限制条件limiting cond、规则管理rule manager、定时器lite timer、会话管理conn manager、线程间通信inter-comm、流表控制cJson parser和list ctrl,维度统计功能模块sum ip+port是以高防ip和端口为维度统计的功能模块,同时负责把该流量上报到后台服务器以便多节点的同意管理,还负责流量监测,以便实现限流功能,节点流量统计sum all主要是整个节点流量的统计情况,以及上报后台服务器,分发器distribute是一个分发器,从通过dpdk的igb.ko读取网卡的报文,通过自主研发的协议栈,过滤掉没用的报文,再过滤掉不符合规则的报文,然后把报文根据解析出来的报文特征分发到适合的转发线程处理,业务线程fwd是本***中的主要业务线程,该线程完成主流程工作,从分发器获取分发过来的报文,通过解析报文,委托会话管理conn manager重新获取源、目的ip和端口,然后更新源、目的ip和端口,通过dpdk的igb.ko发送报文到端口,此外,业务线程fwd线程还需要完成如下功能:通过会话管理conn manager完成会话建立和关闭功能;通过会话管理conn manager和定时器lite timer配合,完成会话超时管理;通过规则管理rulemanager和自研协议栈,过滤不符合要求的报文;通过自研协议栈实现TOA功能;通过限制条件limiting cond,过滤超出阈值的报文;通过线程间通信inter-comm,获取配置等信息以及定时先统计线程发送该线程统计信息,更新setting是配置config file和远程数据库remote DB更新,如果配置config file或者远程数据库remote DB有更新,则获取新的配置数据,通过线程间通信inter-comm把最新的消息发送到各业务线程,信息线程monitor线程主要是实时监测流表使用情况、流量大小、网卡状态等信息,限制条件limiting cond指一些限制条件管理,譬如流量控制、连接数限制、新建连接数限制,规则管理rule manager指规则的管理,定时器lite timer主要用来会话超时的定时器组,会话管理conn manager指新建会话、关闭会话、刷新超时等操作,线程间通信inter-comm指自定义的线程间快速信息传播,流表控制cJson parser指配置数据和上传的数据用Json格式传输,包括了解析和封装,list ctrl指自定义的一些流表的控制,hash、双向链表等数据结构的操作,轻量级协议栈包括ICMP、TCP/UDP、IPv4和ARP,平台依赖包括协议lib curl、协议lib kafka、协议libpthread和dpdk+igb.ko,轻量级协议栈目前支持ICMP、TCP/UDP、IPv4、ARP的处理,同时本说明书中未作详细描述的内容均属于本领域技术人员公知的现有技术。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种TCPUDP数据包转发***的架构,包括主业务功能模块、中间组件、轻量级协议栈和平台依赖,其特征在于:所述主业务功能模块包括统计数据stats、进程forvard、控制control、配置config和远程数据库remote DB,且统计数据stats包括维度统计功能模块sum ip+port和节点流量统计sum all,进程forvard包括分发器distribute和业务线程fwd,控制control包括更新setting和信息线程monitor,所述中间组件包括限制条件limiting cond、规则管理rule manager、定时器lite timer、会话管理conn manager、线程间通信inter-comm、流表控制cJson parser和list ctrl,所述轻量级协议栈包括ICMP、TCP/UDP、IPv4和ARP,所述平台依赖包括协议lib curl、协议lib kafka、协议lib pthread和dpdk+igb.ko。
2.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述维度统计功能模块sum ip+port是以高防ip和端口为维度统计的功能模块,同时负责把该流量上报到后台服务器以便多节点的同意管理,还负责流量监测,以便实现限流功能,所述节点流量统计sum all主要是整个节点流量的统计情况,以及上报后台服务器。
3.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述分发器distribute是一个分发器,从通过dpdk的igb.ko读取网卡的报文,通过自主研发的协议栈,过滤掉没用的报文,再过滤掉不符合规则的报文,然后把报文根据解析出来的报文特征分发到适合的转发线程处理。
4.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述业务线程fwd是本***中的主要业务线程,该线程完成主流程工作,从分发器获取分发过来的报文,通过解析报文,委托会话管理conn manager重新获取源、目的ip和端口,然后更新源、目的ip和端口,通过dpdk的igb.ko发送报文到端口,此外,业务线程fwd线程还需要完成如下功能:
通过会话管理conn manager完成会话建立和关闭功能;
通过会话管理conn manager和定时器lite timer配合,完成会话超时管理;
通过规则管理rule manager和自研协议栈,过滤不符合要求的报文;
通过自研协议栈实现TOA功能;
通过限制条件limiting cond,过滤超出阈值的报文;
通过线程间通信inter-comm,获取配置等信息以及定时先统计线程发送该线程统计信息。
5.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述更新setting是配置config file和远程数据库remote DB更新,如果配置config file或者远程数据库remote DB有更新,则获取新的配置数据,通过线程间通信inter-comm把最新的消息发送到各业务线程,所述信息线程monitor线程主要是实时监测流表使用情况、流量大小、网卡状态等信息。
6.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述限制条件limiting cond指一些限制条件管理,譬如流量控制、连接数限制、新建连接数限制,所述规则管理rule manager指规则的管理,所述定时器lite timer主要用来会话超时的定时器组。
7.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述会话管理conn manager指新建会话、关闭会话、刷新超时等操作,所述线程间通信inter-comm指自定义的线程间快速信息传播,所述流表控制cJson parser指配置数据和上传的数据用Json格式传输,包括了解析和封装,所述list ctrl指自定义的一些流表的控制,hash、双向链表等数据结构的操作。
8.根据权利要求1所述的一种TCPUDP数据包转发***的架构,其特征在于:所述轻量级协议栈目前支持ICMP、TCP/UDP、IPv4、ARP的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874385.XA CN112153005A (zh) | 2020-08-26 | 2020-08-26 | 一种tcpudp数据包转发***的架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874385.XA CN112153005A (zh) | 2020-08-26 | 2020-08-26 | 一种tcpudp数据包转发***的架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112153005A true CN112153005A (zh) | 2020-12-29 |
Family
ID=73887681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010874385.XA Pending CN112153005A (zh) | 2020-08-26 | 2020-08-26 | 一种tcpudp数据包转发***的架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153005A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140310390A1 (en) * | 2013-04-16 | 2014-10-16 | Amazon Technologies, Inc. | Asymmetric packet flow in a distributed load balancer |
CN109445944A (zh) * | 2018-10-25 | 2019-03-08 | 武汉虹旭信息技术有限责任公司 | 一种基于dpdk的网络数据采集处理***及其方法 |
US20190281113A1 (en) * | 2018-03-08 | 2019-09-12 | infinite io, Inc. | System for communicating between computing and storage nodes |
CN111371779A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于dpdk虚拟化管理***的防火墙及其实现方法 |
-
2020
- 2020-08-26 CN CN202010874385.XA patent/CN112153005A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140310390A1 (en) * | 2013-04-16 | 2014-10-16 | Amazon Technologies, Inc. | Asymmetric packet flow in a distributed load balancer |
US20190281113A1 (en) * | 2018-03-08 | 2019-09-12 | infinite io, Inc. | System for communicating between computing and storage nodes |
CN109445944A (zh) * | 2018-10-25 | 2019-03-08 | 武汉虹旭信息技术有限责任公司 | 一种基于dpdk的网络数据采集处理***及其方法 |
CN111371779A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于dpdk虚拟化管理***的防火墙及其实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2518940B1 (en) | Automatic network topology detection and modeling | |
US10411951B2 (en) | Network policy conflict detection and resolution | |
US20170339109A1 (en) | Method for controlling transmission security of industrial communications flow based on sdn architecture | |
US9448914B2 (en) | Method and system for implementing remote debugging | |
CN110071984A (zh) | 一种网络标识映射方法和***以及终端、标识网关 | |
US20190028435A1 (en) | Enhanced network processing of virtual node data packets | |
CN102638453B (zh) | 一种基于Linux***服务器的语音数据内核转发方法 | |
EP3844911B1 (en) | Systems and methods for generating network flow information | |
EP3531653B1 (en) | Processing rule modification method, apparatus and device | |
CN103974380A (zh) | 一种终端接入位置保活的方法及装置 | |
US20200382396A1 (en) | Data packet loss detection | |
US20230362131A1 (en) | Systems and methods for monitoring and securing networks using a shared buffer | |
US10999303B2 (en) | Capturing data | |
CN101355585B (zh) | 一种分布式架构数据通信设备的消息保护***及方法 | |
KR102094041B1 (ko) | IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템 | |
CN106528267B (zh) | 基于Xen特权域的网络通信监控***及方法 | |
CN110708209B (zh) | 虚拟机流量采集方法、装置、电子设备及存储介质 | |
CN112153005A (zh) | 一种tcpudp数据包转发***的架构 | |
CN110753135A (zh) | 一种ip地址配置方法、配置设备及存储介质 | |
US11425221B1 (en) | Runtime extensible application programming interface server | |
Ahmad et al. | Protection of centralized SDN control plane from high-rate Packet-In messages | |
US20200052987A1 (en) | Network infrastructure management | |
CN101207567A (zh) | 双控网中的网络业务重定向方法及*** | |
US11876691B2 (en) | End-to-end RDMA telemetry system | |
US20220255958A1 (en) | Systems and methods for dynamic zone protection of 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: 20201229 |