Tag: Skywire

Mesh Networking

Wikipedia Entry

Mesh networking

Illustration of a partially connected mesh network. A fully connected mesh network is where each node is connected to every other node in the network.

A mesh network (or simply meshnet) is a local network topology in which the infrastructure nodes (i.e. bridges, switches, and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate with one another to efficiently route data from/to clients. This lack of dependency on one node allows for every node to participate in the relay of information. Mesh networks dynamically self-organize and self-configure, which can reduce installation overhead. The ability to self-configure enables dynamic distribution of workloads, particularly in the event that a few nodes should fail. This in turn contributes to fault-tolerance and reduced maintenance costs.[citation needed]

Mesh topology may be contrasted with conventional star/tree local network topologies in which the bridges/switches are directly linked to only a small subset of other bridges/switches, and the links between these infrastructure neighbours are hierarchical. While star-and-tree topologies are very well established, highly standardized and vendor-neutral, vendors of mesh network devices have not yet all agreed on common standards, and interoperability between devices from different vendors is not yet assured.[citation needed]

Basic principles

Mesh networks can relay messages using either a flooding technique or a routing technique. With routing, the message is propagated along a path by hopping from node to node until it reaches its destination. To ensure that all its paths are available, the network must allow for continuous connections and must reconfigure itself around broken paths, using self-healing algorithms such as Shortest Path Bridging. Self-healing allows a routing-based network to operate when a node breaks down or when a connection becomes unreliable. As a result, the network is typically quite reliable, as there is often more than one path between a source and a destination in the network. Although mostly used in wireless situations, this concept can also apply to wired networks and to software interaction.

A mesh network whose nodes are all connected to each other is a fully connected network. Fully connected wired networks have the advantages of security and reliability: problems in a cable affect only the two nodes attached to it. However, in such networks, the number of cables, and therefore the cost, goes up rapidly as the number of nodes increases.

Wired mesh

Shortest path bridging allows Ethernet switches to be connected in a mesh topology, and it allows for all paths to be active.[1][2]

Development history

Wireless mesh radio networks were originally developed for military applications, such that every node could dynamically serve as a router for every other node. In that way, even in the event of a failure of some nodes, the remaining nodes could continue to communicate with each other, and, if necessary, to serve as uplinks for the other nodes.

Early wireless mesh network nodes had a single half-duplex radio that, at any one instant, could either transmit or receive, but not both at the same time. This was accompanied by the development of shared mesh networks. This was subsequently superseded by more complex radio hardware that could receive packets from an upstream node and transmit packets to a downstream node simultaneously (on a different frequency or a different CDMA channel). This allowed the development of switched mesh networks. As the size, cost, and power requirements of radios declined further, nodes could be cost-effectively equipped with multiple radios. This, in turn, permitted each radio to handle a different function, for instance, one radio for client access, and another for backhaul services.

Work in this field has been aided by the use of game theory methods to analyze strategies for the allocation of resources and routing of packets.[3][4][5]


  • Packet radio networks or ALOHA networks were first used in Hawaii to connect the islands. Given the bulk radios, and low data rate, the network is less useful than it was envisioned to be.
  • In 1998-1999, a field implementation of a campus-wide wireless network using 802.11 WaveLAN 2.4 GHz wireless interface on several laptops was successfully completed.[6] Several real applications, mobility and data transmissions were made.[7]
  • Mesh networks were useful for the military market because of the radio capability, and because not all military missions have frequently moving nodes. The Pentagon launched the DoD JTRS program in 1997, with an ambition to use software to control radio functions - such as frequency, bandwidth, modulation and security previously baked into the hardware. This approach would allow the DoD to build a family of radios with a common software core, capable of handling functions that were previously split among separate hardware-based radios: VHF voice radios for infantry units; UHF voice radios for air-to-air and ground-to-air communications; long-range HF radios for ships and ground troops; and a wideband radio capable of transmitting data at megabit speeds across a battlefield. However, JTRS program was shut down[8] in 2012 by the US Army because the radios made by Boeing had a 75% failure rate.
  • Google Home, Google Wi-Fi, and Google OnHub all support Wi-Fi mesh networking.[9]
  • In rural Catalonia, Guifi.net was developed in 2004 as a response to the lack of broadband Internet, where commercial Internet providers weren't providing a connection or a very poor one. Nowadays with more than 30,000 nodes it is only halfway a fully connected network, but following a peer to peer agreement it remained an open, free and neutral network with extensive redundancy.
  • In 2004, TRW Inc. engineers from Carson, California, successfully tested a multi-node mesh wireless network using 802.11a/b/g radios on several high speed laptops running Linux, with new features such as route precedence and preemption capability, adding different priorities to traffic service class during packet scheduling and routing, and quality of service.[10] Their work concluded that data rate can be greatly enhanced using MIMO technology at the radio front end to provide multiple spatial paths.
  • ZigBee digital radios are incorporated into some consumer appliances, including battery-powered appliances. ZigBee radios spontaneously organize a mesh network, using specific routing algorithms; transmission and reception are synchronized. This means the radios can be off much of the time, and thus conserve power. ZigBee is for low power low bandwidth application scenarios.
  • Thread is a consumer wireless networking protocol built on open standards and IPv6/6LoWPAN protocols. Thread's features include a secure and reliable mesh network with no single point of failure, simple connectivity and low power. Thread networks are easy to set up and secure to use with banking-class encryption to close security holes that exist in other wireless protocols. In 2014 Google Inc's Nest Labs announced a working group with the companies Samsung, ARM Holdings, Freescale, Silicon Labs, Big Ass Fans and the lock company Yale to promote Thread.
  • In early 2007, the US-based firm Meraki launched a mini wireless mesh router.[11] The 802.11 radio within the Meraki Mini has been optimized for long-distance communication, providing coverage over 250 metres. In contrast to multi-radio long-range mesh networks with tree-based topologies and their advantages in O(n) routing, the Maraki had only one radio, which it used for both client access as well as backhaul traffic.[12]
  • The Naval Postgraduate School, Monterey CA, demonstrated such wireless mesh networks for border security.[13] In a pilot system, aerial cameras kept aloft by balloons relayed real time high resolution video to ground personnel via a mesh network.
  • SPAWAR, a division of the US Navy, is prototyping and testing a scalable, secure Disruption Tolerant Mesh Network [14] to protect strategic military assets, both stationary and mobile. Machine control applications, running on the mesh nodes, "take over", when Internet connectivity is lost. Use cases include Internet of Things e.g. smart drone swarms.
  • An MIT Media Lab project has developed the XO-1 laptop or "OLPC" (One Laptop per Child) which is intended for disadvantaged schools in developing nations and uses mesh networking (based on the IEEE 802.11s standard) to create a robust and inexpensive infrastructure.[15] The instantaneous connections made by the laptops are claimed by the project to reduce the need for an external infrastructure such as the Internet to reach all areas, because a connected node could share the connection with nodes nearby. A similar concept has also been implemented by Greenpacket with its application called SONbuddy.[16]
  • In Cambridge, UK, on 3 June 2006, mesh networking was used at the “Strawberry Fair” to run mobile live television, radio and Internet services to an estimated 80,000 people.[17]
  • Broadband-Hamnet,[18] a mesh networking project used in amateur radio, is "a high-speed, self-discovering, self-configuring, fault-tolerant, wireless computer network" with very low power consumption and a focus on emergency communication.[19]
  • The Champaign-Urbana Community Wireless Network (CUWiN) project is developing mesh networking software based on open source implementations of the Hazy-Sighted Link State Routing Protocol and Expected Transmission Count metric. Additionally, the Wireless Networking Group[20] in the University of Illinois at Urbana-Champaign are developing a multichannel, multi-radio wireless mesh testbed, called Net-X as a proof of concept implementation of some of the multichannel protocols being developed in that group. The implementations are based on an architecture that allows some of the radios to switch channels to maintain network connectivity, and includes protocols for channel allocation and routing.[21]
  • FabFi is an open-source, city-scale, wireless mesh networking system originally developed in 2009 in Jalalabad, Afghanistan to provide high-speed Internet to parts of the city and designed for high performance across multiple hops. It is an inexpensive framework for sharing wireless Internet from a central provider across a town or city. A second larger implementation followed a year later near Nairobi, Kenya with a freemium pay model to support network growth. Both projects were undertaken by the Fablab users of the respective cities.
  • SMesh is an 802.11 multi-hop wireless mesh network developed by the Distributed System and Networks Lab at Johns Hopkins University.[22] A fast handoff scheme allows mobile clients to roam in the network without interruption in connectivity, a feature suitable for real-time applications, such as VoIP.
  • Many mesh networks operate across multiple radio bands. For example, Firetide and Wave Relay mesh networks have the option to communicate node to node on 5.2 GHz or 5.8 GHz, but communicate node to client on 2.4 GHz (802.11). This is accomplished using software-defined radio (SDR).
  • The SolarMESH project examined the potential of powering 802.11-based mesh networks using solar power and rechargeable batteries.[23] Legacy 802.11 access points were found to be inadequate due to the requirement that they be continuously powered.[24] The IEEE 802.11s standardization efforts are considering power save options, but solar-powered applications might involve single radio nodes where relay-link power saving will be inapplicable.
  • The WING project[25] (sponsored by the Italian Ministry of University and Research and led by CREATE-NET and Technion) developed a set of novel algorithms and protocols for enabling wireless mesh networks as the standard access architecture for next generation Internet. Particular focus has been given to interference and traffic-aware channel assignment, multi-radio/multi-interface support, and opportunistic scheduling and traffic aggregation in highly volatile environments.
  • WiBACK Wireless Backhaul Technology has been developed by the Fraunhofer Institute for Open Communication Systems (FOKUS) in Berlin. Powered by solar cells and designed to support all existing wireless technologies, networks are due to be rolled out to several countries in sub-Saharan Africa in summer 2012.[26]
  • Recent standards for wired communications have also incorporated concepts from Mesh Networking. An example is ITU-T G.hn, a standard that specifies a high-speed (up to 1 Gbit/s) local area network using existing home wiring (power lines, phone lines and coaxial cables). In noisy environments such as power lines (where signals can be heavily attenuated and corrupted by noise), it is common that mutual visibility between devices in a network is not complete. In those situations, one of the nodes has to act as a relay and forward messages between those nodes that cannot communicate directly, effectively creating a "relaying" network. In G.hn, relaying is performed at the Data Link Layer.

See also


  1. ^ "Avaya Extends the Automated Campus to End the Network Waiting Game". Avaya. 1 April 2014. Archived from the original on 19 April 2014. Retrieved 18 April 2014.
  2. ^ Peter Ashwood-Smith (24 February 2011). "Shortest Path Bridging IEEE 802.1aq Overview" (PDF). Huawei. Archived from the original (PDF) on 15 May 2013. Retrieved 11 May 2012.
  3. ^ Huang, J.; Palomar, D. P.; Mandayam, N.; Walrand, J.; Wicker, S. B.; Basar, T. (2008). "Game Theory in Communication Systems" (PDF). IEEE Journal on Selected Areas in Communications. 26 (7): 1042–1046. doi:10.1109/jsac.2008.080902. Archived from the original (PDF) on 2011-07-20.
  4. ^ Cagalj, M.; Ganeriwal, S.; Aad, I.; Hubaux, J.-P. (2005). "On selfish behavior in CSMA/CA networks".
  5. ^ Shi, Zhefu; Beard, Cory; Mitchell, Ken (2011). "Competition, cooperation, and optimization in Multi-Hop CSMA networks".
  6. ^ "C. Toh, Mobile Computing - Network without infrastructures, 1999" (PDF). Archived (PDF) from the original on 2017-10-23.
  7. ^ "C. Toh - Experimenting with an Ad Hoc wireless network on campus: insights and experiences, ACM SIGMETRICS Review, 2000".
  8. ^ "B. Brewin - JTRS Shuts Down". Archived from the original on 2017-03-16.
  9. ^ ""Everyone is a node: How Wi-Fi Mesh Networking work by Jerry Hildenbrand, 2016". Archived from the original on 2017-08-04.
  10. ^ "Next-Generation Tactical Ad Hoc Mobile Wireless Networks, TRW Technology Review Journal, 2004". Archived from the original on 2016-11-26.
  11. ^ "Meraki Mesh". meraki.com. Archived from the original on 2008-02-19. Retrieved 2008-02-23.
  12. ^ "Muni WiFi Mesh Networks". belairnetworks.com. Archived from the original on 2008-03-02. Retrieved 2008-02-23.
  14. ^ "Disruption Tolerant Mesh Networks" (PDF). Archived (PDF) from the original on 2017-05-17.
  15. ^ "XO-1 Mesh Network Details". laptop.org. Archived from the original on 2008-03-05. Retrieved 2008-02-23.
  16. ^ "SONbuddy : Network without Network". sonbuddy.com. Archived from the original on 2008-02-18. Retrieved 2008-02-23.
  17. ^ "Cambridge Strawberry Fair". cambridgeshiretouristguide.com. Archived from the original on 2008-02-23. Retrieved 2008-02-23.
  18. ^ www.broadband-hamnet.org
  19. ^ "Broadband-Hamnet wins International Association of Emergency Managers Awards". ARRL. Archived from the original on 2015-07-03. Retrieved 2015-05-02.
  20. ^ "Wireless Networking Group". Archived from the original on 2009-03-28.
  21. ^ "Wireless Networking Group" (PDF). Archived from the original (PDF) on 2011-07-19.
  22. ^ "SMesh". smesh.org. Archived from the original on 2008-02-22. Retrieved 2008-02-23.
  23. ^ "SolarMesh". mcmaster.ca. Archived from the original on 2007-11-02. Retrieved 2008-04-15.
  24. ^ Terence D. Todd, Amir A. Sayegh, Mohammed N. Smadi, and Dongmei Zhao. The Need for Access Point Power Saving in Solar Powered WLAN Mesh Networks Archived 2009-05-26 at the Wayback Machine. In IEEE Network, May/June 2008.
  25. ^ http://www.wing-project.org Archived 2008-11-13 at the Wayback Machine WING
  26. ^ "Broadband internet for everyone". eurekalert.org. Archived from the original on 2013-06-05. Retrieved 2012-02-16.

External links

Multiprotocol Label Switching

The packet routing method for Skywire.

Wikipedia Entry

Multiprotocol Label Switching

Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on short path labels rather than long network addresses, thus avoiding complex lookups in a routing table and speeding traffic flows.[1] The labels identify virtual links (paths) between distant nodes rather than endpoints. MPLS can encapsulate packets of various network protocols, hence the "multiprotocol" reference on its name. MPLS supports a range of access technologies, including T1/E1, ATM, Frame Relay, and DSL.

Role and functioning

MPLS is scalable and protocol-independent. In an MPLS network, data packets are assigned labels. Packet-forwarding decisions are made solely on the contents of this label, without the need to examine the packet itself. This allows one to create end-to-end circuits across any type of transport medium, using any protocol. The primary benefit is to eliminate dependence on a particular OSI model data link layer (layer 2) technology, such as Asynchronous Transfer Mode (ATM), Frame Relay, Synchronous Optical Networking (SONET) or Ethernet, and eliminate the need for multiple layer-2 networks to satisfy different types of traffic. Multiprotocol label switching belongs to the family of packet-switched networks.

MPLS operates at a layer that is generally considered to lie between traditional definitions of OSI Layer 2 (data link layer) and Layer 3 (network layer), and thus is often referred to as a layer 2.5 protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a datagram service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames.

A number of different technologies were previously deployed with essentially identical goals, such as Frame Relay and ATM. Frame Relay and ATM use "labels" to move frames or cells throughout a network. The header of the Frame Relay frame and the ATM cell refers to the virtual circuit that the frame or cell resides on. The similarity between Frame Relay, ATM, and MPLS is that at each hop throughout the network, the “label” value in the header is changed. This is different from the forwarding of IP packets.[2] MPLS technologies have evolved with the strengths and weaknesses of ATM in mind. Many network engineers agree[citation needed] that ATM should be replaced with a protocol that requires less overhead while providing connection-oriented services for variable-length frames. MPLS is currently replacing some of these technologies in the marketplace. It is highly possible that MPLS will completely replace these technologies in the future, thus aligning these technologies with current and future technology needs.[3]

In particular, MPLS dispenses with the cell-switching and signaling-protocol baggage of ATM. MPLS recognizes that small ATM cells are not needed in the core of modern networks, since modern optical networks are so fast (as of 2015, at 100 Gbit/s and beyond) that even full-length 1500 byte packets do not incur significant real-time queuing delays (the need to reduce such delays — e.g., to support voice traffic — was the motivation for the cell nature of ATM).

At the same time, MPLS attempts to preserve the traffic engineering (TE) and out-of-band control that made Frame Relay and ATM attractive for deploying large-scale networks.


  • 1994: Toshiba presented Cell Switch Router (CSR) ideas to IETF BOF
  • 1996: Ipsilon, Cisco and IBM announced label switching plans
  • 1997: Formation of the IETF MPLS working group
  • 1999: First MPLS VPN (L3VPN) and TE deployments
  • 2000: MPLS traffic engineering
  • 2001: First MPLS Request for Comments (RFCs) released
  • 2002: AToM (L2VPN)
  • 2004: GMPLS; Large-scale L3VPN
  • 2006: Large-scale TE "Harsh"
  • 2007: Large-scale L2VPN
  • 2009: Label Switching Multicast
  • 2011: MPLS transport profile

In 1996 a group from Ipsilon Networks proposed a "flow management protocol".[4] Their "IP Switching" technology, which was defined only to work over ATM, did not achieve market dominance. Cisco Systems introduced a related proposal, not restricted to ATM transmission, called "Tag Switching"[5] (with its Tag Distribution Protocol TDP[6]). It was a Cisco proprietary proposal, and was renamed "Label Switching". It was handed over to the Internet Engineering Task Force (IETF) for open standardization. The IETF work involved proposals from other vendors, and development of a consensus protocol that combined features from several vendors' work.[when?]

One original motivation was to allow the creation of simple high-speed switches since for a significant length of time it was impossible to forward IP packets entirely in hardware. However, advances in VLSI have made such devices possible. Therefore, the advantages of MPLS primarily revolve around the ability to support multiple service models and perform traffic management. MPLS also offers a robust recovery framework[7] that goes beyond the simple protection rings of synchronous optical networking (SONET/SDH).


MPLS works by prefixing packets with an MPLS header, containing one or more labels. This is called a label stack. Each entry in the label stack contains four fields:

MPLS Label
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Label TC: Traffic Class (QoS and ECN) S: Bottom-of-Stack TTL: Time-to-Live

These MPLS-labeled packets are switched after a label lookup/switch instead of a lookup into the IP table. As mentioned above, when MPLS was conceived, label lookup and label switching were faster than a routing table or RIB (Routing Information Base) lookup because they could take place directly within the switched fabric and avoid having to use the OS.

The presence of such a label, however, has to be indicated to the router/switch. In the case of Ethernet frames this is done through the use of EtherType values 0x8847 and 0x8848, for unicast and multicast connections respectively.[9]

Label switch router

An MPLS router that performs routing based only on the label is called a label switch router (LSR) or transit router. This is a type of router located in the middle of an MPLS network. It is responsible for switching the labels used to route packets.

When an LSR receives a packet, it uses the label included in the packet header as an index to determine the next hop on the label-switched path (LSP) and a corresponding label for the packet from a lookup table. The old label is then removed from the header and replaced with the new label before the packet is routed forward.

Label edge router

A label edge router (LER, also known as edge LSR) is a router that operates at the edge of an MPLS network and acts as the entry and exit points for the network. LERs push an MPLS label onto an incoming packet[note 1] and pop it off an outgoing packet. Alternatively, under penultimate hop popping this function may instead be performed by the LSR directly connected to the LER.

When forwarding an IP datagram into the MPLS domain, a LER uses routing information to determine the appropriate label to be affixed, labels the packet accordingly, and then forwards the labeled packet into the MPLS domain. Likewise, upon receiving a labeled packet which is destined to exit the MPLS domain, the LER strips off the label and forwards the resulting IP packet using normal IP forwarding rules.

Provider router

In the specific context of an MPLS-based virtual private network (VPN), LERs that function as ingress and/or egress routers to the VPN are often called PE (Provider Edge) routers. Devices that function only as transit routers are similarly called P (Provider) routers.[10] The job of a P router is significantly easier than that of a PE router, so they can be less complex and may be more dependable because of this.

Label Distribution Protocol

Labels are distributed between LERs and LSRs using the Label Distribution Protocol (LDP).[11] LSRs in an MPLS network regularly exchange label and reachability information with each other using standardized procedures in order to build a complete picture of the network so they can then use to forward packets.

Label-switched paths

Label-switched paths (LSPs) are established by the network operator for a variety of purposes, such as to create network-based IP virtual private networks or to route traffic along specified paths through the network. In many respects, LSPs are not different from permanent virtual circuits (PVCs) in ATM or Frame Relay networks, except that they are not dependent on a particular layer-2 technology.


When an unlabeled packet enters the ingress router and needs to be passed on to an MPLS tunnel, the router first determines the forwarding equivalence class (FEC) for the packet and then inserts one or more labels in the packet's newly created MPLS header. The packet is then passed on to the next hop router for this tunnel.

The MPLS Header is added between the network layer header and link layer header of the OSI model.[12]

When a labeled packet is received by an MPLS router, the topmost label is examined. Based on the contents of the label a swap, push (impose) or pop (dispose) operation is performed on the packet's label stack. Routers can have prebuilt lookup tables that tell them which kind of operation to do based on the topmost label of the incoming packet so they can process the packet very quickly.

  • In a swap operation the label is swapped with a new label, and the packet is forwarded along the path associated with the new label.
  • In a push operation a new label is pushed on top of the existing label, effectively "encapsulating" the packet in another layer of MPLS. This allows hierarchical routing of MPLS packets. Notably, this is used by MPLS VPNs.
  • In a pop operation the label is removed from the packet, which may reveal an inner label below. This process is called "decapsulation". If the popped label was the last on the label stack, the packet "leaves" the MPLS tunnel. This can be done by the egress router, but see Penultimate Hop Popping (PHP) below.

During these operations, the contents of the packet below the MPLS Label stack are not examined. Indeed, transit routers typically need only to examine the topmost label on the stack. The forwarding of the packet is done based on the contents of the labels, which allows "protocol-independent packet forwarding" that does not need to look at a protocol-dependent routing table and avoids the expensive IP longest prefix match at each hop.

At the egress router, when the last label has been popped, only the payload remains. This can be an IP packet or any of a number of other kinds of payload packet. The egress router must, therefore, have routing information for the packet's payload since it must forward it without the help of label lookup tables. An MPLS transit router has no such requirement.

Usually (by default with only one label in the stack, accordingly to the MPLS specification), the last label is popped off at the penultimate hop (the hop before the egress router). This is called penultimate hop popping (PHP). This may be interesting in cases where the egress router has lots of packets leaving MPLS tunnels, and thus spends inordinate amounts of CPU time on this. By using PHP, transit routers connected directly to this egress router effectively offload it, by popping the last label themselves. In the label distribution protocols, this PHP label pop action is advertised as label value 3 « implicit-null» (which is never found in a label, since it means that the label is to be popped).

This optimisation is no longer that useful (like for initial rationales for MPLS – easier operations for the routers). Several MPLS services (including end-to-end QoS[13] management, and [14]) imply to keep a label even between the penultimate and the last MPLS router, with a label disposition always done on the last MPLS router: the «Ultimate Hop Popping» (UHP).[15][16] Some specific label values have been notably reserved[17][18] for this use:

  • 0: «explicit-null» for IPv4
  • 2: «explicit-null» for IPv6

Label-switched path

A label-switched path (LSP) is a path through an MPLS network, set up by the NMS or by a signaling protocol such as LDP, RSVP-TE, BGP (or the now deprecated CR-LDP). The path is set up based on criteria in the FEC.

The path begins at a label edge router (LER), which makes a decision on which label to prefix to a packet, based on the appropriate FEC. It then forwards the packet along to the next router in the path, which swaps the packet's outer label for another label, and forwards it to the next router. The last router in the path removes the label from the packet and forwards the packet based on the header of its next layer, for example IPv4. Due to the forwarding of packets through an LSP being opaque to higher network layers, an LSP is also sometimes referred to as an MPLS tunnel.

The router which first prefixes the MPLS header to a packet is called an ingress router. The last router in an LSP, which pops the label from the packet, is called an egress router. Routers in between, which need only swap labels, are called transit routers or label switch routers (LSRs).

Note that LSPs are unidirectional; they enable a packet to be label switched through the MPLS network from one endpoint to another. Since bidirectional communication is typically desired, the aforementioned dynamic signaling protocols can set up an LSP in the other direction to compensate for this.

When protection is considered, LSPs could be categorized as primary (working), secondary (backup) and tertiary (LSP of last resort). As described above, LSPs are normally P2P (point to point). A new concept of LSPs, which are known as P2MP (point to multi-point), was introduced recently.[when?] These are mainly used for multicasting purposes.

Installing and removing paths

There are two standardized protocols for managing MPLS paths: the Label Distribution Protocol (LDP) and RSVP-TE, an extension of the Resource Reservation Protocol (RSVP) for traffic engineering.[19][20] Furthermore, there exist extensions of the Border Gateway Protocol (BGP) that can be used to manage an MPLS path.[10][21][22]

An MPLS header does not identify the type of data carried inside the MPLS path. If one wants to carry two different types of traffic between the same two routers, with different treatment by the core routers for each type, one has to establish a separate MPLS path for each type of traffic.

Multicast addressing

Multicast was, for the most part, an after-thought in MPLS design. It was introduced by point-to-multipoint RSVP-TE.[23] It was driven by service provider requirements to transport broadband video over MPLS. Since the inception of RFC 4875 there has been a tremendous surge in interest and deployment of MPLS multicast and this has led to several new developments both in the IETF and in shipping products.

The hub&spoke multipoint LSP is also introduced by IETF, short as HSMP LSP. HSMP LSP is mainly used for multicast, time synchronization, and other purposes.

Relationship to Internet Protocol

MPLS works in conjunction with the Internet Protocol (IP) and its routing protocols, such as the Interior Gateway Protocol (IGP). MPLS LSPs provide dynamic, transparent virtual networks with support for traffic engineering, the ability to transport layer-3 (IP) VPNs with overlapping address spaces, and support for layer-2 pseudowires using (PWE3)[24] that are capable of transporting a variety of transport payloads (IPv4, IPv6, ATM, Frame Relay, etc.). MPLS-capable devices are referred to as LSRs. The paths an LSR knows can be defined using explicit hop-by-hop configuration, or are dynamically routed by the constrained shortest path first (CSPF) algorithm, or are configured as a loose route that avoids a particular IP address or that is partly explicit and partly dynamic.

In a pure IP network, the shortest path to a destination is chosen even when the path becomes congested. Meanwhile, in an IP network with MPLS Traffic Engineering CSPF routing, constraints such as the RSVP bandwidth of the traversed links can also be considered, such that the shortest path with available bandwidth will be chosen. MPLS Traffic Engineering relies upon the use of TE extensions to Open Shortest Path First (OSPF) or Intermediate System To Intermediate System (IS-IS) and RSVP. In addition to the constraint of RSVP bandwidth, users can also define their own constraints by specifying link attributes and special requirements for tunnels to route (or not to route) over links with certain attributes.[25]

For end-users the use of MPLS is not visible directly, but can be assumed when doing a traceroute: only nodes that do full IP routing are shown as hops in the path, thus not the MPLS nodes used in between, therefore when you see that a packet hops between two very distant nodes and hardly any other 'hop' is seen in that provider's network (or AS) it is very likely that network uses MPLS.

MPLS local protection (fast reroute)

In the event of a network element failure when recovery mechanisms are employed at the IP layer, restoration may take several seconds which may be unacceptable for real-time applications such as VoIP.[26][27][28] In contrast, MPLS local protection meets the requirements of real-time applications with recovery times comparable to those of shortest path bridging networks or SONET rings of less than 50 ms.[26][28][29]


MPLS can make use of existing ATM network or Frame Relay infrastructure, as its labeled flows can be mapped to ATM or Frame Relay virtual-circuit identifiers, and vice versa.

Frame Relay

Frame Relay aimed to make more efficient use of existing physical resources, which allow for the underprovisioning of data services by telecommunications companies (telcos) to their customers, as clients were unlikely to be utilizing a data service 100 percent of the time. In more recent years, Frame Relay has acquired a bad reputation in some markets because of excessive bandwidth overbooking by these telcos.

Telcos often sell Frame Relay to businesses looking for a cheaper alternative to dedicated lines; its use in different geographic areas depended greatly on governmental and telecommunication companies' policies.

Many customers are likely to migrate from Frame Relay to MPLS over IP or Ethernet within the next two years[when?], which in many cases will reduce costs and improve manageability and performance of their wide area networks.[30]

ATM (Asynchronous transfer mode)

While the underlying protocols and technologies are different, both MPLS and ATM provide a connection-oriented service for transporting data across computer networks. In both technologies, connections are signaled between endpoints, the connection state is maintained at each node in the path, and encapsulation techniques are used to carry data across the connection. Excluding differences in the signaling protocols (RSVP/LDP for MPLS and PNNI:Private Network-to-Network Interface for ATM) there still remain significant differences in the behavior of the technologies.

The most significant difference is in the transport and encapsulation methods. MPLS is able to work with variable length packets while ATM transports fixed-length (53 bytes) cells. Packets must be segmented, transported and re-assembled over an ATM network using an adaptation layer, which adds significant complexity and overhead to the data stream. MPLS, on the other hand, simply adds a label to the head of each packet and transmits it on the network.

Differences exist, as well, in the nature of the connections. An MPLS connection (LSP) is unidirectional—allowing data to flow in only one direction between two endpoints. Establishing two-way communications between endpoints requires a pair of LSPs to be established. Because 2 LSPs are required for connectivity, data flowing in the forward direction may use a different path from data flowing in the reverse direction. ATM point-to-point connections (virtual circuits), on the other hand, are bidirectional, allowing data to flow in both directions over the same path (Both SVC and PVC ATM connections are bidirectional. Check ITU-T

Both ATM and MPLS support tunneling of connections inside connections. MPLS uses label stacking to accomplish this while ATM uses virtual paths. MPLS can stack multiple labels to form tunnels within tunnels. The ATM virtual path indicator (VPI) and virtual circuit indicator (VCI) are both carried together in the cell header, limiting ATM to a single level of tunneling.

The biggest advantage that MPLS has over ATM is that it was designed from the start to be complementary to IP. Modern routers are able to support both MPLS and IP natively across a common interface allowing network operators great flexibility in network design and operation. ATM's incompatibilities with IP require complex adaptation, making it comparatively less suitable for today's predominantly IP networks.


MPLS is currently (as of March 2012) in use in IP-only networks and is standardized by the IETF in RFC 3031. It is deployed to connect as few as two facilities to very large deployments.

In practice, MPLS is mainly used to forward IP protocol data units (PDUs) and Virtual Private LAN Service (VPLS) Ethernet traffic. Major applications of MPLS are telecommunications traffic engineering, and MPLS VPN.


MPLS has been originally proposed to allow high-performance traffic forwarding and traffic engineering in IP networks. However it evolved in Generalized MPLS (GMPLS) to allow the creation of label-switched paths (LSPs) also in non-native IP networks, such as SONET/SDH networks and wavelength switched optical networks.

Competitor protocols

MPLS can exist in both an IPv4 and an IPv6 environment, using appropriate routing protocols. The major goal of MPLS development was the increase of routing speed.[31] This goal is no longer relevant[citation needed] because of the usage of newer switching methods, such as ASIC, TCAM and CAM-based switching. Now, therefore, the main application of MPLS is to implement limited traffic engineering and layer 3 / layer 2 “service provider type” VPNs over IPv4 networks.[citation needed]

Besides GMPLS, the main competitors to MPLS are Shortest Path Bridging (SPB), Provider Backbone Bridges (PBB), and MPLS-TP. These also provide services such as service provider layer 2 and layer 3 VPNs. L2TPv3 has been suggested as a competitor, but has not reached any wider success.[citation needed] Some internet providers[who?] are offering different services to customers along with MPLS. These services mainly include national private leased circuit (NPLC), ILL, IPLC etc.[clarification needed]

As an example of NPLC, consider two cities. An organization has an office in each city. The organization requires connectivity between these two offices. The ISP will have access to a PoP in each city and therefore has a link between the PoPs. To connect the offices to the PoPs, a connection via the local loop will be commissioned for each office. In this way, an NPLC is delivered.

IEEE 1355 and Spacewire are a family of simplified physical-layer standards very similar in function at the hardware level to MPLS.[citation needed]

See also


  1. ^ In some applications, the packet presented to the LER already may have a label, so that the new LER pushes a second label onto the packet.


  1. ^ https://searchnetworking.techtarget.com/definition/Multiprotocol-Label-Switching-MPLS
  2. ^ MPLS Fundamentals, By Luc De Ghein Nov 21, 2006 (ISBN 1-58705-197-4)
  3. ^ Applied Data Communications (A Business-Oriented Approach) James E. Goldman & Phillip T. Rawles, 2004 (ISBN 0-471-34640-3)
  4. ^ P. Newman; et al. (May 1996). "Ipsilon Flow Management Protocol Specification for IPv4". RFC 1953. IETF. Missing or empty |url= (help)
  5. ^ Y. Rekhter et al., Tag switching architecture overview, Proc. IEEE 82 (December 1997), 1973–1983.
  6. ^ "IETF - Tag Distribution Protocol (draft-doolan-tdp-spec-00)". IETF. September 1996.
  7. ^ V. Sharma; F. Hellstrand (February 2003), RFC 3469: Framework for Multi-Protocol Label Switching (MPLS)-based Recovery, IETF
  8. ^ L. Andersson; R. Asati (February 2009), Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field, IETF
  9. ^ Ivan Pepelnjak; Jim Guichard (2002), MPLS and VPN Architectures, Volume 1, Cisco Press, p. 27, ISBN 1587050811
  10. ^ a b E. Rosen; Y. Rekhter (February 2006), RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs), IETF
  11. ^ B. Thomas; E. Gray (January 2001), RFC 3037: LDP Applicability, IETF
  12. ^ Savecall telecommunication consulting company Germany Savecall - MPLS
  13. ^ Doyle, Jeff. "Understanding MPLS Explicit and Implicit Null Labels". Network World. Retrieved 2018-03-13.
  14. ^ "6PE FAQ: Why Does 6PE Use Two MPLS Labels in the Data Plane?". Cisco. Retrieved 2018-03-13.
  15. ^ Gregg., Schudel (2008). Router security strategies : securing IP network traffic planes. Smith, David J. (Computer engineer). Indianapolis, Ind.: Cisco Press. ISBN 978-1587053368. OCLC 297576680.
  16. ^ "Configuring Ultimate-Hop Popping for LSPs - Technical Documentation - Support - Juniper Networks". www.juniper.net. Retrieved 2018-03-13.
  17. ^ Dino, Farinacci; Guy, Fedorkow; Alex, Conta; Yakov, Rekhter; C., Rosen, Eric; Tony, Li. "MPLS Label Stack Encoding". tools.ietf.org. Retrieved 2018-03-13.
  18. ^ <[email protected]>, Eric C. Rosen. "Removing a Restriction on the use of MPLS Explicit NULL". tools.ietf.org. Retrieved 2018-03-13.
  19. ^ L. Andersson; I. Minei; B. Thomas (October 2007), RFC 5036: LDP Specification, IETF
  20. ^ D. Awduche; L. Berger; D. Gan; T. Li; V. Srinivasan; G. Swallow (December 2001), RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, IETF
  21. ^ Y. Rekhter; E. Rosen (May 2001), RFC 3107: Carrying Label Information in BGP-4, IETF
  22. ^ Y. Rekhter; R. Aggarwal (January 2007), RFC 4781: Graceful Restart Mechanism for BGP with MPLS, IETF
  23. ^ R. Aggarwal; D. Papadimitriou; S. Yasukawa (May 2007), RFC 4875: Extensions to Resource Reservation Protocol-Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs), IETF
  24. ^ S. Bryant; P. Pate (March 2005), RFC 3985: Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture, IETF
  25. ^ de Ghein, Luc, MPLS Fundamentals, pp. 249–326
  26. ^ a b Aslam; et al. (2005-02-02), NPP: A Facility Based Computation Framework for Restoration Routing Using Aggregate Link Usage Information, QoS-IP 2005 : quality of service in multiservice IP network, retrieved 2006-10-27.
  27. ^ Raza; et al., Online routing of bandwidth guaranteed paths with local restoration using optimized aggregate usage information (PDF), IEEE-ICC 2005, retrieved 2006-10-27.
  28. ^ a b Li Li; et al., Routing bandwidth guaranteed paths with local restoration in label switched networks (PDF), IEEE Journal on Selected Areas in Communications, retrieved 2006-10-27.
  29. ^ Kodialam; et al., Dynamic Routing of Locally Restorable Bandwidth Guaranteed Tunnels using Aggregated Link Usage Information (PDF), IEEE Infocom. pp. 376–385. 2001, retrieved 2006-10-27.
  30. ^ "AT&T — Frame Relay and IP-Enabled Frame Relay Service (Product Advisor)", Research and Markets, June 2007.
  31. ^ "Is MPLS faster?". www.802101.com. 2017-08-04. Retrieved 2017-08-05.

Further reading

  • "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)
  • Rick Gallaher's MPLS Training Guide (ISBN 1932266003)

External links


Skywire Nodes

The building blocks of the Skywire network, deployable by anyone to ensure decentralization of the Skywire ecosystem.

[this portion needs to be expanded on]

Skycoin Nodes

[this portion needs to be expanded on]