WO2021212770A1 - Fpga-based mac address management apparatus and method for ethernet switch - Google Patents

Fpga-based mac address management apparatus and method for ethernet switch Download PDF

Info

Publication number
WO2021212770A1
WO2021212770A1 PCT/CN2020/120844 CN2020120844W WO2021212770A1 WO 2021212770 A1 WO2021212770 A1 WO 2021212770A1 CN 2020120844 W CN2020120844 W CN 2020120844W WO 2021212770 A1 WO2021212770 A1 WO 2021212770A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
mac address
ram
mac
fpga
Prior art date
Application number
PCT/CN2020/120844
Other languages
French (fr)
Chinese (zh)
Inventor
金君钢
Original Assignee
上海御渡半导体科技有限公司
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 上海御渡半导体科技有限公司 filed Critical 上海御渡半导体科技有限公司
Publication of WO2021212770A1 publication Critical patent/WO2021212770A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types

Definitions

  • the present invention relates to the field of communication technology, in particular to an FPGA-based MAC address management device and method of an Ethernet switch.
  • the data link layer completes the node-to-node communication
  • the Layer 2 Ethernet switch is a data link layer device.
  • the MAC (Media Access Control) address is an identifier used to identify the host in network communications.
  • MAC layer address table storage and lookup are mostly based on hash tables.
  • Hashing is a technology used to insert, delete, and search in the average time of Changshu.
  • the hash table accesses records by mapping the key code value to a position in the table. This mapping function is called the hashing function, and the array that stores the records is called the hash table.
  • the switch address table stores a subset of all MAC addresses, so address conflicts will inevitably occur.
  • the capacity of the MAC address table is limited, so the switch uses an aging mechanism to maintain the MAC address table to ensure maximum utilization of address table entry resources.
  • the switch When the switch constructs an entry, it will start the aging timer of the entry accordingly. If the switch never receives the MAC address of the entry within the aging time, the switch will use the entry If deleted, invalid entries will not continue to occupy MAC address table resources. In this way, even if the equipment in the network is replaced or removed, the MAC address table of the switch can always keep the latest topology record in the network. A proper aging time can improve the utilization of MAC address table entry resources, but too long or too short aging time will affect the performance of the switch.
  • the traditional MAC address table processing mechanism is mainly implemented in software. As the speed of the Ethernet link interface develops from 1Gb/s to 10Gb/s, software-based algorithms are restricted in speed by serial computer systems.
  • the purpose of the present invention is to provide an FPGA-based MAC address management device and method for an Ethernet switch, which improves the forwarding efficiency of Ethernet data, and has the advantages of fast response and high processing speed.
  • a method for managing MAC addresses of an FPGA-based Ethernet switch including the following steps:
  • the receiving module receives the Ethernet data packet and transmits it to the MAC extraction module;
  • the MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module;
  • the MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module;
  • the RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module;
  • the sending module sends the Ethernet data packet to the corresponding network port.
  • the receiving module, the MAC extraction module, the MAC address conversion module, the RAM module and the sending module are all located in the FPGA chip.
  • the MAC address is composed of M bytes of data, and M is an integer greater than zero.
  • the MAC address conversion module converts the M-byte MAC address into an N-bit RAM module read address, and N is an integer greater than zero.
  • the storage depth of the RAM module is 2 N.
  • the RAM module outputs an X-bit port data according to the RAM module read address, each bit in the port data represents a corresponding network port to be transmitted, and there is only one X-bit port data in the X-bit port data.
  • the bit data is high level, and the remaining X-1 bit port data is low level.
  • the MAC address is composed of 6 bytes of data
  • the read address of the RAM module is 11 bits
  • the storage depth of the RAM module is 2048
  • the port data is 32 bits.
  • the MAC address conversion module extracts 11 bits from the last 3 bytes of the MAC address as the RAM module read address, and the first 3 bytes of the MAC address are fixed bytes.
  • An FPGA-based MAC address management device for an Ethernet switch includes an FPGA chip.
  • the FPGA chip includes a receiving module, a MAC extracting module, a MAC address conversion module, a RAM module, and a sending module.
  • the receiving module is used to receive Ethernet Network data packet, the output terminal of the receiving module is connected to the input terminal of the MAC extraction module and the input terminal of the sending module at the same time, the output terminal of the MAC extraction module is connected to the input terminal of the MAC address conversion module, and the address
  • the output terminal of the conversion module is connected to the input terminal of the RAM module, the output terminal of the RAM module is connected to the input terminal of the sending module, and the sending module determines the sending port and sends the Ethernet data packet;
  • the MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module to convert it to the RAM module read address.
  • the RAM module determines the network port to be transmitted according to the RAM module read address and transmits it to the sending module ,
  • the sending module sends the Ethernet data packet to the corresponding network port.
  • the present invention has the following beneficial effects: the present invention does not need to perform aging and other processing on the MAC address table like a switch, so a certain forwarding efficiency can be improved; the present invention uses FPGA to process data and has the advantages of fast response and high speed.
  • Figure 1 is a schematic diagram of the structure of the MAC address management device of the present invention.
  • the invention provides an FPGA-based MAC address management device for an Ethernet switch, including an FPGA chip.
  • the FPGA chip includes a receiving module, a MAC extraction module, a MAC address conversion module, a RAM module, and a sending module.
  • the receiving module is connected to computer equipment for receiving Ethernet data packets.
  • the output of the receiving module is connected to the input of the MAC extraction module and the input of the sending module at the same time.
  • the output of the MAC extraction module is connected to the input of the MAC address conversion module.
  • the output terminal of the address conversion module is connected to the input terminal of the RAM module, and the output terminal of the RAM module is connected to the input terminal of the sending module.
  • the sending module determines the sending port and sends the Ethernet data packet to the computer device.
  • the FPGA chip in the present invention is used to realize the function of MAC address management in the switch.
  • the MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module to convert it into a RAM module read address.
  • the RAM module is based on the RAM module
  • the read address determines the network port to be transmitted, and transmits it to the sending module, and the sending module sends the Ethernet data packet to the corresponding network port.
  • RAM random access memory
  • the RAM module which is an internal memory that directly exchanges data with the CPU. It can be read and written at any time and has a very fast speed. It is usually used as an operating system or other operating systems. Temporary data storage medium for the program.
  • the invention provides an FPGA-based MAC address management method for an Ethernet switch, which includes the following steps:
  • the receiving module receives the Ethernet data packet, buffers the Ethernet data packet, and transmits it to the MAC extraction module;
  • the MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module; the MAC address is composed of M bytes of data, and M is an integer greater than 0, for example, it can be 6 bytes of data
  • the first three bytes of data data0, data1, and data2 are fixed to a fixed value (configurable by software), and the last three bytes of data are used to indicate the network port corresponding to the MAC address.
  • the MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module; the MAC address conversion module converts the M-byte MAC address to the N-bit RAM module read address, where N is an integer greater than 0,
  • the storage depth of the RAM module is 2 N. For example, when the MAC address is 6-character data, some information in the last three characters of the MAC address can be extracted and converted into an 11-bit RAM module read address.
  • the RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module; the RAM module outputs an X-bit port data according to the read address of the RAM module, and each bit in the port data represents the corresponding to be transmitted For network ports, only one bit of X-bit port data is high, and the remaining X-1 bit port data is low.
  • a random access memory is used in the RAM module, which is an internal memory that directly exchanges data with the CPU. It can read and write at any time and is fast. It is usually used as an operating system or other operating systems. Temporary data storage medium of the program.
  • the RAM module read address is N-bit data
  • set the RAM module to a storage depth of 2 N that is, the depth that can be addressed by the N-bit RAM module read address
  • the data width is X bits
  • the MAC address conversion module After receiving the N-bit RAM module read address converted by the MAC address conversion module, it will output an X-bit port data. Each bit in the port data represents the corresponding network port to be transmitted. Only the X-bit port data One bit of data is high level, and the remaining X-1 bit port data is low level.
  • the network port corresponding to the bit of high level is the network port specified in the MAC address.
  • the sending module sends the Ethernet data packet to the corresponding network port.
  • the Ethernet data packet is directly transmitted from the receiving module to the sending module.
  • the sending module uses the extracted network port information as arbitration judgment information to arbitrate which network port the currently received Ethernet packet should be forwarded to.
  • the invention provides an FPGA-based MAC address management method for an Ethernet switch, which includes the following steps:
  • the receiving module receives the Ethernet data packet, buffers the Ethernet data packet, and transmits it to the MAC extraction module;
  • the MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module; as shown in Table 1, the MAC address is composed of 6 bytes of data, and the first 3 bytes are fixed to a fixed value. Data0 is fixed to 0x00, data1 is fixed to 0x0f, data2 is fixed to 0xe2, and the last three bytes are used to indicate the network port corresponding to the MAC address.
  • Table 1 Schematic table of MAC address conversion module conversion
  • the MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module; as shown in Table 1, the MAC address conversion module converts the 6-byte MAC address into an 11-bit RAM module read address, and converts it The rule is shown in Figure 3.
  • the 11-bit RAM module read address is composed of the lower two bits of data3 plus the lower 7 bits of data4 plus the lower 2 bits of data5.
  • the RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module; the RAM module contains RAM, and its storage depth is 2048 (that is, the depth that can be addressed by the 11-bit RAM module read address), The data width is 32 bits. After receiving the 11-bit RAM module read address converted by the MAC address conversion module, a 32-bit port data will be output. Each bit of this value represents the network port that needs to be forwarded.
  • random access memory is used in the RAM module, which is an internal memory that directly exchanges data with the CPU. It can be read and written at any time and has a very fast speed. It is usually used as an operating system or other operating systems.
  • the temporary data storage medium of the program as shown in Table 2, when the RAM module reads the 11-bit data, set the RAM module to the storage depth of 2048 (that is, the depth that the 11-bit address can address, Addr0-Addr2047 ), the data width is 32 bits, after receiving the 11-bit RAM module read address converted by the MAC address conversion module, a 32-bit port data Port0-Port31 will be output, each bit in the port data represents the corresponding to be transmitted For the network port, only one bit of the 32-bit port data is high level, and the remaining 31-bit port data is low level.
  • the network port corresponding to the bit where the high level is located is the network port specified in the MAC address.
  • Each bit in the port data represents the corresponding network port to be transmitted. Only one bit of the 32-bit port data is high level, the remaining 31-bit port data is low level, and the bit where the high level is located corresponds to the network port It is the network port specified in the MAC address.
  • Table 2 Schematic diagram of the address space of the RAM module
  • the sending module sends the Ethernet data packet to the corresponding network port.
  • the invention does not need to perform aging and other processing on the MAC address table like a switch, so a certain forwarding efficiency can be improved; the invention uses FPGA to process data and has the advantages of fast response and high speed.

Abstract

Disclosed is an FPGA-based MAC address management method for an Ethernet switch. The method comprises the following steps: S01, a receiving module receiving an Ethernet data packet and transmitting same to a MAC extraction module; S02, the MAC extraction module extracting a MAC address from the Ethernet data packet and transmitting same to a MAC address translation module; S03, the MAC address translation module translating the MAC address into a read address of a RAM module and transmitting the read address to the RAM module; S04, the RAM module determining, according to the read address of the RAM module, a network port to be transmitted and transmitting same to a sending module; and S05, the sending module sending the Ethernet data packet to the corresponding network port. By means of the FPGA-based MAC address management apparatus and method for an Ethernet switch provided in the present invention, the forwarding efficiency of Ethernet data is improved, and the present invention has the advantages of a fast response and a high processing speed.

Description

一种基于FPGA的以太网交换机的MAC地址管理装置及方法FPGA-based MAC address management device and method of Ethernet switch
交叉引用cross reference
本申请要求2020年4月22日提交的申请号为CN202010321634.2的中国专利申请的优先权。上述申请的内容以引用方式被包含于此。This application claims the priority of the Chinese patent application with the application number CN202010321634.2 filed on April 22, 2020. The content of the above application is included here by reference.
技术领域Technical field
本发明涉及通信技术领域,具体涉及一种基于FPGA的以太网交换机的MAC地址管理装置及方法。The present invention relates to the field of communication technology, in particular to an FPGA-based MAC address management device and method of an Ethernet switch.
技术背景technical background
在计算机网络中,数据链路层完成节点到节点的通信,二层以太网交换机属于数据链路层设备。MAC(介质访问控制)地址是在网络通信用来识别主机的标识。交换机的缓存中有一个MAC地址表,需要转发数据时,交换机会在地址表中查询是否有与目的MAC地址对应的表项,如果有,交换机立即将数据报文往该表项的转发端口发送;如果没有,交换机则会将数据报文以广播的形式发送到除了接收端口外的所有端口,尽最大能力保证目的主机接收到数据报文。因此,交换机地址表的构建和维护决定了数据转发的方向和效率。In a computer network, the data link layer completes the node-to-node communication, and the Layer 2 Ethernet switch is a data link layer device. The MAC (Media Access Control) address is an identifier used to identify the host in network communications. There is a MAC address table in the cache of the switch. When data needs to be forwarded, the switch will inquire whether there is an entry corresponding to the destination MAC address in the address table. If there is, the switch will immediately send the data packet to the forwarding port of the entry ; If not, the switch will broadcast the data message to all ports except the receiving port, and try its best to ensure that the destination host receives the data message. Therefore, the construction and maintenance of the switch address table determines the direction and efficiency of data forwarding.
现有技术中MAC层地址表存储查找多基于hash表。hashing是一种用于以常熟平均时间插入、删除和查找的技术,hash表通过把关键码值映射到表中一个位置来访问记录。这个映射函数叫做hashing函数,存放记录的数组叫做hash表。交换机地址表存储的是全部MAC地址的一个子集,因此必然会发生地址冲突。In the prior art, MAC layer address table storage and lookup are mostly based on hash tables. Hashing is a technology used to insert, delete, and search in the average time of Changshu. The hash table accesses records by mapping the key code value to a position in the table. This mapping function is called the hashing function, and the array that stores the records is called the hash table. The switch address table stores a subset of all MAC addresses, so address conflicts will inevitably occur.
MAC地址表的容量是有限的,因此交换机采用老化机制来维护MAC 地址表,以保证最大限度地利用地址表项资源。交换机在构建某条表项时,会相应地开启该表项的老化定时器,如果在老化时间内,交换机始终没有收到该表项中的MAC地址的报文,交换机就会将该表项删除,失效的表项不会继续占用MAC地址表资源。这样,即使网络中的设备更换或者移除,交换机的MAC地址表始终能保持网络中最新的拓扑结构记录。合适的老化时间可以提高MAC地址表项资源的利用率,但过长或过短的老化时间,反而影响交换机的性能。如果老化时间过长,交换机中保存的MAC地址表项的数量过多会将地址表资源消耗完,网络中的拓扑变化就无法及时更新;如果老化时间过短,则有效的MAC地址表项会被交换机过早删除,从而降低交换机的转发效率。The capacity of the MAC address table is limited, so the switch uses an aging mechanism to maintain the MAC address table to ensure maximum utilization of address table entry resources. When the switch constructs an entry, it will start the aging timer of the entry accordingly. If the switch never receives the MAC address of the entry within the aging time, the switch will use the entry If deleted, invalid entries will not continue to occupy MAC address table resources. In this way, even if the equipment in the network is replaced or removed, the MAC address table of the switch can always keep the latest topology record in the network. A proper aging time can improve the utilization of MAC address table entry resources, but too long or too short aging time will affect the performance of the switch. If the aging time is too long, too many MAC address entries saved in the switch will consume the address table resources, and topology changes in the network cannot be updated in time; if the aging time is too short, valid MAC address entries will be It is deleted prematurely by the switch, thereby reducing the forwarding efficiency of the switch.
传统的MAC地址表处理机制主要采用软件的方式实现。随着以太网链路接口的速率从1Gb/s发展到10Gb/s,基于软件的算法在速度上受到串行计算机系统的制约。The traditional MAC address table processing mechanism is mainly implemented in software. As the speed of the Ethernet link interface develops from 1Gb/s to 10Gb/s, software-based algorithms are restricted in speed by serial computer systems.
新一代现场可编程门阵列(FPGA)的出现以后,算法通过硬电路描述,所有的延迟只来源于门电路,而一般门电路的延迟都在ns级别。减少了系统运行所需的时钟周期数,实现了真正的高速率。After the emergence of a new generation of field programmable gate array (FPGA), the algorithm was described by a hard circuit. All the delays only come from the gate circuit, and the delay of the general gate circuit is in the ns level. The number of clock cycles required for system operation is reduced, and a truly high rate is achieved.
由此可见,如何能够快速实现MAC地址的查找,提升转发效率,以及过滤不必要的以太网包维护网络通信的可靠性是目前现有技术中存在的技术问题。It can be seen that how to quickly find the MAC address, improve the forwarding efficiency, and filter unnecessary Ethernet packets to maintain the reliability of network communication are technical problems existing in the current prior art.
发明概要Summary of the invention
本发明的目的是提供一种基于FPGA的以太网交换机的MAC地址管理装置及方法,提高了以太网数据的转发效率,且具有响应快,处理速度高的 优点。The purpose of the present invention is to provide an FPGA-based MAC address management device and method for an Ethernet switch, which improves the forwarding efficiency of Ethernet data, and has the advantages of fast response and high processing speed.
为了实现上述目的,本发明采用如下技术方案:一种基于FPGA的以太网交换机的MAC地址管理方法,包括如下步骤:In order to achieve the above objective, the present invention adopts the following technical solution: a method for managing MAC addresses of an FPGA-based Ethernet switch, including the following steps:
S01:接收模块接收以太网数据包,并传输至MAC提取模块中;S01: The receiving module receives the Ethernet data packet and transmits it to the MAC extraction module;
S02:MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块;S02: The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module;
S03:MAC地址转换模块将MAC地址转换为RAM模块读地址,并传输至RAM模块;S03: The MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module;
S04:RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块;S04: The RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module;
S05:所述发送模块将以太网数据包发送至对应的网络端口。S05: The sending module sends the Ethernet data packet to the corresponding network port.
进一步地,所述接收模块、MAC提取模块、MAC地址转换模块、RAM模块和发送模块均位于FPGA芯片中。Further, the receiving module, the MAC extraction module, the MAC address conversion module, the RAM module and the sending module are all located in the FPGA chip.
进一步地,所述MAC地址由M个字节数据组成,M为大于0的整数。Further, the MAC address is composed of M bytes of data, and M is an integer greater than zero.
进一步地,所述步骤S03中MAC地址转换模块将M个字节的MAC地址转换为N位RAM模块读地址,N为大于0的整数。Further, in the step S03, the MAC address conversion module converts the M-byte MAC address into an N-bit RAM module read address, and N is an integer greater than zero.
进一步地,所述RAM模块的存储深度为2 NFurther, the storage depth of the RAM module is 2 N.
进一步地,所述步骤S04中RAM模块根据RAM模块读地址输出一个X位的端口数据,所述端口数据中每一位分别代表对应的待传输的网络端口,所述X位端口数据中仅有一位数据为高电平,其余X-1位端口数据为低电平。Further, in the step S04, the RAM module outputs an X-bit port data according to the RAM module read address, each bit in the port data represents a corresponding network port to be transmitted, and there is only one X-bit port data in the X-bit port data. The bit data is high level, and the remaining X-1 bit port data is low level.
进一步地,所述MAC地址由6个字节数据组成,所述RAM模块读地 址为11位,所述RAM模块的存储深度为2048,所述端口数据为32位。Further, the MAC address is composed of 6 bytes of data, the read address of the RAM module is 11 bits, the storage depth of the RAM module is 2048, and the port data is 32 bits.
进一步地,所述步骤S03中MAC地址转换模块从MAC地址的后3个字节中提取出11位作为RAM模块读地址,所述MAC地址的前3个字节为固定字节。Further, in the step S03, the MAC address conversion module extracts 11 bits from the last 3 bytes of the MAC address as the RAM module read address, and the first 3 bytes of the MAC address are fixed bytes.
一种基于FPGA的以太网交换机的MAC地址管理装置,包括FPGA芯片,所述FPGA芯片中包括接收模块、MAC提取模块、MAC地址转换模块、RAM模块和发送模块,所述接收模块用于接收以太网数据包,所述接收模块的输出端同时连接所述MAC提取模块的输入端和发送模块的输入端,所述MAC提取模块的输出端连接所述MAC地址转换模块的输入端,所述地址转换模块的输出端连接所述RAM模块的输入端,所述RAM模块的输出端连接所述发送模块的输入端,所述发送模块确定发送端口并发送以太网数据包;An FPGA-based MAC address management device for an Ethernet switch includes an FPGA chip. The FPGA chip includes a receiving module, a MAC extracting module, a MAC address conversion module, a RAM module, and a sending module. The receiving module is used to receive Ethernet Network data packet, the output terminal of the receiving module is connected to the input terminal of the MAC extraction module and the input terminal of the sending module at the same time, the output terminal of the MAC extraction module is connected to the input terminal of the MAC address conversion module, and the address The output terminal of the conversion module is connected to the input terminal of the RAM module, the output terminal of the RAM module is connected to the input terminal of the sending module, and the sending module determines the sending port and sends the Ethernet data packet;
所述MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块中转换为RAM模块读地址,RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块,所述发送模块将以太网数据包发送至对应的网络端口。The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module to convert it to the RAM module read address. The RAM module determines the network port to be transmitted according to the RAM module read address and transmits it to the sending module , The sending module sends the Ethernet data packet to the corresponding network port.
本发明具有如下有益效果:本发明不需要像交换机一样对MAC地址表进行老化等处理,因此可以提升一定的转发效率;本发明采用FPGA处理数据,具有响应快,速度高的优点。The present invention has the following beneficial effects: the present invention does not need to perform aging and other processing on the MAC address table like a switch, so a certain forwarding efficiency can be improved; the present invention uses FPGA to process data and has the advantages of fast response and high speed.
附图说明Description of the drawings
附图1为本发明MAC地址管理装置的结构示意图。Figure 1 is a schematic diagram of the structure of the MAC address management device of the present invention.
发明内容Summary of the invention
以下将结合说明书附图对本发明的内容作进一步的详细描述。应理解的是本发明能够在不同的示例上具有各种的变化,其皆不脱离本发明的范围,且其中的说明及图示在本质上当作说明之用,而非用以限制本发明。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。The content of the present invention will be further described in detail below in conjunction with the accompanying drawings of the specification. It should be understood that the present invention can have various changes in different examples, which do not depart from the scope of the present invention, and the descriptions and diagrams therein are essentially for illustrative purposes, rather than limiting the present invention. It should be noted that the drawings all adopt a very simplified form and all use imprecise ratios, which are only used to conveniently and clearly assist in explaining the purpose of the embodiments of the present invention.
如附图1所示,本发明提供的一种基于FPGA的以太网交换机的MAC地址管理装置,包括FPGA芯片,FPGA芯片中包括接收模块、MAC提取模块、MAC地址转换模块、RAM模块和发送模块,接收模块连接计算机设备,用于接收以太网数据包,接收模块的输出端同时连接MAC提取模块的输入端和发送模块的输入端,MAC提取模块的输出端连接MAC地址转换模块的输入端,地址转换模块的输出端连接RAM模块的输入端,RAM模块的输出端连接发送模块的输入端,发送模块确定发送端口并发送以太网数据包至计算机设备。本发明中FPGA芯片用于实现交换机中MAC地址管理的功能,MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块中转换为RAM模块读地址,RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块,发送模块将以太网数据包发送至对应的网络端口。As shown in Figure 1, the invention provides an FPGA-based MAC address management device for an Ethernet switch, including an FPGA chip. The FPGA chip includes a receiving module, a MAC extraction module, a MAC address conversion module, a RAM module, and a sending module. , The receiving module is connected to computer equipment for receiving Ethernet data packets. The output of the receiving module is connected to the input of the MAC extraction module and the input of the sending module at the same time. The output of the MAC extraction module is connected to the input of the MAC address conversion module. The output terminal of the address conversion module is connected to the input terminal of the RAM module, and the output terminal of the RAM module is connected to the input terminal of the sending module. The sending module determines the sending port and sends the Ethernet data packet to the computer device. The FPGA chip in the present invention is used to realize the function of MAC address management in the switch. The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module to convert it into a RAM module read address. The RAM module is based on the RAM module The read address determines the network port to be transmitted, and transmits it to the sending module, and the sending module sends the Ethernet data packet to the corresponding network port.
本发明中RAM模块内使用了随机存取存储器(random access memory,RAM),是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其它正在运行中的程序的临时数据存储媒介。In the present invention, random access memory (RAM) is used in the RAM module, which is an internal memory that directly exchanges data with the CPU. It can be read and written at any time and has a very fast speed. It is usually used as an operating system or other operating systems. Temporary data storage medium for the program.
本发明提供的一种基于FPGA的以太网交换机的MAC地址管理方法,包括如下步骤:The invention provides an FPGA-based MAC address management method for an Ethernet switch, which includes the following steps:
S01:接收模块接收以太网数据包,将以太网数据包缓存下来,并传输至MAC提取模块中;S01: The receiving module receives the Ethernet data packet, buffers the Ethernet data packet, and transmits it to the MAC extraction module;
S02:MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块;MAC地址由M个字节数据组成,M为大于0的整数,例如,可以为6个字节数据组成,且前三个字节数据data0,data1,data2固定成一个固定值(可由软件配置),后三个字节数据用于指示MAC地址对应的网络端口。S02: The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module; the MAC address is composed of M bytes of data, and M is an integer greater than 0, for example, it can be 6 bytes of data The first three bytes of data data0, data1, and data2 are fixed to a fixed value (configurable by software), and the last three bytes of data are used to indicate the network port corresponding to the MAC address.
S03:MAC地址转换模块将MAC地址转换为RAM模块读地址,并传输至RAM模块;MAC地址转换模块将M个字节的MAC地址转换为N位RAM模块读地址,N为大于0的整数,RAM模块的存储深度为2 N。例如当MAC地址为6个字符数据时,可以将MAC地址中后三个字符中某些信息提取出来,转换为11位RAM模块读地址。 S03: The MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module; the MAC address conversion module converts the M-byte MAC address to the N-bit RAM module read address, where N is an integer greater than 0, The storage depth of the RAM module is 2 N. For example, when the MAC address is 6-character data, some information in the last three characters of the MAC address can be extracted and converted into an 11-bit RAM module read address.
S04:RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块;RAM模块根据RAM模块读地址输出一个X位的端口数据,端口数据中每一位分别代表对应的待传输的网络端口,X位端口数据中仅有一位数据为高电平,其余X-1位端口数据为低电平。S04: The RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module; the RAM module outputs an X-bit port data according to the read address of the RAM module, and each bit in the port data represents the corresponding to be transmitted For network ports, only one bit of X-bit port data is high, and the remaining X-1 bit port data is low.
本发明中RAM模块内使用了随机存取存储器(random access memory,RAM),是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其它正在运行中的程序的临时数据存储媒介,RAM模块读地址为N位数据时,将RAM模块设置为存储深度为2 N (即对应N位RAM模块读地址能寻址到的深度),数据宽度为X位,在收到MAC地址转换模块转换成的N位RAM模块读地址后,将输出一个X位的端口数据,端口数据中每一位分别代表对应的待传输的网络端口,X位端口数据中仅有一位数据为高电平,其余X-1位端口数据为低电平,高电平所在的位对应的网络端口即为MAC地址中指定的网络端口。 In the present invention, a random access memory (RAM) is used in the RAM module, which is an internal memory that directly exchanges data with the CPU. It can read and write at any time and is fast. It is usually used as an operating system or other operating systems. Temporary data storage medium of the program. When the RAM module read address is N-bit data, set the RAM module to a storage depth of 2 N (that is, the depth that can be addressed by the N-bit RAM module read address), and the data width is X bits After receiving the N-bit RAM module read address converted by the MAC address conversion module, it will output an X-bit port data. Each bit in the port data represents the corresponding network port to be transmitted. Only the X-bit port data One bit of data is high level, and the remaining X-1 bit port data is low level. The network port corresponding to the bit of high level is the network port specified in the MAC address.
S05:发送模块将以太网数据包发送至对应的网络端口,注意:以太网数据包直接从接收模块传输至发送模块。发送模块将提取出来的网络端口信息,作为仲裁判断信息仲裁出当前接收的以太网包应转发至哪个网络端口输出。S05: The sending module sends the Ethernet data packet to the corresponding network port. Note: The Ethernet data packet is directly transmitted from the receiving module to the sending module. The sending module uses the extracted network port information as arbitration judgment information to arbitrate which network port the currently received Ethernet packet should be forwarded to.
实施例1Example 1
本发明提供的一种基于FPGA的以太网交换机的MAC地址管理方法,包括如下步骤:The invention provides an FPGA-based MAC address management method for an Ethernet switch, which includes the following steps:
S01:接收模块接收以太网数据包,将以太网数据包缓存下来,并传输至MAC提取模块中;S01: The receiving module receives the Ethernet data packet, buffers the Ethernet data packet, and transmits it to the MAC extraction module;
S02:MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块;如表1所示,MAC地址由6个字节数据组成,前3个字节固定为固定值,data0固定为0x00,data1固定为0x0f,data2固定为0xe2,后三个字节用于指示MAC地址对应的网络端口。S02: The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module; as shown in Table 1, the MAC address is composed of 6 bytes of data, and the first 3 bytes are fixed to a fixed value. Data0 is fixed to 0x00, data1 is fixed to 0x0f, data2 is fixed to 0xe2, and the last three bytes are used to indicate the network port corresponding to the MAC address.
表1:MAC地址转换模块转换示意表Table 1: Schematic table of MAC address conversion module conversion
数据域Data field Date0Date0 Date1Date1 Date2Date2 Date3Date3 Date4Date4 Date5Date5
取值Value 0x000x00 0x0f0x0f 0xe20xe2 xxxx xxxx xxxx
说明illustrate 固定值Fixed value 固定值Fixed value 固定值Fixed value Bit0~1Bit0~1 Bit0~6Bit0~6 Bit0~1Bit0~1
S03:MAC地址转换模块将MAC地址转换为RAM模块读地址,并传输至RAM模块;如表1所示,MAC地址转换模块将6个字节的MAC地址转换为11位RAM模块读地址,转换规则如图3所示,由data3的低两位加上data4的低7位加上data5的低2位组成11位RAM模块读地址。S03: The MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module; as shown in Table 1, the MAC address conversion module converts the 6-byte MAC address into an 11-bit RAM module read address, and converts it The rule is shown in Figure 3. The 11-bit RAM module read address is composed of the lower two bits of data3 plus the lower 7 bits of data4 plus the lower 2 bits of data5.
S04:RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块;RAM模块中包含RAM,其存储深度为2048(即对应11位RAM模块读地址能寻址到的深度),数据宽度为32位,在收到MAC地址转换模块转换成的11位RAM模块读地址后,将输出一个32位的端口数据,此值的每一位分别代表需要转发的网络端口。S04: The RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module; the RAM module contains RAM, and its storage depth is 2048 (that is, the depth that can be addressed by the 11-bit RAM module read address), The data width is 32 bits. After receiving the 11-bit RAM module read address converted by the MAC address conversion module, a 32-bit port data will be output. Each bit of this value represents the network port that needs to be forwarded.
本发明中RAM模块内使用了随机存取存储器(random access memory,RAM),是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其它正在运行中的程序的临时数据存储媒介,如表2所示,当RAM模块读地址为11位数据时,将RAM模块设置为存储深度为2048(即对应11位地址能寻址到的深度,Addr0-Addr2047),数据宽度为32位,在收到MAC地址转换模块转换成的11位RAM模块读地址后,将输出一个32位的端口数据Port0-Port31,端口数据中每一位分别代表对应的待传输的网络端口,32位端口数据中仅有一位数据为高电平,其余31位端口数据为低电平,高电平所在的位对应的网络端口即为MAC地址中指定的网络端口。端口数据中每一位分别代表对应的待传输的网络端口,32位端口数据中仅有一位数据为高电平,其余31位端口数据为低电平,高电平所在的位对应的网络端口即为MAC地址中指定的网络端口。In the present invention, random access memory (RAM) is used in the RAM module, which is an internal memory that directly exchanges data with the CPU. It can be read and written at any time and has a very fast speed. It is usually used as an operating system or other operating systems. The temporary data storage medium of the program, as shown in Table 2, when the RAM module reads the 11-bit data, set the RAM module to the storage depth of 2048 (that is, the depth that the 11-bit address can address, Addr0-Addr2047 ), the data width is 32 bits, after receiving the 11-bit RAM module read address converted by the MAC address conversion module, a 32-bit port data Port0-Port31 will be output, each bit in the port data represents the corresponding to be transmitted For the network port, only one bit of the 32-bit port data is high level, and the remaining 31-bit port data is low level. The network port corresponding to the bit where the high level is located is the network port specified in the MAC address. Each bit in the port data represents the corresponding network port to be transmitted. Only one bit of the 32-bit port data is high level, the remaining 31-bit port data is low level, and the bit where the high level is located corresponds to the network port It is the network port specified in the MAC address.
表2:RAM模块的地址空间示意图Table 2: Schematic diagram of the address space of the RAM module
Figure PCTCN2020120844-appb-000001
Figure PCTCN2020120844-appb-000001
S05:发送模块将以太网数据包发送至对应的网络端口。S05: The sending module sends the Ethernet data packet to the corresponding network port.
本发明不需要像交换机一样对MAC地址表进行老化等处理,因此可以提升一定的转发效率;本发明采用FPGA处理数据,具有响应快,速度高的优点。The invention does not need to perform aging and other processing on the MAC address table like a switch, so a certain forwarding efficiency can be improved; the invention uses FPGA to process data and has the advantages of fast response and high speed.
以上所述仅为本发明的优选实施例,所述实施例并非用于限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明所附权利要求的保护范围内。The above are only the preferred embodiments of the present invention, and the described embodiments are not used to limit the scope of patent protection of the present invention. Therefore, any equivalent structural changes made using the contents of the description and drawings of the present invention should be included in the same reasoning. Within the protection scope of the appended claims of the present invention.

Claims (9)

  1. 一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,包括如下步骤:An FPGA-based MAC address management method for an Ethernet switch is characterized in that it includes the following steps:
    S01:接收模块接收以太网数据包,并传输至MAC提取模块中;S01: The receiving module receives the Ethernet data packet and transmits it to the MAC extraction module;
    S02:MAC提取模块从以太网数据包中提取出MAC地址,并传输至MAC地址转换模块;S02: The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module;
    S03:MAC地址转换模块将MAC地址转换为RAM模块读地址,并传输至RAM模块;S03: The MAC address conversion module converts the MAC address to the RAM module read address and transmits it to the RAM module;
    S04:RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块;S04: The RAM module determines the network port to be transmitted according to the read address of the RAM module, and transmits it to the sending module;
    S05:所述发送模块将以太网数据包发送至对应的网络端口。S05: The sending module sends the Ethernet data packet to the corresponding network port.
  2. 根据权利要求1所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述接收模块、MAC提取模块、MAC地址转换模块、RAM模块和发送模块均位于FPGA芯片中。The method for managing the MAC address of an FPGA-based Ethernet switch according to claim 1, wherein the receiving module, the MAC extraction module, the MAC address conversion module, the RAM module, and the sending module are all located in the FPGA chip.
  3. 根据权利要求1所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述MAC地址由M个字节数据组成,M为大于0的整数。The method for managing a MAC address of an FPGA-based Ethernet switch according to claim 1, wherein the MAC address is composed of M bytes of data, and M is an integer greater than zero.
  4. 根据权利要求3所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述步骤S03中MAC地址转换模块将M个字节的MAC地址转换为N位RAM模块读地址,N为大于0的整数。The MAC address management method of an FPGA-based Ethernet switch according to claim 3, wherein the MAC address conversion module in step S03 converts the M-byte MAC address into an N-bit RAM module read address , N is an integer greater than 0.
  5. 根据权利要求4所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述RAM模块的存储深度为2 NThe method for managing the MAC address of an FPGA-based Ethernet switch according to claim 4, wherein the storage depth of the RAM module is 2N .
  6. 根据权利要求4所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述步骤S04中RAM模块根据RAM模块读地址输出一个X位的端口数据,所述端口数据中每一位分别代表对应的待传输的网络端口,所述X位端口数据中仅有一位数据为高电平,其余X-1位端口数据为低电平。The method for managing the MAC address of an FPGA-based Ethernet switch according to claim 4, wherein in step S04, the RAM module outputs an X-bit port data according to the RAM module read address, and the port data is Each bit represents a corresponding network port to be transmitted, and only one bit of the X-bit port data is high level, and the remaining X-1 bit port data is low level.
  7. 根据权利要求4所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述MAC地址由6个字节数据组成,所述RAM模块读地址为11位,所述RAM模块的存储深度为2048,所述端口数据为32位。The MAC address management method of an FPGA-based Ethernet switch according to claim 4, wherein the MAC address is composed of 6 bytes of data, the read address of the RAM module is 11 bits, and the RAM The memory depth of the module is 2048, and the port data is 32 bits.
  8. 根据权利要求7所述的一种基于FPGA的以太网交换机的MAC地址管理方法,其特征在于,所述步骤S03中MAC地址转换模块从MAC地址的后3个字节中提取出11位作为RAM模块读地址,所述MAC地址的前3个字节为固定字节。The MAC address management method of an FPGA-based Ethernet switch according to claim 7, wherein the MAC address conversion module in step S03 extracts 11 bits from the last 3 bytes of the MAC address as RAM Module read address, the first 3 bytes of the MAC address are fixed bytes.
  9. 一种基于FPGA的以太网交换机的MAC地址管理装置,其特征在于,包括FPGA芯片,所述FPGA芯片中包括接收模块、MAC提取模块、MAC地址转换模块、RAM模块和发送模块,所述接收模块用于接收以太网数据包,所述接收模块的输出端同时连接所述MAC提取模块的输入端和发送模块的输入端,所述MAC提取模块的输出端连接所述MAC地址转换模块的输入端,所述地址转换模块的输出端连接所述RAM模块的输入端,所述RAM模块的输出端连接所述发送模块的输入端,所述发送模块确定发送端口并发送以太网数据包;An FPGA-based MAC address management device for an Ethernet switch, which is characterized in that it includes an FPGA chip. The FPGA chip includes a receiving module, a MAC extracting module, a MAC address conversion module, a RAM module, and a sending module. The receiving module For receiving Ethernet data packets, the output end of the receiving module is connected to the input end of the MAC extraction module and the input end of the sending module at the same time, and the output end of the MAC extraction module is connected to the input end of the MAC address conversion module , The output terminal of the address conversion module is connected to the input terminal of the RAM module, the output terminal of the RAM module is connected to the input terminal of the sending module, and the sending module determines the sending port and sends the Ethernet data packet;
    所述MAC提取模块从以太网数据包中提取出MAC地址,并传输至 MAC地址转换模块中转换为RAM模块读地址,RAM模块根据RAM模块读地址确定待传输的网络端口,并传输至发送模块,所述发送模块将以太网数据包发送至对应的网络端口。The MAC extraction module extracts the MAC address from the Ethernet data packet and transmits it to the MAC address conversion module to convert it to the RAM module read address. The RAM module determines the network port to be transmitted according to the RAM module read address and transmits it to the sending module , The sending module sends the Ethernet data packet to the corresponding network port.
PCT/CN2020/120844 2020-04-22 2020-10-14 Fpga-based mac address management apparatus and method for ethernet switch WO2021212770A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010321634.2A CN111614793B (en) 2020-04-22 2020-04-22 FPGA-based Ethernet switch MAC address management device and method
CN202010321634.2 2020-04-22

Publications (1)

Publication Number Publication Date
WO2021212770A1 true WO2021212770A1 (en) 2021-10-28

Family

ID=72204732

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/120844 WO2021212770A1 (en) 2020-04-22 2020-10-14 Fpga-based mac address management apparatus and method for ethernet switch

Country Status (2)

Country Link
CN (1) CN111614793B (en)
WO (1) WO2021212770A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614793B (en) * 2020-04-22 2022-03-04 上海御渡半导体科技有限公司 FPGA-based Ethernet switch MAC address management device and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831140A (en) * 2012-05-18 2012-12-19 浙江大学 Implement method for MAC (Media Access Control) address lookup tables in FPGA (Field Programmable Gate Array)
CN104639455A (en) * 2015-02-16 2015-05-20 杭州华三通信技术有限公司 Netstream processing method and device
US20170093711A1 (en) * 2015-09-29 2017-03-30 Hitachi Metals, Ltd. Relay Device and Relay System
CN109921995A (en) * 2017-12-13 2019-06-21 华为技术有限公司 A kind of network equipment of the method for configuration address table, the FPGA and application FPGA
CN110401558A (en) * 2019-04-28 2019-11-01 北京广利核系统工程有限公司 Safety level multi-point communication network equipment, system and safety level network communication method
CN111614793A (en) * 2020-04-22 2020-09-01 上海御渡半导体科技有限公司 FPGA-based Ethernet switch MAC address management device and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611615B (en) * 2012-02-16 2014-11-26 珠海市佳讯实业有限公司 FPGA (Field Programmable Gate Array)-based integrated system
CN102769869B (en) * 2012-08-09 2015-07-15 北京傲天动联技术股份有限公司 Message rapid forwarding system of control and provisioning of wireless access point
CN104751879B (en) * 2013-12-31 2019-01-11 北京大唐高鸿数据网络技术有限公司 The method for realizing CAM function based on FPGA
DE102014207413A1 (en) * 2014-04-17 2015-10-22 Robert Bosch Gmbh A network interface unit and method of operating a network interface unit
CN104079488B (en) * 2014-07-22 2017-03-29 武汉虹信通信技术有限责任公司 Transmission equipment and method based on two layers of head compression of Ethernet
JP6194128B2 (en) * 2015-01-29 2017-09-06 三菱電機株式会社 Network system, address management apparatus and address management method
CN105812264B (en) * 2016-03-15 2019-04-19 西安电子科技大学 The MAC address learning of multidiameter delay and the device and method of address search
CN107707476B (en) * 2017-08-20 2020-10-02 中国人民解放军理工大学 Efficient wireless forwarding device and method based on FPGA
CN107689931B (en) * 2017-09-27 2021-05-14 广州海格通信集团股份有限公司 System and method for realizing Ethernet switching function based on domestic FPGA
CN110445831A (en) * 2019-06-28 2019-11-12 深圳市紫光同创电子有限公司 A kind of host communicated with FPGA, FPGA interface chip
JP2019201419A (en) * 2019-07-12 2019-11-21 Necプラットフォームズ株式会社 Mac address table management circuit, ethernet packet switching apparatus, table management method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831140A (en) * 2012-05-18 2012-12-19 浙江大学 Implement method for MAC (Media Access Control) address lookup tables in FPGA (Field Programmable Gate Array)
CN104639455A (en) * 2015-02-16 2015-05-20 杭州华三通信技术有限公司 Netstream processing method and device
US20170093711A1 (en) * 2015-09-29 2017-03-30 Hitachi Metals, Ltd. Relay Device and Relay System
CN109921995A (en) * 2017-12-13 2019-06-21 华为技术有限公司 A kind of network equipment of the method for configuration address table, the FPGA and application FPGA
CN110401558A (en) * 2019-04-28 2019-11-01 北京广利核系统工程有限公司 Safety level multi-point communication network equipment, system and safety level network communication method
CN111614793A (en) * 2020-04-22 2020-09-01 上海御渡半导体科技有限公司 FPGA-based Ethernet switch MAC address management device and method

Also Published As

Publication number Publication date
CN111614793A (en) 2020-09-01
CN111614793B (en) 2022-03-04

Similar Documents

Publication Publication Date Title
EP3694165B1 (en) Managing congestion in a network
US7991918B2 (en) Transmitting commands and information between a TCP/IP stack and an offload unit
US8908564B2 (en) Method for Media Access Control address learning and learning rate suppression
JP5902834B2 (en) Explicit flow control for implicit memory registration
RU2436147C2 (en) Improved wireless usb protocol and usb hub
US11431624B2 (en) Communication method and network interface card
US9304939B2 (en) Method and multi-core communication processor for replacing data in system cache
WO2014127605A1 (en) Mac address hardware learning method and system based on hash table and tcam table
WO2007006146A1 (en) System and method of offloading protocol functions
CN108600053B (en) Wireless network data packet capturing method based on zero copy technology
JP2006325054A (en) Tcp/ip reception processing circuit and semiconductor integrated circuit provided with the same
TWI257790B (en) System for protocol processing engine
US20230153264A1 (en) Data transmission method, chip, and device
WO2021212770A1 (en) Fpga-based mac address management apparatus and method for ethernet switch
Qiu et al. Full-kv: Flexible and ultra-low-latency in-memory key-value store system design on cpu-fpga
EP2523399A1 (en) Method and device for realizing flexible qinq
CN114567614B (en) Method and device for realizing ARP protocol processing based on FPGA
US10185783B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
CN207652460U (en) A kind of double network interface datas polymerization reception device based on PCIE structures
CN109933279B (en) Content filtering method supporting hybrid storage system
CN106789706B (en) Network shunting system based on TCAM
WO2024037243A1 (en) Data processing method, apparatus and system
CN111698169B (en) Communication port extraction method based on frame content
Zhang et al. Design and implementation of TOE system based on HLS
Ou et al. Research and implementation of disk over ethernet protocol

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20932068

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20932068

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20932068

Country of ref document: EP

Kind code of ref document: A1