Performing multicast communication in computer networks by using overlay routing
First Claim
1. A method for performing overlay routing, comprising:
- upon receiving a packet at a first router, determining (a) whether the packet contains an overlay header, and (b) whether the packet is to be sent, by the first router, to a destination computer or to a second router;
if the packet does not contain an overlay header and the packet is to be sent, by the first router, to the second router, then the first router performing the steps of;
(a) generating an overlay header for the packet, wherein the overlay header identifies an overlay address, and(b) routing, to the second router, the packet based on the overlay address, contained in the overlay header, using a first protocol associated with an application layer;
if the packet contains an overlay header and the packet is to be sent to the destination computer, then the first router performing the steps of;
(a) creating a modified packet by stripping the overlay header off the packet and using the overlay network address identified by the overlay header to determine a network layer address to route the packet to the destination computer, and(b) routing, to the destination computer, the modified packet based on the network layer address using a second protocol associated with a network layer.
4 Assignments
0 Petitions
Accused Products
Abstract
An overlay protocol and system for allowing multicast routing in the Internet to be performed at the application level. The overlay protocol uses “native” Internet multicast and multicast routing protocols to route information, according to overlay routing tables. Overlay groups are mapped to native multicast groups to exploit native multicasting in regional or local forwarding domains. Use of the overlay protocol allows overlay distribution to be handled in a more intelligent and bandwidth-managed fashion. Overlay routers are placed at each of several local area networks, Internet service provider'"'"'s point of presence, enterprise, or other cohesively-managed locations. The overlay computers are configured according to bandwidth and security policies, and perform application-level multicast distribution across the otherwise disjoint multicast networks by using the overlay routing. The result is an overlay multicast network that is effectively managed according to local network management policies. Application-level control can be applied to the transferred data at the overlay routers.
-
Citations
30 Claims
-
1. A method for performing overlay routing, comprising:
-
upon receiving a packet at a first router, determining (a) whether the packet contains an overlay header, and (b) whether the packet is to be sent, by the first router, to a destination computer or to a second router; if the packet does not contain an overlay header and the packet is to be sent, by the first router, to the second router, then the first router performing the steps of; (a) generating an overlay header for the packet, wherein the overlay header identifies an overlay address, and (b) routing, to the second router, the packet based on the overlay address, contained in the overlay header, using a first protocol associated with an application layer; if the packet contains an overlay header and the packet is to be sent to the destination computer, then the first router performing the steps of; (a) creating a modified packet by stripping the overlay header off the packet and using the overlay network address identified by the overlay header to determine a network layer address to route the packet to the destination computer, and (b) routing, to the destination computer, the modified packet based on the network layer address using a second protocol associated with a network layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 22)
-
-
11. A machine-readable medium carrying one or more sequences of instructions for performing overlay routing, wherein execution of the one or more sequences of instructions by one or more processors cause:
-
upon receiving a packet at a first router, determining (a) whether the packet contains an overlay header, and (b) whether the packet is to be sent, by the first router, to a destination computer or to a second router; if the packet does not contain an overlay header and the packet is to be sent, by the first router, to the second router, then the first router performing the steps of; (a) generating an overlay header for the packet, wherein the overlay header identifies an overlay address, and (b) routing, to the second router, the packet based on the overlay address, contained in the overlay header, using a first protocol associated with an application layer; if the packet contains an overlay header and the packet is to be sent to the destination computer, then the first router performing the steps of; (a) creating a modified packet by stripping the overlay header off the packet and using the overlay network address identified by the overlay header to determine a network layer address to route the packet to the destination computer, and (b) routing, to the destination computer, the modified packet based on the network layer address using a second protocol associated with a network layer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for performing overlay routing, comprising:
-
one or more processors; and a machine-readable medium carrying one or more sequences of instructions for performing overlay routing, wherein execution of the one or more sequences of instructions by the one or more processors cause; upon receiving a packet at a first router, determining (a) whether the packet contains an overlay header, and (b) whether the packet is to be sent, by the first router, to a destination computer or to a second router; if the packet does not contain an overlay header and the packet is to be sent, by the first router, to the second router, then the first router performing the steps of; (a) generating an overlay header for the packet, wherein the overlay header identifies an overlay address, and (b) routing, to the second router, the packet based on the overlay address, contained in the overlay header, using a first protocol associated with an application layer; if the packet contains an overlay header and the packet is to be sent to the destination computer, then the first router performing the steps of; (a) creating a modified packet by stripping the overlay header off the packet and using the overlay network address identified by the overlay header to determine a network layer address to route the packet to the destination computer, and (b) routing, to the destination computer, the modified packet based on the network layer address using a second protocol associated with a network layer. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification