US 5583862 Method and apparatus for routing for virtual networks
ABSTRACT – An internetwork routing protocol which supports virtual networks. Routing tables are maintained in routers or gateways which identify whether or not a destination is directly reachable by the router listed in the routing information entry, or whether it is merely part of a virtual network served by the listed destination routers. For directly reachable connections, datagrams may be directly delivered to any router claiming such status with respect to the network with assurance of likely delivery to the destination. Routers in communication with a virtual network must first be queried for the identity of a particular destination router address before packets are delivered to eliminate the need of packet forwarding.
FIELD OF THE INVENTION
The present invention relates to internetwork communications. More particularly, the present invention relates to a method and apparatus for internetwork routing in systems that include virtual networks.
BACKGROUND OF THE INVENTION
Computer networks are implemented to exchange information from one location to another. The information may be data exchanged between users of the computer network, or data propagated from one user to a peripheral device such as a printer or remote data storage location. In recent years, networking systems have spread worldwide, increasing the efficiency of user’s working habits by increasing the volume of information that can be exchanged almost instantaneously from one location to another. The effect has been revolutionary. Today, even personal communications and document delivery are handled via electronic mail where, in the past, other means of communicating would have been required.
The proliferation of computer networks has necessitated the development of internetworking communications devices. These devices, often referred to as routers or gateways, provide a mechanism for users (or nodes) of one network to communicate with users (or nodes) of another network. U.S. Pat. No. 5,251,205 issued to Ross W. Callon et al. teaches a method for multiple protocol routing wherein data packet formats appropriate for one network are in an inappropriate format for a second network and require a special treatment prior to propagation from the first network to the second network. The role of routers or gateways is to provide a communications path between interconnected networks regardless of the protocols implemented by the various networks.
In order to propagate information from a node on one network to a node or group of nodes on other networks, it is necessary to determine a path through the interconnected series of links and networks for the data to be propagated. Numerous routing protocols have been developed for calculating routes over interconnected networks. “Computer Networks”, second edition, Andrew S. Tanenbaum, Prentice-Hall, 1988, pp. 289-309, describes numerous such routing protocols. In popular routing algorithms, such as those described in Tanenbaum, each router determines which end systems are attached to it, what links to other routers are available, the states of those links, and the identities of the routers on the other ends of those links. To initialize an internetwork environment, each router places this information in a control packet known as a Link State Packet (LSP), and transmits this LSP to all of the other routers in the internetwork. Later, when changes in the network occur, one or more routers may generate new LSPs which supersede previously generated LSPs.
As long as the most recent LSPs are propagated reliably to all of the routers, each router will have complete information about the topology of the internetwork environment and can generate a routing database describing routes through the internetwork. In order for user data packets to be delivered to their destinations, each end system on the internetwork environment must have an unambiguous address. There are several independent standards organizations which document and promulgate address allocation schemes, as well as control end user data packet formats which may be used for communicating under these schemes. Many networks and internetworks interconnected through current routing technologies have been configured according to these addressing schemes and formats.
Recent advances in networking theory have introduced the concept of “virtual networks” or virtual subnetworks. One reason for the introduction of virtual networks is for the support of mobile end stations. While a mobile end station may have a unique address, its physical location may vary from time to time. It would be inefficient for every other user on an interconnected series of networks to have to update their address tables every time every mobile end station changed physical locations. Thus, it is convenient for mobile stations to maintain a single (virtual) address for which all other end stations or nodes can use to reach it. Additionally, virtual networks are useful for giving a common group of end stations an address which implies a common subnetwork address, even though those end stations may actually be distributed over numerous physical networks. The distributed subnetworks combine to comprise the virtual network. This ability is gaining in commercial importance. Thus, a number of host systems comprising a single subnetwork with an address identifier which identifies that subnetwork may in fact be interconnected through different routers.
A likely typical situation for implementing virtual networks concerns the routing of the internetwork protocol (IP) type networking packets over an asynchronous transfer mode (ATM) network. The ATM protocols define the need for coordination of route computation between multiple systems serving the same network using emerging LAN Emulation protocols.
Under existing routing protocols such as the Internetworking Protocol (IP), there is no provision for Link State Packets to be formulated by a router which identifies whether or not a router is connected to all hosts of a given network, or is merely capable of answering queries regarding the hosts of a distributed virtual network. That is, when a virtual network is distributed over several routers, each router can only identify in its LSP that the subnetwork is (eventually) reachable from it. There is no way to identify that the router is not directly in communication with all nodes of the network. Currently, this is no different from information provided by a router which is directly connected to all hosts on a real physical network. Packets forwarded to a router connected to a virtual network, but not to a router physically coupled to the destination host will have to be forwarded to the correct router within the virtual network which is connected to the host. This is inefficient. As an alternative, prior to routing data from one host on one network connected to a router to another network connected to a different router, the sending or originating router may send a query to some or all of the routers which claim a connection to the virtual destination network asking for an actual physical router address to send to which is connected to the desired host. This mechanism, however, is inefficient for those routers which are directly connected to all hosts of a physical destination network. It would be desirable, and is therefore an object of the present invention, to provide a routing mechanism which efficiently handles the case of an interconnected series of networks which may include both distributed virtual networks and discrete physical networks.
SUMMARY OF THE INVENTION
From the foregoing, it can be appreciated that it would be desirable to provide a routing mechanism which supports an interconnected series of networks wherein some networks comprise subnetworks which are distributed over a virtual network. Further, it is an object of the present invention to support efficient routing in an internetwork environment which includes such virtual networks.
These and other objects of the present invention are provided by a new internetworking routing protocol in which link state packets (LSP) propagated by routers include information which indicates whether a given network is a directly reachable one, or one that is a virtual network only partially connected to the router. The routers implementing this protocol will maintain in their routing tables this virtual network identification information about which networks are “directly reachable” by the other routers in the system in which ones are merely “address served” by the other routers in the internetwork environment.
In one embodiment of the present invention, the specification of the network connection type (physical or virtual) is provided by data included in the routing topology information propagated between routers in the internetwork environment. In an alternative embodiment, the routing protocol may be implemented by having a router identify that it is first providing addresses for one type of network connection and then providing the network addresses for a second type of network. For example, physical network information may be followed by virtual network information.
With routers that implement the internetwork routing protocol of the present invention, data packets or datagrams that need to be sent from one location to another location can be most efficiently directed. For example, if two routers are listed in an originating router’s routing tables as being directly reachable with respect to a destination network, the originating router may deliver the packet to either one of those two routers based on conventional routing algorithms with assurance that the datagram will reach its destination node with a high probability. It is unnecessary for the originating router to query the two “directly connected” routers as to which one should receive the datagram for a given host destination. For a situation where two routers are listed as “address served” routers in the originating router’s routing tables, the router knows that the destination network is a virtual network. In this case the originating router should query one or both of the routers connected to the destination network for a true physical destination router address to deliver the packet. In this manner, routers connected to virtual networks are queried while routers connected to a physical network may immediately be forwarded packets without the delay of a query.