CN115038138A - 数据转发方法、装置、计算机设备及存储介质 - Google Patents
数据转发方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115038138A CN115038138A CN202210642981.4A CN202210642981A CN115038138A CN 115038138 A CN115038138 A CN 115038138A CN 202210642981 A CN202210642981 A CN 202210642981A CN 115038138 A CN115038138 A CN 115038138A
- Authority
- CN
- China
- Prior art keywords
- data packet
- protocol stack
- packet
- processor
- network
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 89
- 230000006854 communication Effects 0.000 claims abstract description 70
- 238000004891 communication Methods 0.000 claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W80/045—Network layer protocols, e.g. mobile IP [Internet Protocol] involving different protocol versions, e.g. MIPv4 and MIPv6
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了数据转发方法、装置、计算机设备及存储介质。数据转发方法应用于包括处理器的通信设备,所述数据转发方法包括:对所述处理器进行隔离,将所述处理器划分为主盘核和业务核;配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。通过处理器核隔离减少上下行进程的干扰,由业务核与协议栈进行数据包收发,通信设备的运行程序能够有效利用处理器,降低了处理器内核与协议栈的通信时延,提高了通信设备的通信速率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据转发方法、装置、计算机设备及存储介质。
背景技术
家庭基站是一种通信设备,应用于家庭室内环境、办公环境等小范围信号覆盖环境。随着5G(5th Generation Mobile Communication Technology,第五代移动通信技术)的广泛应用,对家庭基站等通信设备的通信速率的要求逐渐提高。
伴随IO(Input/Output,输入/输出)设备、访问内存、数据处理器及以太网接口等硬件技术的快速发展,通信设备的通信速率得到一定程度的提升。然而,运行于通信设备的软件程序,无法有效适配更新换代的硬件技术。例如,通信设备的软件程序无法有效适配通信设备的处理器,影响了通信设备的通信效率的提升,导致通信设备过度依赖于处理器本身的频率提升,以获得更高性能。通信设备的软件程序无法有效利用当前的硬件设备,导致通信设备无法得到更高的通信速率,进而导致通信设备不能有效适用于5G的通信环境。
发明内容
有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种数据转发方法、装置、计算机设备及存储介质,以解决通信设备无法得到更高的通信速率的问题。
第一方面,本申请提供一种数据转发方法,应用于包括处理器的通信设备,所述方法包括:
对所述处理器进行隔离,将所述处理器划分为主盘核和业务核,其中,所述主盘核用于运行通信设备的控制系统,所述业务核用于与协议栈通信;
配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;
将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
结合第一方面,在第一种可能的实现方式中,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的数据长度大于最大传输单元,将所述网络数据包拆包为第一数量的子数据包;
将所述第一数量的子数据包组包为第二数量的传输数据包,其中,所述第一数量大于或等于第二数量,所述传输数据包的数据长度小于或等于所述最大传输单元。
结合第一方面,在第二种可能的实现方式中,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的目标地址为IPV6地址,将所述网络数据包配置为包括IPV6报头的传输数据包;
若所述网络数据包的目标地址为IPV4地址,将所述网络数据包配置为包括IPV4报头的传输数据包。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述将所述传输数据包转发至第二设备,包括:
配置IPV4数据路由表和IPV6数据路由表;
通过所述IPV4数据路由表将所述包括IPV4报头的传输数据包转发至第二设备,和/或通过所述IPV6数据路由表将所述包括IPV6报头的传输数据包转发至第二设备。
结合第一方面,在第四种可能的实现方式中,所述协议栈包括第一协议栈,所述通过所述协议栈接收第一设备发送的网络数据包,包括:
获取第一套接字ID,并查询与所述业务核的输入接口绑定的第一协议栈;
建立所述第一套接字ID和所述第一协议栈的接收队列,并建立第一套接字在第一协议栈传输协议中的上下文;
将第一设备发送的网络数据包存储至所述接收队列;
删除所述第一套接字ID和所述第一套接字的上下文。
结合第一方面,在第五种可能的实现方式中,所述协议栈还包括第二协议栈,所述将所述传输数据包转发至第二设备,包括:
获取第二套接字ID,并查询与所述业务核的输出接口绑定的第二协议栈;
建立所述第二套接字ID和所述第二协议栈的发送队列,并建立第二套接字在第二协议栈传输协议中的上下文;
将所述传输数据包发送至所述发送队列,并通过所述第二协议栈将所述传输数据包转发至第二设备;
删除所述第二套接字ID和所述第二套接字的上下文。
结合第一方面,在第六种可能的实现方式中,所述将所述网络数据包配置为传输数据包,包括:
获取与第二设备通信时的隧道模式,获取对应所述隧道模式的隧道IP报头,将所述网络数据包配置为包括所述隧道IP报头的传输数据包。
第二方面,本申请提供一种数据转发装置,应用于包括处理器的通信设备,所述装置包括:
处理器隔离模块,用于对所述处理器进行隔离,得到主盘核和业务核,其中,所述主盘核用于运行通信设备的控制系统,所述业务核用于与协议栈通信;
数据包接收模块,用于配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;
数据包发送模块,用于将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
第三方面,本申请提供一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器执行时,实现如第一方面所述的数据转发方法。
第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的数据转发方法。
本申请提供一种数据转发方法,应用于包括处理器的通信设备,所述方法包括:对所述处理器进行隔离,将所述处理器划分为主盘核和业务核;配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。通过处理器核隔离减少上下行进程的干扰,由业务核与协议栈进行数据包收发,通信设备的运行程序能够有效利用处理器,降低了处理器内核与协议栈的通信时延,提高了通信设备的通信速率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的数据转发方法的流程图;
图2示出了本发明实施例提供的数据转发装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
请参阅图1,图1示出了本发明实施例提供的数据转发方法的流程图。图1中的数据转发方法应用于包括处理器的通信设备,图1中的数据转发方法包括以下步骤:
步骤110,对所述处理器进行隔离,将所述处理器划分为主盘核和业务核。
处理器(Central Processing Unit/Processor,CPU)是通信设备等计算机设备的核心器件,处理器用于处理器计算机指令以及处理器软件中的数据。通常通信设备选用多核处理器运行应用程序,将其中一个处理器进行隔离,其余的处理器仍能正常运行应用程序。本实施例中,对处理器进行隔离,将处理器的内核划分为主盘(master)核和业务核。主盘核用于运行通信设备的控制系统,业务核用于与协议栈通信,处于与协议栈相关的进程。通过处理器核隔离减少上下行进程的干扰,由业务核与协议栈进行数据包收发,通信设备的运行程序能够有效利用处理器,降低了处理器内核与协议栈的通信时延,提高了通信设备的通信速率。
需要理解的是,主盘核还用于处理耗时较长的进程,业务核还用于申请巨页内存,实现协议栈与处理器内核之间的数据包转发,在此不做赘述。
步骤120,配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包。
本实施例中,协议栈为3GPP标准的协议栈,其中,3GPP标准是指以GSMMAP核心网为基础,以WCDMA为无线接口制定的第三代移动通信标准,并用于在无线接口上定义与ANSI-41核心网兼容的协议。配置与业务核的接口(port)绑定的协议栈,通过协议栈的UDP(UserDatagram Protocol,用户数据报协议)接收第一设备发送的网络数据包。通信设备进行通信时,协议栈的UDP为应用程序提供了一种无需建立连接就可以发送数据包的传输协议。
作为一个示例,所述协议栈包括第一协议栈,所述通过所述协议栈接收第一设备发送的网络数据包,包括:
获取第一套接字ID(Identity document,身份标识号),并查询与所述业务核的输入接口绑定的第一协议栈;
建立所述第一套接字ID和所述第一协议栈的接收队列,并建立第一套接字在第一协议栈传输协议中的上下文(context);
将第一设备发送的网络数据包存储至所述接收队列;
删除所述第一套接字ID和所述第一套接字的上下文。
本实施例中,处理器的输入接口为RX(receive)引脚,处理器的输出接口为TX(transport)引脚。处理器与协议栈通信过程中,处理器通过RX引脚接收网络数据包。具体地,调用第一套接字开放接口(Socket open Application Programming Interface,Socket open API)。基于目的IP地址查询协议栈的路由表,通过查询到的协议栈路由表,查询网络接口(netif port)。查询处理器的RX引脚,并获取与RX引脚绑定的协议栈。通过第一套接字ID与协议栈的UDP对应关系,建立第一套接字ID和协议栈的接收队列,并在协议栈的UDP中建立套接字的上下文。
调用第一套接字开放接口(Socket send API),将第一设备发送的网络数据包存储至接收队列。删除第一套接字ID和第一套接字的上下文,其中,任务可以是线程等,上下文是执行任务时所需的相关信息,在此不做限定。处理器的业务核通过RX引脚接收网络数据包时,不同的网络数据包对应不同的套接字上下文和套接字ID,重复接收第一设备发送的网络数据包时,需对应每个网络数据包执行建立套接字,删除套件字的步骤。
网络数据包存储至接收队列之后,第一协议栈的UDP的处理任务(TASK)对数据包进行处理,将网络数据包配置为传输数据包。调用第一套接字开放平台。
步骤130,将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
通过业务核中的线程对网络数据包进行处理,具体地,对网络包的处理可以是对网络数据进行拆包,也可以是为网络数据包添加报头,在此不做限定。将业务核处理后的网络数据包配置为传输数据包,并通过协议栈将传输数据包转发至第二设备。
需要理解的是,第一设备和第二设备为任意包括网卡等通信器件的设备,且第一设备与第二设备可以为不同设备,第一设备与第二设备也可以为同一设备,在此不做限定。
作为一个示例,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的数据长度大于最大传输单元,将所述网络数据包拆包为第一数量的子数据包。
将所述第一数量的子数据包组包为第二数量的传输数据包,其中,所述第一数量大于或等于第二数量,所述传输数据包的数据长度小于或等于所述最大传输单元。
最大传输单元(Maximum Transmission Unit,MTU)用于表示接收方能够接收数据服务单元的最大尺寸,是包或帧的最大数据长度。若网络数据包的数据长度大于最大传输单元,则存在路由器等设备拒绝转发网络数据包的情况。网络数据包由多个数据封装得到,将网络数据包拆包为第一数量的子数据包,其中,第一数量是根据实际场景变化的,在此不做限定。传输协议要求每个转发的数据包设置有包头,若拆包得到子数据包数量较多,会影响数据包的传输效率。需将述第一数量的子数据包组包为第二数量的传输数据包,其中,第二数量及每个传输数据包的数据长度是根据实际应用场景发生变化的,在此不做限定。
若最大传输单元为10,网络数据包的数据长度为30。将网络数据包进行拆包,得到3个长度为10的子数据包。将3个子数据包组包为数据长度为30的传输数据包,并将传输包数据包转发上层协议栈,进而避免数据包被拒绝转发。
作为一个示例,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的目标地址为IPV6(Internet Protocol version 6,网际协议版本6)地址,将所述网络数据包配置为包括IPV6报头的传输数据包;
若所述网络数据包的目标地址为IPV4(Internet Protocol version 4,网际协议版本4)地址,将所述网络数据包配置为包括IPV4报头的传输数据包。
通信设备可配置至少一种IP(Internet Protocol,网际互连协议)地址,其中,IP地址包括IPV4单播地址、IPV4多播地址、IPV6单播地址及IPV6多播地址等协议地址,在此不做限定。需要理解的是,IPV4报头、IPV6报头均为IP报头,IP报头可包括源IP地址、目的IP地址、数据报文长度等多种信息,在此不做限定。若网络数据包的目标地址为IPV6地址,网络数据包为添加IPV6报头,进而将网络数据包配置为包括IPV6报头的传输数据包。若网络数据包的目标地址为IPV4地址,网络数据包为添加IPV4报头,进而将网络数据包配置为包括IPV4报头的传输数据包。通过转发包括IPV4报头和/或IPV6报头的传输数据包,实现ping(Packet Internet Groper,因特网包探索器)包的加速,降低通信设备的通信时延。
在一个可选的示例中,所述将所述传输数据包转发至第二设备,包括:
配置IPV4数据路由表和IPV6数据路由表;
通过所述IPV4数据路由表将所述包括IPV4报头的传输数据包转发至第二设备,和/或通过所述IPV6数据路由表将所述包括IPV6报头的传输数据包转发至第二设备。
配置IPV4数据路由表和IPV6数据路由表,其中,路由表(routing table)是一种电子表格文件或类数据库。计算机网络中,路由表用于存储网络地址的路径和网络周边的拓扑信息,实现路由协议和静态路由。
若传输数据包包括IPV4报头,则通过IPV4数据路由表转发传输数据包至第二设备。若传输数据包包括IPV6报头,则通过IPV6数据路由表转发传输数据包至第二设备。路由表用于控制数据包的流向,可根据实际需求增加或删除路由表,在此不做限定。本实施例中,将路由表分为IPV4数据路由表和IPV6数据路由表,可分别维护两个路由表,保证通信设备的可靠性。
作为一个示例,所述协议栈还包括第二协议栈,所述将所述传输数据包转发至第二设备,包括:
获取第二套接字ID,并查询与所述业务核的输出接口绑定的第二协议栈;
建立所述第二套接字ID和所述第二协议栈的发送队列,并建立第二套接字在第二协议栈传输协议中的上下文;
将所述传输数据包发送至所述发送队列,并通过所述第二协议栈将所述传输数据包转发至第二设备;
删除所述第二套接字ID和所述第二套接字的上下文。
处理器与协议栈通信过程中,处理器通过TX引脚发送网络数据包。具体地,基于源IP地址查询处理器的TX引脚,并查询与TX引脚绑定的协议栈。通过第二套接字ID和协议栈的UDP,建立第二套接字ID和协议栈的发送队列,并在协议栈UDP中建立第二套接字的上下文。将传输数据包发送至发送队列,协议栈接收UDP数据包,查询第二套接字的上下文,调用协议栈的UDP,将传输数据包转发至第二设备,删除第二套接字ID和第二套接字的上下文。
需要理解的是,第一协议栈与第二协议栈可以是相同的协议栈,也可以是不同的协议栈,在此不做限定。
作为一个示例,所述将所述网络数据包配置为传输数据包,包括:
获取与第二设备通信时的隧道模式,获取对应所述隧道模式的隧道IP报头,将所述网络数据包配置为包括所述隧道IP报头的传输数据包。
通信设备与第二设备进行隧道模式(Tunnel Mode)通信时,能够对IP报头和负载进行加密,用于保护不同网络之间的通信安全。获取与第二设备通信时的隧道模式,获取对应隧道模式的隧道IP报头,其中,隧道IP报头可以ESP(Encapsulate Security Payload,封装安全载荷)报头等,在此不做限定。将网络数据包配置为包括所述隧道IP报头的传输数据包,防止黑客利用IP进行网络攻击。
需要理解的是,本申请的通信设备可以是网卡(network interface controller,NIC)设备、虚拟局域网(Virtual Local Area Network,VLAN)设备等用于网络通信的设备,在此不做限定。此外,本实施例中,通信设备还用于获取dhcp(Dynamic HostConfiguration Protocol,动态主机配置协议)地址、静态ip地址等通信地址,并对获取到的通信地址进行检测。同时,还可通过cli(command-line interface,命令行界面)工具查询、IP信息、收发数据包统计信息、路由信息等通信设备的系统配置信息,在此不做赘述。
本申请提供一种数据转发方法,应用于包括处理器的通信设备,所述方法包括:对所述处理器进行隔离,将所述处理器划分为主盘核和业务核;配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。通过处理器核隔离减少上下行进程的干扰,由业务核与协议栈进行数据包收发,通信设备的运行程序能够有效利用处理器,降低了处理器内核与协议栈的通信时延,提高了通信设备的通信速率。
实施例2
请参阅图2,图2示出了本发明实施例提供的数据转发装置的结构示意图。图2中的数据转发装置200应用于包括处理器的通信设备,图2中的数据转发装置200包括:
处理器隔离模块210,用于对所述处理器进行隔离,得到主盘核和业务核,其中,所述主盘核用于运行通信设备的控制系统,所述业务核用于与协议栈通信;
数据包接收模块220,用于配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;
数据包发送模块230,用于将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
作为一个示例,所述数据包接收模块220,包括:
数据拆包子模块,用于若所述网络数据包的数据长度大于最大传输单元,将所述网络数据包拆包为第一数量的子数据包;
数据组包子模块,用于将所述第一数量的子数据包组包为第二数量的传输数据包,其中,所述第一数量大于或等于第二数量,所述传输数据包的数据长度小于或等于所述最大传输单元。
作为一个示例,所述数据包接收模块220,包括:
IPV6报头配置子模块,用于若所述网络数据包的目标地址为IPV6地址,将所述网络数据包配置为包括IPV6报头的传输数据包;
IPV4报头配置子模块,用于若所述网络数据包的目标地址为IPV4地址,将所述网络数据包配置为包括IPV4报头的传输数据包。
在一个可选的示例中,所述数据包发送模块230,包括:
路由表配置子模块,用于配置IPV4数据路由表和IPV6数据路由表;
数据包转发子模块,用于通过所述IPV4数据路由表将所述包括IPV4报头的传输数据包转发至第二设备,和/或通过所述IPV6数据路由表将所述包括IPV6报头的传输数据包转发至第二设备。
作为一个示例,所述协议栈包括第一协议栈,所述数据包接收模块220,包括:
第一查询子模块,用于获取第一套接字ID,并查询与所述业务核的输入接口绑定的第一协议栈;
接收队列子模块,用于建立所述第一套接字ID和所述第一协议栈的接收队列,并建立第一套接字在第一协议栈传输协议中的上下文;
接收子模块,用于将第一设备发送的网络数据包存储至所述接收队列;
第一删除子模块,用于删除所述第一套接字ID和所述第一套接字的上下文。
作为一个示例,所述协议栈还包括第二协议栈,所述数据包发送模块230,包括:
第二查询子模块,用于获取第二套接字ID,并查询与所述业务核的输出接口绑定的第二协议栈;
发送队列子模块,用于建立所述第二套接字ID和所述第二协议栈的发送队列,并建立第二套接字在第二协议栈传输协议中的上下文;
发送模块,用于将所述传输数据包发送至所述发送队列,并通过所述第二协议栈将所述传输数据包转发至第二设备;
第二删除子模块,用于删除所述第二套接字ID和所述第二套接字的上下文。
作为一个示例,所述数据包发送模块230,包括:
隧道报头子模块,用于获取与第二设备通信时的隧道模式,获取对应所述隧道模式的隧道IP报头,将所述网络数据包配置为包括所述隧道IP报头的传输数据包。
数据转发装置200用于执行上述的数据转发方法中的对应步骤,各个功能的具体实施,在此不再一一描述。此外,实施例1中可选示例也同样适用于实施例2的数据转发装置200。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器及处理器,所述计算机程序在所述处理器执行时,实现如上述实施例所述的数据转发方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述实施例所述的数据转发方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种数据转发方法,其特征在于,应用于包括处理器的通信设备,所述方法包括:
对所述处理器进行隔离,将所述处理器划分为主盘核和业务核,其中,所述主盘核用于运行通信设备的控制系统,所述业务核用于与协议栈通信;
配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;
将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
2.根据权利要求1所述的数据转发方法,其特征在于,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的数据长度大于最大传输单元,将所述网络数据包拆包为第一数量的子数据包;
将所述第一数量的子数据包组包为第二数量的传输数据包,其中,所述第一数量大于或等于第二数量,所述传输数据包的数据长度小于或等于所述最大传输单元。
3.根据权利要求1所述的数据转发方法,其特征在于,所述将所述网络数据包配置为传输数据包,包括:
若所述网络数据包的目标地址为IPV6地址,将所述网络数据包配置为包括IPV6报头的传输数据包;
若所述网络数据包的目标地址为IPV4地址,将所述网络数据包配置为包括IPV4报头的传输数据包。
4.根据权利要求3所述的数据转发方法,其特征在于,所述将所述传输数据包转发至第二设备,包括:
配置IPV4数据路由表和IPV6数据路由表;
通过所述IPV4数据路由表将所述包括IPV4报头的传输数据包转发至第二设备,和/或通过所述IPV6数据路由表将所述包括IPV6报头的传输数据包转发至第二设备。
5.根据权利要求1所述的数据转发方法,其特征在于,所述协议栈包括第一协议栈,所述通过所述协议栈接收第一设备发送的网络数据包,包括:
获取第一套接字ID,并查询与所述业务核的输入接口绑定的第一协议栈;
建立所述第一套接字ID和所述第一协议栈的接收队列,并建立第一套接字在第一协议栈传输协议中的上下文;
将第一设备发送的网络数据包存储至所述接收队列;
删除所述第一套接字ID和所述第一套接字的上下文。
6.根据权利要求1所述的数据转发方法,其特征在于,所述协议栈还包括第二协议栈,所述将所述传输数据包转发至第二设备,包括:
获取第二套接字ID,并查询与所述业务核的输出接口绑定的第二协议栈;
建立所述第二套接字ID和所述第二协议栈的发送队列,并建立第二套接字在第二协议栈传输协议中的上下文;
将所述传输数据包发送至所述发送队列,并通过所述第二协议栈将所述传输数据包转发至第二设备;
删除所述第二套接字ID和所述第二套接字的上下文。
7.根据权利要求1所述的数据转发方法,其特征在于,所述将所述网络数据包配置为传输数据包,包括:
获取与第二设备通信时的隧道模式,获取对应所述隧道模式的隧道IP报头,将所述网络数据包配置为包括所述隧道IP报头的传输数据包。
8.一种数据转发装置,其特征在于,应用于包括处理器的通信设备,所述装置包括:
处理器隔离模块,用于对所述处理器进行隔离,得到主盘核和业务核,其中,所述主盘核用于运行通信设备的控制系统,所述业务核用于与协议栈通信;
数据包接收模块,用于配置与所述业务核绑定的协议栈,通过所述协议栈接收第一设备发送的网络数据包;
数据包发送模块,用于将所述网络数据包配置为传输数据包,将所述传输数据包转发至第二设备。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器执行时,实现如权利要求1至7中任一项所述的数据转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642981.4A CN115038138B (zh) | 2022-06-08 | 2022-06-08 | 数据转发方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642981.4A CN115038138B (zh) | 2022-06-08 | 2022-06-08 | 数据转发方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115038138A true CN115038138A (zh) | 2022-09-09 |
CN115038138B CN115038138B (zh) | 2024-10-15 |
Family
ID=83122719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210642981.4A Active CN115038138B (zh) | 2022-06-08 | 2022-06-08 | 数据转发方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115038138B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518827A (zh) * | 2001-06-18 | 2004-08-04 | �Ҵ���˾ | 移动和固定数据网络之间面向分组的数据通信 |
US20050111385A1 (en) * | 2003-11-24 | 2005-05-26 | Samsung Electronics Co., Ltd. | Multimedia communication device using software and hardware protocol stacks and communication method thereof |
US20150277995A1 (en) * | 2014-03-31 | 2015-10-01 | Nicira, Inc. | Using loopback interfaces of multiple tcp/ip stacks for communication between processes |
CN105827654A (zh) * | 2016-05-26 | 2016-08-03 | 西安电子科技大学 | 基于gmr-1 3g系统多核并行协议栈结构设计方法 |
WO2018128597A1 (en) * | 2017-01-03 | 2018-07-12 | Intel Corporation | Cross-device segmentation offload |
CN112737966A (zh) * | 2020-12-23 | 2021-04-30 | 北京浪潮数据技术有限公司 | 一种负载均衡方法及相关装置 |
CN113055269A (zh) * | 2019-12-27 | 2021-06-29 | 厦门网宿有限公司 | 虚拟专用网络数据的传输方法及装置 |
-
2022
- 2022-06-08 CN CN202210642981.4A patent/CN115038138B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518827A (zh) * | 2001-06-18 | 2004-08-04 | �Ҵ���˾ | 移动和固定数据网络之间面向分组的数据通信 |
US20050111385A1 (en) * | 2003-11-24 | 2005-05-26 | Samsung Electronics Co., Ltd. | Multimedia communication device using software and hardware protocol stacks and communication method thereof |
US20150277995A1 (en) * | 2014-03-31 | 2015-10-01 | Nicira, Inc. | Using loopback interfaces of multiple tcp/ip stacks for communication between processes |
CN105827654A (zh) * | 2016-05-26 | 2016-08-03 | 西安电子科技大学 | 基于gmr-1 3g系统多核并行协议栈结构设计方法 |
WO2018128597A1 (en) * | 2017-01-03 | 2018-07-12 | Intel Corporation | Cross-device segmentation offload |
CN113055269A (zh) * | 2019-12-27 | 2021-06-29 | 厦门网宿有限公司 | 虚拟专用网络数据的传输方法及装置 |
CN112737966A (zh) * | 2020-12-23 | 2021-04-30 | 北京浪潮数据技术有限公司 | 一种负载均衡方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
侯成杰;王江林;张宏科;: "基于网络处理器的IPV4/V6双栈路由器慢通道数据处理的设计与实现", 电信快报, no. 12, 25 December 2005 (2005-12-25), pages 49 - 51 * |
Also Published As
Publication number | Publication date |
---|---|
CN115038138B (zh) | 2024-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358886A1 (en) | Data Transmission Method, Apparatus, And System | |
US20190245809A1 (en) | System and method for message handling in a network device | |
EP3125476B1 (en) | Service function chaining processing method and device | |
KR101938623B1 (ko) | 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이 | |
EP2965476B1 (en) | Forwarding ethernet packets | |
US11502962B2 (en) | Method, apparatus, and system for implementing data transmission | |
US10368254B2 (en) | Data forwarding method and controller | |
CN105591971A (zh) | 一种QoS的实现方法和装置 | |
CN111480320A (zh) | 具有用户空间隧道的无线网状接入点 | |
EP3813318B1 (en) | Packet transmission method, communication device, and system | |
CN111193756B (zh) | 一种vxlan隧道负载均衡方法及相关设备 | |
CN110932992A (zh) | 一种基于隧道模式的负载均衡通信方法 | |
US10700981B2 (en) | Processing method for service flow packet, and device | |
CN107733930B (zh) | 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统 | |
CN109600248B (zh) | 服务质量的确定方法、装置及存储介质 | |
CN107645391B (zh) | 一种接口扩展设备的端口配置方法及装置 | |
CN113852917B (zh) | 一种基于组播的下行数据包寻址方法及系统 | |
WO2021244356A1 (zh) | 数据传输方法及装置 | |
US12003417B2 (en) | Communication method and apparatus | |
CN115038138B (zh) | 数据转发方法、装置、计算机设备及存储介质 | |
CN108650179B (zh) | 一种配置转发表的方法、转发装置及计算机可读存储介质 | |
US11870685B2 (en) | Packet capsulation method and packet capsulation device | |
WO2023005620A1 (zh) | 报文处理方法、装置及通信系统 | |
US20240179561A1 (en) | Data transmission method and terminal device | |
CN118784401A (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 | ||
GR01 | Patent grant |