WO2004075490A1 - Method for address table lookup - Google Patents

Method for address table lookup Download PDF

Info

Publication number
WO2004075490A1
WO2004075490A1 PCT/GB2004/000657 GB2004000657W WO2004075490A1 WO 2004075490 A1 WO2004075490 A1 WO 2004075490A1 GB 2004000657 W GB2004000657 W GB 2004000657W WO 2004075490 A1 WO2004075490 A1 WO 2004075490A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
router
packet
look
data
Prior art date
Application number
PCT/GB2004/000657
Other languages
French (fr)
Inventor
Jamieson Leigh Christmas
Original Assignee
Alps Electric (Uk) 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 Alps Electric (Uk) Ltd filed Critical Alps Electric (Uk) Ltd
Priority to EP04712100A priority Critical patent/EP1595366A1/en
Publication of WO2004075490A1 publication Critical patent/WO2004075490A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing

Definitions

  • This invention relates to routers. In particular, it relates to routers for routing Internet traffic.
  • This invention primarily relates to routers provided in the vicinity of an end terminal or local area network for routing traffic either to a local terminal, or to another node in the local area network or onward to external Internet addresses.
  • the bandwidth or speed of an Internet connection is usually determined by the size of the connection bandwidth but the actual bandwidth achieved is dependent upon, inter alia, the speed of the various components of the network.
  • One of the components that does tend to introduce delays, and therefore limit bandwidth, is a router.
  • a router for a local area network, or at a users terminal, receives data packets from the Internet and forwards them on to a users' terminal (generally a personal computer, PDA, interactive TN, mobile telephone and so on) the data is not intended for that address, it routes them onto another node in a local area network if the terminal is part of a local area network or onto another Internet node for onward distribution ultimately to another address on the Internet.
  • the router also directs outgoing signals from a terminal to nodes on the local area network or wider afield.
  • a typical TCP/IP data packet transmitted by an electronic system such as the Internet comprises several parts, transmitted serially.
  • the first part 1 (as received, from right to left in the figure) provides the IP address of the target, ie the address where the packet is destined for.
  • an IP address comprises four parts in the form A.B.C.D, where A, B, C or D may be any value between 0 and 255. This represents the unique address of the device or terminal and is generally geographical.
  • the subsequent part of the TCP/IP packet represents the originating address or 'from' address 2. This is then followed by the binary data itself 3 which is typically up to 65 Kb and this then followed by various error correction information 4.
  • router designs require an entire packet to be received by the router, which can take time in itself.
  • the router analyses the entire packet to determine the target address and uses various techniques to determine whether the data is intended for a local terminal, a local node or for onward transmission.
  • the packet is then reassembled and transmitted onwards accordingly. All of this takes time and is complex. Whilst it is adequate for slower bandwidth systems, it begins to become a problem if a higher bandwidth system are required.
  • very high bandwidth may be obtained of 600 Mb/s or more and it is particularly important in these very high bandwidth systems that the router does not introduce bottlenecks or delays.
  • the present invention arose in an attempt to provide an improved router, particularly for high bandwidth systems.
  • a router comprising means for receiving data packets; means for sampling an address portion of the data packet before the packet enters the router; hardware look-up means for comparing the address with a look-up table while the packet is being entered into the router and means for establishing an onward transmission path to a local terminal or other node depending upon the results of the look ⁇
  • a router comprising means for inputting a data packet; means for sampling and/or separating an addressed portion of the packet before it enters the router; means for establishing the next destination for the packet before or whilst the data packet is being loaded into the router and means for onwardly transmitting the packet, with address data, accordingly.
  • the invention comprises at least one means for receiving a data packet; means for extracting an address from the packet; memory means for storing and subsequently transmitting the packet to a programmable logic device; means for receiving the sample for simultaneously receiving the sampled address data and comparing this with previously stored address data indicative of local and other transmission nodes; means for determining an onward transmission address for the data packet depending upon the results of the look-up, and two or more transmission ports, to which the packet is subsequently transmitted depending upon the look-up result.
  • the temporary memory means comprises first in first out (FIFO) means.
  • FIFO first in first out
  • the look-up table preferably comprises IP address information. If the sampled address differed in other than a local part, then the packet is automatically transferred to a suitable output port where it can be ultimately transferred outwards to the Internet.
  • the programmable logic device may alternatively comprise a plurality of selected memories, where subsequent ones of subsequent packets of data are applied to each memory in turn whilst the address data for that packet is analysed.
  • the invention further provides a router including means for extracting a target address of a data packet, comparing it to a local address, selecting an onward path based on the comparison, and routing the packet to an output in accordance with the selection.
  • a router including a plurality of memories into which data packets are temporarily stored.
  • Figure 1 shows a router
  • Figure 2 shows a packet of data
  • Figure 3 shows an alternative router
  • Figure 4 shows a mesh network of nodes
  • FIG. 5 is an explanatory diagram
  • Figure 6 shows a look-up means
  • Figure 1 shows a router arrangement at or in the vicinity of an end user who has a terminal 10 and a data output 11 (such as a modem, Ethernet port, etc) and input 12 for receiving data from the Internet.
  • a routing arrangement comprises a router 13 in the form of a programmable logic device and receiving inputs from the output 11 from the computer and also from at least one data receiver 14, 15. These are adapted to receive signals over telephone lines or wirelessly, or may be optical receivers for optical network or optical mesh networks, as described in a co-pending patent application of the applicant.
  • three inputs 11, 14 and 15 are shown to the router but more or less than this may be used.
  • Each of the inputs are connected to the router by means of a first respective device 16, 17 or 18 which serves to copy, or sample (i.e. extract), the initial target address part of a data packet.
  • a data packet on the Internet has a first part which represents the target address in IP format.
  • the signal is passed to a respective temporary memory 19, 20, 21, preferably in the form of respective FIFO devices which receive each packet and then transmits them, in the order received, to the router 13.
  • the PLD 13 includes a RAM 22 into which received data is stored and transmits data to a selected one of two or more transmitters 23, 24 and 12. Note that transmitter 12 is actually the input to the local terminal so that a data packet intended for the local terminal is 'transmitted' to that terminal.
  • Each transmitter is connected through a respective FIFO RAM 26, 27, 28.
  • the sample or separated address data is supplied to a programmable logic device 29 which receives data from a look-up table stored in a RAM 30.
  • the target address part of it is copied at 16 and transmitted to the PLD.
  • the remainder of the packet is then passed to the FIFO.
  • the PLD 29 compares the received address (which is in IP format A.B.C.D.) with local address data stored in the RAM.
  • each part of the address Ai.Bi.Ci.Di. is compared with the local address A -B L -C -D .
  • the local address is 10.53.6.259
  • the target address is 10.53.6.231
  • the different value of the Target Address 231 is then sent to the RAM 30.
  • the RAM includes a look-up table which provides a code, typically an eight bit digital number, in response to an inputted number. For example, the number, in response to entered address 231, is 10110010. As shown in the figure, each pair of digits of this number represents routing information for a difference in a different one of the groups A, B, C and D of the four part IP address A.B.C.D.
  • the PLD knowing that the difference is in part D (generally, the most local part), therefore uses the last two digits, 10, of the eight bit number N. It contains data that maps binary 10 with an outport Port 2, eg Tx23.
  • the value 231 would again be sent to the RAM 30.
  • the same eight bit number would be output but the digits used by the PLD 29 to determine the routing information would be
  • part of the local Target Address is analysed, each part at a time, first at part A. If different, then the 'A' address is transmitted to the RAM, and no further comparison need be done on the address. If the 'A' part is the same, then the 'B' address is compared. If different, then the 'B' value is forwarded to the RAM. If the same, then the 'C part is compared, and so on. If all parts are the same, then the Target Address is the local address and the data packet can be routed directly to the local terminal.
  • a local network or mesh is shown and in this example eight nodes are shown, having addresses from 00000001 to 00001000 and node 00001000 has a direct connection to the Internet. If a data packet arrives at node 110 and, after the comparison, the address at parts A, B and C of the TCP/IP routing address structure differ, then the packet is deemed to be intended for a further destination on the Internet and so is routed to a transmitter which is directly connected to the Internet, this may be for example transmitter 24 in Figure 1.
  • the group D value is compared with the PLD and RAM are used as above and the PLD is provided with routing information representative of the respective transmitter 23 or 24, representative of paths Pi and P 2 from node A in the figure. So, if the address at node A is 00000100 and the destination address is 0000011 l(node B), then the PLD and look-up tabLe provides information that the packet must be passed to the relevant transmitter that transmits over path PI (note that the routing system described is particularly useful for optical mesh systems having a plurality of transmitters and receivers as described in the applicant's co-pending application no .).
  • the look-up table includes information that this must be sent on a different transmission path, P2. If the destination address is 00000100, ie node D, then the quickest transmission path from node A to node D is via node B. The look-up table therefore contains information that the message must be routed on path PI to node B. At node B, a different look-up table is provided. The PLD and look-up table knows that the packet must be passed on path P3.
  • the RAM 22 may be 24 bit or 32 bit, for example.
  • FIG. 3 shows an alternative embodiment of a router.
  • the RAM within the router is divided into four (or more) units, RAM A, RAM B, RAM C and RAM D.
  • each data packet arrives its address can be separated off as before and analysed at the PLD 39.
  • This has an associated RAM 40 which again includes a look- up table as before.
  • Each data packet is then stored in a respect one of the different rams, RAM A to RAM D.
  • Two flags are associated with each separate RAM module. These operate as follows.
  • flag A essentially represents that RAM has data stored in it and flag B represents processing of that data.
  • the flags are used to determine which RAM a subsequent packet of data from any receiver 41, 42 or 43 may use so that as data is being processed in one RAM it can be stored into the next RAM. In effect, therefore, 01 loading for any RAM, flag section, represents 'a state' , 11 represents 'loaded', 10 represents 'unloading' and 00 represents empty. Other means of representing different states may be used. Instead of the address part being separated before the router, an arrangement as shown in Figure 3 may be used in which the address part is extracted after a packet end is loaded into each RAM.
  • the CPLD then chooses a memory area and after the data is loaded into the memory area, or while the packet is being loaded therein (since it is a FIFO device the beginning of a message can be extracted whilst the end is still being stored) the CPLD extracts the address and analyses it for the best route as described. The CPLD then forwards a (typically 8 bit) location word to an output part of the router which determines the best output for transmitting.
  • QoS quality of service
  • PLD 39 data representative of this is included in the packet and this is analysed by PLD 39. This may then be transmitted directly to a faster transmitter, or if several packets are being received, the one with the higher QoS may be transmitted onward before the one with lower QoS. This can involved deliberately delaying the slower one by retaining it in its separate RAM longer. Many other factors may be analysed.

Abstract

A router comprising means for receiving data packets; means for sampling an address portion of the data packet before the packet enters the router; hardware look-up means for comparing the address with a look-up table while the packet is being entered into the router and means for establishing an onward transmission path to a local terminal or other node depending upon the results of the look-up. The look-up process uses a very quick, efficient way of comparing different parts of an address with respective parts of a local address, to rapidly generate routing data.

Description

METHOD FOR ADDRESS ABLE OOKUP
This invention relates to routers. In particular, it relates to routers for routing Internet traffic. This invention primarily relates to routers provided in the vicinity of an end terminal or local area network for routing traffic either to a local terminal, or to another node in the local area network or onward to external Internet addresses.
The bandwidth or speed of an Internet connection is usually determined by the size of the connection bandwidth but the actual bandwidth achieved is dependent upon, inter alia, the speed of the various components of the network. One of the components that does tend to introduce delays, and therefore limit bandwidth, is a router. A router, for a local area network, or at a users terminal, receives data packets from the Internet and forwards them on to a users' terminal (generally a personal computer, PDA, interactive TN, mobile telephone and so on) the data is not intended for that address, it routes them onto another node in a local area network if the terminal is part of a local area network or onto another Internet node for onward distribution ultimately to another address on the Internet. The router also directs outgoing signals from a terminal to nodes on the local area network or wider afield.
Referring to Figure 2, a typical TCP/IP data packet transmitted by an electronic system such as the Internet comprises several parts, transmitted serially. The first part 1 (as received, from right to left in the figure) provides the IP address of the target, ie the address where the packet is destined for. As is well-known, under present Internet protocol, an IP address comprises four parts in the form A.B.C.D, where A, B, C or D may be any value between 0 and 255. This represents the unique address of the device or terminal and is generally geographical. The subsequent part of the TCP/IP packet represents the originating address or 'from' address 2. This is then followed by the binary data itself 3 which is typically up to 65 Kb and this then followed by various error correction information 4.
Presently known router designs require an entire packet to be received by the router, which can take time in itself. The router then analyses the entire packet to determine the target address and uses various techniques to determine whether the data is intended for a local terminal, a local node or for onward transmission. The packet is then reassembled and transmitted onwards accordingly. All of this takes time and is complex. Whilst it is adequate for slower bandwidth systems, it begins to become a problem if a higher bandwidth system are required.
For an optical system of data transmission, very high bandwidth may be obtained of 600 Mb/s or more and it is particularly important in these very high bandwidth systems that the router does not introduce bottlenecks or delays. The present invention arose in an attempt to provide an improved router, particularly for high bandwidth systems.
According to the present invention there is provided a router comprising means for receiving data packets; means for sampling an address portion of the data packet before the packet enters the router; hardware look-up means for comparing the address with a look-up table while the packet is being entered into the router and means for establishing an onward transmission path to a local terminal or other node depending upon the results of the look¬
up.
According to the present invention there is further provided a router comprising means for inputting a data packet; means for sampling and/or separating an addressed portion of the packet before it enters the router; means for establishing the next destination for the packet before or whilst the data packet is being loaded into the router and means for onwardly transmitting the packet, with address data, accordingly.
Preferably, the invention comprises at least one means for receiving a data packet; means for extracting an address from the packet; memory means for storing and subsequently transmitting the packet to a programmable logic device; means for receiving the sample for simultaneously receiving the sampled address data and comparing this with previously stored address data indicative of local and other transmission nodes; means for determining an onward transmission address for the data packet depending upon the results of the look-up, and two or more transmission ports, to which the packet is subsequently transmitted depending upon the look-up result.
Preferably, the temporary memory means comprises first in first out (FIFO) means.
The look-up table preferably comprises IP address information. If the sampled address differed in other than a local part, then the packet is automatically transferred to a suitable output port where it can be ultimately transferred outwards to the Internet.
The programmable logic device may alternatively comprise a plurality of selected memories, where subsequent ones of subsequent packets of data are applied to each memory in turn whilst the address data for that packet is analysed.
The invention further provides a router including means for extracting a target address of a data packet, comparing it to a local address, selecting an onward path based on the comparison, and routing the packet to an output in accordance with the selection.
There is also provided a router including a plurality of memories into which data packets are temporarily stored.
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 shows a router;
Figure 2 shows a packet of data; Figure 3 shows an alternative router;
Figure 4 shows a mesh network of nodes;
Figure 5 is an explanatory diagram; and
Figure 6 shows a look-up means.
Figure 1 shows a router arrangement at or in the vicinity of an end user who has a terminal 10 and a data output 11 (such as a modem, Ethernet port, etc) and input 12 for receiving data from the Internet. A routing arrangement comprises a router 13 in the form of a programmable logic device and receiving inputs from the output 11 from the computer and also from at least one data receiver 14, 15. These are adapted to receive signals over telephone lines or wirelessly, or may be optical receivers for optical network or optical mesh networks, as described in a co-pending patent application of the applicant. In the figure, three inputs 11, 14 and 15 are shown to the router but more or less than this may be used. Each of the inputs are connected to the router by means of a first respective device 16, 17 or 18 which serves to copy, or sample (i.e. extract), the initial target address part of a data packet. Usually the extraction will involve coping the address. It will be recalled from above, that a data packet on the Internet has a first part which represents the target address in IP format. From this, the signal is passed to a respective temporary memory 19, 20, 21, preferably in the form of respective FIFO devices which receive each packet and then transmits them, in the order received, to the router 13. The PLD 13 includes a RAM 22 into which received data is stored and transmits data to a selected one of two or more transmitters 23, 24 and 12. Note that transmitter 12 is actually the input to the local terminal so that a data packet intended for the local terminal is 'transmitted' to that terminal. Each transmitter is connected through a respective FIFO RAM 26, 27, 28.
The sample or separated address data is supplied to a programmable logic device 29 which receives data from a look-up table stored in a RAM 30.
In operation, when a data packet arrives at, say, receiver 14 the target address part of it is copied at 16 and transmitted to the PLD. The remainder of the packet is then passed to the FIFO. The PLD 29 then compares the received address (which is in IP format A.B.C.D.) with local address data stored in the RAM.
As shown in Figure 6, each part of the address Ai.Bi.Ci.Di. is compared with the local address A -BL-C -D . Thus, if the local address is 10.53.6.259, and the target address is 10.53.6.231, then the comparison is as follows:
Local Address 10.53.6.259
Target Address 10.53.6.231 subtract 0. 0. 0. * = DIFFERENT
The different value of the Target Address 231 is then sent to the RAM 30.
The RAM includes a look-up table which provides a code, typically an eight bit digital number, in response to an inputted number. For example, the number, in response to entered address 231, is 10110010. As shown in the figure, each pair of digits of this number represents routing information for a difference in a different one of the groups A, B, C and D of the four part IP address A.B.C.D.
The PLD, knowing that the difference is in part D (generally, the most local part), therefore uses the last two digits, 10, of the eight bit number N. It contains data that maps binary 10 with an outport Port 2, eg Tx23.
If the difference had been in group C, ie say the Target Address was 10.65.231.259, then the value 231 would again be sent to the RAM 30. The same eight bit number would be output but the digits used by the PLD 29 to determine the routing information would be
those labelled CC, ie 00.
In general, part of the local Target Address is analysed, each part at a time, first at part A. If different, then the 'A' address is transmitted to the RAM, and no further comparison need be done on the address. If the 'A' part is the same, then the 'B' address is compared. If different, then the 'B' value is forwarded to the RAM. If the same, then the 'C part is compared, and so on. If all parts are the same, then the Target Address is the local address and the data packet can be routed directly to the local terminal.
Similar methods may be used for other transmission protocols, as will be appreciated.
Referring to Figure 4, a local network or mesh is shown and in this example eight nodes are shown, having addresses from 00000001 to 00001000 and node 00001000 has a direct connection to the Internet. If a data packet arrives at node 110 and, after the comparison, the address at parts A, B and C of the TCP/IP routing address structure differ, then the packet is deemed to be intended for a further destination on the Internet and so is routed to a transmitter which is directly connected to the Internet, this may be for example transmitter 24 in Figure 1. If it differs only at group D, ie is a local address, then the group D value is compared with the PLD and RAM are used as above and the PLD is provided with routing information representative of the respective transmitter 23 or 24, representative of paths Pi and P2 from node A in the figure. So, if the address at node A is 00000100 and the destination address is 0000011 l(node B), then the PLD and look-up tabLe provides information that the packet must be passed to the relevant transmitter that transmits over path PI (note that the routing system described is particularly useful for optical mesh systems having a plurality of transmitters and receivers as described in the applicant's co-pending application no ....). If the destination address is 00000110, representing node C, then the look-up table includes information that this must be sent on a different transmission path, P2. If the destination address is 00000100, ie node D, then the quickest transmission path from node A to node D is via node B. The look-up table therefore contains information that the message must be routed on path PI to node B. At node B, a different look-up table is provided. The PLD and look-up table knows that the packet must be passed on path P3.
Accordingly, a very simple and quick look-up method in which only quickly calculated differences in IP numbers are used to calculate different numbers which are directly used in a look-up table, is used to determine routing address.
The RAM 22 may be 24 bit or 32 bit, for example.
Figure 3 shows an alternative embodiment of a router. The RAM within the router is divided into four (or more) units, RAM A, RAM B, RAM C and RAM D.
In this system, as each data packet arrives its address can be separated off as before and analysed at the PLD 39. This has an associated RAM 40 which again includes a look- up table as before. Each data packet is then stored in a respect one of the different rams, RAM A to RAM D. Two flags are associated with each separate RAM module. These operate as follows.
When a data packet enters receiver RX 41 the receiver is connected to RAM A which receives the data and one of the flags, say flag B, is set to a value 1. So that at this stage, a first flag A is at 0 and flag B is at 1. The PLD then makes a direct connection to RAM 1 and sets flag A to read ON(l) so that at this stage flag A and flag B are both at level 1 or ON. The PLD then compares the address with the stored home address as before and gets a value from its RAM 40. The PLD sends information to the router which determines which transmitter is to be used and the packet from RAM A is then transmitted to this transmitter. At this time flag B is reset so that at this time flag A represents 1 and flag B represents 0. Finally, once all the data has been sent to transmitter Tx then flag A is reset so that both flags A and B are 0. This is shown schematically min Figure 5.
Accordingly, flag A essentially represents that RAM has data stored in it and flag B represents processing of that data.
The flags are used to determine which RAM a subsequent packet of data from any receiver 41, 42 or 43 may use so that as data is being processed in one RAM it can be stored into the next RAM. In effect, therefore, 01 loading for any RAM, flag section, represents 'a state' , 11 represents 'loaded', 10 represents 'unloading' and 00 represents empty. Other means of representing different states may be used. Instead of the address part being separated before the router, an arrangement as shown in Figure 3 may be used in which the address part is extracted after a packet end is loaded into each RAM. In this case, the data is loaded, the CPLD then chooses a memory area and after the data is loaded into the memory area, or while the packet is being loaded therein (since it is a FIFO device the beginning of a message can be extracted whilst the end is still being stored) the CPLD extracts the address and analyses it for the best route as described. The CPLD then forwards a (typically 8 bit) location word to an output part of the router which determines the best output for transmitting.
By using a number of RAMs as shown schematically in Figure 3, it is possible to analyse the data whilst stored in RAM. Parts of the data, other than the address part, may be analysed and this can be used to determine various useful aspects of the signal. For example, quality of service (QoS) data can be sent with the packet and this data can also be used to determine the route by which the packet is retransmitted. Accordingly, if a user pays a higher subscription rate for better quality of service, then data representative of this is included in the packet and this is analysed by PLD 39. This may then be transmitted directly to a faster transmitter, or if several packets are being received, the one with the higher QoS may be transmitted onward before the one with lower QoS. This can involved deliberately delaying the slower one by retaining it in its separate RAM longer. Many other factors may be analysed.

Claims

1. A router comprising means for receiving data packets; means for sampling an address portion of the data packet before the packet enters the router; hardware look-up means for comparing the address with a look-up table while the packet is being entered into the router and means for establishing an onward transmission path to a local terminal or other node depending upon the results of the look-up.
2. A router as claimed in Claim 1, wherein the look-up means compares the address with a local address.
3. A router as claimed in Claim 2, wherein the look-up means compares the address in parts, with each respective part of the local address and, once a difference is noted, provides routing information based on this.
4. A router as claimed in Claim 1, wherein a difference value is used to generate a number, different digits of which relate to different routing information depending upon which part of the target address differs from the local address.
5. A router comprising means for inputting a data packet; means for sampling and/or separating an addressed portion of the packet before it enters the router; means for establishing the next destination for the packet before or whilst the data packet is being loaded into the router and means for onwardly transmitting the packet, with address data, accordingly.
6. A router as claimed in Claim 3, comprising at least one means for receiving a data packet; means for extracting an address from the packet; memory means for storing and subsequently transmitting the packet to a programmable logic device; means for receiving the address data and comparing this with previously stored address data indicative of local and other transmission nodes; means for determining an onward transmission address for the data packet depending upon the results of the look-up, and two or more transmission ports, to which the packet is subsequently transmitted depending upon the look-up result.
7. A router as claimed in any preceding claim, wherein the temporary memory means comprises first in first out (FIFO) means.
8. A router as claimed in any preceding claim, wherein the look-up table comprises IP address information.
9. A router as claimed in any preceding claim, including a plurality of memories, packets of data being loaded into respective ones of the memories from one or more inputs, and including means for allocating packets to memories.
10. A router as claimed in Claim 9, including flag means for indicating one or more of the states LOADING, LOADED, UNLOADING and EMPTY for each memory.
11. A router including means for extracting a target address of a data packet, comparing it to a local address, selecting an onward path based on the comparison, and routing the packet to an output in accordance with the selection.
12. A router as claimed in Claim 11, wherein the look-up means compares the address in parts, with each respective part of the local address and, once a difference is noted, provides routing information based on this.
13. A router as claimed in Claim 12, wherein a difference value is used to generate a number, different digits of which relate to different routing information depending upon which part of the target address differs from the local address.
14. A router including a plurality of memories into which data packets are temporarily stored.
15. A router substantially as hereinafter described was reference to, and as illustrated by, the accompanying drawings.
PCT/GB2004/000657 2003-02-22 2004-02-18 Method for address table lookup WO2004075490A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04712100A EP1595366A1 (en) 2003-02-22 2004-02-18 Method for address table lookup

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0304044.1 2003-02-22
GB0304044A GB2398700A (en) 2003-02-22 2003-02-22 Sampling address portion of packet before it enters a router

Publications (1)

Publication Number Publication Date
WO2004075490A1 true WO2004075490A1 (en) 2004-09-02

Family

ID=9953462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2004/000657 WO2004075490A1 (en) 2003-02-22 2004-02-18 Method for address table lookup

Country Status (3)

Country Link
EP (1) EP1595366A1 (en)
GB (1) GB2398700A (en)
WO (1) WO2004075490A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333438A (en) * 2005-04-28 2006-12-07 Fujitsu Ten Ltd Gateway apparatus and routing method
JP2007166302A (en) 2005-12-14 2007-06-28 Denso Corp On-board network repeater
JP4804307B2 (en) 2006-10-27 2011-11-02 富士通テン株式会社 Gateway apparatus and transfer control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598410A (en) * 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
JPH0998189A (en) * 1995-09-29 1997-04-08 Toshiba Corp Network repeater system
US6791947B2 (en) * 1996-12-16 2004-09-14 Juniper Networks In-line packet processing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AWEYA J: "IP ROUTER ARCHITECTURES: AN OVERVIEW", INTERNATIONAL JOURNAL OF COMMUNICATION SYSTEMS, WILEY, CHICHESTER, GB, vol. 14, no. 5, June 2001 (2001-06-01), pages 447 - 475, XP008017416, ISSN: 1074-5351 *
GUPTA P ET AL: "ROUTING LOOKUPS IN HARDWARE AT MEMORY ACCESS SPEEDS", PROCEEDINGS OF THE IEEE INFOCOM '98. THE CONFERENCE ON COMPUTER COMMUNICATIONS. 17TH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETY. GATEWAY TO THE 21ST CENTURY. SAN FRANCISCO, CA, MARCH 29 - APRIL 2, 1998, PROCEEDINGS IEEE I, vol. VOL. 3, 29 March 1998 (1998-03-29), pages 1240 - 1247, XP002901791, ISBN: 0-7803-4384-0 *
R. BREYER ET AL.: "Switched, fast and gigabit Ethernet", 1999, MACMILLAN TECHNICAL PUBLISHING, USA, XP002286959 *

Also Published As

Publication number Publication date
GB0304044D0 (en) 2003-03-26
GB2398700A (en) 2004-08-25
EP1595366A1 (en) 2005-11-16

Similar Documents

Publication Publication Date Title
US7218632B1 (en) Packet processing engine architecture
US5487064A (en) Network layer packet structure
US5495426A (en) Inband directed routing for load balancing and load distribution in a data communication network
US5469432A (en) High-speed digital communications network
US5596574A (en) Method and apparatus for synchronizing data transmission with on-demand links of a network
US7593406B2 (en) Multi-layered packet processing device
US5452296A (en) Asynchronous transfer mode communication system
US5910955A (en) Switching hub capable of controlling communication quality in LAN
CN1038891C (en) Distributed processing of route selection across networks and subnetworks
JP2530313B2 (en) Self-routing packet including stage address identification field
US6683885B1 (en) Network relaying apparatus and network relaying method
US20030007489A1 (en) Data extraction system for packet analysis
CN100473054C (en) Network device and method for disposing grouping
US6212185B1 (en) Multiple network address resolution
JP2000253058A (en) Transfer destination decision processor
US5434855A (en) Method and apparatus for selective interleaving in a cell-switched network
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
US8050262B2 (en) System and method for parsing frames
US20030185215A1 (en) Encapsulation method and apparatus for communicating fixed-length data packets through an intermediate network
US6147991A (en) Scalable high speed packet switch using packet diversion through dedicated channels
CA2371037C (en) A node and method for the removal of expired packets from a communication network
US6466578B1 (en) Scaleable data network router
CA2278447A1 (en) Method and apparatus to translate data streams among multiple parties
US20040052256A1 (en) Method for transmitting data packets in a cellular communication network
US5740172A (en) Method for searching a packet transmission path in a broadband information and communication system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004712100

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004712100

Country of ref document: EP