CN100502353C - Signalling flow distributing method and signalling distributing processing unit - Google Patents
Signalling flow distributing method and signalling distributing processing unit Download PDFInfo
- Publication number
- CN100502353C CN100502353C CNB2005100864692A CN200510086469A CN100502353C CN 100502353 C CN100502353 C CN 100502353C CN B2005100864692 A CNB2005100864692 A CN B2005100864692A CN 200510086469 A CN200510086469 A CN 200510086469A CN 100502353 C CN100502353 C CN 100502353C
- Authority
- CN
- China
- Prior art keywords
- hash
- address
- message
- signaling
- processing module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a signaling stream distributing method and processing unit, used to distribute control signaling stream load to signaling processing module. And the method comprises: using transmission address quad group information of connection configuration of the signaling processing module to establish Hash index table and load sharing table for the original indexes; obtaining source IP address and port number and destination IP address and port number of an IP message and making hardware Hash operation on them respectively, according to the operational results, taking out table-look up Hash key values and the original indexes and finding address information of the signaling processing module in the Hash index table and load sharing table; according to the address information of the signaling processing module, distributing the control signaling stream. And it not only raises signaling stream transmitting speed and efficiency but also having advantages: flexible of data configuration, suitable for multiple networking modes, and applied to information distribution in any transmission mode.
Description
Technical field
The present invention relates to the stream distributing method of network communication field, processor especially Network Based uses long index exact-match lookup to realize the signaling flow method and system of distribution fast.
Background technology
The IP group technology is with its transmission channel utilance height, and transmission rate is flexible, and the characteristics that are suitable for the professional transmission of asymmetric burst data have obtained extensive use in telecommunications network.
Traditional communication network is IPization progressively, also begins on the network architecture controlled function is separated with carrying, and independent networking such as is used for calling out at professional control as signaling.Packet voice carrying core net and legacy circuit-switched networks network such as PSTN (Public Switched Telephone Network), ISDN (Integrated Services Digital Network) generally finish the IP carrying of signaling and the conversion between TDM (the Time Division Multiplexing) carrying by SGW SG (Signaling Gateway) when carrying out intercommunication in the 3G (Third Generation) Moblie technology.SIGTRAN/SCTP (the Signaling Transport/Streaming Control Transmission Protocol) agreement that SG adopts IETF (Internet Engineering Task Force) to formulate provides reliable connection for the SS7 signaling transmits on IP network.Owing to control the difference of signaling and voice bearer aspect, need finish the intercommunication of call control signalling when two networks carry out intercommunication simultaneously in the position, critical point.At present general SCTP, the TCP (Transmission Control Protocol) etc. of selecting are based on the transport layer reliable protocol of the byte stream transmission means as signaling.
As shown in Figure 1, for signaling gateway system, need a signalling distributing processing unit 10 that is in the IP layer usually, finish the access of signaling IP message, and be distributed to a plurality of signaling processing modules 20 and 30 etc. at network edge.For signalling distributing processing unit 10, especially for the conventional fixed net, signaling traffic is generally little, all adopt mostly and be good at the general processor realization that the control aspect is handled, but under the larger many office directions of calling party, many network interworkings environment, because general processor limited processing ability, chain of command transmission bandwidth are difficult to reach the requirement that big capacity gateway signaling inserts in the core net, selecting special-purpose network processing unit to substitute general processor is a reasonable solution.
IXP1200 with Intel is an example, and IXP1200 comprises the microprocessor (micro engine) of an embedded core central processing unit (ARMCore) and several reduced instruction structures.Embedded core central processing unit is used for abnormality processing and chain of command is handled, microprocessor is responsible for the User IP message of rapid data path and is handled, use aims at the instruction set of optimizing the bag processing and designing micro engine is programmed, realize the real-time parallel processing of User IP message, thereby the IP message is arrived next node with surface speed forwarding.But use network processing unit to realize that signalling distributing processing unit requires function simple, the IP message need reduce the processing to upper-layer protocol as far as possible when transmitting, and particularly handles for tabling look-up of long index more than the 64bit to be difficult to realize.
Use the realization signalling distributing processing unit of network processing unit, in the surface speed forwarding that realizes signaling flow, need that in a suitable manner signaling flow is distributed to a plurality of signaling processing modules in the load sharing mode and carry out the upper strata and handle, need design and Implement so a kind of efficient, flexibly, distribution rules that applicability is good guarantees the overall performance and the stability of system.
Corresponding (IP+PORT) two tuples of signaling end point, the IP of two end points of local terminal and opposite end determines one jointly with PORT information and is connected (being called coupling for SCTP).If simply with (IP+PORT) that connect originating end or well-known port number as the distribution foundation, be difficult to satisfy the traffic sharing requirement of the local terminal network equipment when docking multiple networking mode with other vendor equipment as client or service end, consider the support to the many IP of single connection (coupling) simultaneously, must realize showing to search and transmit the IP message fast according to the accurate matching algorithm of tlv triple or the above index of four-tuple 48bit this moment.For general processor, if judge and be distributed to corresponding signaling processing module to carry out upper-layer protocol adaptive and handle according to receiving source IP address, source port, purpose IP address, these four fields of destination interface in the message, the time-delay expense of the process of tabling look-up is very big, when a large amount of signaling IP messages will be handled, will collapse because of too high a large amount of packet losses even the whole system of causing of processor load.The general at present alternative ways of distribution that adopts is to get the source IP address that receives in the message, source port, purpose IP address, in the destination interface four-tuple one or two carries out the coupling of searching of signaling processing module as index, when shortcoming is actual networking, set up many connections between two exchanges, if usually establishment of connection may use the default port number of User Agreement, especially for Server one side, externally disclose IP and know port numbers and be used for connecting, at this moment can't accomplish many connections are configured in the load sharing and the reliable transmission of different signaling processing modules to reach signaling flow respectively, though, all have certain limitation for flexible networking and data flexible configuration so this ways of distribution efficient is higher; Another kind method is to utilize the characteristic of certain upper-layer protocol to come unique connection of sign, for example according to the checking label field (TAG field) of Stream Control Transmission Protocol, system by two butt joints determines in the message interaction process when connection is set up mutually, later all message of on this connects, transmitting, all to carry this TAG field, realize the distribution of SCTP message thus, this ways of distribution utilizes the characteristic of single-protocol to evade the complexity of four-tuple distribution, but can not be applied to the signaling flow distribution based on other host-host protocols.
Summary of the invention
The object of the present invention is to provide a kind of signalling flow distributing method and signalling distributing processing unit, realize long index exact-match lookup by the ardware feature of utilizing network processing unit, under the prerequisite that does not influence performance, realize quick distribution based on any transport layer protocol signaling flow.
To achieve these goals, the invention provides a kind of signalling flow distributing method, processor Network Based is realized, is used for control signaling flow load is distributed to signaling processing module, wherein, comprising:
Step 1 uses the transport address quaternary group information of the connection configuration of described signaling processing module to create hash index table and load balancing table as primary index;
Step 2, obtain source IP address and source port number, purpose IP address and the destination slogan of IP message, and respectively described source IP address and source port number, purpose IP address and destination slogan are carried out the hardware Hash operation, the Hash key assignments that the output of the Hash that obtains is obtained tabling look-up behind the XOR as a result, according to Hash key assignments and primary index, the address information of in described hash index table and load balancing table, searching described signaling processing module;
Step 3 is distributed described control signaling flow according to the address information of described signaling processing module.
Above-mentioned signalling flow distributing method wherein, also comprises before the described step 1:
Obtain to connect configuration information and corresponding described signaling processing module address information between all signalling points from described signaling processing module, be used for step 1 and create described hash index table and load balancing table.
Above-mentioned signalling flow distributing method, wherein, described step 1 also comprises:
When connecting configuration generation change, receive new connection configuration messages, and realize renewal described load balancing table.
Above-mentioned signalling flow distributing method, wherein, described hash index table and load balancing table use the transport address quaternary group information as index.
Above-mentioned signalling flow distributing method, wherein, described step 2 specifically may further comprise the steps:
Step 21 receives the IP message from outside port circulation, to described IP message make MAC, non-signaling IP message is filtered in the inspection of IP stem, sends into professional IP message processing queue then;
Step 22 by looking into route and judging that protocol type filters described IP message, is extracted described source IP address, purpose IP address, source port number and destination slogan then;
Step 23, utilize the hardware hash units respectively to described source IP address and described source port number, described purpose IP address and described destination slogan carry out Hash operation, and the Hash key assignments that Hash output is obtained tabling look-up behind the XOR as a result, and the address information of in described hash index table and load balancing table, searching described signaling processing module according to described Hash key assignments and primary index.
Above-mentioned signalling flow distributing method, wherein, search in described hash index table and load balancing table according to described Hash key assignments and primary index in the described step 23 that the address information of described signaling processing module is concrete carries out following the operation:
In the 64K table, directly locate hash units for low 16 that get described key assignments, under the unmatched situation of primary index, continue to look into the hash units that next_trieblock points to, use the 16-19 position of key assignments in the TRIEBLOCK table, directly to locate hash units, under primary index does not match the situation of still conflicting, look into the hash units that next_collision_node points to, up to finding corresponding list item or the failure of tabling look-up.
Above-mentioned signalling flow distributing method, wherein, described step 23 specifically may further comprise the steps:
Step 2301,48 Hash operation made respectively in described source IP address and described source port number, described purpose IP address and described destination slogan, and exporting the Hash that obtains as a result, XOR obtains described Hash key assignments;
Step 2302 is directly located hash units for low 16 that get described Hash key assignments in the 64K table;
Step 2303 judges whether the quaternary group information of described IP message and the primary index in the described 64K list item mate, if coupling then change step 2313, otherwise would change step 2304;
Step 2304 judges whether next_trieblock is effective in the described 64K list item, invalidly then changes step 2312, otherwise changes 2305;
Step 2305 is an offset address with the next_trieblock in the described step 2304, navigates to corresponding TRIE BLOCK first address, with 16 to 19 corresponding hash units in location in described TRIE BLOCK of described Hash key assignments;
Step 2306 judges that whether the quaternary group information of described IP message and the primary index in the described TRIE BLOCK list item mate fully, if change 2313, otherwise change 2307;
Step 2307 judges whether the next_collision_node in the described TRIE BLOCK list item is effective, invalidly then changes 2312, otherwise changes 2308;
Step 2308: with the next_collision_node in the described step 2307 is offset address, navigates to the hash units of corresponding conflicting nodes correspondence in the COLLISION table;
Step 2309: judge whether the quaternary group information of described IP message and the primary index in the described COLLISION list item mate,, otherwise change step 2312 if change step 2313;
Step 2310 judges whether next_collision_node is effective in the described COLLISION list item, invalidly then changes 2312, otherwise changes 2311;
Step 2311 is an offset address with the described next_collision_node in the described step 2310, navigates to the hash units of corresponding conflicting nodes correspondence in described COLLISION table, changes 2309;
Step 2312, the failure of tabling look-up abandons described IP message;
Step 2313 is searched successfully, encapsulate forwarded IP message after the corresponding address information of searching described signaling processing module in described load balancing table.
In order better to realize above-mentioned purpose, the present invention also provides a kind of signalling distributing processing unit, and processor Network Based is realized, is used for control signaling flow load is distributed to signaling processing module, wherein, comprising:
Hash index table and load balancing table are set up and memory module, are arranged in the core processor of described network processing unit, are used to use the transport address quaternary group information of the connection configuration of described signaling processing module to create and storage hash index table and load balancing table;
Hash operation and signaling process enquiry module, be arranged in the microprocessor of described network processing unit, be used for respectively source IP address and source port number, purpose IP address and the destination slogan of IP message are carried out the hardware Hash operation, the Hash key assignments that the output of the Hash that obtains is obtained tabling look-up behind the XOR as a result, and according to Hash key assignments and primary index, the address information of in described hash index table and load balancing table, searching described signaling processing module;
IP message sending module is arranged in the microprocessor of described network processing unit, and the address information of the described signaling processing module that obtains according to Hash operation and signaling process enquiry module sends described IP message.
Above-mentioned signalling distributing processing unit wherein, also comprises:
Connect the configuration information acquisition module, be arranged in the core processor of described network processing unit, be used for obtaining the connection configuration information of signaling processing module and the address information of described signaling processing module, set up and the memory module utilization for described hash index table and load balancing table from described signaling processing module.
Above-mentioned signalling distributing processing unit wherein, also comprises:
IP message receiver module is arranged in the microprocessor of described network processing unit, and circulation receives the IP message, and to described IP message make MAC, non-signaling IP message is filtered in the inspection of IP stem, and sends into professional IP message processing queue.
Above-mentioned signalling distributing processing unit wherein, also comprises:
The IP message information extracts processing module, be arranged in the microprocessor of described network processing unit, IP message in the described IP message processing queue is filtered with the judgement protocol type by looking into route, and the described source IP address of extraction, purpose IP address, source port number and destination slogan use for described Hash operation and signaling process enquiry module from the IP heading that receives.
Above-mentioned signalling distributing processing unit wherein, also comprises:
Connect the configuration information update module, be arranged in the core processor of described network processing unit, when connecting configuration generation change, be used to receive new connection configuration messages, and realize renewal described hash index table and load balancing table.
Signalling flow distributing method of the present invention and signalling distributing processing unit, processor Network Based is realized, support to use long index accurately to mate the realization signaling flow, compare with additive method, speed and efficient that signaling flow is transmitted have not only been improved, and utilized fully connect in the full detail branch of transport address send the realization load sharing, distribution is irrelevant with upper-layer protocol itself, do not need the content of SCTP or TCP message itself is differentiated and resolved, have data configuration flexibly, be fit to multiple networking mode, be applicable to the advantage of the message distribution of any transmission means.Can on network processing unit, carry out signaling flow by this method and distribute fast, thereby make network processing unit can be applied to play a significant role in the equilateral hoddy network of the big capacity SGW equipment.
Description of drawings
Fig. 1 is IP carrier signaling networking Typical Disposition figure;
Fig. 2 is a signalling distributing processing unit structural representation of the present invention;
Fig. 3 (a) realizes the hash index table and the load balancing table visioning procedure schematic diagram of signalling flow distributing method for the present invention;
Fig. 3 (b) realizes the inquiry hash index table of signalling flow distributing method and the schematic flow sheet of load balancing table decision route for the present invention;
Fig. 4 realizes the accurate matching list of the signalling flow distributing method schematic flow sheet of tabling look-up for the present invention;
Embodiment
The present invention realizes for signalling flow distributing method and signalling distributing processing unit processor Network Based that the technical problem of mentioning in the solution background technology proposes, support to use long index exact-match lookup to realize quick stream distribution, resolve transport address four-tuple in the reception message by microprocessor, use the hardware Hash to carry out exact-match lookup and realize distribution fast; Simultaneously signalling distributing processing unit is irrelevant with upper-layer protocol, does not need the content of SCTP or TCP message is differentiated and resolved, can be applicable to simultaneously that the message of any transmission means of use is distributed; At last, use the hardware hash units of network processing unit, select suitable Hash multiplier operator, reduce the collision probability of tabling look-up and occurring, microprocessor is handled and can efficiently be finished fast based on tabling look-up of four-tuple, does not influence message distribution efficient.
Fig. 1 has provided the Typical Disposition of IP carrier signaling networking, and system is made up of the signalling distributing processing unit 10 that is in network edge and a plurality of signaling processing module 20,30.Signalling distributing processing unit 10 processors Network Based wherein of the present invention are realized, network processing unit medium veil mouth as access control veil mouth, is sent signaling message to each signaling processing module 20,30 by this network interface.Article one, link connects corresponding to a signaling of the transport address sign of two signaling end points, and the signaling end point transport address is made up of an IP address and a port numbers, can be with the signaling flow load sharing to a plurality of signaling processing modules by disposing many connections.
In conjunction with illustrated in figures 1 and 2, this signalling distributing processing unit 10 is connected by the control switching network with signaling processing module 20,30 or more signaling processing modules, and signalling distributing processing unit 10 belongs to wherein one or more signaling processing modules, and many of carrier signaling are connected and can be configured in respectively on the signaling processing module 20,30 to share mode between signal processing system A and the external system B.
Signalling distributing processing unit 10 comprises with lower module:
Connecting configuration information obtains and update module 101, be arranged in the core processor of network processing unit, when signalling distributing processing unit 10 starts, obtain to connect configuration information between all signalling points in the native system from the signaling processing module 20 or 30 of its ownership, comprise and connect corresponding local terminal IP address, peer IP address, Local port number, peer port number, and this connects the address information of corresponding signaling processing module, comprise signaling processing module chain of command IP address and MAC, while is carried out maintenance update to load balancing table and hash index table in hash index table and load balancing table foundation and the memory module when connecting configuration generation change.
Hash index table and load balancing table are set up and memory module 102, be arranged in the core processor of network processing unit, the transport address quaternary group information of the configuration of obtaining according to information acquisition module 101 is that primary index is created and the accurate coupling hash index table and the load balancing table of storage 96bit index, use accurate matching algorithm to look into hash index table location hash units by primary index, and finally to find a load balancing table list item, contents in table be corresponding connection of four-tuple index to need the signaling processing module distributed in the configuration;
IP message receiver module 103 is arranged in the microprocessor of network processing unit, and circulation receives the IP message, and to the IP message make MAC, non-signaling IP message is filtered in the inspection of IP stem, and sends into professional IP message processing queue;
The IP message information extracts processing module 104, be arranged in the microprocessor of network processing unit, IP message in the professional IP message processing queue is filtered with the judgement protocol type by looking into route, for the route of finding out is that the message and the protocol number of non-network element do not made discard processing for the message of signaling given transmission protocol type, then extracts source IP address, purpose IP address, source port number and destination slogan for filtering the normal service message in back from the IP heading;
Hash operation and signaling process enquiry module 105, be arranged in the microprocessor of network processing unit, the source IP address and source port number, purpose IP address and the destination slogan that obtain according to IP message information extraction processing module 104 carry out Hash operation respectively, and the primary index of Hash key assignments that taking-up is tabled look-up according to operation result and accurate coupling, and the address information of taking out the signaling processing module of load balancing table list item correspondence;
IP message sending module 106, be arranged in the microprocessor of network processing unit, signaling message is encapsulated as chain of command IP message, and the address information of the signaling processing module that obtains according to Hash operation and signaling process enquiry module sends to corresponding signaling processing module with the IP message by control channel and handles.
Wherein, signalling flow distributing method of the present invention comprises the step of setting up hash index table and load balancing table and according to hash index table and load balancing table inquiry and decision route step.
Shown in Fig. 3 (a), the step of setting up hash index table and load balancing table is realized by the core processor in the network processing unit, comprises following concrete steps:
Step 311, during the signalling distributing processing unit startup, the signaling processing module that the connection configuration information obtains and update module belongs to from signalling distributing processing unit obtains to connect between all signalling points in the native system address information of the signaling processing module of configuration information and correspondence;
Step 312, hash index table and load balancing table are set up and memory module uses the transport address quaternary group information of configuration to create the accurate coupling hash index table and the load balancing table of the 96bit index that is used for the signaling distribution;
Step 313, when connecting configuration generation change, the connection configuration information obtains and update module is handled the relevant connection configuration messages that receives, and realizes the synchronous renewal of hash index table and load balancing table.
Shown in Fig. 3 (b), realize by the microprocessor in the network processing unit according to inquiry of hash index table and load balancing table and decision route step, comprise following concrete steps:
On network processing unit, adopt method realization signaling flow of the present invention to distribute fast, at first need on core processor, carry out the building work of load balancing table and hash index table, mainly finish two tasks:
Create 96bit index accurately the load balancing table Entry table and corresponding Hash (Hash) concordance list thereof of coupling;
All quaternary group informations that connect configuration are loaded in the load balancing table, and list item is preserved the corresponding signaling processing module information of distribution.
The corresponding one group of information index table of hash index table comprises 64K table, TRIE BLOCK table and conflict (COLLISION) table.
The 64K table is the direct index table of a corresponding 64K hash units (preserving Hash operation result's index list item), the low 16bit numerical value of corresponding Hash key assignments when accurately mating;
The corresponding TRIE BLOCK set of TRIE BLOCK table, each TRIE BLOCK contains 16 unit, can use 4 direct index location of Hash key assignments;
The set of corresponding all conflicting nodes of COLLISION table.
The linking relationship of the corresponding one group of location load sharing information of each hash units in the concordance list space, the key message of in store and join dependency comprises 64K table list item and TRIE BLOCK table and collision table list item in this unit.
64K table list item is as shown in the table:
TRIE BLOCK table is as shown in the table with the collision table list item:
Among the present invention, preserved following information in the hash units:
List item position number entry_loc;
Next TRIE BLOCK hash units (next_trieblock) or conflicting nodes memory address (next_collision_node);
Local terminal signaling end point IP address Src_IP;
Opposite end end signaling end point IP address D st_IP;
Local terminal signaling end point transmission ends slogan Src_Port; And
Opposite end signaling end point transmission ends slogan Dst_Port.
When loading the load sharing list item, following several situation may appear:
If current 64K list item is also unoccupied, in idle clauses and subclauses of Entry table space application, the sequence number in that the entry_loc of this 64K list item writes this list item writes the four-tuple primary index in this list item;
If current 64K list item is occupied and be not with TRIE BLOCK piece, free block of application in TRIE BLOCK table, locate in this free block 16-19 position with the Hash key assignments, find corresponding TRIE BLOCK list item unit, write the next_trieblock of corresponding 64K list item in this unit, in idle clauses and subclauses of Entry table space application, the sequence number of this list item is write the entry_loc of current TRIE BLOCK list item, in current TR BLOCK list item, write the four-tuple primary index;
If current 64K list item is occupied, current TRIE BLOCK list item is unoccupied, in idle clauses and subclauses of Entry table space application, the sequence number of this list item is write the entry_loc of current TRIE BLOCK list item, in current TRIE BLOCK list item, write primary index;
If current 64K list item is occupied, current TRIE BLOCK list item is occupied, and current TRIE BLOCK list item is hung node without male offspring, idle clauses and subclauses of application in the COLLISION table, as current C OLLISION list item, the sequence number of COLLISION list item is write the next_collision_node of current TRIE BLOCK list item, idle clauses and subclauses of application in the ENTRY table, the sequence number of this list item is write the entry_loc of current C OLLISION list item, in current list item, write primary index;
If current 64K list item is occupied, current TRIE BLOCK list item is occupied, and the existing back of current TRIE BLOCK list item hangs node, find last back to hang node, as present node, idle clauses and subclauses of application in the COLLISION table, offset address is write the next_collision_node of current C OLLISION node, this idle COLLISION table clause as current C OLLISION node, idle clauses and subclauses of application in the ENTRY table, the sequence number of this list item is write the entry_loc of current C OLLISION list item, in current C OLLISION list item, write primary index.
In the step 323, utilize this transport address four-tuple to carry out Hash operation, and navigate to a hash units according to the Hash operation result as input parameter.The Hash operation process is at first sent into the hardware hash units with (source IP address+source port number), (purpose IP address+destination slogan) respectively as primary index and is made Hash operation, and two mutual XORs of 48 Hash output result obtain the key assignments of tabling look-up.In the 64K table, directly locate hash units for low 16 that get key assignments, under the unmatched situation of primary index, continue to look into the hash units that next_trieblock points to, use the 16-19 position of key assignments in TRIE BLOCK table, directly to locate hash units, under primary index does not match the situation of still conflicting, look into the hash units that next_collision_node points to, up to finding corresponding list item or the failure of tabling look-up, the flow process of tabling look-up is seen Fig. 4, specifically may further comprise the steps:
Step 401 is got quaternary group information (source IP address+source port number), (purpose IP address+destination slogan) makes 48 Hash operation respectively, with the Hash output that obtains XOR as a result, obtains Hash key assignments KEY;
Step 402 is got low 16 of KEY value and directly locate hash units in the 64K table;
Step 403 if the primary index in the quaternary group information of IP message and the 64K list item mates fully, is changeed 421, otherwise is changeed 404;
Step 404 judges whether next_trieblock is effective in the 64K list item, invalidly then changes 420, otherwise changes 405;
Step 405 is an offset address with next_trieblock in the 64K list item, navigates to corresponding TRIEBLOCK first address, with 16 to 19 corresponding hash units in location in TRIE BLOCK of Hash key assignments;
Step 406 judges that whether the quaternary group information of IP message and the primary index in the TRIE BLOCK list item mate fully, if change 421, otherwise change 407;
Step 407 judges whether next_collision_node is effective in the TRIE BLOCK list item, invalidly then changes 420, otherwise changes 408;
Step 408: with next_collision_node in the TRIE BLOCK list item is offset address, navigates to the hash units of corresponding conflicting nodes correspondence in the COLLISION table;
Step 409:, change 421, otherwise change 410 if the primary index in the quaternary group information of IP message and the COLLISION list item mates fully;
Step 410: judge whether next_collision_node is effective in the COLLISION list item, invalidly then change 420, otherwise change 411;
Step 411: with next_collision_node in the COLLISION list item is offset address, navigates to the hash units of corresponding conflicting nodes correspondence in the COLLISION table, changes 409;
Step 420: the failure of tabling look-up, IP packet loss;
Step 421: search successfully, encapsulate forwarded IP message, look into the address information that load balancing table is obtained signaling processing module according to hash units, to the IP message carry out chain of command encapsulation back by and signaling processing module between control channel exchange to respective modules, thereby realize based on the long index Hash of four-tuple accurately coupling table look-up and distribute.
Search the memory access expense linear growth that causes owing to secondary index under the situation of clashing at table, the efficient of tabling look-up reduces greatly.Use in the suitable Hash multiplication operator practical application according to index length, select 48 or 64 hash algorithms, fixing part position in the Hash multiplication operator, the establishment algorithm is exhaustive to the index in the certain-length scope, change other positions in the Hash multiplication operator simultaneously, abandon, preserve for the Hash multiplication operator that the conflict number of times is less for the sample of conflict number of times greater than set point, as preferred Hash multiplication operator, can the conflict possibility is very little.2 48bit index values because the 2-stage I/O buffer memory that hardware HASH uses can an instruction be packed into, the HASH of HASH operation time of 96bit index length and 48bit index compares operation time does not almost have difference.The single expense of tabling look-up increases less than 0.2 μ s during than the 48bit index.As a complete unit, the distribution capability of signaling Dispatching Unit can not reduce performance because of adopting long index.
Certainly; the present invention also can have other various embodiments; under the situation that does not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection range of the appended claim of the present invention.
Claims (12)
1, a kind of signalling flow distributing method, processor Network Based are realized, are used for control signaling flow load is distributed to signaling processing module, it is characterized in that, comprising:
Step 1 uses the transport address quaternary group information of the connection configuration of described signaling processing module to create hash index table and load balancing table as primary index;
Step 2, obtain source IP address and source port number, purpose IP address and the destination slogan of IP message, and respectively described source IP address and source port number, purpose IP address and destination slogan are carried out the hardware Hash operation, the Hash key assignments that the output of the Hash that obtains is obtained tabling look-up behind the XOR as a result, according to described Hash key assignments and primary index, the address information of in described hash index table and load balancing table, searching described signaling processing module;
Step 3 is distributed described control signaling flow according to the address information of described signaling processing module.
2, signalling flow distributing method according to claim 1 is characterized in that, also comprises before the described step 1:
Obtain between all signalling points to connect the address information of configuration information and corresponding described signaling processing module from described signaling processing module, be used for step 1 and create described hash index table and load balancing table.
3, signalling flow distributing method according to claim 2 is characterized in that, described step 1 also comprises:
When connecting configuration generation change, receive new connection configuration messages, and realize renewal described load balancing table and hash index table.
4, signalling flow distributing method according to claim 2 is characterized in that, described hash index table and load balancing table use the transport address quaternary group information as index.
5, according to claim 1 or 4 described signalling flow distributing methods, it is characterized in that described step 2 specifically may further comprise the steps:
Step 21 receives the IP message from outside port circulation, to described IP message make MAC, non-signaling IP message is filtered in the inspection of IP stem, sends into professional IP message processing queue then;
Step 22 by looking into route and judging that protocol type filters described IP message, is extracted described source IP address, purpose IP address, source port number and destination slogan then;
Step 23, utilize the hardware hash units respectively described source IP address and described source port number, described purpose IP address and described destination slogan to be carried out Hash operation, and the Hash key assignments that Hash output is obtained tabling look-up behind the XOR as a result, and the address information of in described hash index table and load balancing table, searching described signaling processing module according to described Hash key assignments and primary index.
6, signalling flow distributing method according to claim 5, it is characterized in that, search in described hash index table and load balancing table according to described Hash key assignments and primary index in the described step 23 that the address information of described signaling processing module is concrete carries out following the operation:
In the 64K table, directly locate hash units for low 16 that get described key assignments, under the unmatched situation of primary index, continue to look into the hash units that next_trieblock points to, use the 16-19 position of key assignments in the TRIEBLOCK table, directly to locate hash units, under primary index does not match the situation of still conflicting, look into the hash units that next_collision_node points to, up to finding corresponding list item or the failure of tabling look-up.
7, signalling flow distributing method according to claim 6 is characterized in that, described step 23 specifically may further comprise the steps:
Step 2301,48 Hash operation made respectively in described source IP address and described source port number, described purpose IP address and described destination slogan, and exporting the Hash that obtains as a result, XOR obtains described Hash key assignments;
Step 2302 is directly located hash units for low 16 that get described Hash key assignments in the 64K table;
Step 2303 judges whether the quaternary group information of described IP message and the primary index in the described 64K list item mate, if coupling then change step 2313, otherwise would change step 2304;
Step 2304 judges whether next_trieblock is effective in the described 64K list item, invalidly then changes step 2312, otherwise changes 2305;
Step 2305 is an offset address with the next_trieblock in the described step 2304, navigates to corresponding TRIE BLOCK first address, with 16 to 19 corresponding hash units in location in described TRIE BLOCK of described Hash key assignments;
Step 2306 judges that whether the quaternary group information of described IP message and the primary index in the described TRIE BLOCK list item mate fully, if change 2313, otherwise change 2307;
Step 2307 judges whether the next_collision_node in the described TRIE BLOCK list item is effective, invalidly then changes 2312, otherwise changes 2308;
Step 2308: with the next_collision_node in the described step 2307 is offset address, navigates to the hash units of corresponding conflicting nodes correspondence in the COLLISION table;
Step 2309: judge whether the quaternary group information of described IP message and the primary index in the described COLLISION list item mate,, otherwise change step 2312 if change step 2313;
Step 2310 judges whether next_collision_node is effective in the described COLLISION list item, invalidly then changes 2312, otherwise changes 2311;
Step 2311 is an offset address with the described next_collision_node in the described step 2310, navigates to the hash units of corresponding conflicting nodes correspondence in described COLLISION table, changes 2309;
Step 2312, the failure of tabling look-up abandons described IP message;
Step 2313 is searched successfully, encapsulate forwarded IP message after the corresponding address information of searching described signaling processing module in described load balancing table.
8, a kind of signalling distributing processing unit, processor Network Based are realized, are used for control signaling flow load is distributed to signaling processing module, it is characterized in that, comprising:
Hash index table and load balancing table are set up and memory module, are arranged in the core processor of described network processing unit, are used to use the transport address quaternary group information of the connection configuration of described signaling processing module to create and storage hash index table and load balancing table;
Hash operation and signaling process enquiry module, be arranged in the microprocessor of described network processing unit, be used for respectively source IP address and source port number, purpose IP address and the destination slogan of IP message are carried out the hardware Hash operation, the Hash key assignments that the output of the Hash that obtains is obtained tabling look-up behind the XOR as a result, and according to described Hash key assignments and primary index, the address information of in described hash index table and load balancing table, searching described signaling processing module;
IP message sending module is arranged in the microprocessor of described network processing unit, and the address information of the described signaling processing module that obtains according to Hash operation and signaling process enquiry module sends described IP message.
9, signalling distributing processing unit according to claim 8 is characterized in that, also comprises:
Connect the configuration information acquisition module, be arranged in the core processor of described network processing unit, be used for obtaining the connection configuration information of signaling processing module and the address information of described signaling processing module, set up and the memory module utilization for described hash index table and load balancing table from described signaling processing module.
10, signalling distributing processing unit according to claim 8 is characterized in that, also comprises:
IP message receiver module is arranged in the microprocessor of described network processing unit, and circulation receives the IP message, and to described IP message make MAC, non-signaling IP message is filtered in the inspection of IP stem, and sends into professional IP message processing queue.
11, signalling distributing processing unit according to claim 10 is characterized in that, also comprises:
The IP message information extracts processing module, be arranged in the microprocessor of described network processing unit, IP message in the described IP message processing queue is filtered with the judgement protocol type by looking into route, and the described source IP address of extraction, purpose IP address, source port number and destination slogan use for described Hash operation and signaling process enquiry module from the IP heading that receives.
12, signalling distributing processing unit according to claim 11 is characterized in that, also comprises:
Connect the configuration information update module, be arranged in the core processor of described network processing unit, when connecting configuration generation change, be used to receive new connection configuration messages, and realize renewal described hash index table and load balancing table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100864692A CN100502353C (en) | 2005-09-22 | 2005-09-22 | Signalling flow distributing method and signalling distributing processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100864692A CN100502353C (en) | 2005-09-22 | 2005-09-22 | Signalling flow distributing method and signalling distributing processing unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1937575A CN1937575A (en) | 2007-03-28 |
CN100502353C true CN100502353C (en) | 2009-06-17 |
Family
ID=37954849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100864692A Expired - Fee Related CN100502353C (en) | 2005-09-22 | 2005-09-22 | Signalling flow distributing method and signalling distributing processing unit |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100502353C (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425960B (en) * | 2007-11-02 | 2011-07-13 | 中兴通讯股份有限公司 | Method and apparatus for load equalizing implementation |
CN101242255B (en) * | 2008-02-15 | 2011-09-21 | 中兴通讯股份有限公司 | A method and system for realizing N+1 redundant backup and load share |
CN101296192B (en) * | 2008-06-20 | 2010-12-29 | 中兴通讯股份有限公司 | Method and device for establishing multi-homing dynamic signaling link |
CN103164434A (en) * | 2011-12-13 | 2013-06-19 | 阿里巴巴集团控股有限公司 | Method, device and system for obtaining real-time data |
CN103179040B (en) * | 2013-03-12 | 2015-11-04 | 浙江大学 | A kind of packet Method of Fuzzy Matching of software router |
CN103368872A (en) * | 2013-07-24 | 2013-10-23 | 广东睿江科技有限公司 | Data packet forwarding system and method |
CN103391219A (en) * | 2013-08-09 | 2013-11-13 | 盛科网络(苏州)有限公司 | Message analysis method and device based on conversation |
CN104780100B (en) * | 2014-01-09 | 2019-06-04 | 中兴通讯股份有限公司 | A kind of method for searching route and router |
CN106572132B (en) * | 2015-10-09 | 2020-12-29 | 中兴通讯股份有限公司 | Method, device and system for distributing and building link |
CN106850625B (en) * | 2017-02-07 | 2020-11-20 | 北京百卓网络技术有限公司 | Signaling flow distribution method and device |
CN107371189B (en) * | 2017-07-28 | 2020-04-10 | 北京中创腾锐技术有限公司 | LTE signaling shunting method and system |
CN109302467B (en) * | 2018-09-19 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | Message distribution method, device, terminal and storage medium |
CN111352931A (en) * | 2018-12-21 | 2020-06-30 | 中兴通讯股份有限公司 | Hash collision processing method and device and computer readable storage medium |
CN110932983B (en) * | 2019-12-04 | 2022-03-18 | 锐捷网络股份有限公司 | TCP load balancing method, device, equipment and medium |
CN112202677B (en) * | 2020-09-29 | 2023-04-07 | 中移(杭州)信息技术有限公司 | Hardware acceleration query method, system, electronic equipment and storage medium |
CN112583797B (en) * | 2020-11-30 | 2022-07-19 | 深圳力维智联技术有限公司 | Multi-protocol data processing method, device, equipment and computer readable storage medium |
CN114785742B (en) * | 2022-06-21 | 2022-09-16 | 闪捷信息科技有限公司 | Access address information loading method, flow processing method and electronic equipment |
-
2005
- 2005-09-22 CN CNB2005100864692A patent/CN100502353C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1937575A (en) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100502353C (en) | Signalling flow distributing method and signalling distributing processing unit | |
CA2255726C (en) | A system for converting a routing address within a telecommunications network | |
US7522580B2 (en) | Edge device and method for interconnecting SS7 signaling points (SPs) using edge device | |
KR960007672B1 (en) | Fast packetized data delivery for digital network | |
CN100568787C (en) | Support the method and the device of Ethernet medium access control circuit | |
US6611533B1 (en) | Public telephone network, intelligent network, and internet protocol network services interworking | |
JPH03148940A (en) | Mutual connection system for lan and isdn | |
CA2321622A1 (en) | A multi-mode endpoint in a communication network system and methods thereof | |
US6014440A (en) | Inter-half call protocol negotiation techniques | |
US7043002B2 (en) | Methods and systems for identifying, redirecting, and processing messages of different SS7 protocol variations | |
CN101145940A (en) | A method for searching network element device and establishing topology connection in network management system | |
EP1169817B1 (en) | Edge device and method for interconnecting ss7 signaling points (sps) using edge device | |
JPH066413A (en) | Osi transport relay system between linked mode network and non-linked mode network | |
US7725581B1 (en) | Prioritizing actions at a media gateway controller and a media gateway | |
US6819673B1 (en) | Method and system for establishing SNA sessions over wide area networks | |
US6850518B1 (en) | DLSw RIF passthru technique for providing end-to-end source route information to end stations of a data link switching network | |
EP1179263B1 (en) | Signalling in a telecommunications network | |
CN1889610B (en) | Large-capacity distributing signalling processing equipment and method thereof | |
KR100511747B1 (en) | Operation Method for Signaling Network Resources in Signaling Gateway System | |
FI106595B (en) | Signaling in a telecommunications system | |
CN100544300C (en) | Realize the method for signalling network interconnection | |
US20070220166A1 (en) | Marine pipelay system and method | |
KR20030089992A (en) | A management method of sctp multi-association | |
FI107308B (en) | Signalling in a telecommunication system | |
KR20050062245A (en) | Large capacity pbx based on ethernet |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090617 Termination date: 20170922 |
|
CF01 | Termination of patent right due to non-payment of annual fee |