CN103117931A - Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table - Google Patents

Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table Download PDF

Info

Publication number
CN103117931A
CN103117931A CN2013100556573A CN201310055657A CN103117931A CN 103117931 A CN103117931 A CN 103117931A CN 2013100556573 A CN2013100556573 A CN 2013100556573A CN 201310055657 A CN201310055657 A CN 201310055657A CN 103117931 A CN103117931 A CN 103117931A
Authority
CN
China
Prior art keywords
list item
tcam
hash table
virtual switch
mac address
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
Application number
CN2013100556573A
Other languages
Chinese (zh)
Other versions
CN103117931B (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201310055657.3A priority Critical patent/CN103117931B/en
Publication of CN103117931A publication Critical patent/CN103117931A/en
Priority to PCT/CN2013/080000 priority patent/WO2014127605A1/en
Priority to MYPI2014703365A priority patent/MY170382A/en
Priority to CL2015000917A priority patent/CL2015000917A1/en
Application granted granted Critical
Publication of CN103117931B publication Critical patent/CN103117931B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Abstract

The invention discloses a media access control (MAC) address hardware learning method and system based on a hash table and a ternary content addressable memory (TCAM) table, and relates to the MAC address learning field. According to the MAC address hardware learning method and system, when no MAC address conflict happens, the hash table is used for storing learned MAC addresses, and a static random access memory (SRAM) or a dynamic random access memory (DRAM) is applied to the hardware of the hash table; and when MAC address conflict happens, the TCAM table is used for caching conflicted MAC addresses, a TCAM storage is applied to the hardware of the TCAM, idle table items can be positioned through one-time searching due to the fact that parallel seeking is performed on the hardware of the TCAM, and the number of the table items of the TCAM is the number of the conflicted MAC addressed which can be practically cached. The MAC address hardware learning method is achieved on a general programmable exchange chip, does not need support of hardware circuits, is high in learning efficiency and small in occupied internal memory resources, is flexible in application due to the fact that the general algorithm is adopted, and can achieve complete control on conflict probability.

Description

MAC Address hardware learning method and system based on Hash table and TCAM table
Technical field
The present invention relates to MAC(Media Access Control, media interviews control) address learning field, particularly relate to a kind of based on the HASH(Hash) table and TCAM(Ternary Content Addressable Memory, three-state content addressing memory) the MAC Address hardware learning method and the system that show.
Background technology
Along with the development of economic globalization, increasing enterprise distribution expanding day provides link connection in the urgent need to telecom operators, in order to each branch of enterprise is included into, forms the dedicated network of enterprises.under such market demand, VPLS(Virtual Private Lan Service, VPLS) technology is arisen at the historic moment, the VPLS technology combines ethernet technology and MPLS(Multi-Protocol Label Switching, multiprotocol label switching) advantage of technology, the IP(Internet Protocol that provides by operator, Internet protocol)/MPLS network connects a plurality of LAN(Local Area Network that are made of Ethernet that isolate on the region, local area network (LAN)), realized the emulation to traditional LAN function, they are worked as a LAN.
VPLS is by searching corresponding VSI(Virtual Switch Instance, Virtual Switch Instance) mac address forwarding table, come the forwarding of guides user message, and mac address forwarding table creates by the MAC address learning function.Therefore, the MAC address learning function is to realize the key factor of VPLS.
2 trigger conditions of MAC address learning are:
(1) certain VSI receives when source MAC is the unknown unicast address;
(2) certain VSI receives a known source MAC, but corresponding forwarding-table item needs to upgrade, for example: receive VP(Virtual Port, the virtual switch port in VSI) variation occured.
Address conflict is inevitable problem in MAC address learning, and reason is that MAC Address has 48bit, and VSI is generally 1k VSI of minimum support greater than 10bit(according to the different values of place capacity).If avoid the MAC Address conflict, need exhaustive all MAC Address combined situation in theory, need at least 2^58=256P(Computer Storage unit, 1Peta=1024T) individual list item obviously can not come with hardware the list item of the so large order of magnitude of buffer memory.
The method that solves at present the MAC Address conflict has following three kinds:
(1) rely on master cpu (Central Processing Unit, central processing unit) and help solve address conflict: a kind of MAC Address software learning method, namely solve the address conflict problem by realization " conflict chained list " algorithm on master cpu.Because master cpu is commonly used to move complicated Routing Protocol, burden own is heavier, and therefore, very the valuable master cpu of waste is processed resource, and compares with MAC Address hardware learning method, and the learning rate of this MAC Address software learning method is lower.
(2) single Hash table buffer memory collision method: a kind of MAC Address hardware learning method, come the conflict of buffer memory MAC Address with a Hash table, namely by enlarging the capacity of Hash table, the probability that produces to reduce conflict is the simplest a kind of, modal buffer memory collision method.
Hash algorithm is mapped as the binary value of random length the less binary value of regular length, realizing the compression of data, and by initial data being broken up with discrete, with the data collision that suppresses to produce after mapping.Hash algorithm commonly used has MD2(Message Digest Algorithm2, the Message Digest 5 second edition), MD5(Message Digest Algorithm5, Message Digest Algorithm 5), CRC(Cyclic Redundancy Check, cyclic redundancy check (CRC)) 32 etc.In practical application, the normal CRC32 that adopts is used as hash algorithm.Take the 64K address table as example, VSI and source MAC are calculated the Hash hashed value of 32bit with the CRC32 algorithm, and with the low 16bit(2^16=64K of intercepting after the high and low 16bit XOR of 32bit result) as index value, remove the list item in index RAM.If two MAC Address 16bit centrifugal pumps are identical, one of them MAC Address can't be buffered; At this moment, can only expect that the bit17 of two MAC Address CRC32Hash values is different, and the list item capacity is expanded 128k by 64k, come further mitigate collisions with this.
Single Hash bucket buffer memory collision method reduces collision probability by the method for expansion centrifugal pump bit number, and every increase 1bit centrifugal pump need to be with one times of collision table capacity extension, and is therefore very large to the collision table wasting of resources.And because this way relies on the location that centrifugal pump is carried out list item fully, dilatation list item howsoever all the time can't the identical a plurality of MAC Address of buffer memory centrifugal pump.In addition, when the MAC Address sample changes, the collision probability that allows in the time of can not guaranteeing system.
(3) many barrels of buffer memory collision methods: a kind of MAC Address hardware learning method, the method is come mitigate collisions with a plurality of buckets, at some ASIC(Application Specific Integrated Circuit, application-specific integrated circuit (ASIC)) realize on chip, namely adopt a plurality of conflict buckets of hardware circuit simulation, each conflict bucket possesses the ability of certain buffer memory conflict.Still take the 64k address list item as example, with the discrete MAC Address of CRC32 algorithm, and at first the low 16bit that gets the 32bit hash value uses the low 13bit(2^13=8K of 16bit centrifugal pump as discrete results) remove to locate 8K conflict bucket, 8 conflict list items are arranged in each conflict bucket; Then in the conflict bucket of prelocalization, if the list item in 8 conflict list item hollow spare time of removal search is available free list item put into the sky list item; If no, can't the buffer memory conflict.
Many barrels of buffer memory collision methods have solved the problem of can't the buffer memory centrifugal pump identical MAC Address of single Hash bucket to a great extent, and the utilization ratio of hardware resource is also higher, but, the method needs the collaborative work of a large amount of conflict bucket, need the support of special-purpose hardware circuit, and in each conflict bucket, the searching method of idle list item needs special-purpose hardware circuit to realize searching algorithm, because the algorithm of its realization is also unexposed, therefore uses dumb; In addition, because the method is only utilized in current conflict bucket idle list item resource and is come the buffer memory conflict, therefore, and can only maximum 8 MAC Address that centrifugal pump is identical of buffer memory, limited in one's ability to identical its buffer memory conflict of abominable situation of more centrifugal pumps.
Summary of the invention
The objective of the invention is in order to overcome the deficiency of above-mentioned background technology, a kind of MAC Address hardware learning method and system based on Hash table and TCAM table is provided, realize on general exchange chip able to programme, do not need the support of special hardware circuit, learning rate is higher; The memory source that takies is less, adopts general algorithm, and applying flexible can realize that collision probability is fully controlled.
MAC Address hardware learning method based on Hash table and TCAM table provided by the invention comprises the following steps:
S1, calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table;
The key assignments of S2, tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
S3, judge in TCAM list item data whether set of effective marker, if set forwards S4 to; Otherwise, forward S6 to;
In S4, comparison TCAM list item data, whether the virtual switch port equals message reception virtual switch port, and if so, list item does not need to upgrade, and forwards S15 to; Otherwise expression TCAM list item needs to upgrade, and forwards S5 to;
In S5, the current TCAM list item data of renewal, the virtual switch port is the actual reception of message virtual switch port, forwards S15 to;
S6, judge in Hash table the whether set of data effective marker, if set forwards S8 to; Otherwise, forward S7 to;
S7, the virtual switch port that Virtual Switch Instance under message source MAC Address, message number and message are received store in current hash table, and the list item effective marker puts 1, forwards S15 to;
In S8, comparison Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and source MAC be complementary, if coupling represents that the current address has been in the Hash table middle school, forward S9 to; Otherwise, forward S11 to;
In S9, more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, hash table does not need to upgrade, and forwards S15 to; Otherwise, forward S10 to;
S10, the virtual forwarding port numbers of upgrading in current hash table are the actual reception of message virtual port number, forward S15 to;
S11, produce hash-collision, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, and MAC Address is 0, and list item completely is masked as 0, is illustrated in idle TCAM list item to search for;
S12, judge in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, forwards S14 to; Otherwise, forward S13 to;
S13, TCAM memory do not have idle list item, abandon study, forward S15 to;
S14, MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1; MAC Address extends this as the source MAC of message, and mask puts 1; List item full scale will puts 1, and mask puts 1; In data, the virtual switch port extends this as the actual reception of message virtual switch port, forwards S15 to;
S15, MAC Address hardware learning process finish.
On the basis of technique scheme, also comprise the initialized step of list item before step S1: whether judge the initial table entry index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether initial table entry index value is positioned at the hashed table index scope, if so, the initialization Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge the initial table entry index be whether TCAM last, if, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, the equal assignment of all fields in data is 0, represents that this list item is last list item of TCAM; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, represents that current list item initial condition is empty, and in key assignments, all the other fields are clear 0, and mask is clear 0, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, and initialization finishes.
On the basis of technique scheme, also comprise aging step after step S15: whether judge aging table item index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether aging table item index value is positioned at the hashed table index scope, if so, aging Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge aging table item index be whether TCAM last, if so, last is the list item of an any key assignments of coupling to represent TCAM, finishes aging; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, and all the other fields are clear 0, and mask is clear 0, and the list item state is set to sky, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, aging end.
On the basis of technique scheme, described Hash table is stored in SRAM or DRAM.
On the basis of technique scheme, described TCAM list item is stored in the TCAM memory.
The present invention also provides a kind of MAC Address hardware learning system based on Hash table and TCAM table, comprises search unit, TCAM list item judging unit, Hash table judging unit, Hash table comparing unit and hash-collision processing unit, wherein:
Described search unit is used for: calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table; The key assignments of tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
Described TCAM list item judging unit is used for: judge the whether set of TCAM list item data effective marker, if set, relatively in TCAM list item data the virtual switch port whether equal message and receive the virtual switch port, if so, do not upgrade list item; Otherwise, upgrade that in current TCAM list item data, the virtual switch port is the actual reception of message virtual switch port; If there is no set, produce Hash table judgement triggering signal, and send to the Hash table judging unit;
Described Hash table judging unit, be used for: when receiving Hash table judgement triggering signal, judge in Hash table the whether set of data effective marker, if there is no set, the virtual switch port that Virtual Switch Instance under message source MAC Address, message number and message are received stores in current hash table, and the list item effective marker puts 1; If set produces relatively triggering signal, and sends to the Hash table comparing unit;
Described Hash table comparing unit, be used for: when receiving the comparison triggering signal, relatively in Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and MAC Address be complementary, if coupling, represent that the current address has been in the Hash table middle school, in more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, finishes study; Otherwise the virtual forwarding port numbers of upgrading in current hash table is the actual reception of message virtual port number, finishes study; If do not mate, produce hash-collision and process triggering signal, and send to the hash-collision processing unit;
Described hash-collision processing unit, be used for: receive when hash-collision is processed triggering signal, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, MAC Address is 0, list item completely is masked as 0, is illustrated in idle TCAM list item to search for; Judge again in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, and MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1, MAC Address extends this as the source MAC of message, mask puts 1, and list item full scale will puts 1, and mask puts 1, in data, the virtual switch port extends this as the actual reception of message virtual switch port, finishes study; If there is no set, expression TCAM memory does not have idle list item, abandons study.
On the basis of technique scheme, also comprise initialization unit, be used for: whether judge the initial table entry index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether initial table entry index value is positioned at the hashed table index scope, if so, the initialization Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge the initial table entry index be whether TCAM last, if, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, the equal assignment of all fields in data is 0, represents that this list item is last list item of TCAM; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, represents that current list item initial condition is empty, and in key assignments, all the other fields are clear 0, and mask is clear 0, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, and initialization finishes.
On the basis of technique scheme, also comprise aging unit, be used for: whether judge aging table item index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether aging table item index value is positioned at the hashed table index scope, if so, aging Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge aging table item index be whether TCAM last, if so, last is the list item of an any key assignments of coupling to represent TCAM, finishes aging; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, and all the other fields are clear 0, and mask is clear 0, and the list item state is set to sky, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, aging end.
On the basis of technique scheme, described Hash table is stored in SRAM or DRAM.
On the basis of technique scheme, described TCAM list item is stored in the TCAM memory.
Compared with prior art, advantage of the present invention is as follows:
(1) MAC Address hardware learning method of the present invention, realize on exchange chip fully, and do not need to rely on the assistance of any master cpu, learning rate is higher.
(2) the present invention is not when there is no the MAC Address conflict, store with Hash table the MAC Address that study is arrived, realize with SRAM or DRAM on Hash table hardware, can do greatlyr on capacity and bandwidth, first-selected Hash table comes the storage address list item, can take full advantage of the advantage of the large capacity hardware resource of RAM.When having the MAC Address conflict, show the MAC Address of buffer memory conflict with TCAM, adopt the TCAM memory to realize on TCAM table hardware, owing to being parallel search on TCAM hardware, once search can be located idle list item, and the list item number of TCAM is exactly the MAC Address number of the conflict of actual energy buffer memory, therefore, can not only take full advantage of the fast parallel advantage of searching of TCAM, and can realize that collision probability is fully controlled, in addition, due to the MAC Address of coming the buffer memory conflict without Hash table, the memory source that therefore takies is less.
(3) the present invention can realize on general exchange chip able to programme, does not need the support of special hardware circuit, adopts general algorithm, uses very flexible.
(4) the present invention shows the MAC Address of buffer memory conflict with TCAM, the MAC Address total amount of the conflict of energy buffer memory is that the TCAM total amount of opening up subtracts 1, collision probability is controlled, the number of the MAC Address of the conflict of energy buffer memory is definite constant, can not change along with the variation of MAC Address sample, the ability of the MAC Address of buffer memory conflict is secure, even in the worst situation of conflict, the TCAM table still can the nearly all MAC Address conflict of buffer memory.
Description of drawings
Fig. 1 is the initialized flow chart of list item in the embodiment of the present invention.
Fig. 2 is based on the flow chart of the MAC Address hardware learning method of Hash table and TCAM table in the embodiment of the present invention.
Fig. 3 is flow chart aging in the embodiment of the present invention.
Embodiment
The present invention is described in further detail below in conjunction with drawings and the specific embodiments.
TCAM is a kind of three-state content addressing memory, and in TCAM, each bit data has three kinds of states: except common " 0 " and " 1 ", one in addition " don ' t care " (namely need not mate this bit) state, so be referred to as " tri-state ".The function of " tri-state " realizes by mask, and namely mask is 0, and expression " dont ' t care " given key assignments; Mask is 1, and expression needs the given key assignments of exact matching.This specific character of TCAM makes it can complete exact matching, also can complete fuzzy matching.Another characteristics of TCAM are exactly " parallel search ", i.e. a given key assignments, and TCAM can mate all hardware table items simultaneously, and that table item index of return address index value minimum.
The embodiment of the present invention adopts RAM to deposit Hash table, as the main storage of MAC address learning, in conjunction with the characteristics of TCAM memory " tri-state storage " and " parallel search ", comes the MAC Address of buffer memory conflict.On function was divided, Hash table was as the main storage of MAC Address, and the TCAM table is responsible for completing the Core Feature of buffer address conflict.Hash table and TCAM table is worked in coordination and is jointly completed the function of MAC address learning, needs the aging three's of the study of initialization, address and address close fit to realize on it is realized.
Hash table is stored in SRAM or DRAM, and the TCAM list item is stored in the TCAM memory.
Ginseng is shown in Table 1, and the data structure of Hash table comprises Virtual Switch Instance (Vsi), Mac address, list item effective marker (Valid) and virtual switch port (Vp).
The data structure definition table of table 1, Hash table
The member 1 The member 2 The member 3 The member 4
Virtual Switch Instance (Vsi) The Mac address List item effective marker (Valid) Virtual switch port (Vp)
Ginseng is shown in Table 2, the data structure of TCAM list item comprises key assignments (Key) and data (Data), key assignments (Key) comprises Virtual Switch Instance (Vsi), Mac address and list item full scale will (FlagFull), and data (Data) comprise list item effective marker (Valid) and virtual switch port (Vp).
The data structure definition table of table 2, TCAM list item
Figure BDA00002848656300111
Shown in Figure 1, in the embodiment of the present invention, the initialized flow process of list item is as follows:
Step 101, judge that the initial table entry index whether greater than the list item maximum, if so, forwards step 102 to; Otherwise, forward step 103 to;
Step 102, initial table entry index scope surpass the list item maximum, return extremely, forward step 108 to;
Step 103, judge that whether initial table entry index value is positioned at the hashed table index scope, if so, forwards step 104 to; Otherwise, forward step 105 to;
Step 104, initialization Hash table, directly with initialization index value location hash table, and contents in table is all clear 0, forward step 108 to;
Step 105, judge the initial table entry index be whether TCAM last, if so, forward step 106 to; Otherwise, forward step 107 to;
Step 106, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, and namely this list item is the list item of " catch all " (mating any key assignments); The equal assignment of all fields in data is 0, represent that this list item is last list item of TCAM, can not be used for the buffer address conflict, the effect of last list item of TCAM is: when (1) arrives this list item when the business forwarding lookup, can judge does not have this MAC Address of buffer memory in whole TCAM list item, thereby needs continuation search Hash table to forward with service guidance; (2) find this list item when the idle list item of MAC address learning search, represent that TCAM conflict buffer memory is full, again the MAC Address of buffer memory conflict; Therefore the conflict total amount of actual energy buffer memory is that TCAM list item sum subtracts 1, forwards step 108 to;
Step 107, with list item full scale will clear 0 in key assignments, mask is put 1(and is represented that current list item initial condition is for empty), in key assignments, all the other fields clear 0, mask clear 0, in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, can be used for the MAC Address of buffer memory conflict, forward step 108 to;
Step 108, the initialized flow process of list item finish.
Shown in Figure 2, the embodiment of the present invention provides a kind of MAC Address hardware learning method based on Hash table and TCAM table, comprises the following steps:
Step 201, calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table;
The key assignments of step 202, tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
Step 203, judge in TCAM list item data whether set of effective marker, if set forwards step 204 to; Otherwise, forward step 206 to;
In step 204, comparison TCAM list item data, whether the virtual switch port equals message reception virtual switch port, and if so, list item does not need to upgrade, and forwards step 215 to; Otherwise expression TCAM list item needs to upgrade, and forwards step 205 to;
In step 205, the current TCAM list item data of renewal, the virtual switch port is the actual reception of message virtual switch port, forwards step 215 to;
Step 206, judge in Hash table the whether set of data effective marker, if set forwards step 208 to; Otherwise, forward step 207 to;
Step 207, with the message source MAC Address, the virtual switch port that Virtual Switch Instance number and message receive under message stores in current hash table, the list item effective marker puts 1, forwards step 215 to;
Step 208, relatively in Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and source MAC be complementary, if coupling represents that the current address has been in the Hash table middle school, forward step 209 to; Otherwise, forward step 211 to;
In step 209, more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, hash table does not need to upgrade, and forwards step 215 to; Otherwise, forward step 210 to;
Step 210, the virtual forwarding port numbers of upgrading in current hash table are the actual reception of message virtual port number, forward step 215 to;
Step 211, produce hash-collision, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, and MAC Address is 0, and list item completely is masked as 0, is illustrated in idle TCAM list item to search for;
Step 212, judge in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, forwards step 214 to; Otherwise, forward step 213 to;
Step 213, TCAM memory do not have the idle list item can the buffer memory conflict, abandon study, forward step 215 to;
Step 214, MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1; MAC Address extends this as the source MAC of message, and mask puts 1; List item full scale will puts 1, and mask puts 1; In data, the virtual switch port extends this as the actual reception of message virtual switch port, forwards step 215 to;
Step 215, MAC Address hardware learning process finish.
Shown in Figure 3, flow process aging in the embodiment of the present invention is as follows:
Step 301, judge that aging table item index whether greater than the list item maximum, if so, forwards step 302 to; Otherwise, forward step 303 to;
Step 302, initial table entry index scope surpass the list item maximum, return extremely, forward step 308 to;
Step 303, judge that whether aging table item index value is positioned at the hashed table index scope, if so, forwards step 304 to; Otherwise, forward step 305 to;
Step 304, aging Hash table, directly with initialization index value location hash table, and contents in table is all clear 0, forward step 308 to;
Step 305, judge aging table item index be whether TCAM last, if so, forward step 306 to; Otherwise, forward step 307 to;
Last is the list item of " catch all " (mating any key assignments) for step 306, TCAM, in case initialization do not need to operate on it forwards step 308 to;
Step 307, list item full scale will in key assignments is clear 0, mask puts 1, and all the other fields are clear 0, mask clear 0, the list item state is set to sky, and in data, the list item effective marker puts 1, all the other fields clear 0, represent that this list item is not last list item, can be used for the MAC Address of buffer memory conflict, forward step 308 to;
Step 308, MAC address aging flow process finish.
The embodiment of the present invention also provides a kind of MAC Address hardware learning system based on Hash table and TCAM table, comprise initialization unit, search unit, TCAM list item judging unit, Hash table judging unit, Hash table comparing unit, hash-collision processing unit and aging unit, wherein:
Initialization unit is used for: whether judge the initial table entry index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether initial table entry index value is positioned at the hashed table index scope, if so, the initialization Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge the initial table entry index be whether TCAM last, if, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, the equal assignment of all fields in data is 0, represents that this list item is last list item of TCAM; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, represents that current list item initial condition is empty, and in key assignments, all the other fields are clear 0, and mask is clear 0, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, and initialization finishes;
Search unit is used for: calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table, Hash table is stored in SRAM or DRAM; The TCAM list item is stored in the TCAM memory, the key assignments of tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
TCAM list item judging unit is used for: judge the whether set of TCAM list item data effective marker, if set, relatively in TCAM list item data the virtual switch port whether equal message and receive the virtual switch port, if so, do not upgrade list item; Otherwise, upgrade that in current TCAM list item data, the virtual switch port is the actual reception of message virtual switch port; If there is no set, produce Hash table judgement triggering signal, and send to the Hash table judging unit;
The Hash table judging unit, be used for: when receiving Hash table judgement triggering signal, judge in Hash table the whether set of data effective marker, if there is no set, the virtual switch port that Virtual Switch Instance under message source MAC Address, message number and message are received stores in current hash table, and the list item effective marker puts 1; If set produces relatively triggering signal, and sends to the Hash table comparing unit;
The Hash table comparing unit, be used for: when receiving the comparison triggering signal, relatively in Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and MAC Address be complementary, if coupling, represent that the current address has been in the Hash table middle school, in more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, finishes study; Otherwise the virtual forwarding port numbers of upgrading in current hash table is the actual reception of message virtual port number, finishes study; If do not mate, produce hash-collision and process triggering signal, and send to the hash-collision processing unit;
The hash-collision processing unit, be used for: receive when hash-collision is processed triggering signal, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, and MAC Address is 0, list item completely is masked as 0, is illustrated in idle TCAM list item to search for; Judge again in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, and MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1, MAC Address extends this as the source MAC of message, mask puts 1, and list item full scale will puts 1, and mask puts 1, in data, the virtual switch port extends this as the actual reception of message virtual switch port, finishes study; If there is no set, expression TCAM memory does not have idle list item, abandons study;
Aging unit is used for: whether judge aging table item index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether aging table item index value is positioned at the hashed table index scope, if so, aging Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge aging table item index be whether TCAM last, if so, last is the list item of an any key assignments of coupling to represent TCAM, finishes aging; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, and all the other fields are clear 0, and mask is clear 0, and the list item state is set to sky, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, aging end.
Those skilled in the art can carry out various modifications and variations to the embodiment of the present invention, if these are revised and modification belongs within the scope of claim of the present invention and equivalent technologies thereof, these modifications and modification are also within protection scope of the present invention.
The prior art that the content of not describing in detail in specification is known to the skilled person.

Claims (10)

1. the MAC Address hardware learning method based on Hash table and TCAM table, is characterized in that, comprises the following steps:
S1, calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table;
The key assignments of S2, tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
S3, judge in TCAM list item data whether set of effective marker, if set forwards S4 to; Otherwise, forward S6 to;
In S4, comparison TCAM list item data, whether the virtual switch port equals message reception virtual switch port, and if so, list item does not need to upgrade, and forwards S15 to; Otherwise expression TCAM list item needs to upgrade, and forwards S5 to;
In S5, the current TCAM list item data of renewal, the virtual switch port is the actual reception of message virtual switch port, forwards S15 to;
S6, judge in Hash table the whether set of data effective marker, if set forwards S8 to; Otherwise, forward S7 to;
S7, the virtual switch port that Virtual Switch Instance under message source MAC Address, message number and message are received store in current hash table, and the list item effective marker puts 1, forwards S15 to;
In S8, comparison Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and source MAC be complementary, if coupling represents that the current address has been in the Hash table middle school, forward S9 to; Otherwise, forward S11 to;
In S9, more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, hash table does not need to upgrade, and forwards S15 to; Otherwise, forward S10 to;
S10, the virtual forwarding port numbers of upgrading in current hash table are the actual reception of message virtual port number, forward S15 to;
S11, produce hash-collision, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, and MAC Address is 0, and list item completely is masked as 0, is illustrated in idle TCAM list item to search for;
S12, judge in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, forwards S14 to; Otherwise, forward S13 to;
S13, TCAM memory do not have idle list item, abandon study, forward S15 to;
S14, MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1; MAC Address extends this as the source MAC of message, and mask puts 1; List item full scale will puts 1, and mask puts 1; In data, the virtual switch port extends this as the actual reception of message virtual switch port, forwards S15 to;
S15, MAC Address hardware learning process finish.
2. the MAC Address hardware learning method based on Hash table and TCAM table as claimed in claim 1, it is characterized in that: also comprise the initialized step of list item before step S1: judge that whether the initial table entry index is greater than the list item maximum, if so, return extremely; Otherwise, judge whether initial table entry index value is positioned at the hashed table index scope, if so, the initialization Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge the initial table entry index be whether TCAM last, if, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, the equal assignment of all fields in data is 0, represents that this list item is last list item of TCAM; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, represents that current list item initial condition is empty, and in key assignments, all the other fields are clear 0, and mask is clear 0, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, and initialization finishes.
3. the MAC Address hardware learning method based on Hash table and TCAM table as claimed in claim 1, is characterized in that: also comprise aging step after step S15: whether judge aging table item index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether aging table item index value is positioned at the hashed table index scope, if so, aging Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge aging table item index be whether TCAM last, if so, last is the list item of an any key assignments of coupling to represent TCAM, finishes aging; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, and all the other fields are clear 0, and mask is clear 0, and the list item state is set to sky, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, aging end.
4. the MAC Address hardware learning method based on Hash table and TCAM table as described in any one in claims 1 to 3, it is characterized in that: described Hash table is stored in SRAM or DRAM.
5. the MAC Address hardware learning method based on Hash table and TCAM table as described in any one in claims 1 to 3, it is characterized in that: described TCAM list item is stored in the TCAM memory.
6. the MAC Address hardware learning system based on Hash table and TCAM table, is characterized in that, comprises search unit, TCAM list item judging unit, Hash table judging unit, Hash table comparing unit and hash-collision processing unit, wherein:
Described search unit is used for: calculate cryptographic Hash with the Virtual Switch Instance under message number and source MAC, and take cryptographic Hash as the indexed search Hash table; The key assignments of tissue search TCAM list item: Virtual Switch Instance number be the affiliated Virtual Switch Instance of message number; MAC Address is the source MAC of message; List item full scale will puts 1, is illustrated in the TCAM list item of having learnt to search for;
Described TCAM list item judging unit is used for: judge the whether set of TCAM list item data effective marker, if set, relatively in TCAM list item data the virtual switch port whether equal message and receive the virtual switch port, if so, do not upgrade list item; Otherwise, upgrade that in current TCAM list item data, the virtual switch port is the actual reception of message virtual switch port; If there is no set, produce Hash table judgement triggering signal, and send to the Hash table judging unit;
Described Hash table judging unit, be used for: when receiving Hash table judgement triggering signal, judge in Hash table the whether set of data effective marker, if there is no set, the virtual switch port that Virtual Switch Instance under message source MAC Address, message number and message are received stores in current hash table, and the list item effective marker puts 1; If set produces relatively triggering signal, and sends to the Hash table comparing unit;
Described Hash table comparing unit, be used for: when receiving the comparison triggering signal, relatively in Hash table Virtual Switch Instance number and MAC Address whether with message under Virtual Switch Instance number and MAC Address be complementary, if coupling, represent that the current address has been in the Hash table middle school, in more current Hash table, whether the virtual switch port equals the actual reception of message virtual switch port, if equate, finishes study; Otherwise the virtual forwarding port numbers of upgrading in current hash table is the actual reception of message virtual port number, finishes study; If do not mate, produce hash-collision and process triggering signal, and send to the hash-collision processing unit;
Described hash-collision processing unit, be used for: receive when hash-collision is processed triggering signal, the key assignments of tissue search TCAM list item is to seek the conflict of idle TCAM list item buffer memory: in key assignments, Virtual Switch Instance is number as 0, MAC Address is 0, list item completely is masked as 0, is illustrated in idle TCAM list item to search for; Judge again in the TCAM data whether set of effective marker, if set, first idle list item is found in expression, and MAC Address is cached in current idle TCAM list item: the Virtual Switch Instance of key assignments number extends this as under message Virtual Switch Instance number, and mask puts 1, MAC Address extends this as the source MAC of message, mask puts 1, and list item full scale will puts 1, and mask puts 1, in data, the virtual switch port extends this as the actual reception of message virtual switch port, finishes study; If there is no set, expression TCAM memory does not have idle list item, abandons study.
7. the MAC Address hardware learning system based on Hash table and TCAM table as claimed in claim 6, is characterized in that, also comprises being used for initialization unit: whether judge the initial table entry index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether initial table entry index value is positioned at the hashed table index scope, if so, the initialization Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge the initial table entry index be whether TCAM last, if, last TCAM list item of initialization, in key assignments, all fields all are initialized as 0, and mask is 0, the equal assignment of all fields in data is 0, represents that this list item is last list item of TCAM; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, represents that current list item initial condition is empty, and in key assignments, all the other fields are clear 0, and mask is clear 0, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, and initialization finishes.
8. the MAC Address hardware learning system based on Hash table and TCAM table as claimed in claim 6, is characterized in that, also comprises aging unit, is used for: whether judge aging table item index greater than the list item maximum, if so, return abnormal; Otherwise, judge whether aging table item index value is positioned at the hashed table index scope, if so, aging Hash table, directly locate hash table with the initialization index value, and with contents in table whole clear 0; Otherwise, judge aging table item index be whether TCAM last, if so, last is the list item of an any key assignments of coupling to represent TCAM, finishes aging; Otherwise list item full scale will in key assignments is clear 0, and mask puts 1, and all the other fields are clear 0, and mask is clear 0, and the list item state is set to sky, and in data, the list item effective marker puts 1, and all the other fields are clear 0, represent that this list item is not last list item, aging end.
9. the MAC Address hardware learning system based on Hash table and TCAM table as described in any one in claim 6 to 8, it is characterized in that: described Hash table is stored in SRAM or DRAM.
10. the MAC Address hardware learning system based on Hash table and TCAM table as described in any one in claim 6 to 8, it is characterized in that: described TCAM list item is stored in the TCAM memory.
CN201310055657.3A 2013-02-21 2013-02-21 Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table Active CN103117931B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310055657.3A CN103117931B (en) 2013-02-21 2013-02-21 Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table
PCT/CN2013/080000 WO2014127605A1 (en) 2013-02-21 2013-07-24 Mac address hardware learning method and system based on hash table and tcam table
MYPI2014703365A MY170382A (en) 2013-02-21 2013-07-24 Mac address hardware learning method and system based on hash table and tcam table
CL2015000917A CL2015000917A1 (en) 2013-02-21 2015-04-10 Mac address hardware learning method, which includes calculating hash key based on message id and mac origin, searching for key in ternary memory (tcam), determining if tcam data flag is set, comparing virtual switch port values , update the tcam virtual switch port, determine if the hash data flag is set, store the message's mac address, compare id and mac address; associated system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310055657.3A CN103117931B (en) 2013-02-21 2013-02-21 Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table

Publications (2)

Publication Number Publication Date
CN103117931A true CN103117931A (en) 2013-05-22
CN103117931B CN103117931B (en) 2015-07-01

Family

ID=48416209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310055657.3A Active CN103117931B (en) 2013-02-21 2013-02-21 Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table

Country Status (4)

Country Link
CN (1) CN103117931B (en)
CL (1) CL2015000917A1 (en)
MY (1) MY170382A (en)
WO (1) WO2014127605A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678553A (en) * 2013-12-06 2014-03-26 上海寰创通信科技股份有限公司 Wireless terminal database establishing method based on shared memory design
WO2014127605A1 (en) * 2013-02-21 2014-08-28 烽火通信科技股份有限公司 Mac address hardware learning method and system based on hash table and tcam table
CN104239337A (en) * 2013-06-19 2014-12-24 中兴通讯股份有限公司 TCAM (ternary content addressable memory) based table look-up processing method and device
CN105812264A (en) * 2016-03-15 2016-07-27 西安电子科技大学 Multi-way parallel MAC address learning and address lookup device and method
CN103731355B (en) * 2013-12-31 2017-01-25 迈普通信技术股份有限公司 Method and system for avoiding Hash collision during MAC address learning
CN107332774A (en) * 2017-06-09 2017-11-07 烽火通信科技股份有限公司 A kind of method for carrying out MAC address learning in VPLS based on software-hardware synergism
CN107770076A (en) * 2016-08-23 2018-03-06 中兴通讯股份有限公司 A kind of processing method of hash-collision, device and switching equipment
CN108307001A (en) * 2018-04-28 2018-07-20 深圳市风云实业有限公司 MAC address aging method, apparatus and electronic equipment
CN108632148A (en) * 2017-12-29 2018-10-09 西安电子科技大学 The device and method of study MAC Address based on pre-read mode
CN109582598A (en) * 2018-12-13 2019-04-05 武汉中元华电软件有限公司 A kind of preprocess method for realizing efficient lookup Hash table based on external storage
CN110674138A (en) * 2019-09-23 2020-01-10 苏州雄立科技有限公司 Message searching method and device
CN110830375A (en) * 2019-11-07 2020-02-21 盛科网络(苏州)有限公司 Method and device for storing routing MAC information based on TCAM
CN112003792A (en) * 2020-07-23 2020-11-27 烽火通信科技股份有限公司 Software and hardware cooperative message acceleration method and device
CN112087389A (en) * 2019-06-14 2020-12-15 深圳市中兴微电子技术有限公司 Message matching table look-up method, system, storage medium and terminal
CN112118186A (en) * 2020-08-28 2020-12-22 深圳市风云实业有限公司 Exchange chip routing table entry storage method, forwarding method and configuration method
CN112328593A (en) * 2020-10-21 2021-02-05 烽火通信科技股份有限公司 Method, equipment and system for carrying out batch configuration on address learning table
CN112637072A (en) * 2020-12-23 2021-04-09 北京时代民芯科技有限公司 Fast parallel circuit and method for exchanging chip address storage and search
CN112667867A (en) * 2020-12-31 2021-04-16 北京卓讯科信技术有限公司 Matching conflict checking method and equipment based on TCAM (ternary content addressable memory) feature code
CN113765806A (en) * 2021-09-02 2021-12-07 烽火通信科技股份有限公司 MAC address learning method, device, equipment and readable storage medium
CN113779320A (en) * 2021-08-18 2021-12-10 北京计算机技术及应用研究所 Method for solving table entry storage address conflict
CN115065662A (en) * 2022-06-13 2022-09-16 上海亿家芯集成电路设计有限公司 Method and system for processing MAC address hash collision
WO2023115978A1 (en) * 2021-12-23 2023-06-29 北京百度网讯科技有限公司 Packet processing method and apparatus, and electronic device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181309A (en) * 2020-10-14 2021-01-05 上海德拓信息技术股份有限公司 Online capacity expansion method for mass object storage
CN112269784A (en) * 2020-10-28 2021-01-26 中科驭数(北京)科技有限公司 Hash table structure based on hardware realization and inserting, inquiring and deleting method
CN112866115B (en) * 2020-12-31 2023-04-07 杭州迪普科技股份有限公司 Method, device, electronic equipment and storage medium for realizing transparent serial connection
CN113489649B (en) * 2021-06-29 2022-07-22 新华三信息安全技术有限公司 Table entry storage method and device
CN113709110B (en) * 2021-07-27 2023-07-21 深圳市风云实业有限公司 Intrusion detection system and method combining soft and hard
CN115733795A (en) * 2021-08-24 2023-03-03 苏州盛科通信股份有限公司 Message forwarding method, network forwarding equipment and computer storage medium
CN113726661B (en) * 2021-08-27 2022-10-18 西安微电子技术研究所 High-performance low-power-consumption router hash device and control method thereof
CN113904987B (en) * 2021-10-29 2022-11-15 西安微电子技术研究所 MAC address routing management controller, system and control method
CN115297059B (en) * 2022-07-18 2023-11-28 浙江大学 Transport layer load balancing system based on P4
CN117472838B (en) * 2023-12-28 2024-03-15 苏州元脑智能科技有限公司 High-speed serial computer expansion bus equipment identification method, device and related equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236916A1 (en) * 2002-04-23 2003-12-25 Adcox Timothy D. Media access control address translation for a fiber to the home system
CN101072178A (en) * 2007-06-22 2007-11-14 中兴通讯股份有限公司 Switching system routing table management method
CN101247337A (en) * 2008-02-18 2008-08-20 华为技术有限公司 Packet forwarding method and equipment
US20120330965A1 (en) * 2010-01-26 2012-12-27 Huawei Technologies Co., Ltd. Method and apparatus for storing and searching for keyword
CN102880724A (en) * 2012-10-23 2013-01-16 盛科网络(苏州)有限公司 Method and system for processing Hash collision

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1319325C (en) * 2003-04-16 2007-05-30 华为技术有限公司 Method of finding route table item using ltsh chain table
CN100481820C (en) * 2006-12-18 2009-04-22 杭州华三通信技术有限公司 Searching method for TCAM route table and searching device for TCAM route table
CN101841473B (en) * 2010-04-09 2011-12-28 北京星网锐捷网络技术有限公司 Method and apparatus for updating MAC (Media Access Control) address table
CN103117931B (en) * 2013-02-21 2015-07-01 烽火通信科技股份有限公司 Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236916A1 (en) * 2002-04-23 2003-12-25 Adcox Timothy D. Media access control address translation for a fiber to the home system
CN101072178A (en) * 2007-06-22 2007-11-14 中兴通讯股份有限公司 Switching system routing table management method
CN101247337A (en) * 2008-02-18 2008-08-20 华为技术有限公司 Packet forwarding method and equipment
US20120330965A1 (en) * 2010-01-26 2012-12-27 Huawei Technologies Co., Ltd. Method and apparatus for storing and searching for keyword
CN102880724A (en) * 2012-10-23 2013-01-16 盛科网络(苏州)有限公司 Method and system for processing Hash collision

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014127605A1 (en) * 2013-02-21 2014-08-28 烽火通信科技股份有限公司 Mac address hardware learning method and system based on hash table and tcam table
CN104239337B (en) * 2013-06-19 2019-03-26 中兴通讯股份有限公司 Processing method and processing device of tabling look-up based on TCAM
CN104239337A (en) * 2013-06-19 2014-12-24 中兴通讯股份有限公司 TCAM (ternary content addressable memory) based table look-up processing method and device
CN103678553A (en) * 2013-12-06 2014-03-26 上海寰创通信科技股份有限公司 Wireless terminal database establishing method based on shared memory design
CN103731355B (en) * 2013-12-31 2017-01-25 迈普通信技术股份有限公司 Method and system for avoiding Hash collision during MAC address learning
CN105812264A (en) * 2016-03-15 2016-07-27 西安电子科技大学 Multi-way parallel MAC address learning and address lookup device and method
CN105812264B (en) * 2016-03-15 2019-04-19 西安电子科技大学 The MAC address learning of multidiameter delay and the device and method of address search
CN107770076A (en) * 2016-08-23 2018-03-06 中兴通讯股份有限公司 A kind of processing method of hash-collision, device and switching equipment
CN107770076B (en) * 2016-08-23 2020-12-04 中兴通讯股份有限公司 Hash collision processing method and device and switching equipment
CN107332774B (en) * 2017-06-09 2019-12-03 烽火通信科技股份有限公司 A kind of method that MAC address learning is carried out based on software-hardware synergism in VPLS
CN107332774A (en) * 2017-06-09 2017-11-07 烽火通信科技股份有限公司 A kind of method for carrying out MAC address learning in VPLS based on software-hardware synergism
CN108632148A (en) * 2017-12-29 2018-10-09 西安电子科技大学 The device and method of study MAC Address based on pre-read mode
CN108632148B (en) * 2017-12-29 2020-06-16 西安电子科技大学 Device and method for learning MAC address based on pre-reading mode
CN108307001A (en) * 2018-04-28 2018-07-20 深圳市风云实业有限公司 MAC address aging method, apparatus and electronic equipment
CN108307001B (en) * 2018-04-28 2021-07-27 深圳市风云实业有限公司 MAC address aging method and device and electronic equipment
CN109582598A (en) * 2018-12-13 2019-04-05 武汉中元华电软件有限公司 A kind of preprocess method for realizing efficient lookup Hash table based on external storage
CN109582598B (en) * 2018-12-13 2023-05-02 武汉中元华电软件有限公司 Preprocessing method for realizing efficient hash table searching based on external storage
CN112087389A (en) * 2019-06-14 2020-12-15 深圳市中兴微电子技术有限公司 Message matching table look-up method, system, storage medium and terminal
CN110674138B (en) * 2019-09-23 2024-03-08 苏州雄立科技有限公司 Message searching method and device
CN110674138A (en) * 2019-09-23 2020-01-10 苏州雄立科技有限公司 Message searching method and device
CN114268585A (en) * 2019-11-07 2022-04-01 苏州盛科通信股份有限公司 TCAM-based three-layer route forwarding judgment method
CN114268585B (en) * 2019-11-07 2024-01-23 苏州盛科通信股份有限公司 Three-layer route forwarding judging method based on TCAM
CN110830375A (en) * 2019-11-07 2020-02-21 盛科网络(苏州)有限公司 Method and device for storing routing MAC information based on TCAM
CN112003792A (en) * 2020-07-23 2020-11-27 烽火通信科技股份有限公司 Software and hardware cooperative message acceleration method and device
CN112118186A (en) * 2020-08-28 2020-12-22 深圳市风云实业有限公司 Exchange chip routing table entry storage method, forwarding method and configuration method
CN112328593B (en) * 2020-10-21 2023-01-31 烽火通信科技股份有限公司 Method, equipment and system for carrying out batch configuration on address learning table
CN112328593A (en) * 2020-10-21 2021-02-05 烽火通信科技股份有限公司 Method, equipment and system for carrying out batch configuration on address learning table
CN112637072B (en) * 2020-12-23 2022-08-02 北京时代民芯科技有限公司 Fast parallel circuit and method for exchanging chip address storage and search
CN112637072A (en) * 2020-12-23 2021-04-09 北京时代民芯科技有限公司 Fast parallel circuit and method for exchanging chip address storage and search
CN112667867B (en) * 2020-12-31 2022-05-10 北京卓讯科信技术有限公司 Matching conflict checking method and equipment based on TCAM (ternary content addressable memory) feature code
CN112667867A (en) * 2020-12-31 2021-04-16 北京卓讯科信技术有限公司 Matching conflict checking method and equipment based on TCAM (ternary content addressable memory) feature code
CN113779320A (en) * 2021-08-18 2021-12-10 北京计算机技术及应用研究所 Method for solving table entry storage address conflict
CN113779320B (en) * 2021-08-18 2024-02-27 北京计算机技术及应用研究所 Method for solving table entry storage address conflict
CN113765806A (en) * 2021-09-02 2021-12-07 烽火通信科技股份有限公司 MAC address learning method, device, equipment and readable storage medium
WO2023115978A1 (en) * 2021-12-23 2023-06-29 北京百度网讯科技有限公司 Packet processing method and apparatus, and electronic device
CN115065662A (en) * 2022-06-13 2022-09-16 上海亿家芯集成电路设计有限公司 Method and system for processing MAC address hash collision

Also Published As

Publication number Publication date
CL2015000917A1 (en) 2015-07-17
CN103117931B (en) 2015-07-01
WO2014127605A1 (en) 2014-08-28
MY170382A (en) 2019-07-27

Similar Documents

Publication Publication Date Title
CN103117931B (en) Media access control (MAC) address hardware learning method and system based on hash table and ternary content addressable memory (TCAM) table
US11102120B2 (en) Storing keys with variable sizes in a multi-bank database
US10158573B1 (en) Forwarding element with a data plane load balancer
US6496502B1 (en) Distributed multi-link trunking method and apparatus
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
US10608866B2 (en) Forwarding Ethernet packets
US20150023351A1 (en) Method and apparatus for performing link aggregation
US7369557B1 (en) Distribution of flows in a flow-based multi-processor system
US9565138B2 (en) Rule-based network traffic interception and distribution scheme
EP2924927B1 (en) Techniques for aggregating hardware routing resources in a multi-packet processor networking system
US10621080B2 (en) Pipelined hash table with reduced collisions
Bando et al. FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie
US6922410B1 (en) Organization of databases in network switches for packet-based data communications networks
US20110273987A1 (en) Load balancing
US10791046B2 (en) Weighted-cost multi-pathing using range lookups
US20150312144A1 (en) Technologies for distributed routing table lookup
CN113381931B (en) Method and device for supporting MLAG (Multi-level Access gateway) dual-active access in VXLAN (virtual extensible local area network)
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
CN107040393B (en) Route management method and equipment
CN109743414B (en) Method for improving address translation availability using redundant connections and computer readable storage medium
US20190273676A1 (en) Msdc scaling through on-demand path update
CN102014065A (en) Method for analyzing packet headers, header analysis preprocessing device and network processor
CN110958334A (en) Message processing method and device
US11018978B1 (en) Configurable hash-based lookup in network devices
US20080123663A1 (en) Method and apparatus for managing ternary content addressable memory entries for use in a data packet routing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant