Basic MPLS Tutorial

MPLS is a new forwarding mechanism called “label switching” in which packets are forwarded based on labels. However, hosts are unaware about labeled packets so routers will need to add a label when entering “MPLS area” and remove that label after leaving there.

The idea of label switching is to have only the first router do an IP lookup and assign a label, then all future routes in the network can “cheat” by doing exact match “switching” based on a label. This would reduce load on the core routers, where high-performance was the most difficult to achieve, and distribute the routing lookups across lower speed edge routers.

In a traditional IP network:
* Each router performs an IP lookup (“routing”), determines a next-hop based on its routing table, and forwards the packet to that next-hop.
* Rinse and repeat for every router, each making its own independent routing decisions, until the final destination is reached.
MPLS does “label switching” instead:
* The first device does a routing lookup, just like before.
* But instead of finding a next-hop, it finds the final destination router.
* And it finds a pre-determined path from “here” to that final router.
* The router applies a “label” (or “shim”) based on this information.
* Future routers use the label to route the traffic without needing to perform any additional IP lookups.
* At the final destination router, the label is removed and the packet is delivered via normal IP routing.

Therefore 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.

READ MORE…

Control Plane Policing (CoPP) Tutorial

The IP traffic managed by a device can be divided into four distinct, logical groups:

1. Data plane packets: user-generated packets that are always forwarded by network devices to other end-station devices.

2. Services plane packets: a special case of data plane packets, services plane packets are also user-generated packets that are also forwarded by network devices to other hosts, but that require high-touch handling by the network device (above and beyond normal, destination IP address-based forwarding) to forward the packet. Examples of high-touch handling include such functions as GRE encapsulation, QoS, MPLS VPNs, and SSL/IPsec encryption/decryption…

As we see in the picture below, some traffic of the services plane is “punted” (or “pulled”) to handle in the CPU while other is treated by CEF only. “Punt” is often used to describe the action of moving a packet from the fast path (CEF) to the route processor for handling.

3. Control plane packets: Network device generated or received packets that are used for the creation and operation of the network itself. Control plane packets are always handled by the CPU in the network device route processor. Examples include packets of routing protocols like OSPF, EIGRP, BGP or some other non-routing protocols like CDP…

4. Management plane packets: packets that are used to manage the network. Examples include protocols such as Telnet, SSH, SNMP, NTP…

Packet_Planes.jpg

READ MORE…

DMVPN Tutorial

One of the most popular network topology in practical nowadays is shown below with one HeadQuarter connecting to branch offices at some locations. The main enterprise resources are located in the HeadQuarter.

DMVPN_Topo.jpg

The router at the HeadQuarter undertakes the role of a Hub while branch routers take the role of Spokes. In this Hub-and-Spoke topology, each Branch can access some resources on the HeadQuarter. But there are some disadvantages with this topology:

+ When a spoke wants to communicate with another Spoke, it must go through the Hub which increases the traffic passing through the Hub, increase CPU and memory usage on Hub and can create bottle-neck problem. This also increases latency for time-sensitive applications such as VoIP, video conference…
+ Each site requires a static public IP address if the environment between them are public (like the Internet).
+ The configuration is complex, especially with large network. When a new Spoke is added, additional configuration is required on Hub

READ MORE…