Brief overview of overlay networks
1.1 What is an overlay network ?
An overlay network is just an abstraction over some other network.Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. For example, many peer-to-peer networks are overlay networks because they run on top of the Internet. Dial-up Internet is an overlay upon the telephone network.
1.2 Merits and demerits of overlay networks :
Overlay networks can be constructed in order to permit routing messages to destinations not specified by an IP address. For example, distributed hash tables can be used to route messages to a node having specific logical address, whose IP address is not known in advance.Overlay networks are also supposed to imrpove the routing through the network by improving quality of service guarantees for high quality data transmission such as streaming media etc.An overlay network can be incrementally deployed on end-hosts running the overlay protocol software, without cooperation from ISPs.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 through which a message traverses before reaching its destination. In an overlay netowrk, routers are not necessary. Each node acts as a router. They work on end-to-end principle and thus have reduced complexity. Due to the benfits they provide, overlay networks are evolving into a critical component for self-organizing systems.
But they have some disadvantages as well such as, they may require multiple software stacks which introduces additional processing delay into the network which is quite undesirable in real world scenario.Besides this, they can also introduce propagation delay due to limits imposed by path selection and network congestion from extra load.The small number of nodes in the overlay netowkr avoid complexity but need enough to have diverse paths.
1.3 How do they work ? :
Overlay networks share four common qualities:
1) Guaranteed data retrieval
2) Provable lookup-time horizons (typically O(logN) with N being the number of network nodes)
3) automatic load balancing
4) self organization.
Because overlay networks define neighbor nodes by the content stored, they can change search from a standard graph-traversal problem into a localized iterative process. In this process, each hop brings the query closer to its target set of hops, which can be calculated according to a mathematical function. This reduces the overall network load and makes the query process deterministic.
1) Each overlay node has two neighbors: the node whose value is the next available (higher) integer, and the node whose value is the previous available (lower) integer.
2) If the current node is the network’s lowest or highest identifier, one of the neighbors will be the opposite value in the available node range(that is, the highest or the lowest, respectively).
3) To join the network, a node must perform an out-of-band* request — such as a broadcast — to find another network node. The incoming node can then use the search function to find the network “slot” where it should insert itself.
The search process is simple : the node that initiates the query determines the relation between its own value and the target value. If the target value is higher than the node’s value, the node passes the request to its higher-value neighbor, if it is lower, it passes it to its lower value network. This local decision process continues until the request reach-es the destination node, which replies directly to the requester, sending its physical network address for additional operations. Thus, an overlay network operates in a hierarchical fashion based on the target value.
Conclusion:- Thus, this article gives a brief insight into the concept of overlay networks and tries to address their pros and cons and also gives details about how overlay networks work. In my next blog I will post implementation of a reliable transport protocol and network protocol for an overlay network. Stay tuned.
*out-of-band data request (source – OOB-wiki): – In computer networking, out-of-band data is the data transferred through a stream that is independent from the main in-band data stream. An out-of-band data mechanism provides a conceptually independent channel, which allows any data sent via that mechanism to be kept separate from in-band data. The out-of-band data mechanism should be provided as an inherent characteristic of the data channel and transmission protocol, rather than requiring a separate channel and endpoints to be established. The term “out-of-band data” probably derives from out-of-band signaling, as used in the telecommunications industry. –