CN117395211A - 一种数据转发方法、装置、交换机及介质 - Google Patents
一种数据转发方法、装置、交换机及介质 Download PDFInfo
- Publication number
- CN117395211A CN117395211A CN202311397550.7A CN202311397550A CN117395211A CN 117395211 A CN117395211 A CN 117395211A CN 202311397550 A CN202311397550 A CN 202311397550A CN 117395211 A CN117395211 A CN 117395211A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- fpga
- switch
- preset
- forwarded
- 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 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 16
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据转发方法、装置、交换机及介质。该方法应用于交换机,交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,方法由FPGA芯片执行,包括:获取预设转发表,将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息;检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口;将待转发报文通过目标转发端口传输至目标接收设备。通过将转发表固化为FPGA固件,进而基于FPGA固件确定目标转发端口,进行待转发报文的转发。提高了交换机的转发性能,降低了转发延时。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据转发方法、装置、交换机及介质。
背景技术
随着分布式存储、GPU资源池化等技术的发展,网络成为影响整体性能的关键因素。提高网络性能主要是2个方面:增加网络带宽、降低网络延时。网络带宽一直在进行大幅度的增长,从10G、25G、100G到当前的400G,以及未来规划的800G、1.6T,有着清晰的路线图。但是,网络延时却一直没有明显的降低,目前10G接口二层交换机的转发延时基本在微秒级徘徊。网络延时已经成为制约计算机系统发展的关键因素。
目前交换机常用的转发FPGA芯片为专用的ASIC芯片。
虽然ASIC芯片的处理延时相对于其他类型的FPGA芯片已经非常低,但是ASIC芯片的转发流程已固化,无法根据不同的使用场景进行针对性的优化,很难进一步降低转发延时。
发明内容
本发明提供了一种数据转发方法、装置、交换机及介质,以实现低延迟的数据转发。
根据本发明的第一方面,提供了一种数据转发方法,应用于交换机,所述交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,所述方法由所述FPGA芯片执行,包括:
获取预设转发表,将所述预设转发表固化为FPGA固件,所述预设转发表中包括发送设备与接收设备通信所需的转发端口信息;
检测到所述交换机接收到发送设备发送的待转发报文时,基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口;
将所述待转发报文通过所述目标转发端口传输至所述目标接收设备。
根据本发明的第二方面,提供了一种数据转发装置,应用于交换机,所述交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,由所述FPGA芯片执行,包括:
固件固化模块,用于获取预设转发表,将所述预设转发表固化为FPGA固件,所述预设转发表中包括发送设备与接收设备通信所需的转发端口信息;
端口确定模块,用于检测到所述交换机接收到发送设备发送的待转发报文时,基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口;
报文转发模块,用于将所述待转发报文通过所述目标转发端口传输至所述目标接收设备。
根据本发明的第三方面,提供了一种交换机,所述交换机包括:
FPGA芯片及至少一个转发端口;以及
与所述至少一个FPGA芯片通信连接的存储器;其中,
所述存储器存储有可被所述至少一个FPGA芯片执行的计算机程序,所述计算机程序被所述至少一个FPGA芯片执行,以使所述至少一个FPGA芯片能够执行本发明任一实施例所述的数据转发方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使FPGA芯片执行时实现本发明任一实施例所述的数据转发方法。
本发明实施例的技术方案,通过将该方法应用于交换机,交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,方法由FPGA芯片执行,包括:获取预设转发表,将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息;检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口;将待转发报文通过目标转发端口传输至目标接收设备。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据转发方法的流程图;
图2是根据本发明实施例一提供的一种数据转发方法的示例流程图;
图3是根据本发明实施例二提供的一种数据转装置的结构示意图;
图4是实现本发明实施例的交换机的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种数据转发方法的流程图,本实施例可适用于数据转发的情况,该方法可以由数据转发装置来执行,该数据转发装置可以采用硬件和/或软件的形式实现,该数据转发装置可配置于交换机中,交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,所述方法由所述FPGA芯片执行。
需要知道的是,目前交换机常用的转发处理器为专用的ASIC芯片。虽然在处理相同流程时,ASIC芯片的处理延时相对于FPGA会更低,但是ASIC芯片的转发流程是固化的,无法根据不同的使用场景进行针对性处理,很难进一步降低转发延时。
如图1所示,该方法包括:
S110、获取预设转发表,将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息。
需要知道的是,传统的处理方式是把转发表存放在RAM(即内存)中,FPGA通过读写RAM获取到转发表,进一步获取到转发出接口,然后把报文送至该转发出接口。
在本实施例中,预设转发表可以理解为建立转发端口信息与DMAC地址(目的MAC地址)之间关系的表,其中,预设转发表可以采用数组的数据结构。FPGA固件可以理解为FPGA可以调用的处理逻辑形式。
具体的,FPGA芯片可以从相应的存储介质中获取预设转发表,通过相应的编程工具将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息。
S120、检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口。
在本实施例中,交换机为二层交换机,通过二层交换机中设置的FPGA芯片识别数据帧中的MAC地址信息,进行收包、查找出端口及发包。发送设备可以理解为与交换机连接的用于发送报文的网络设备。待转发报文可以理解为用于转发至对应的目标接收设备的报文。转发端口信息可以理解为交换机中所有转发端口所对应的标识信息。目标接收设备可以理解为转发的目标网络设备。目标转发端口可以理解为目标接收设备与交换机建立连接的端口。
具体的,当FPGA检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口。
S130、将待转发报文通过目标转发端口传输至目标接收设备。
具体的,FPGA可以将待转发报文通过目标转发端口传输至目标接收设备。
本发明实施例的技术方案,通过将该方法应用于交换机,交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,方法由FPGA芯片执行,包括:获取预设转发表,将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息;检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口;将待转发报文通过目标转发端口传输至目标接收设备。通过将转发表固化为FPGA固件,进而基于FPGA固件确定目标转发端口,进行待转发报文的转发。本发明使用DMAC的低16bit作为转发目的地址,使用数组数据结构来管理转发表。全部转发条目最多为65535条,并且是连续排列,所以交换机的转发表在设计上可采用数组的数据结构,相对于目前交换机转发表使用的哈希表数据结构,使用数组数据结构可以大幅减少查询哈希表开销,进而提高转发性能、降低转发延时。目前,10G接口二层交换机的转发延时在微秒级,本发明可将转发延时降至100ns左右。
进一步地,在上述实施例的基础上,可以将获取预设转发表,将所述预设转发表固化为FPGA固件的步骤优化为:
调用预设编程工具;将所述预设转发表按照所述FPGA的处理逻辑转换为FPGA固件。
在本实施例中,预设编程工具可以理解为用于将FPGA处理逻辑转换成FPGA可以使用的固件的工具。
具体的,FPGA可以调用预设编程工具,将预设转发表按照FPGA的处理逻辑转换为FPGA可以调用的FPGA固件。
进一步地,在上述实施例的基础上,可以将基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口的步骤优化为:
读取所述待转发报文的目的MAC地址DMAC中设定字节长度的发送设备地址信息;调用所述FPGA固件,从所述转发端口信息中确定与所述发送设备地址信息相匹配的目标接收设备,以及与所述目标接收设备相匹配的目标转发端口。
在本实施例中,目的MAC地址可以理解为Destination MAC,用于标识一个网络接口的48位(6个字节)的地址,每个字节用16进制数表示,之间用冒号隔开。其中网络设备的DMAC可以进行自定义写入,避免网络设备DMAC的低16bit出现重复,导致端口对应错误。设定字节长度可以理解为设定的标记网络地址的长度,在网络设备数量有限(小于65535台)的使用场景中,使用DMAC的低16bit作为标记网络设备的地址,即设定字节长度可以为低16bit。
具体的,FPGA可以读取待转发报文的DMAC中设定字节长度的发送设备地址信息;调用FPGA固件,从转发端口信息中确定与发送设备地址信息相匹配的目标接收设备,以及与目标接收设备相匹配的目标转发端口。
示例性的,待转发报文为:转发表条目1,当DMAC等于01:00:00:00:00:01时,目标转发端口为接口5。待转发报文为:转发表条目2,当DMAC等于01:00:00:00:00:02时,目标转发端口为接口3。
通过这样的设置,本发明把转发表固化为FPGA的固件。在局域网、数据中心等场景,交换机的转发表更新频率很低,把转发表固化为FPGA固件可避免FPGA读写RAM,减少了FPGA读写RAM的开销,可进一步提高转发性能,降低转发延时。当转发表有更新时,对FPGA的逻辑进行重新编译,生成新的固件后再由FPGA重新加载。
作为本实施例一的第一可选实施例,在上述实施例的基础上,还包括:
当所述预设转发表发生更新时,对更新后的预设转发表进行重新编译,生成更新后的FPGA固件。
具体的,当预设转发表发生更新时(如端口所连接的网络设备发生了改变,对应需要对预设转发表进行更新),对FPGA的逻辑进行重新编译,生成新的FPGA固件后再由FPGA重新加载。
本实施例一的第一可选实施例,通过这样的设置,在预设转发表更新时对固件自动进行重新编译,生成更新后的FPGA固件,保证了后续目标转发端口确定的准确性。
示例性的,为了便于理解本方案,通过一个具体示例进行展示,如图2所示,该步骤可以为:
S210、检测到交换机接收到发送设备发送的待转发报文;
S220、读取待转发报文DMAC的低16bit位地址;
S230、基于DMAC的低16bit位地址查找转发表,确定是否有对应的目标转发端口,其中,该转发表是通过FPGA固件所提供;若是则跳转至步骤S240,若否则跳转至S250;
S240、将待转发报文通过目标转发端口转发至目标接收设备;
S250、转发失败。
实施例二
图3为本发明实施例三提供的一种数据转发装置的结构示意图。如图3所示,该装置包括:
固件固化模块31,用于获取预设转发表,将所述预设转发表固化为FPGA固件,所述预设转发表中包括发送设备与接收设备通信所需的转发端口信息;
端口确定模块32,用于检测到所述交换机接收到发送设备发送的待转发报文时,基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口;
报文转发模块33,用于将所述待转发报文通过所述目标转发端口传输至所述目标接收设备。
本发明实施例的技术方案,通过将该方法应用于交换机,交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,方法由FPGA芯片执行,包括:获取预设转发表,将预设转发表固化为FPGA固件,预设转发表中包括发送设备与接收设备通信所需的转发端口信息;检测到交换机接收到发送设备发送的待转发报文时,基于FPGA固件,从转发端口信息中确定待转发报文对应的目标接收设备及相匹配的目标转发端口;将待转发报文通过目标转发端口传输至目标接收设备。
其中,所述预设转发表采用数组的数据结构。
其中,所述交换机为二层交换机。
进一步的,固件固化模块31具体用于:
调用预设编程工具;
将所述预设转发表按照所述FPGA的处理逻辑转换为FPGA固件。
进一步地,端口确定模块32具体用于:
读取所述待转发报文的目的MAC地址DMAC中设定字节长度的发送设备地址信息;
调用所述FPGA固件,从所述转发端口信息中确定与所述发送设备地址信息相匹配的目标接收设备,以及与所述目标接收设备相匹配的目标转发端口。
可选地,该装置还包括:
固件更新模块,用于当所述预设转发表发生更新时,对更新后的预设转发表进行重新编译,生成更新后的FPGA固件。
本发明实施例所提供的数据转发装置可执行本发明任意实施例所提供的数据转发方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4示出了可以用来实施本发明的实施例的交换机40的结构示意图。交换机旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。交换机还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,交换机40包括至少一个FPGA芯片41,以及与至少一个FPGA芯片41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个FPGA芯片执行的计算机程序,FPGA芯片41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储交换机40操作所需的各种程序和数据。FPGA芯片41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
交换机40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许交换机40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
FPGA芯片41可以是各种具有处理和计算能力的通用和/或专用处理组件。FPGA芯片41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的FPGA芯片、数字信号FPGA芯片(DSP)、以及任何适当的FPGA芯片、控制器、微控制器等。FPGA芯片41执行上文所描述的各个方法和处理,例如数据转发方法。
在一些实施例中,数据转发方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到交换机40上。当计算机程序加载到RAM 43并由FPGA芯片41执行时,可以执行上文描述的数据转发方法的一个或多个步骤。备选地,在其他实施例中,FPGA芯片41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据转发方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程FPGA芯片的可编程系统上执行和/或解释,该可编程FPGA芯片可以是专用或者通用可编程FPGA芯片,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的FPGA芯片,使得计算机程序当由FPGA芯片执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在交换机上实施此处描述的系统和技术,该交换机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给交换机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据转发方法,其特征在于,应用于交换机,所述交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,所述方法由所述FPGA芯片执行,包括:
获取预设转发表,将所述预设转发表固化为FPGA固件,所述预设转发表中包括发送设备与接收设备通信所需的转发端口信息;
检测到所述交换机接收到发送设备发送的待转发报文时,基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口;
将所述待转发报文通过所述目标转发端口传输至所述目标接收设备。
2.根据权利要求1所述的方法,其特征在于,所述将所述预设转发表固化为FPGA固件,包括:
调用预设编程工具;
将所述预设转发表按照所述FPGA的处理逻辑转换为FPGA固件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口,包括:
读取所述待转发报文的目的MAC地址DMAC中设定字节长度的发送设备地址信息;
调用所述FPGA固件,从所述转发端口信息中确定与所述发送设备地址信息相匹配的目标接收设备,以及与所述目标接收设备相匹配的目标转发端口。
4.根据权利要求1所述的方法,其特征在于,所述预设转发表采用数组的数据结构。
5.根据权利要求1所述的方法,其特征在于,还包括:
当所述预设转发表发生更新时,对更新后的预设转发表进行重新编译,生成更新后的FPGA固件。
6.根据权利要求1所述的方法,其特征在于,所述交换机为二层交换机。
7.一种数据转发装置,其特征在于,应用于交换机,所述交换机包括:现场可编程门阵列FPGA芯片及至少一个转发端口,由所述FPGA芯片执行,包括:
固件固化模块,用于获取预设转发表,将所述预设转发表固化为FPGA固件,所述预设转发表中包括发送设备与接收设备通信所需的转发端口信息;
端口确定模块,用于检测到所述交换机接收到发送设备发送的待转发报文时,基于所述FPGA固件,从所述转发端口信息中确定所述待转发报文对应的目标接收设备及相匹配的目标转发端口;
报文转发模块,用于将所述待转发报文通过所述目标转发端口传输至所述目标接收设备。
8.根据权利要求7所述的装置,其特征在于,所述固件固化模块具体用于:
调用预设编程工具;
将所述预设转发表按照所述FPGA的处理逻辑转换为FPGA固件。
9.一种交换机,其特征在于,所述交换机包括:
FPGA芯片及至少一个转发端口;以及
与所述至少一个FPGA芯片通信连接的存储器;其中,
所述存储器存储有可被所述至少一个FPGA芯片执行的计算机程序,所述计算机程序被所述至少一个FPGA芯片执行,以使所述至少一个FPGA芯片能够执行权利要求1-6中任一项所述的数据转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使FPGA芯片执行时实现权利要求1-6中任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311397550.7A CN117395211A (zh) | 2023-10-26 | 2023-10-26 | 一种数据转发方法、装置、交换机及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311397550.7A CN117395211A (zh) | 2023-10-26 | 2023-10-26 | 一种数据转发方法、装置、交换机及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117395211A true CN117395211A (zh) | 2024-01-12 |
Family
ID=89466348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311397550.7A Pending CN117395211A (zh) | 2023-10-26 | 2023-10-26 | 一种数据转发方法、装置、交换机及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395211A (zh) |
-
2023
- 2023-10-26 CN CN202311397550.7A patent/CN117395211A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115567589B (zh) | Json数据的压缩传输方法、装置、设备及存储介质 | |
CN112019492B (zh) | 访问控制方法、装置及存储介质 | |
CN116781667A (zh) | 一种储能电池包地址编码方法、装置、电子设备及介质 | |
CN116347518A (zh) | 用户面的数据包处理系统、方法、计算机设备及存储介质 | |
CN115167351B (zh) | 一种控制器功能更新方法、系统、车辆和服务器 | |
CN117395211A (zh) | 一种数据转发方法、装置、交换机及介质 | |
US10129147B2 (en) | Network-on-chip flit transmission method and apparatus | |
CN116527652A (zh) | 一种文件格式转换路径的确定方法、装置、设备及介质 | |
CN114338543B (zh) | 一种网络访问限速方法、装置、设备及存储介质 | |
CN114928581B (zh) | 基于autosar架构的can报文转发方法、装置、设备及存储介质 | |
CN117979210B (zh) | 音频传输方法、装置、电子设备及存储介质 | |
CN114760256B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114827055B (zh) | 数据镜像的方法、装置、电子设备及交换机集群 | |
CN116016724B (zh) | 一种报文的解析方法、装置、设备及介质 | |
CN115242733B (zh) | 报文组播方法、组播网关、电子设备及存储介质 | |
CN117112162B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN116599838A (zh) | 变电站设备信息配置管理方法、装置、设备及存储介质 | |
CN115175172B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114553894B (zh) | 数据同步方法、装置、系统及存储介质 | |
CN116708362A (zh) | 通信地址的处理方法、装置、设备及存储介质 | |
CN118118386A (zh) | 链路延时探测方法、装置、设备及存储介质 | |
CN117033029A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN118055068A (zh) | 基于dpdk的报文处理方法、装置、设备和介质 | |
CN117440064A (zh) | 基于功能码的数据传输方法、装置、设备及介质 | |
CN117591440A (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 |