Claims
- 1. An internet router for coupling to a plurality of internet links, the router receiving data packets from the internet links, analyzing header information in the data packets at inputs to the router to determine output internet links from said router, and forwarding the data packets on the output internet links, the improvement wherein the router comprises a fabric of fabric links joined by fabric routers, the number of fabric links to each fabric router being substantially less than the number of internet links served by the internet router, the fabric links and routers providing data communication between internet links through plural hops through the fabric using a routing protocol other than the internet protocol by which information associated with each packet is used at each fabric router to determine the next hop in the fabric.
- 2. An internet router as claimed in claim 1 wherein a line interface to each internet link analyzes the header information in data packets received from the internet link to identify an output internet link through an internet routing protocol and to determine through a fabric routing protocol a routing path through the fabric to the identified output internet link.
- 3. An internet router as claimed in claim 2 wherein packets are subdivided into segments at the line interface and forwarded through the fabric through wormhole routing.
- 4. An internal router as claimed in claim 3 wherein the segments are flits.
- 5. An internet router as claimed in claim 2 wherein the link interface defines the routing path through the fabric by including, in a header, a link definition of each successive link in the routing path, each fabric router along the routing path storing an associated link definition from the header for forwarding successive segments of the packet.
- 6. An internet router as claimed in claim 1 wherein an arbitration is performed at each fabric router to assign a packet to a virtual channel for output from the fabric router and to assign a virtual channel to an output fabric link from the fabric router.
- 7. An internet router as claimed in claim 9 wherein a virtual channel is enabled for possible assignment to an output fabric link upon receipt of an indication that an input buffer is available at the opposite end of the fabric link.
- 8. An internet router as claimed in claim 1 wherein each fabric router comprises a crossbar switch.
- 9. An internet router as claimed in claim 11 wherein each fabric router comprises input buffers for receiving data packets from respective fabric routers and an internet link.
- 10. An internet router as claimed in claim 12 wherein each fabric router comprises an output controller for forwarding data along an output fabric link upon receipt of an indication that an input buffer is available at the opposite end of the fabric link.
- 11. An internet router as claimed in claim 1 wherein the fabric is a direct network.
- 12. An internet router as claimed in claim 14 wherein the direct network is connected as a torus.
- 13. An internet router as claimed in claim 15 wherein the torus is a three-dimensional torus.
- 14. An internet router as claimed in claim 1 wherein the fabric is a three-dimensional torus network.
- 15. An internet router as claimed in claim 1 wherein the internet links are trunk lines.
- 16. A method of routing data packets between internet links comprising:
analyzing header information in the data packets at inputs to the router to determine output internet links from said router; and routing the data packets through a multihop fabric network of fabric routers to the output internet links using a routing protocol other than the internet protocol by which information associated with each packet is used at each fabric router to determine the next hop in the fabric.
- 17. A method as claimed in claim 19 further comprising analyzing the header information in data packets at a line interface to identify an output internet link through an internet routing protocol and to determine through a fabric routing protocol a routing path through the fabric network to the identified output internet link.
- 18. A method as claimed in claim 20 wherein the packets are subdivided into segments at the line interface and forwarded through the fabric through wormhole routing.
- 19. A method as claimed in claim 20 wherein the link interface defines the routing path through the fabric by including, in a header, a link definition of each successive link in the routing path, each fabric router along the routing paths storing a link definition from the header for forwarding successive segments of the packet.
- 20. A method as claimed in claim 19 wherein an arbitration is performed at each fabric router to assign a packet to a virtual channel for output from the fabric and to assign a virtual channel to an output fabric link from the fabric router.
- 21. A method as claimed in claim 25 wherein a virtual channel is enabled for possible assignment to an output fabric link upon receipt of an indication that an input buffer is available at the opposite end of the fabric link.
- 22. A method as claimed in claim 19 wherein the data packets are routed between fabric links through a crossbar switch.
- 23. A method as claimed in claim 19 wherein the data packets are routed between internet links through a three-dimensional torus direct network.
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent application No. 08/918,556, filed on Aug. 22, 1997. The entire teachings of the above application are incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
08918556 |
Aug 1997 |
US |
Child |
10017362 |
Dec 2001 |
US |