CN101035079B - Asynchronous forwarding method, system and device - Google Patents

Asynchronous forwarding method, system and device Download PDF

Info

Publication number
CN101035079B
CN101035079B CN2007100903982A CN200710090398A CN101035079B CN 101035079 B CN101035079 B CN 101035079B CN 2007100903982 A CN2007100903982 A CN 2007100903982A CN 200710090398 A CN200710090398 A CN 200710090398A CN 101035079 B CN101035079 B CN 101035079B
Authority
CN
China
Prior art keywords
unit
packet
forwarding unit
forwarding
transmit queue
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
Application number
CN2007100903982A
Other languages
Chinese (zh)
Other versions
CN101035079A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2007100903982A priority Critical patent/CN101035079B/en
Publication of CN101035079A publication Critical patent/CN101035079A/en
Application granted granted Critical
Publication of CN101035079B publication Critical patent/CN101035079B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses an asynchronous transmitting method, comprising the steps of: each transmitter is respectively set with transmitting queue and receiving queue; the receiving part of the transmitter asynchronously calls data packet from the receiving queue and the transmitting part of the transmitter asynchronously call data packet from the transmitting queue for transmitting. And the instance of the invention provides an asynchronous transmitting system, comprising at least two transmitters each comprising: transmitting unit, receiving unit, transmitting queue unit and receiving queue unit, where the transmitting unit asynchronously calls data packets from the transmitting queue unit; the receiving unit asynchronously call data packets from the receiving queue unit. And the instance of the invention also provides a transmitter. Thus, the invention avoids close correlation caused by direct function calling so as to reduce mutual influence between services.

Description

A kind of asynchronous forwarding method, system and equipment
Technical field
The present invention relates to the data traffic transmission technical field, relate in particular to a kind of asynchronous forwarding method, system and equipment.
Background technology
Router is as a kind of the most frequently used network equipment, and topmost function is that message is transmitted (Forwarding).A function of transmitting is that the packet that transport layer will send is sent to link layer; Another function is to receive packet from link layer, when the destination address of this packet is this router, will send to transport layer on this packet, otherwise, by searching route, this packet is sent in the corresponding physics network segment.
Divide from the loaded service angle, forwarding can be divided into IPV4 (Internet Protocol Version4, the internet protocol edition 4) transmits, IPV6 (Internet Protocol Version 6, internet protocol version 6) transmits, several bigger parts such as MPLS (Multi-Protocol Label Switch, multiprotocol label switching) forwarding and TUNNEL (tunnel) forwarding.The system architecture of the whole forwarding of industry tradition as shown in Figure 1 at present, IPV4 transmits and comprises that IPV4 transmission part and IPV4 receiving unit, IPV6 forwarding comprise that IPV6 transmission part and IPV6 receiving unit, MPLS forwarding comprise that MPLS sends partly and MPLS receiving unit, TUNNEL forwarding comprise that TUNNEL sends partly and the TUNNEL receiving unit, solid line is represented synchronization function call among the figure, and dotted line is represented asynchronous queue operation.
Wherein, IPV4 send packet, TUNNEL that part will send transport layer send packet that part will transmit, and the IPV4 receiving unit packet that will send transmit; The IPV4 receiving unit receives packet from the MPLS receiving unit, or from IPV4 reception formation, call packet, when the destination address of packet is this router, to send to transport layer on this packet, otherwise, by searching route, send part by IPV4 this packet is sent in the corresponding physics network segment.
IPV6 send packet that part will send transport layer, and the IPV6 receiving unit packet that will send transmit; The IPV6 receiving unit receives packet from the MPLS receiving unit, or from IPV6 reception formation, call packet, when the destination address of packet is this router, to send to transport layer on this packet, otherwise, by searching route, send part by IPV6 this packet is sent in the corresponding physics network segment.
MPLS sends part and IPV4 is sent part, IPV4 receiving unit, IPV6 sends part, IPV6 receiving unit, reaches the packet that the MPLS receiving unit will send and transmit; The MPLS receiving unit receives the formation from MPLS and calls packet, and by MPLS transmission part this packet is sent in the corresponding physics network segment.
The TUNNEL sending part divides reception MPLS to send part, IPV6 sends part, reaches the packet that IPV4 sends part, sends the part forwarding by IPV4; The TUNNEL receiving unit receives packet from IPV4, and send to IPV4 receive formation, IPV6 receive formation, and MPLS receive formation.
The basic process that each forwarding part is transmitted in Fig. 1 as shown in Figure 2.Driving receives to be delivered to link layer with message after the data and carries out protocol processes, for example: Ethernet (Ethernet), POS (Packetover SONET/SDH, packet based on Synchronous Optical Network/synchronous digital hierarchy), ATM (Asynchronous Transfer Mode, asynchronous transfer mode) etc., link layer module is at first shared link layer header, judge type of message, remove link layer header after, send into corresponding upper layer module according to the data message type and handle.
Wherein, for IPV4 or IPV6 message, at first inquire about FIB (Forwarding Information Table according to the destination address of IP header, the forwarding information table), if the message of this machine, deliver to then that transport layer is handled or directly deliver to protocol process module, if not then according to looking into the outgoing interface information that fib table returns, find out the position of interface earlier, be forwarded to the business board at outgoing interface place then, send into the link layer protocol processing module, the link layer protocol processing module adds the link layer message head, send into driver module then, send message by hardware.Then look into ILM (Incoming Label Map, input label mapping) table for MPLS, find outgoing interface, if the label (Label) that then removes of this machine is pressed the processing of IP message handling process.
The handling process of professional receiving unit as shown in Figure 3, after bottom reception hardware is received the IP packet, together pop down is to going into the IP formation to deliver to link layer input unit and upper strata transmission message, and professional receiving unit is gone into read data packet the IP formation by the SOCK scheduling from this.For the MPLS business, before entering the IP formation, also need to carry out MPLS and go tag processes.
The handling process of professional transmission part as shown in Figure 4, transmit the packet of coming from other business board, or the packet that directly calls of this plate enters the IP output unit by the IP retransmission unit and carries out buffer memory, arrives through the link layer output unit then and drives transmitting element, and send hardware by bottom and send.For the MPLS business, after going out buffer memory, also comprise adding the MPLS tag processes.
Transmit in the whole flow process, most of synchronization function call of using between transport layer and link layer can only be by single-threaded driving; And owing to do not isolate, it is very tight to be coupled between each forwarding business, and it is professional inner just to be deep into another one from a business, also might enter the 3rd business again, and wherein any one business goes wrong and all can have influence on other business; In addition, have a large amount of synchronization call between the business, cause forwarding plane very complicated, poor expandability increases a business, just must change original other business, so just increases the complexity of whole repeater system greatly.
Summary of the invention
The invention provides a kind of asynchronous forwarding method, system and equipment, reducing the coupling between each forwarding business, and well support the linear expansion of new business.
The embodiment of the invention provides a kind of asynchronous forwarding method, may further comprise the steps:
Each forwarding unit is provided with transmit queue respectively and receives formation according to different types of service;
The receiving unit of described forwarding unit is the asynchronous call packet from described reception formation, and transmission part asynchronous call packet from described transmit queue of described forwarding unit is transmitted.
The embodiment of the invention also provides a kind of asynchronous repeater system, comprises at least two forwarding units, and described each forwarding unit disposes respectively according to different types of service:
The transmit queue unit is used to store the packet that sends to the outside;
Transmitting element sends from described transmit queue unit asynchronous call packet;
Receive queue unit, be used to store the packet that receives from the outside;
Receiving element is from described reception queue unit asynchronous call packet.
The embodiment of the invention also provides a kind of forwarding unit, disposes respectively according to different types of service:
The transmit queue unit is used to store the packet that sends to the outside;
Transmitting element sends from described transmit queue unit asynchronous call packet;
Receive queue unit, be used to store the packet that receives from the outside;
Receiving element is from described reception queue unit asynchronous call packet.
In the embodiments of the invention, adopt asynchronous call, do not adopt direct function to call form between different business, but take formation to form, avoided direct function to call the tight association of bringing, make the minimizing that influences each other between business.
Description of drawings
Fig. 1 is a whole repeater system Organization Chart in the prior art;
Fig. 2 is the professional basic flow sheet of transmitting in the prior art;
Fig. 3 is the basic flow sheet of professional receiving unit in the prior art;
Fig. 4 is the professional basic flow sheet that sends part in the prior art;
Fig. 5 transmits equipment structure chart in the embodiment of the invention;
Fig. 6 is an asynchronous repeater system structure chart in the embodiment of the invention;
Fig. 7 is a kind of asynchronous forwarding method flow chart of the embodiment of the invention.
Embodiment
The embodiment of the invention provides a kind of asynchronous repeater system, as shown in Figure 5, comprises a plurality of forwarding units 100, and each forwarding unit 100 comprises: transmitting element 110, receiving element 120, transmit queue unit 130 and reception queue unit 140.130 asynchronous call packets send transmitting element 110 from the transmit queue unit; Receiving element 120 is from receiving queue unit 140 asynchronous call packets, and the packet in the reception queue unit 140 is from other forwarding unit.The packet that transmitting element 110 will send is directly stored in transmit queue unit 130, and/or stores the packet that other forwarding unit will be transmitted.Can comprise a plurality of transmit queues unit 130 and a plurality of reception queue unit 140 in the forwarding unit 100, can corresponding transmit queue unit is set and receive queue unit according to the type of service difference, the reception formation in forwarding unit be not necessarily complete corresponding with transmit queue.
Wherein, transmitting element 110 further comprises and sends allocation of packets subelement 111 and control sub unit 112 is called in transmission.Send allocation of packets that allocation of packets subelement 111 need send by other forwarding unit in the transmit queue unit of the forwarding unit of correspondence; Transmission is called control sub unit 112 and is called packet according to the stacked order or the priority of packet.Receiving element 120 further comprises and receives allocation of packets subelement 121 and control sub unit 122 is called in reception, receive allocation of packets subelement 121 packet is sent to the transmitting element of this forwarding unit, or send to the reception or the transmit queue unit of other forwarding unit; Reception is called control sub unit 122 and is called packet according to the stacked order or the priority of packet.
Forwarding unit can comprise polytype forwarding unit in the embodiment of the invention, for example: IPV4 forwarding unit, IPV6 forwarding unit, MPLS forwarding unit and tunnel forwarding unit.Be elaborated with system below, as shown in Figure 6 with above-mentioned several forwarding units.
At the IPV4 forwarding unit, IPV4 sends part asynchronous call packet from the transmit queue of IPV4, and need be sent in the corresponding formation by the packet that other forwarding unit sends, for example MPLS transmit queue and TUNNEL transmit queue; The IPV4 receiving unit receives asynchronous call packet the formation from IPV4, when the destination address of packet is this forwarding unit, to send to transport layer on this packet, otherwise, by searching route, this packet is sent to IPV4 transmit queue, MPLS transmit queue and/or TUNNEL receive formation.
At the IPV6 forwarding unit, IPV6 sends part asynchronous call packet from the transmit queue of IPV6, and need be sent in the corresponding formation by the packet that other forwarding unit sends, for example MPLS transmit queue and TUNNEL transmit queue; The IPV6 receiving unit receives asynchronous call packet the formation from IPV6, when the destination address of packet is this forwarding unit, will send to transport layer on this packet, otherwise, by searching route, this packet is sent to IPV6 transmit queue and/or MPLS transmit queue.
At the MPLS forwarding unit, MPLS sends asynchronous call packet in the transmit queue of part MPLS, and need be sent in the corresponding formation by the packet that other forwarding unit sends, for example the TUNNEL transmit queue; The MPLS receiving unit receives asynchronous call packet the formation from MPLS, this packet is sent to MPLS transmit queue, IPV4 reception formation and/or IPV6 receive formation.
At the TUNNEL forwarding unit, TUNNEL sends part asynchronous call packet from the transmit queue of TUNNEL, and need be sent in the corresponding formation by the packet that other forwarding unit sends, for example the IPV4 transmit queue; The TUNNEL receiving unit receives asynchronous call packet the formation from TUNNEL, this packet is sent to MPLS receive formation, IPV4 reception formation and/or IPV6 reception formation.
Remove the synchronization call between all business among Fig. 6 embodiment; Each business externally has only two formations: be to receive formation and transmit queue.Compare with prior art, a business again can not be goed deep into the professional inside of another one, has removed coupling between the business, does not understand mutually, and not perception does not influence.Therefore, increase or the reduction business all is easy to, can not have influence on the framework of whole repeater system, the user disposes required business according to own demand easily.
In addition, because same business also is divided into reception and sends two basic functions in the present embodiment, also realize asynchronous isolation between these two functions, receiving unit can't directly call the function that sends part, can only be by the formation asynchronization.Therefore, according to receiving and sending function realization forwarding asynchronization, can support same business is distributed to different threads.
Also have, in the embodiment of the invention, from vertical, forwarding, link layer, the asynchronous isolation of transport layer can drive different layers by different threads; From horizontal, different business, professional inner basic function have also realized asynchronous isolation, can use different thread type of drive.For example can use to send and the receiving thread mode, send thread and drive all professional parts that send, receiving thread drives all professional receiving units, can accomplish that like this inflow and outflow of transmitting is relatively more balanced; Can also use different threads to drive different business.Realized that multi-process drives the mode of transmitting, the basic function module executed in parallel just can be converted to parallel the forwarding from serial, the business of each forwarding and function are just as the machining cell on the production line, formed the processing data packets streamline jointly,, improved efficient compared with prior art.
The embodiment of the invention also provides a kind of asynchronous forwarding method, as shown in Figure 7, may further comprise the steps:
Step s701, each forwarding unit is provided with transmit queue respectively and receives formation, comprise in the forwarding unit that at least one transmit queue and at least one receive formation, can corresponding transmit queue is set and receive formation according to the type of service difference, the reception formation in forwarding unit be not necessarily complete corresponding with transmit queue.Wherein, the transmit queue storage need comprise by the packet of this forwarding unit transmission: the packet that this forwarding unit receiving unit will send, or the transmission of other forwarding unit part will be by the packet of this forwarding unit transmission; Receive the packet that this forwarding unit of queue stores need receive, comprising: the packet that the receiving unit of other forwarding unit receives.
Step s702, the receiving unit of forwarding unit is the asynchronous call packet from receive formation, and transmission part asynchronous call packet from transmit queue of forwarding unit is transmitted.Wherein, forwarding unit sends part or receiving unit calls packet in order from receive formation or transmit queue, or according to priority calls packet.
In the present embodiment, asynchronous forwarding method can be used in single-threaded and multithreading, adapts to following multinuclear and many CPU scene; Parallel forward mode, the pipeline data bag is handled, and is applied to multithreading, effectively improves forward efficiency; Removed coupling between each forwarding business, any one business all is containing, can not interact, and extensibility is good, has realized isolation between the business, and it is very simple to increase business, does not influence original system; Isolate between forwarding and transport layer, link layer, can support transport layer, link layer also is the situation of individual threads.
In addition, present embodiment can be operated according to priority when data fetch packet from formation, and professional transmission and reception can be adopted the conversion mode, not necessarily takes strict order to operate, and has improved the flexibility of system; And because asynchronous forwarding can be carried out the formation conversion, avoided the pop down chin-deep to take a large amount of expenses, and time for reading can't accurately be controlled.
More than disclosed only be several specific embodiment of the present invention, still, the present invention is not limited thereto, any those skilled in the art can think variation all should fall into protection scope of the present invention.

Claims (10)

1. an asynchronous forwarding method is characterized in that, may further comprise the steps:
Each forwarding unit is provided with transmit queue respectively and receives formation according to different types of service;
The receiving unit of described forwarding unit is the asynchronous call packet from described reception formation, and transmission part asynchronous call packet from described transmit queue of described forwarding unit is transmitted;
Described transmit queue storage needs the packet by the transmission of this forwarding unit, the packet that described this forwarding unit of reception queue stores receives;
Described forwarding unit sends part or receiving unit calls packet in order from described transmit queue or reception formation, or according to priority calls packet.
2. asynchronous forwarding method according to claim 1, it is characterized in that, the packet that described forwarding unit will send comprises: the packet that the receiving unit of described forwarding unit will send self, or the transmission of other forwarding unit beyond the described forwarding unit part packet that will send by described forwarding unit; The packet that described forwarding unit will receive comprises: the packet that the receiving unit of other forwarding unit beyond the described forwarding unit receives.
3. an asynchronous repeater system comprises at least two forwarding units, it is characterized in that, described each forwarding unit disposes respectively according to different types of service:
The transmit queue unit is used to store the packet that sends to the outside;
Transmitting element sends from described transmit queue unit asynchronous call packet;
Receive queue unit, be used to store the packet that receives from the outside;
Receiving element is from described reception queue unit asynchronous call packet;
The packet that described transmitting element will send is stored in described transmit queue unit, and/or stores the packet that other forwarding unit beyond the described forwarding unit will be transmitted;
Described transmitting element also comprises sending and calls control sub unit, calls packet according to stacked order or priority.
4. as asynchronous repeater system as described in the claim 3, it is characterized in that, described transmitting element further comprises transmission allocation of packets subelement, and the allocation of packets that need be sent by other forwarding unit beyond the described forwarding unit is to the transmit queue unit of corresponding forwarding unit.
5. as asynchronous repeater system as described in the claim 3, it is characterized in that, described receiving element further comprises reception allocation of packets subelement, packet is sent to the transmitting element of described forwarding unit, or send to the reception or the transmit queue unit of other forwarding unit beyond the described forwarding unit.
6. as asynchronous repeater system as described in the claim 5, it is characterized in that described receiving element comprises also receiving and call control sub unit that described reception is called control sub unit and called packet according to stacked order or priority.
7. a forwarding unit is characterized in that, disposes respectively according to different types of service:
The transmit queue unit is used to store the packet that sends to the outside;
Transmitting element sends from described transmit queue unit asynchronous call packet;
Receive queue unit, be used to store the packet that receives from the outside;
Receiving element is from described reception queue unit asynchronous call packet;
The packet that described transmitting element will send is stored in described transmit queue unit, and/or stores the packet that other forwarding unit beyond the described forwarding unit will be transmitted;
Described transmitting element also comprises sending and calls control sub unit, calls packet according to stacked order or priority.
8. as forwarding unit as described in the claim 7, it is characterized in that, described transmitting element further comprises transmission allocation of packets subelement, and the allocation of packets that need be sent by other forwarding unit beyond the described forwarding unit is to the transmit queue unit of corresponding forwarding unit.
9. as forwarding unit as described in the claim 7, it is characterized in that, described receiving element further comprises reception allocation of packets subelement, and packet is sent to the transmitting element of described forwarding unit, or sends to the reception or the transmit queue unit of other forwarding unit beyond the described forwarding unit.
10. as forwarding unit as described in the claim 9, it is characterized in that described receiving element comprises also receiving and call control sub unit that described reception is called control sub unit and called packet according to stacked order or priority.
CN2007100903982A 2007-04-10 2007-04-10 Asynchronous forwarding method, system and device Expired - Fee Related CN101035079B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100903982A CN101035079B (en) 2007-04-10 2007-04-10 Asynchronous forwarding method, system and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100903982A CN101035079B (en) 2007-04-10 2007-04-10 Asynchronous forwarding method, system and device

Publications (2)

Publication Number Publication Date
CN101035079A CN101035079A (en) 2007-09-12
CN101035079B true CN101035079B (en) 2010-04-21

Family

ID=38731391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100903982A Expired - Fee Related CN101035079B (en) 2007-04-10 2007-04-10 Asynchronous forwarding method, system and device

Country Status (1)

Country Link
CN (1) CN101035079B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716253A (en) * 2013-12-27 2014-04-09 广州华多网络科技有限公司 Method and device for requesting data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173772A (en) * 1996-07-13 1998-02-18 Gpt有限公司 Communication links for transmission of data in fixed size packets
CN1351784A (en) * 1999-03-05 2002-05-29 美商传威股份有限公司 Method and apparatus for managing multiple ATM cell queues
CN1761235A (en) * 2004-10-11 2006-04-19 中兴通讯股份有限公司 Remote transmission method of data in asynchronous serial port

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173772A (en) * 1996-07-13 1998-02-18 Gpt有限公司 Communication links for transmission of data in fixed size packets
CN1351784A (en) * 1999-03-05 2002-05-29 美商传威股份有限公司 Method and apparatus for managing multiple ATM cell queues
CN1761235A (en) * 2004-10-11 2006-04-19 中兴通讯股份有限公司 Remote transmission method of data in asynchronous serial port

Also Published As

Publication number Publication date
CN101035079A (en) 2007-09-12

Similar Documents

Publication Publication Date Title
US8369347B2 (en) Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics
US6337861B1 (en) Method and apparatus to properly route ICMP messages in a tag-switching network
CN100349443C (en) Method and apparatus for scheduling message processing
CN100568787C (en) Support the method and the device of Ethernet medium access control circuit
CA2338969C (en) Packet exchange and router and input packet processing method thereof
CN101695047B (en) Method and switch for realizing forwarding of dynamic tunnel message
EP0871309B1 (en) Router device and frame transfer method using datalink layer frame switching
EP1746781A1 (en) An access device and a service transmission method
CN1625176A (en) Realization method of edge to edge pseudo-line simulation protocol
CN102170386A (en) Achievement method and system as well as data packaging method for separation of identity and position
CN101656663B (en) Method, device and system for forwarding MPLS multicast message
CN101848168B (en) Target MAC (Media Access Control) address based flow control method, system and equipment
CN104283750A (en) Uniform link layer multi-protocol exchange method based on Ethernet bus
CN101459602A (en) Apparatus and method for transmitting management and control information in packet transmission network
CN102195844A (en) Method and equipment for managing forwarding table entry
CN101964719A (en) Data processing method based on operating/standby switch of master control boards, line card and master control boards
US9680740B2 (en) Service multiplexing and demultiplexing using a single pseudowire service/label switched path label in a multiprotocol label switching network
CN101035079B (en) Asynchronous forwarding method, system and device
EP2365667A1 (en) Data transfer apparatus and data transfer system
US20090225755A1 (en) Method And System For Forwarding An MPLS Packet
CN111131408B (en) FPGA-based network protocol stack architecture design method
CN103634213B (en) Message forwarding method
CN1925466A (en) Multi-protocol label exchanging transfer method and equipment
CN100512189C (en) Adapting device for resilient packet ring and method
CN113225376B (en) Ethernet frame and SDN data frame adapting method based on FPGA

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100421

Termination date: 20160410