Overlay network
An overlay network is
a virtual computer network that is built on top of another network.
Nodes in the overlay are connected by virtual or logical links, each of
which corresponds to a path, perhaps through many physical links, in the
underlying network. The topology of the overlay network may (and often
does) differ from that of the underlying one.
For example, many peer-to-peer networks
are overlay networks because they are organized as nodes of a virtual
system of links run on top of the Internet. The Internet was initially
built as an overlay on the telephone network .
The most striking example of an overlay network, however, is the Internet
itself: At the IP layer, each node can reach any other by a direct
connection to the desired IP address, thereby creating a fully connected
network; the underlying network, however, is composed of a mesh-like interconnect of sub networks of varying topologies (and, in fact, technologies). Address resolution and routing are the means which allows the mapping of the fully connected IP overlay network to the underlying ones.
Overlay networks have been around since the invention of networking when computer systems were connected over telephone lines using modems, before any data network existed.
Another example of an overlay network is a distributed
hash table, which maps keys to nodes in the network. In this case, the
underlying network is an IP network, and the overlay network is a table
(actually map) indexed by keys.
Overlay networks have also been proposed as a way to improve Internet routing, such as through quality of service guarantees to achieve higher-quality streaming media. Previous proposals such as IntServ, DiffServ, and IP Multicast have not seen wide acceptance largely because they require modification of all routers in
the network.On the other hand, an overlay network can be incrementally
deployed on end-hosts running the overlay protocol software, without
cooperation from Internet
service providers. The overlay has no control over how packets are
routed in the underlying network between two overlay nodes, but it can
control, for example, the sequence of overlay nodes a message traverses
before reaching its destination.