CN100375466C - Data packet forwarding controller and method - Google Patents
Data packet forwarding controller and method Download PDFInfo
- Publication number
- CN100375466C CN100375466C CNB021113750A CN02111375A CN100375466C CN 100375466 C CN100375466 C CN 100375466C CN B021113750 A CNB021113750 A CN B021113750A CN 02111375 A CN02111375 A CN 02111375A CN 100375466 C CN100375466 C CN 100375466C
- Authority
- CN
- China
- Prior art keywords
- packet
- cache device
- data
- header
- bag
- 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 present invention discloses a transmission control device for data packets. By adding modules of a secondary buffer, a packet header register, a report head checking and a packet byte counter, etc., the prior art simply using buffer for processing the data packets is changed, so that the transmission control device of the present invention can filter wrong data packets in the transmission control process. The present invention also discloses a transmission control method for transmitting the data packets, which comprises the following steps: by simultaneously checking packet headers and counting packet bytes for data packets sent to the secondary buffer, judging whether transmitted data packets are correct or not; filtering the wrong data packets in the secondary buffer. The present invention can be widely used in transmission systems such as IP exchangers, routers, etc., and can lighten load pressure of the next-stage device under the condition of ensuring the high rate of the whole system.
Description
The present invention relates to data communication technology field, particularly be operated in the 3rd layer IP switch, be used for the forwarding controller and the method for filter false packet in the equipment such as router, be applicable in the packet switching system.
Background technology
Present forwarding controller and method for packet, as at router, in the transmission course of packets such as three-tier switch, when needs are realized data cached, when transform data interface type, word length and transmission rate, adopt simple pack buffer buffer memory mostly and control the method for dispatching.
The data packet forwarding controller structure of prior art as shown in Figure 1, comprising:
Logical combination unit 110: to the control signal of input carry out corresponding logical AND or, be combined into the output control signal as the write control signal of buffer;
Pack buffer 120: buffer links to each other with previous stage device output port, can deposit one or more packets in the buffer;
Status register 130: the information according to pack buffer and the input of next stage equipment is formed status word, deposits in status register, calls for dispatcher;
Dispatcher 140: the finite state machine of realizing with a plurality of mode bits; The input of state machine is from status register, and under certain state, according to different input signals, state machine jumps to different states, and according to different states, exports various control signals, goes to drive corresponding device thereof;
Bus interface 150: can the data/address bus type of buffer be changed accordingly according to the practical application needs.
The working method of above-mentioned data packet dispatching retransmission unit is as follows:
In entire work process, by adopting suitable buffer type, can realize the data-bus width of input/output interface, the conversion of required interface type is finished in the change of bus frequency.
From the data forwarding control procedure of above-mentioned present employing, it has only finished the scheduling forwarding capability of packet as can be seen, lacks the mechanism that packet is verified.
In router or IP switch, in the transmission course in the IP packet slave unit, as the high speed switching backplane etc., because the interference of supply voltage frequency fluctuation and various internal-external factors, under the possible mutagenic situation of data, packet will be a misdata bag this moment.To this kind phenomenon, some equipment is ignored, and it is handed to next stage equipment, and some equipment is to handle at software approachs such as exit employing CPU.The former will cause the pressure of next stage equipment, and the load of CPU and memory can cause the reduction of efficient and the latter will increase export, and influences whole system speed.
Summary of the invention
At above-mentioned phenomenon, the invention provides a kind of forwarding controller and method that is used for the filter false packet, make in the process of transmitting control, just can filter out error data packets.
To achieve these goals, the invention provides a kind of forwarding controller that is used for the filter false packet, comprising:
The logical combination unit: the control signal to previous stage device and the input of level cache device is carried out the logical combination computing, is combined into the write control signal of control signal output as the level cache device;
Level cache device: can deposit a plurality of packets continuously, adopt the storage mode of first-in first-out, link to each other, receive the packet that previous stage device output port sends with previous stage device output port;
Status register: the information according to level cache device, L2 cache device, header check module, packet byte counter, packet header register and the input of next stage equipment is formed status word, leaves in the status register and calls for dispatcher;
The L2 cache device: adopt fifo buffer, receive the individual data bag sent from the level cache device, carry out buffer memory, when this packet through header checking by the time, the L2 cache device just is forwarded to bus interface with packet; If packet can't pass through header checking, dispatcher will send order request L2 cache device and remove this packet;
Packet header register: deposit the packet packet header that comes from the output of level cache device, export packet byte counter and header check module to;
Header check module: be used for header check is carried out in the packet header of packet;
Dispatcher: receive input state word from status register, according to different status words, jump to different states, and according to different states, export various control signals, control level cache device, L2 cache device, packet header register, packet byte counter and bus interface;
Whether the packet byte counter: the data word joint number that will read from the level cache device is added up, and its result compares with bag progress row, finish to determine that the notebook data bag transmits, so that the forwarding of dispatcher control;
Bus interface:, the output data bus type of L2 cache device is changed accordingly according to the needs of next stage.
The invention allows for a kind of dispatch control method that is used for the misdata packet filtering, may further comprise the steps:
1) dispatcher receives the state information from status register;
2) judge whether to satisfy the condition that packet is transmitted by the level cache device,, then change step 3) as satisfying, otherwise, keep this state constant;
3) the level cache device begins to send a packet;
4) whether the packet header of judgment data bag sign occurs, if occur, then changes step 5), otherwise changes step 3);
5) dispatcher sends packet header to the packet header register and extracts order, and sends write order to the L2 cache device;
6) header to packet carries out verification, judges whether to be correct header; If correct, then change step 8), otherwise, change step 7);
7) packet in the removing L2 cache device returns step 2 then);
8) the level cache device continues to send to the L2 cache device data of this packet, and the L2 cache device is transmitted packet to bus interface simultaneously.
9) send a complete packet information when the level cache device, according to the identification data in the actual count result of packet byte counter and packet header relatively, whether the length of judgment data bag is consistent; If consistent, return step 2), otherwise, step 7) returned.
In router or layer 3-switched transmission channel, particularly at the switching fabric output port, when adopting this forwarding controller and method, can apace packet to be transmitted be filtered, by filtering a considerable amount of erroneous packets, avoid these erroneous packets to flow into next stage equipment or unit, the waste of cause storage resources, calculating scheduling resource can more easily improve the valid data forward efficiency.
Because the present invention is the transformation of carrying out on existing transmission control system, does not almost have what influence for system cost.Simultaneously, owing to can adopt the working method of hardware fully, do not have any influence for packet transmission rate, can alleviate the burden of differentiating erroneous packets for next stage working cell (being generally CPU or micro engine) on the contrary, save the suitable time, thereby can improve effective efficiency of transmission of system greatly.
Description of drawings
Fig. 1 is the structural representation of the forwarding controller of prior art;
Fig. 2 is the structural representation of forwarding controller of the packet of the filter false that proposes of the present invention;
Fig. 3 is a data cached grouping schematic diagram in the level cache device in apparatus of the present invention;
Fig. 4 is the forwarding control dispatching method flow chart of the packet of the filter false that proposes of the present invention.
Embodiment
The forwarding controller of filter false bag of the present invention is described below in conjunction with Fig. 2:
The 210 pairs of control signals of being imported by previous stage device 200 and level cache device 220 in logical combination unit carry out corresponding logical AND or, be combined into control signal output write control signal as level cache device 220.
Can deposit a plurality of packets continuously in the level cache device 220, it adopts first-in first-out (FIFO) storage mode, receives the data that previous stage device 200 output ports send.
Whether the data word joint number that packet byte counter 270 will be read from level cache device 220 is added up, and its result compares with bag progress row, finish to determine that the notebook data bag transmits, so that the forwarding of dispatcher 280 control.
The finite state machine that a plurality of mode bits of dispatcher 280 usefulness are realized.The input signal of state machine is from status register 230, and under certain state, according to different input signals, state machine jumps to different states, and according to different states, exports various control signals, goes to drive corresponding device thereof;
The storage mode of level cache device 220 as shown in Figure 3.Fig. 3-a partly identifies the storage mode that buffer memory partly separates with depositing for the buffer memory with level cache device 220 store data, and Fig. 3-b is for identifying the storage mode that buffer memory partly unites two into one with the part of the bag metadata cache in the level cache device 220 with wrapping.
In Fig. 3-a, the data that bag data buffer 300 divides into groups according to the head of packet, order store data middle, afterbody, corresponding bag sign buffer 310 is represented the implication that corresponding data is represented in the corresponding data buffer 300 by different data bit, as the packet header sign being represented with 01, sign is represented with 10 in the bag, and the knowledge of bag tail tag is represented with 11.
In Fig. 3-b, because bag metadata cache part 300 is on all four with the read-write control that bag identifies buffer memory part 310, therefore the buffer 320 of an also available form is realized, just corresponding to different data wires, implication is different.If the bit wide of buffer 320 is 34, then its high 32 are used for the data of store data grouping, are equivalent to wrap data buffer 300, and minimum two signs that are used for depositing the corresponding data grouping are equivalent to bag sign buffer 310.
Fig. 4 has provided the dispatch control method flow chart that is used for the misdata packet filtering that the present invention proposes.The dispatch control method that is used for the misdata packet filtering of the present invention mainly is that the course of work by dispatcher 240 embodies, and dispatcher 240 directly is responsible for the operations of various parts.Specifically describe transmission control method below according to packet of the present invention.
In step 400: accept state information from status register;
In step 410: judge whether to satisfy data and transmit condition, if any, then advance to step 420, otherwise, keep this state constant;
In step 420: first order buffer (being the level cache device) begins to send data;
In step 430: judge that whether the packet header sign occurs, and then advances to step 440 if having.Otherwise turn back to step 420, continue to send data;
In step 440: send packet header and extract order, and send the second buffer write order;
In step 450: the header to bag carries out verification, to determine whether to be correct header.If correct, then jump to step 470, otherwise advance to step 460;
In step 460:, need abandon because institute's deposit data bag is an error data packets.So remove second level buffer contents, get back to step 410 then;
In step 470: allow L2 cache device (single pack buffer) to transmit data to bus interface.Continuation judges simultaneously to the data transmission of notebook data bag whether the transmission of notebook data bag finishes.If do not finish, keep this state, otherwise, advance to step 480;
In step 480:, judge whether the length of the notebook data bag that both reflect is consistent according to the result of packet byte counter and the comparison of identification data.If, get back to step 410, otherwise, get back to step 460.
The method of the scheduling controlling of misdata packet filtering of the present invention is described below in conjunction with Fig. 2 and Fig. 4.
In router or layer-3 switch, when in valid data and level cache device 220 are arranged, certain memory space being arranged from previous stage device 200, logical combination unit 210 will be exported effective control signal and make that the write control signal of level cache device 220 is effective, and data write level cache device 220.In level cache device 220, exist in valid data and the L2 cache device 240 when being empty, status register 230 will produce the state transitions signal, enter step 420, so dispatcher 280 will produce the read data order of a cache level device 220, the bag identification data by on the monitor bus enters step 430, judge whether to occur the packet header sign, in case packet header sign occurs, promptly enter step 440, the bag data of packet header and back thereof are write L2 cache device 240.Simultaneously, packet header is deposited in packet header register 250.
If packet header is correct, data will send continuously.At this moment, packet byte counter 270 work, the byte number that the metering bag sends is when counter 270 is counted the byte number that obtains and obtained wrapping long byte number when consistent from the register of packet header, show that this data read finishes, need to finish the read-write motion of respective cache device.Simultaneously, judge whether the bag identification data of reading at last is the inclusion tail tag knowledge of regulation, in this way, shows that bag is long consistent, otherwise, show that bag length is inconsistent.Perhaps in this process, if receive the inclusion tail tag in the tagging buffer to know earlier, and the packet byte counter is not also counted the bag long number, shows that equally bag is long inconsistent, need stop the reading and writing data of this bag this moment yet.Forward step 410 to.
For the long inconsistent packet of bag, can adopt two kinds of different strategies to transmit.First kind of strategy is only will wrap long inconsistency result notification next stage equipment or unit, forward the same with the correct data bag.Make corresponding discard processing by next stage equipment or unit.Second kind of strategy be, find bag long inconsistent after, remove second buffer 240 (FIFO) at once, send the long inconsistency information of bag, the bag that will not received by next stage equipment or unit abandons, and does not do any processing.Second kind of strategy can reduce the interface data flow, transmits effective data packets more.Reflected second kind of strategy in this specification in the flow chart.
Simultaneously, also available up and down two buffers of described L2 cache device 240, up and down two L2 cache devices each all be used to store a complete packet.Level cache device 220 sends packet to two L2 cache devices in turn, after a data grouping transmission is finished, transmits to another two buffer again.Have only after packet receives fully, under the correct and long consistent situation of bag, the packet in the L2 cache device just can be transmitted to next stage, otherwise removes this packet in header check.Method with two L2 cache devices is that with the difference with a buffer method the method can be avoided the long inconsistent packet of bag is transmitted to the next stage device.
Though being the example that is transmitted as with the IP packet, method of the present invention describes, but those of ordinary skill in the art is according to the instruction of specification, by the judgement of appropriate change to header information, the forwarding controller of packet of the present invention and method go for the repeater system of other data type equally.
Claims (9)
1. data packet forwarding controller, comprise: logical combination unit (210), status register (230), dispatcher (280), bus interface (290), it is characterized in that, also comprise: level cache device (220), L2 cache device (240), packet header register (250), header check module (260);
Wherein:
Logical combination unit (210): the control signal to previous stage device (200) and level cache device (220) input is carried out the logical combination computing, and output is as the write control signal of level cache device (220);
Level cache device (220): the packet that receives and store previous stage device (200) output;
Status register (230): the status word that the information of storage level cache device (220), L2 cache device (240), packet header register (250), header check module (260) and the input of next stage equipment is formed;
L2 cache device (240): the individual data bag that buffer memory level cache device (220) is sent also is forwarded to packet bus interface (290) or removes this packet according to the header checking result;
Packet header register (250): deposit the packet packet header of level cache device (220) output, and export to header check module (260);
Header check module (260): packet header register (250) is transmitted the packet packet header of coming carry out header check;
Dispatcher (280): the input state word of accepting state register (230), and export various control signal control level cache devices (220), L2 cache device (240), packet header register (250) and bus interface (290);
Bus interface (290): the type that is used to change the output data bus of L2 cache device (240).
2. data packet forwarding controller according to claim 1, it is characterized in that, described level cache device (220) is divided into: bag data buffer (300), bag sign buffer (310) two parts, bag data buffer (300) storage needs the bag data of forwarding, bag sign buffer storage package sign.
3. data packet forwarding controller according to claim 1 is characterized in that described header check module (260) is an adder, finishes header check by header information is carried out read group total.
4. data packet forwarding controller according to claim 1 is characterized in that, described level cache device (220) and described L2 cache device (240) all are fifo buffers.
5. according to claim 1 or 2 or 3 described data packet forwarding controllers, it is characterized in that, also comprise a packet byte counter (270), be used for comparison packet header register (250) packet packet header bag long letter breath with from level cache device (220) sense data byte count.
6. data packet forwarding controller according to claim 5, it is characterized in that, described L2 cache device (240) comprises up and down two forms data bag L2 cache devices, and two L2 cache devices are alternately stored packet that level cache device (220) sends and transmitted or remove this packet according to the result of header check.
7. a packet transmission control method is characterized in that, comprises following handling process:
1) dispatcher receives the state information from status register;
2) judge whether to satisfy the condition that packet is transmitted by the level cache device,, then advance to step 3) as satisfying, otherwise, keep this state constant;
3) the level cache device begins to send a packet;
4) whether the packet header of judgment data bag sign occurs, if occur, then advances to step 5), otherwise turns back to step 3);
5) dispatcher sends packet header to the packet header register and extracts order, and sends write order to the L2 cache device;
6) header to packet carries out verification, judges whether to be correct header; If correct, then jump to step 8), otherwise, advance to step 7);
7) packet in the removing L2 cache device turns back to step 2 then);
8) the level cache device continues to send to the L2 cache device data of this packet, and the L2 cache device is transmitted packet to bus interface simultaneously.
8. packet transmission control method according to claim 7, it is characterized in that, after described step 8), also comprise: when the level cache device sends a complete packet information, compare according to the actual count result of packet byte counter and the identification data in packet header, whether the length of judgment data bag is consistent; If consistent, turn back to step 2), otherwise the packet that dispatcher (280) transmission message informing next stage equipment or unit are sent is the misdata bag, makes corresponding discard processing by next stage equipment or unit, gets back to step 2 then).
9. a kind of packet transmission control method according to claim 7, it is characterized in that, after described step 8), also comprise: when the level cache device sends a complete packet information, compare according to the actual count result of packet byte counter and the identification data in packet header, whether the length of judgment data bag is consistent; If consistent, turn back to step 2), otherwise, remove second buffer (240) at once, send the long inconsistency information of bag to next stage equipment or unit, the bag that will not received by next stage equipment or unit abandons, and gets back to step 2 then).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021113750A CN100375466C (en) | 2002-04-10 | 2002-04-10 | Data packet forwarding controller and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021113750A CN100375466C (en) | 2002-04-10 | 2002-04-10 | Data packet forwarding controller and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1450767A CN1450767A (en) | 2003-10-22 |
CN100375466C true CN100375466C (en) | 2008-03-12 |
Family
ID=28680559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021113750A Expired - Fee Related CN100375466C (en) | 2002-04-10 | 2002-04-10 | Data packet forwarding controller and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100375466C (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331320C (en) * | 2003-12-27 | 2007-08-08 | 华为技术有限公司 | A method for determining data packet checksum after data modification |
CN1330154C (en) * | 2004-05-24 | 2007-08-01 | 中兴通讯股份有限公司 | Processing method for exchanging system and continuous message |
DE102004038210A1 (en) | 2004-08-05 | 2006-03-16 | Robert Bosch Gmbh | Method for storing messages in a message memory and message memory |
US7606251B2 (en) * | 2004-08-05 | 2009-10-20 | International Business Machines Corporation | Method, system, and computer program product for reducing network copies by port-based routing to application-specific buffers |
CN100420241C (en) * | 2006-05-08 | 2008-09-17 | 国家数字交换系统工程技术研究中心 | Information switching realizing system and method and scheduling algorithm |
JP2008205689A (en) * | 2007-02-19 | 2008-09-04 | Sony Corp | Communication apparatus, communicating method, and computer program |
CN102457441B (en) * | 2012-01-16 | 2014-06-25 | 瑞斯康达科技发展股份有限公司 | PSN (Packet Switched Network) data packet processing method and device |
CN102929799B (en) * | 2012-10-17 | 2016-04-13 | 北京西塔网络科技股份有限公司 | Data acquisition storage means and system |
CN104065588B (en) * | 2013-03-21 | 2018-10-30 | 南京中兴新软件有限责任公司 | A kind of device and method of data packet dispatching and caching |
CN103532854B (en) * | 2013-10-22 | 2017-05-10 | 迈普通信技术股份有限公司 | Storage and forwarding method and device of message |
CN106294546B (en) * | 2016-07-22 | 2019-04-16 | 北京英诺威尔科技股份有限公司 | A kind of method of memory storage device port status data |
EP3439210B1 (en) * | 2017-07-31 | 2019-12-25 | Mitsubishi Electric R&D Centre Europe B.V. | Reliable cut-through switching for ieee 802.1 time sensitive networking standards |
CN109936624B (en) * | 2019-01-31 | 2022-03-18 | 平安科技(深圳)有限公司 | Adaptation method and device for HTTP request message header and computer equipment |
CN114124950A (en) * | 2021-10-09 | 2022-03-01 | 上海联适导航技术股份有限公司 | Data forwarding method, device, equipment and computer readable storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995008888A1 (en) * | 1993-09-24 | 1995-03-30 | Qualcomm Incorporated | Multirate serial viterbi decoder for code division multiple access system applications |
EP1006689A2 (en) * | 1998-11-30 | 2000-06-07 | Matsushita Electric Industries Co., Ltd. | Packet retransmission control using priority information |
CN1314765A (en) * | 2000-03-09 | 2001-09-26 | Lg电子株式会社 | Device and method for repeatly transmitting error block data of radio local loop |
-
2002
- 2002-04-10 CN CNB021113750A patent/CN100375466C/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995008888A1 (en) * | 1993-09-24 | 1995-03-30 | Qualcomm Incorporated | Multirate serial viterbi decoder for code division multiple access system applications |
EP1006689A2 (en) * | 1998-11-30 | 2000-06-07 | Matsushita Electric Industries Co., Ltd. | Packet retransmission control using priority information |
CN1314765A (en) * | 2000-03-09 | 2001-09-26 | Lg电子株式会社 | Device and method for repeatly transmitting error block data of radio local loop |
Also Published As
Publication number | Publication date |
---|---|
CN1450767A (en) | 2003-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100375466C (en) | Data packet forwarding controller and method | |
CA2015514C (en) | Packet switching system having bus matrix switch | |
US5781549A (en) | Method and apparatus for switching data packets in a data network | |
US4484326A (en) | Packet load monitoring by trunk controllers | |
CN101383712B (en) | Routing node microstructure for on-chip network | |
CA2020295C (en) | Packet communication system | |
CN100595720C (en) | Apparatus and method for direct memory access in a hub-based memory system | |
CN1543149B (en) | Flow control in a network environment | |
US5463762A (en) | I/O subsystem with header and error detection code generation and checking | |
US5553302A (en) | Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data | |
US7031330B1 (en) | Very wide memory TDM switching system | |
CN100372317C (en) | Flow receiving taking and statistic circuit assembly for 10G network performance tester | |
CN101299685B (en) | Method and system for testing switching network as well as test initiation module | |
CN100589477C (en) | Method for realizing data sending based on binding link | |
CN107786471A (en) | Data processing method and conversion equipment between more fpga chips | |
CN106878203A (en) | For the fast-forwarding circuit and method of FC exchanger chips | |
CN100405768C (en) | Data package control system and communication method | |
CN101546300B (en) | Memory control apparatus, memory control method and information processing system | |
CN108429707B (en) | Time trigger service repeater and method adapting to different transmission rates | |
CN100387027C (en) | Bag-preprocessing circuit assembly of interface card for high-speed network diversion equipment | |
CN101834695B (en) | Self-adaptive multi-path serial redundant high-speed bus | |
CA2186977C (en) | Method and device to control a memory | |
CN109151316A (en) | A kind of multiplexing industry camera data dispatching device based on FPGA | |
US20140207881A1 (en) | Circuit arrangement for connection interface | |
CN101123586B (en) | Method for using FPGA to process network data packets in optical network |
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: 20080312 Termination date: 20160410 |
|
CF01 | Termination of patent right due to non-payment of annual fee |