An overlay network is a computer network that is built on top of another network. Nodes in the overlay network 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, distributed systems such as peer-to-peer networks and client-server applications are overlay networks because their nodes run on top of the Internet. The Internet was originally built as an overlay upon the telephone network, while today (through the advent of VoIP), the telephone network is increasingly turning into an overlay network built on top of the Internet.
Contents
Uses of overlay networks
In telecommunication
Overlay networks are used in telecommunication because of the availability of digital circuit switching equipment and optical fiber.[1] Telecommunication transport networks and IP networks (which combined make up the broader Internet) are all overlaid with at least an optical fiber layer, a transport layer and an IP or circuit switching layers (in the case of the PSTN).
Enterprise private networks were first overlaid on telecommunication networks such as frame relay and Asynchronous Transfer Mode packet switching infrastructures but migration from these (now legacy) infrastructures to IP based MPLS networks and virtual private networks started (2001~2002).
From a physical standpoint overlay networks are quite complex (see Figure 1) as they combine various logical layers that are operated and built by various entities (businesses, universities, government etc.) but they allow separation of concerns that over time permitted the buildup of a broad set of services that could not have been proposed by a single telecommunication operator (ranging from broadband Internet access, voice over IP or IPTV, competitive telecom operators etc.).[2]
Over the Internet
Nowadays the Internet is the basis for more overlaid networks that can be constructed in order to permit routing of messages to destinations not specified by an IP address. For example, distributed hash tables can be used to route messages to a node having a specific logical address, whose IP address is not known in advance.
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 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 a message traverses before reaching its destination.
For example, Akamai Technologies manages an overlay network which provides reliable, efficient content delivery (a kind of multicast). Academic research includes End System Multicast and Overcast for multicast; RON (Resilient Overlay Network) for resilient routing; and OverQoS for quality of service guarantees, among others.
Resilience
Resilient Overlay Networks (RON) are architectures that allow distributed Internet applications to detect and recover from disconnection or interference. Current wide area routing protocols that take at least several minutes to recover from are improved upon with this application layer overlay. The RON nodes monitor the Internet paths among themselves and will determine whether or not to reroute packets directly over the internet or over other RON nodes thus optimizing application specific metrics.[3]
The Resilient Overlay Network has a relatively simple conceptual design. RON nodes are deployed at various locations on the Internet. These nodes form an application layer overlay that cooperate in routing packets. Each of the RON nodes monitor the quality of the Internet paths between each other and uses this information to accurately and automatically select paths from each packet, thus reducing the amount of time required needed to recover from poor quality of service.[3]
Multicast
Overlay multicast is also known as End System or Peer-to-Peer Multicast. High bandwidth multi-source multicast among widely distributed nodes is a critical capability for a wide range of applications including audio and video conferencing, multi-party games and content distribution. Throughout the last decade, a number of research projects have explored the use of multicast as an efficient and scalable mechanism to support such group communication applications. Multicast decouples the size of the receiver set from the amount of state kept at any single node and potentially avoids redundant communication in the network.
The limited deployment of IP Multicast, a best effort network layer multicast protocol, has led to considerable interest in alternate approaches that are implemented at the application layer, using only end-systems. In an overlay or end-system multicast approach participating peers organize themselves into an overlay topology for data delivery. Each edge in this topology corresponds to a unicast path between two end-systems or peers in the underlying Internet. All multicast-related functionality is implemented at the peers instead of at routers, and the goal of the multicast protocol is to construct and maintain an efficient overlay for data transmission.
Disadvantages
- Slow in spreading the data.
- Long latency.
- Duplicate packets at certain points.
List of overlay network protocols
Overlay network protocols based on TCP/IP include:
- Distributed hash tables (DHTs), such as KAD and other protocols based on the Kademlia algorithm, for example.
- JXTA
- XMPP: the routing of messages based on an endpoint Jabber ID (Example: nodeId_or_userId@domainId\resourceId) instead of by an IP Address
- Many peer-to-peer protocols including Gnutella, Gnutella2, Freenet, I2P and Tor.
- PUCC
- Solipsis: a France Télécom system for massively shared virtual world
- HyParView: a highly robust unstructured overlay for gossip broadcast
Overlay network protocols based on UDP/IP include:
See also
External links
- List of overlay network implementations, July 2003
- Resilient Overlay Networks
- Overcast: reliable multicasting with an overlay network
- OverQoS: An overlay based architecture for enhancing Internet QoS
- HyParView: a membership protocol for reliable gossip-based broadcast. João Leitão, José Pereira and Luís Rodrigues. Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2007
- RFC 3170
- Multicast over TCP/IP HOWTO
- Nemo - Resilient Overlay Multicast
- FatNemo - Emulating FatTrees for Overlay Multisource/Multicast
- End System Multicast
- Bibliography on overlay multicast and application layer multicast for the IRTF Scalable Adaptive Multicast Research Group
_________________________________________________________________
An overlay network is a telecommunications network that is built on top of another network and is supported by its infrastructure. An overlay network decouples network services from the underlying infrastructure by encapsulating one packet inside of another packet. After the encapsulated packet has been forwarded to the endpoint, it is de-encapsulated.
Most overlay networks run on top of the public Internet, which itself began as an overlay research network running over the infrastructure of the public switched telephone network (PSTN). Other examples of overlay network deployments include virtual private networks (VPNs), peer-to-peer (P2P) networks, content delivery networks (CDNs), voice over IP (VoIP) services such as Skype and non-native software-defined networks.
Overlay network protocols include Virtual Extensible LAN (VXLAN), Network Virtualization using Generic Encapsulation (NVGRE), stateless transport tunneling (STT), Generic Routing Encapsulation (GRE) and Network Virtualization Overlays 3 (NVO3).
_____________________________________________________________________
What is Overlay Networking?
Overlay networking is a method of using software to create layers of network abstraction that can be used to run multiple separate, discrete virtualized network layers on top of the physical network, often providing new applications or security benefits.
Created by taking two endpoints and creating a virtual connection between them, multiple secure overlays can be built using software over existing networking hardware infrastructure. These endpoints could be actual physical locations, such as a network port, or they could be logical locations designated by a software address in the networking cloud.
The virtual connection between two endpoints of a network used created using routing or switching software that can apply software tags, labels, and/or encryption to create a virtual tunnel that runs across the network. If encryption is used, the data can be secured between the endpoints so that the end-users must be authenticated in order to use the connection.
One way to think of overlay networking is to think of it as endpoints designated by an identification tag or number, somewhat like the phone system. A device can be located simply by knowing its identification tag or number in the networking system. These tags are used to create virtual connections.
![Overlay Networking](https://www.sdxcentral.com/wp-content/uploads/2015/08/overlay-networking-diagram.png)
An example of how overlays can be built using software on top of an underlying network. Source: USC
Many Forms of Overlays and Protocols
Most forms of overlay networking use some sort of “encapsulation,” or software encoding, that markets the data before it is taken to its destination. When it gets to the destination, this encapsulated message is unwrapped and delivered to the destination it was intended for – typically some sort of network application. The process of encapsulating and unwrapping message requires computing power. Critics of a software overlay say this presents scalability issues. This also adds additional complexity to the network.
Overlay networking can include peer-to-peer networks, IP networks, and virtual local area networks (vLANs). The Internet itself, which uses Layer 3 IP addressing, uses overlay networking, identifying locations by IP addresses. This method, known as “Layer 3 networking,” means that the IP addresses can either be static — attached to a permanent physical device — or dynamic, moved around with the user using software.
Overlay networking uses many different networking protocols and standards built over time. Some of the protocols developed for overlay networking technology include IP, virtual extensible LAN (VXLAN — IETF RFC 7348), virtual private networks (VPNs), and IP multicast. More recently, the advent of software-defined networking (SDN) has spawned even more overlay technologies those from individual vendors, the most well known of which is VMware’s NSX. Other emerging overlay solutions for SDN include Alcatel’s Nuage Networks and Midokura. Network overlays enable flexibility by allowing network managers to move around network endpoints using software management.
Overlays and SDN
Different approaches to overlay networking are often debated in the SDN world. Depending on the technique, software-only solutions may not have full control of the hardware, with chip-level integration. One criticism of overlay networking is that it can create performance overhead by adding more layers of software and processing. This occurs as specific software code or “agents” must be installed on the network.
Additional Overlay Networking Resources:
2015 Special Report: Network Virtualization in the Data Center
What is Network Virtualization?
Get on Top of Network Overlays
What is VMware Network Virtualization?
What is Juniper Networks Network Virtualization?
What is NEC Network Virtualization?
What is Nuage Network Virtualization?
What is Cisco Network Virtualization?
The Role of SDN Overlays in Application Centric Deployments