CN112153005A - 一种tcpudp数据包转发系统的架构 - Google Patents

一种tcpudp数据包转发系统的架构 Download PDF

Info

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
Application number
CN202010874385.XA
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.)
Guangdong Wangdi Information Security Technology Co ltd
Original Assignee
Guangdong Wangdi Information Security 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 Guangdong Wangdi Information Security Technology Co ltd filed Critical Guangdong Wangdi Information Security Technology Co ltd
Priority to CN202010874385.XA priority Critical patent/CN112153005A/zh
Publication of CN112153005A publication Critical patent/CN112153005A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session 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数据包转发系统的架构
技术领域
本发明涉及网络安全技术领域,具体为一种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的处理。
CN202010874385.XA 2020-08-26 2020-08-26 一种tcpudp数据包转发系统的架构 Pending CN112153005A (zh)

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)

* Cited by examiner, † Cited by third party
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虚拟化管理系统的防火墙及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
EP3367627B1 (en) Performing a specific action on a network packet identified as a message queuing telemetry transport (mqtt) packet
US10447655B2 (en) Method for controlling transmission security of industrial communications flow based on SDN architecture
US10411951B2 (en) Network policy conflict detection and resolution
US9448914B2 (en) Method and system for implementing remote debugging
US10757076B2 (en) Enhanced network processing of virtual node data packets
CN110071984A (zh) 一种网络标识映射方法和系统以及终端、标识网关
CN104994065A (zh) 基于软件定义网络的访问控制列表运行系统和方法
CN102638453B (zh) 一种基于Linux系统服务器的语音数据内核转发方法
EP3531653B1 (en) Processing rule modification method, apparatus and device
US11115346B2 (en) Systems and methods for generating network flow information
CN103974380A (zh) 一种终端接入位置保活的方法及装置
CN114041276A (zh) 屏蔽外部源地址的网络架构的安全策略实施和可见性
US20230362131A1 (en) Systems and methods for monitoring and securing networks using a shared buffer
US10999303B2 (en) Capturing data
KR102094041B1 (ko) IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템
CN101355585A (zh) 一种分布式架构数据通信设备的消息保护系统及方法
CN103957173B (zh) 语义交换机
CN106528267B (zh) 基于Xen特权域的网络通信监控系统及方法
CN110708209B (zh) 虚拟机流量采集方法、装置、电子设备及存储介质
CN112153005A (zh) 一种tcpudp数据包转发系统的架构
CN110753135A (zh) 一种ip地址配置方法、配置设备及存储介质
Ahmad et al. Protection of centralized SDN control plane from high-rate Packet-In messages
US20200052987A1 (en) Network infrastructure management
CN101207567A (zh) 双控网中的网络业务重定向方法及系统

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