230 likes | 491 Views
MULTIPROTOCOL LABEL SWITCHING. Muhammad Abdullah Shafiq. MPLS. Multi-Protocol Label Switching Label Based Packet Forwarding Forwarding Equivalence Class (FEC) Each FEC maps a Label. Why MPLS ? Traditional IP Forwarding vs. MPLS based forwarding. Traditional IP based Forwarding
E N D
MULTIPROTOCOL LABEL SWITCHING Muhammad Abdullah Shafiq
MPLS • Multi-Protocol Label Switching • Label Based Packet Forwarding • Forwarding Equivalence Class (FEC) • Each FEC maps a Label
Why MPLS ? Traditional IP Forwarding vs. MPLS based forwarding • Traditional IP based Forwarding • Based on Longest Prefix Match • Inefficient, slow searching
MPLS Based Forwarding • R1 – R4 : Label Switched Path • Labels : Indexes • Searching is based on labels which are indexes to forwarding table.
Other Advantages of MPLS • Forwarding requires • Label lookups and replacements • Simple switches can do it. • Explicitly routed LSP Vs. Source Routing • Label ~ Route • No need to carry identity of route with packet.
MPLS Domain • Ingress Router • Handles traffic entering MPLS Domain • Egress Router • Handles traffic leaving MPLS Domain • Label Switched Path (LSP) • Path traversed by packet • Label Switching Router (LSR) • Forwards packets based on labels.
Label Binding • FEC ~ Label binding • (Forwarding Equivalence Class) • Upstream & Downstream LSR (w.r.t. binding) • If Packet travels : Ru Rd • FEC F ~ Label L • Ru: Upstream LSR • Rd: Downstream LSR
Label Assignment & Distribution • Downstream Assigned • Label binding is assigned by downstream LSR • Upstream Distribution • Label bindings are distributed upstream • Label Distribution Protocols (LDP) • To inform the ‘peers’ about label bindings • To learn each other’s MPLS capabilities • May use TCP for reliability
Label Stack • A labeled packet may carry more than one label. • Arranged as Last In First Out (LIFO) stack • Processing is based on top label. • Unlabelled packet ~ empty packet stack • Top label: level m • Bottom Label: at level 1 • Uses: LSP tunnel and MPLS hierarchy
Label stack operations • PUSH • Insert a label on top of stack • E.g when forwarding a packet that arrives unlabeled but is to be forwarded with label. • POP • Remove the top label • e.g. at egress router • SWAP • Replace the top label with new label. • Normal forwarding between LSRs.
Invalid incoming labels • An LSR with no binding of incoming label. • Option 1: forward as unlabeled packet • Upstream and downstream forward to each other. • May cause a loop. • Option 2: • Discard packet.
LSP Control • What about FEC that corresponds address prefixes learned via dynamic routing ? • Two solutions: • Independent LSP Control • Each LSR binds independently • Distributes that bindings to peers • Ordered LSP Control • Only egress LSR for FEC binds and distributes • Used when some properties in paths followed are desired (e.g. explicit specified path)
LSP Route Selection • Hop by Hop • Each node chooses next hop independently • Explicitly routed • A single LSR specifies the LSRs in LSP
Aggregation • Traffic in multiple FECs may go to same egress. • Combining multiple FECs to single FEC. • Use single label for union of FECs. • Aggregation reduces the number of labels.
Tunneling • Ru acts to deliver packets to Rd when they are not consecutive routers. • Tunnel from Ru to Rd • Tunneled Packet • Two methods: • Hop by hop routed tunnel • Explicitly routed tunnel
Hierarchy • LSP R1, R2, R3, R4 • Suppose R2 and R3 are not connected directly • R2 , R21, R22, R23 R3 forms internal tunnel. • Actual sequence: • R1, R2, R21, R22, R23, R3, R4