US5920566A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Routing in a multi-layer distributed network element
Assignee: Oracle America Inc
•
Filing: 1997-06-30
•
Granted: 1999-07-06
•
Expires: 2017-06-30
Abstract
Abstract A multi-layer distributed network element for relaying packets according to known routing protocols. A distributed architecture of multiple subsystems delivers routing at wire-speed performance across subnetworks. Each subsystem includes a forwarding memory and an associated memory and is configured to identify unicast and multicast packets for routing purposes, modify the packets in hardware, including replace VLAN information, and forward the packets to the next hop. The routing decisions are made in the inbound subsystem, and packets are forwarded, if necessary given the network topology, through a separate outbound subsystem.
Inventors
- 👤 Ariel Hendel
- 👤 Shimon Muller
- 👤 William T. Zaumen
- 👤 Louise Yeung
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 19:15
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/28; H04L12/46; H04L12/4641; H04L12/4645; H04L45/00; H04L45/60; H04L49/00; H04L49/60; H04L49/602
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
197 words
In a network element for receiving and forwarding packets between nodes, the network element having first and second subsystems coupled by an internal link, the subsystems having separate first and second forwarding memories, respectively, a method for relaying packets comprising the steps of: receiving a packet by the first sub-system, the packet having a first header portion; determining whether the packet should be forwarded in accordance with a routing protocol in response to parsing the first header portion of the packet; searching the first forwarding memory for a first entry that matches a second header portion of the packet; replacing part of the first header portion of the packet with a next hop address in response to the second header portion of the packet matching the first entry, the next hop address being associated with the first entry, the next hop address being an address of a neighbor node; sending the packet having the next hop address to the second subsystem through the internal link; and forwarding the packet to the neighbor node in response to matching the next hop address in the first header portion of the packet with an entry in the second forwarding memory.
Claim 2
Dependent Claim
197 words
In a network element for receiving and forwarding packets between nodes, the network element having first and second subsystems coupled by an internal link, the subsystems having separate first and second forwarding memories, respectively, a method for relaying packets comprising the steps of: receiving a packet by the first sub-system, the packet having a first header portion; determining whether the packet should be forwarded in accordance with a routing protocol in response to parsing the first header portion of the packet; searching the first forwarding memory for a first entry that matches a second header portion of the packet; replacing part of the first header portion of the packet with a next hop address in response to the second header portion of the packet matching the first entry, the next hop address being associated with the first entry, the next hop address being an address of a neighbor node; sending the packet having the next hop address to the second subsystem through the internal link; and forwarding the packet to the neighbor node in response to matching the next hop address in the first header portion of the packet with an entry in the second forwarding memory.
Claim 3
Dependent Claim
28 words
A method as in claim 1 wherein the first header portion comprises a Layer 2 destination address, and the second header portion comprises a Layer 3 destination address.
Claim 4
Dependent Claim
32 words
A method as in claim 1 wherein the step of determining whether the packet should be forwarded includes determining whether the first header portion matches an address assigned to the network element.
Claim 5
Dependent Claim
64 words
A method as in claim 1 further comprising sending a control signal to the second subsystem over the internal link in response to the second header portion matching the first entry; and prior to forwarding the packet replacing part of a third header portion of the packet with an address of the second subsystem in response to the second subsystem receiving the control signal.
Claim 6
Dependent Claim
17 words
A method as in claim 4 wherein the third header portion comprises a Layer 2 source address.
Claim 7
Dependent Claim
52 words
A method as in claim 1, wherein the step of: sending the packet to the second subsystem includes the step of sending the packet to an internal port of the first subsystem, the internal port coupling the internal link, the internal port being identified by a value associated with the first entry.
Claim 8
Dependent Claim
40 words
A method as in claim 4 wherein the step of: replacing a third header portion of the first packet includes replacing part of the third header portion with a L2 address of a second external port in the second subsystem.
Claim 9
Dependent Claim
51 words
A method as in claim 1 further comprising the step of: updating a time to live field of the packet in response to determining by the first subsystem that the packet be forwarded in accordance with a routing protocol; and compensating a header checksum of the packet by the first subsystem.
Claim 10
Dependent Claim
35 words
A method as in claim 4 further comprising the step of: computing a cyclic redundancy code (CRC) of the packet by the second subsystem after replacing part of the third header portion of the packet.
Claim 11
Dependent Claim
38 words
A method as in claim 4 further comprising the step of: inserting a Virtual local area network IDentification (VID) of the second subsystem into the packet in response to receiving a NEW TAG notification over the internal link.
Claim 12
Dependent Claim
168 words
A network element for receiving and forwarding multicast packets between nodes, comprising: first subsystem having a first forwarding memory, the first subsystem configured to determine whether a multicast packet should be multicast routed based upon a first entry in the first forwarding memory matching a header portion of the packet, the first subsystem further including a multicast route indication associated with the first entry; second subsystem having a second forwarding memory being separate from the first forwarding memory, the second forwarding memory including a second entry; and an internal link coupling the first and second subsystems for passing the multicast packet from the first subsystem to the second subsystem, wherein the second subsystem is configured to forward a plurality of packets to a plurality of neighbor nodes in response to receiving the multicast packet over the internal link, the second entry matching the header portion of the packet, and replacing a third header portion of each of the plurality of packets with an address of the second subsystem.
Claim 13
Dependent Claim
168 words
A network element for receiving and forwarding multicast packets between nodes, comprising: first subsystem having a first forwarding memory, the first subsystem configured to determine whether a multicast packet should be multicast routed based upon a first entry in the first forwarding memory matching a header portion of the packet, the first subsystem further including a multicast route indication associated with the first entry; second subsystem having a second forwarding memory being separate from the first forwarding memory, the second forwarding memory including a second entry; and an internal link coupling the first and second subsystems for passing the multicast packet from the first subsystem to the second subsystem, wherein the second subsystem is configured to forward a plurality of packets to a plurality of neighbor nodes in response to receiving the multicast packet over the internal link, the second entry matching the header portion of the packet, and replacing a third header portion of each of the plurality of packets with an address of the second subsystem.
Claim 14
Dependent Claim
18 words
A network element as in claim 11 wherein the first and second entries each comprises network layer addresses.
Claim 15
Dependent Claim
26 words
A network element as in claim 11 wherein the third header portion of each of the plurality of packets comprises a data link layer source address.
Claim 16
Dependent Claim
37 words
A network element as in claim 11 wherein the second subsystem receives a second control signal over the internal link from the first subsystem, in response to which a search of the second forwarding memory is conducted.
Claim 17
Dependent Claim
22 words
A network element as in claim 14 wherein the search results in the second entry matching the header portion of the packet.
Claim 18
Dependent Claim
27 words
A network element as in claim 11 wherein the internal link is further configured to pass queuing priority information from the first subsystem to the second subsystem.
Claim 19
Dependent Claim
49 words
A network element as in claim 14 wherein the search results in a third entry matching the header portion, the second subsystem further including a third control indication associated with the third entry in response to which the second subsystem overrides queuing priority indication received from the first subsystem.
Claim 20
Dependent Claim
157 words
A router comprising: first subsystem having a first forwarding memory, the first subsystem determines whether a received packet should be routed based upon a first header portion of the packet matching an address of the router; second subsystem having a second forwarding memory being separate from the first forwarding memory; and an internal link coupling the first and second subsystems, the first subsystem replaces part of the first header portion with a next hop address in response to matching a second header portion of the packet with a first entry in the first forwarding memory, the next hop address being an address of a neighbor node, the first subsystem sending the packet with the next hop address to the second subsystem over the internal link, and the second subsystem forwards the packet to the neighbor node in response to the next hop address in the first header portion matching a second entry in the second forwarding memory.
Claim 21
Dependent Claim
157 words
A router comprising: first subsystem having a first forwarding memory, the first subsystem determines whether a received packet should be routed based upon a first header portion of the packet matching an address of the router; second subsystem having a second forwarding memory being separate from the first forwarding memory; and an internal link coupling the first and second subsystems, the first subsystem replaces part of the first header portion with a next hop address in response to matching a second header portion of the packet with a first entry in the first forwarding memory, the next hop address being an address of a neighbor node, the first subsystem sending the packet with the next hop address to the second subsystem over the internal link, and the second subsystem forwards the packet to the neighbor node in response to the next hop address in the first header portion matching a second entry in the second forwarding memory.
Claim 22
Dependent Claim
30 words
A router as in claim 18 wherein the address of the network element is a layer 2 address of an external port of the first subsystem that receives the packet.
Claim 23
Dependent Claim
144 words
The router of claim 18 further comprising third subsystem having a third forwarding memory and being coupled to the first and second subsystems via first and second internal links, respectively, a second packet being received by the second subsystem, the second subsystem replaces part of a third header portion of the second packet with a second next hop address of a second neighbor node in response to matching part of a fourth header portion of the second packet with a third entry in the second forwarding memory, the second subsystem sends the second packet including the second next hop address to the third subsystem over the second internal link, and the third subsystem forwards the second packet to the second neighbor node in response to the second next hop address in the third header portion matching a fourth entry in the third forwarding memory.
References Cited (Backward Citations)
US4652874A
Cited
US4850042A
Cited
US4807111A
Cited
US4899333A
Cited
US4922503A
Cited
US4933938A
Cited
US5220562A
Cited
US5278830A
Cited
US5210746A
Cited
US5301333A
Cited
US5309437A
Cited
US5231633A
Cited
US5150358A
Cited
US5481540A
Cited
US5251205A
Cited
US5293379A
Cited
US5500860A
Cited
US5392432A
Cited
US5461624A
Cited
US5313454A
Cited
US5343471A
Cited
US5742760A
Cited
US5720032A
Cited
US5457681A
Cited
US5425028A
Cited
US5291482A
Cited
US5490252A
Cited
US5410540A
Cited
US5649109A
Cited
US5410722A
Cited
US5459714A
Cited
US5485578A
Cited
US5386413A
Cited
US5477537A
Cited
US5455820A
Cited
US5426736A
Cited
US5394402A
Cited
US5450399A
Cited
US5555405A
Cited
US5515376A
Cited
US5610905A
Cited
US5473607A
Cited
US5422838A
Cited
US5485455A
Cited
US5790546A
Cited
US5570365A
Cited
US5535202A
Cited
US5459717A
Cited
US5602841A
Cited
US5572522A
Cited
US5592476A
Cited
US5461611A
Cited
US5583981A
Cited
US5600641A
Cited
US5751967A
Cited
US5640605A
Cited
US5619500A
Cited
US5594727A
Cited
US5490139A
Cited
US5675741A
Cited
US5784573A
Cited
US5726977A
Cited
US5745048A
Cited
US5706472A
Cited
US5561666A
Cited
US5633865A
Cited
US5608726A
Cited
US5802047A
Cited
US5619661A
Cited
US5734865A
Cited
US5636371A
Cited
US5651002A
Cited
US5754540A
Cited
US5691984A
Cited
US5740175A
Cited
US5757771A
Cited
US5684800A
Cited
US5754801A
Cited
US5740375A
Cited
US5781549A
Cited
US5724358A
Cited
US5764634A
Cited
US5742604A
Cited
US5740171A
Cited
US5757795A
Cited
US5802052A
Cited
US5748905A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-07-05 | 2003-01-04 | 2003-07-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-07-05 | 2007-01-04 | 2007-07-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-07-05 | 2011-01-04 | 2011-07-06 | $7700.00 | Window Closed / Lapsed |