DD2490 p4 2011. Routing and MPLS/IP. Olof Hagsand KTH CSC



Similar documents
DD2491 p BGP-MPLS VPNs. Olof Hagsand KTH/CSC

WAN Topologies MPLS. 2006, Cisco Systems, Inc. All rights reserved. Presentation_ID.scr Cisco Systems, Inc. All rights reserved.

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

Introducing Basic MPLS Concepts

MPLS Based Recovery Mechanisms

MikroTik RouterOS Introduction to MPLS. Prague MUM Czech Republic 2009

DD2491 p MPLS/BGP VPNs. Olof Hagsand KTH CSC

MPLS Concepts. Overview. Objectives

Protection Methods in Traffic Engineering MPLS Networks

How Routers Forward Packets

MPLS. A Tutorial. Paresh Khatri. paresh.khatri@alcatel-lucent.com.au

MPLS Basics. For details about MPLS architecture, refer to RFC 3031 Multiprotocol Label Switching Architecture.

Project Report on Traffic Engineering and QoS with MPLS and its applications

Enterprise Network Simulation Using MPLS- BGP

MPLS is the enabling technology for the New Broadband (IP) Public Network

PRASAD ATHUKURI Sreekavitha engineering info technology,kammam

How To Make A Network Secure

Design of MPLS networks VPN and TE with testing its resiliency and reliability

RFC 2547bis: BGP/MPLS VPN Fundamentals

Introduction to MPLS-based VPNs

IPv6 over IPv4/MPLS Networks: The 6PE approach

Cisco Configuring Basic MPLS Using OSPF

MPLS Environment. To allow more complex routing capabilities, MPLS permits attaching a

MPLS Concepts. MPLS Concepts

Implementing MPLS VPN in Provider's IP Backbone Luyuan Fang AT&T

Junos MPLS and VPNs (JMV)

MPLS - A Choice of Signaling Protocol

MPLS-based Virtual Private Network (MPLS VPN) The VPN usually belongs to one company and has several sites interconnected across the common service

THIS WEEK: DEPLOYING MPLS

IMPLEMENTING CISCO MPLS V3.0 (MPLS)

MPLS-based Layer 3 VPNs

l.cittadini, m.cola, g.di battista

Implementation of Traffic Engineering and Addressing QoS in MPLS VPN Based IP Backbone

Bandwidth Management in MPLS Networks

MPLS. Packet switching vs. circuit switching Virtual circuits

MPLS Traffic Engineering - A Choice Of Signaling Protocols

ISTANBUL. 1.1 MPLS overview. Alcatel Certified Business Network Specialist Part 2

APPLICATION NOTE 211 MPLS BASICS AND TESTING NEEDS. Label Switching vs. Traditional Routing

OPNET simulation of voice over MPLS With Considering Traffic Engineering

Comparative Analysis of Mpls and Non -Mpls Network

Overview. QoS, Traffic Engineering and Control- Plane Signaling in the Internet. Telematics group University of Göttingen, Germany. Dr.

Leveraging Advanced Load Sharing for Scaling Capacity to 100 Gbps and Beyond

MPLS VPN Services. PW, VPLS and BGP MPLS/IP VPNs

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

- Multiprotocol Label Switching -

PROTECTION ALGORITHMS FOR BANDWIDTH GUARANTEED CONNECTIONS IN MPLS NETWORKS WONG SHEK YOON

DAY ONE: MPLS FOR ENTERPRISE ENGINEERS

MPLS L2VPN (VLL) Technology White Paper

BFD. (Bidirectional Forwarding Detection) Does it work and is it worth it? Tom Scholl, AT&T Labs NANOG 45

NAVAL POSTGRADUATE SCHOOL THESIS

Broadband Networks. Prof. Karandikar. Department of Electrical Engineering. Indian Institute of Technology, Bombay. Lecture - 26

How To Understand The Benefits Of An Mpls Network

MPLS over IP-Tunnels. Mark Townsley Distinguished Engineer. 21 February 2005

MPLS Virtual Private Networks

Migrating to MPLS Technology and Applications

Implementing Cisco MPLS

Design of Virtual Private Networks with MPLS

Evolution of QoS routing in the Internet

Internetworking II: VPNs, MPLS, and Traffic Engineering

Layer 3 Multiprotocol Label Switching Virtual Private Network

MPLS TE Technology Overview

Lesson 13: MPLS Networks

MPLS-TP. Future Ready. Today. Introduction. Connection Oriented Transport

100Gigabit and Beyond: Increasing Capacity in IP/MPLS Networks Today Rahul Vir Product Line Manager Foundry Networks

MP PLS VPN MPLS VPN. Prepared by Eng. Hussein M. Harb

ICTTEN6172A Design and configure an IP- MPLS network with virtual private network tunnelling

IMPLEMENTING CISCO MPLS V2.3 (MPLS)

HP Networking BGP and MPLS technology training

Virtual Leased Lines - Martini

Experiences with Class of Service (CoS) Translations in IP/MPLS Networks

Multi-Protocol Label Switching To Support Quality of Service Needs

Multiprotocol Label Switching (MPLS)

MPLS Pseudowire Innovations: The Next Phase Technology for Today s Service Providers

Kingston University London

For internal circulation of BSNLonly

Multiprotocol Label Switching (MPLS)

MPLS/BGP Network Simulation Techniques for Business Enterprise Networks

Multi Protocol Label Switching (MPLS) is a core networking technology that

Requirements for VoIP Header Compression over Multiple-Hop Paths (draft-ash-e2e-voip-hdr-comp-rqmts-01.txt)

Link Failure Recovery. for MPLS Networks with Multicasting

Transition to IPv6 in Service Providers

Broadband Network Architecture

Expert Reference Series of White Papers. An Overview of MPLS VPNs: Overlay; Layer 3; and PseudoWire

MPLS Traffic Engineering in ISP Network

RSVP- A Fault Tolerant Mechanism in MPLS Networks

Lab 4.2 Challenge Lab: Implementing MPLS VPNs

Analysis of traffic engineering parameters while using multi-protocol label switching (MPLS) and traditional IP networks

Protection And Restoration In MPLS Networks

KTHNOC, MPLS static lab, rev: MPLS static lab. Juniper version. Group Nr. Name1. Name2. Name3. Name4. Date. Grade. Instructor s Signature

Master Course Computer Networks IN2097

Glossary SR Advanced Configuration Guide Page 2785

Network Virtualization with the Cisco Catalyst 6500/6800 Supervisor Engine 2T

MPLS Multiprotocol Label Switching

Department of Communications and Networking. S /3133 Networking Technology, Laboratory course A/B

MPLS VPNs with DiffServ A QoS Performance study

QoS Strategy in DiffServ aware MPLS environment

MPLS in Optical Networks

Fast Re-Route in IP/MPLS networks using Ericsson s IP Operating System

Boosting Capacity Utilization in MPLS Networks using Load-Sharing MPLS JAPAN Sanjay Khanna Foundry Networks

MPLS IN OPTICAL NETWORKS

Transcription:

DD2490 p4 2011 Routing and MPLS/IP Olof Hagsand KTH CSC 1

Literature Lecture slides and lecture notes (on web) Reference JunOS Cookbook: Chapter 14 2

Background MPLS - Multiprotocol Label Switching Originally thought to simplify IP forwarding Small label lookup instead of longest prefix match Roots in ATM (Asynchronous Transfer Mode) Early 90s, most telecoms thought ATM would take over all data- and tele-communication MPLS/IP was standardized in IETF in mid 90s. GMPLS can be used for optical networking such as management of wavelengths: lambdas MPLS/TP is currently being standardized Transport Profile MPLS/TP is independent of IP and for non-signalled lowlevel optical networks 3

MPLS Advantages Originally, the motivation was speed and cost. But routers does IP lookup in hardware at very high speeds. Current advantages: Label switching can be used for traffic engineering Aggregating a class of traffic Guarantees: Allocation of resources Constrained routing: load, bw, etc. Labels can be used to forward using other fields than destination address Label switching can be used to support VPNs virtual private networks 4

Where is MPLS used? MPLS is used as a tunneling technique within an operator's internal IP network Tunneling characteristics - traffic is isolated VPNs Traffic engineering - control bandwidths and links MPLS is not used In traditional enterprise networks Between operators (inter-domain) 5

Why MPLS? MPLS gives a simple tunneling mechanism integrated with IP Another IP-based tunneling protocol could give the same service IP in IP But MPLS has a nice toolbox and is easy to configure Alternatives Pure IP networking: manage tunnels yourself Provider backbone bridging (IEEE 802.1ah) 6

MPLS Terminology MPLS uses some new terminology (MPLS ~ IP) LSR: Label Switching Router ~ Router LER: Label Edge Router ~ Border router Alternative: PE - Provider Edge / CE Customer Edge Also: Egress/Ingress/Transit LSR LSP: Label Switched Path ~ Tunnel FEC: Forwarding Equivalence Class ~ Flow Label distribution ~ Routing LFIB: Label Forwarding Information Base ~ FIB 7

Control and Data Planes LSR Control Plane (Binding Layer) LFIB Label Distribution: LDP-CR RSVP-TE MP-BGP Router Control Plane (Routing Layer) FIB Routing: OSPF IS-IS BGP Data Plane (Forwarding Layer) MPLS packet Data Plane (Forwarding Layer) IP packet 8

Labels A label is an integer identifying a FEC (a flow). You cannot have globally or network- unique labels Too complex to negotiate Too large labels Labels are unique only between two nodes Labels 0-1048575. 0-15 reserved by the IETF. Labels change at each node as a packet traverses a path You can set labels manually(worse than static routing), or use label distribution Example of Label Forwarding Information Base LFIB (MPLS forwarding table): In-Interface in-label op out-label out-interface 20-bit label if 3 99 swap 203 if1 if 3 333 swap 978 if2 9

Encapsulation 20-bit label 3-bit TC 1-bit stack 8-bit TTL Eth hdr Label hdr IP hdr IP payload MPLS uses a 32-bit shim header: Label: Value for table lookup in router TC: Traffic class field, can be used as class-of-service for QoS Stack: Indicates that the bottom of a stack of labels has been reached TTL: Time To Live (resembles IP TTL) Shim headers may be concatenated into stacks Eth hdr Label hdr Label hdr IP hdr IP payload stack=0 stack = 1 10

Forwarding Equivalence Class (FEC) Sort packets into different classes classify them. Classification is a more general form of lookup Example1: All packets to one destination: ipdst = 192.168.20.33 Example2: All UDP packets with the ToS field set to 0x42 from subnetwork 192.168.20.0/24 Such a subset is called a Forwarding Equivalence Class (FEC) MPLS binds labels to FECs Labelling FEC label FECs granularity Coarse good for scalability Fine good for flexibility FEC1 99 FEC2 2345...... What defines FECs? Something else : eg BGP routing table, VPN, packet filters, etc. I.e., The meaning of a FEC (the semantics) is added by the overlying application 11

Label operations Push a label (typically at ingress) Double push (label stacking) Swap a label Made by internal LSRs / P routers Pop a label Typically at egress or pen-ultimate LSR Label operations are interface-specific Since labels are unique between LSRs 12

Label pushing LER pkt if1 99 pkt LSP FEC op out-label interface F1 push 99 if1 The border router (LER) classifies packets into FECs Binds a label to the packet Actually it maps the FEC to an LSP which in turn defines a label Pushes an MPLS header on the packet And sends it on the outgoing interface of the LSP 13

Label swapping LSP 99 pkt if3 if1 203 pkt LSP In-Interface in-label op out-label out-interface if 3 99 swap 203 if1 A router (LSR) makes a label lookup and swaps the label Rewrites the MPLS header And sends it further on the LSP 14

Label popping LER LSP 203 pkt if3 if1 pkt In-Interface in-label op out-label out-interface if 3 203 pop (IP lookup) The border router (LER) pops the MPLS packet And then forwards it as usual depending on the packets protocol Example: pkt is an IP packet --> pkt is sent to IP forwarding Thus both MPLS and IP forwarding on same node! 15

Pen-ultimate popping Pen-ultimate LSR LER LSP 203 pkt if3 if1 pkt MPLS pop IP routing In-Interface in-labelop out-label out-interface if 3 203 pop - if1 To make it easier for the border router, pop the label on the previous router (pen-ultimate) The pen-ultimate LSR does MPLS pop The LER does only IP routing 16

Special labels operations 0: IPv4 explicit NULL Downstream LSR should pop label unconditionally Popped packet is an IPv4 datagram 1: Router alert Deliver to control plane do not forward 2: IPv6 explicit-null Downstream LSR should pop unconditionally Popped packet is an IPv6 datagram 3: Implicit-NULL Pop immediately and treat as IPv4 packet Note: This label does not actually appear on link (virtual) Use for pen-ultimate popping! 17

MPLS Label Switched Paths IP pkt 203 IP pkt LSP IP pkt Push label 130 IP pkt 1345 IP pkt IP pkt Example: IP Swap label Pop label Route packet Pen-ultimate popping Eth hdr Label hdr IP hdr IP payload 20-bit label 3-bit exp 1-bit stack 8-bit TTL 18

Label Stacking '33' pkt1 23 33 pkt1 45 33 pkt1 pkt1 '33' 33 pkt1 pen-ultimate 66 55 pkt2 99 55 pkt2 55 pkt2 pkt2 '55' pkt2 '55' Used inside a network for example in VPNs An inner label carrying edge information(eg which VPN) is transferred through the domain (33 and 55 in the example) Outer label is used for transfer through the network Push both labels at ingress. Pop outer label at pen-ultimate LSR 19

Typical use: MPLS for transit (lab scenario) BGP IGP + MPLS BGP AS BGP Use an IGP to compute internal routes Setup LSPs between border routers using the IGP Eg border routers may set up a full-mesh of LSPs Send transit traffic via LSPs (src and dst outside the AS) But still send internal traffic via IP (src or dst inside the AS) External routes need not be distributed to non-border routers, so we do not need IBGP there A BGP-free core Only the border routers need to speak BGP This is considered an advantage 20

MPLS for transit Having MPLS in the core thus means that you do not need IBGP in interal routers You still (always) need IBGP between border routers Thus, MPLS is an alternative to using IGP internally for external routes (bad choice) or IBGP (suffers from scaling) Note that interbal traffic still uses IP, only transit goes in MPLS We need some tricks in the border routers to make transit traffic follow LSPs and not IP separation between transit and internal traffic In JunOS this is done with inet.3 for next-hop routes (last slide) 21

Label Distribution Labels need to be assigned and LFIBs programmed A signaling protocol distributes labels Creates an LSP through an MPLS network There are different ways to do this 1. Make a new protocol LDP Label Distribution Protocol 2. Extend existing protocols BGP Border Gateway Protocol RSVP Resource Reservation Protocol These protocols all distributes labels But they are somewhat different and can be combined to transfer different labels, eg BGP+RSVP, where BGP transfers inner labels and RSVP negotiate outer labels. RSVP is great for bandwidth reservation,... 22

Label distribution and IGP Label distribution protocols typically rely on an IGP (eg OSPF/IS-IS) to find the shortest path of their LSP. Or use source-routing to do constrained SPF or fixedpath routing They then assign labels to the LSP on the path. Normally, labels are assigned in upstream direction During setup of LSPs, traffic may be black-holed Discrepancy between IGP and label distribution Same is true during reconvergence (IGP routes change) 23

Resource Reservation Protocol RSVP is a network control protocol used to express quality of service (QoS). Binds a QoS request to a flow RSVP delivers QoS reservations along a path from source to destination(s). No routing: IGP computes path Uses soft-state : paths are recomputed when routing changes RSVP-TE is used for traffic engineering for MPLS 24

RSVP Model Receiver Sender PATH msg (TSpec) RESV msg (FlowSpec) Receiver Two types of messages to set up reservations: PATH message From a sender to one or several receivers, carrying TSpec and classification information provided by sender RESV message From receiver, carrying FlowSpec indicating QoS required by receiver 25

MPLS support in RSVP-TE Ingress PATH Egress RESV lbl=9 RESV lbl=5 RESV RSVP-TE has been adapted to support MPLS New objects defined carrying labels In this way, RSVP-TE can express QoS (Tspec, FlowSpec) associated with an LSP Network resources are then bound to that LSP throughout the network. 26

Traffic engineering with RSVP-TE/MPLS A RSVP can reserve resources in the network RSVP can signal alternative paths using Constrained shortest path (eg using allocated bandwidth) Strict/ loose source routing Why? Traffic distribution, alternate paths Difficult to do with regular routing protocols. Example: LSP strict source routing: A,B,C,D,E (20 Mbps) See routing algorithms lecture: CSPF 20 B 10 20 20 D 20 E 10 10 C 27

Protection switching in MPLS Assume a primary LSP is signalled from A-D via B and C If a link or node goes down, how is reliability ensured? There are several issues and techniques: Detection of failure IGP re-route Path protection Local protection To think about Switchover latency Over-reservation A B C D E F 28

Detection of failure SDH/SONET does protection switching at ~50ms. Routing protocol Hello's are typically on 1s-10s. Physical level detection. But not all links support this. Instead, send packets very often MPLS pings along the LSP Send many packets and detect losses BFD - Bidirectional forwarding detection Send many packets and detect losses Generic technique for other protocols: OSPF, BGP, etc But sending many packets per LSP has its cost in bandwidth use And CPU usage if not done in hw 29

IGP reroute When the underlying IGP detects a failure, it will reroute around the failure, and thus RSVP-TE will send its PATH and RESV messages on the new route and the LSP will eventually establish itself using the new route The cleanest solution but may be slow if IGP protection switching and RSVP failover is slow. This is done in the lab A B C D Initial LSP Switchover LSP E F 30

Path protection Compute a secondary path in advance Switchover when the primary path fails using BFD/MPLS pings This is also done in the lab A B C D Primary LSP Secondary LSP E F 31

Local protection (FRR) Protected LSP: ready-made detours The repair is made locally by pre-computed detour LSPs Fast switchover since reroute made locally A detour is an extra LSP from a node in the path to a merge point Link or node protection One-to-any or facility LSP Example (link protection) Protected LSP: A->B->C->D Detours: A->E->B; B->E->F->C; C->F->D (only 2nd shown in fig) A B C D Protected LSP Detour LSP E F 32

Summary: MPLS in a transit network Putting it all together: IGP is used to routes between all routers in the network MPLS is used to carry transit traffic between border routers (PE) RSVP-TE is used to signal MPLS LSPs between border routers. RSVP-TE is used to reserve bandwidth in LSPs RSVP-TE used to compute alternative paths for switchover BGP is used for all external routes. This is the lab scenario. 33

Lab: Using MPLS for transit: BGP-free core 34

MPLS in JunOS See http://www.juniper.net/techpubs/software/junos/junos94/s wconfig-mpls-apps Example: Enable mpls on all forwarding interfaces Enable icmp in mpls for debugging (traceroute) Setup LSPs (using explicit path setup: no cspf) interface so-0/0/0 { unit 0 { family mpls; # Enable mpls address family } } protocols mpls { icmp-tunneling; # Enable icmp for debugging interface so-0/0/0.0; # Include interface in mpls forwarding label-switched-path btoc { # Define an LSP to 193.10.255.6; # LSP end-point no-cspf; # Enable explicit-path computation } rsvp { interface so-0/0/0.0; # Enable rsvp on interface } cspf - Constrained Path Shortest Path Dont use it in lab - use explicit routing. 35

MPLS show commands > show mpls lsp Ingress LSP: 1 sessions To From State Rt P ActivePath LSPname 193.10.255.6 193.10.255.5 Up 1 * btoc Egress LSP: 1 sessions To From State Rt Style Labelin Labelout LSPname 193.10.255.5 193.10.255.6 Up 0 1 FF 3 - ctob Transit LSP: 2 sessions To From State Rt Style Labelin Labelout LSPname 193.10.255.5 193.10.255.6 Up 1 1 FF 299792 3 ctob 193.10.255.6 193.10.255.5 Up 1 1 FF 299776 3 btoc > show route protocol rsvp 299776 *[RSVP/7] 3d 18:23:44, metric 1 > via so-0/1/0.0, label-switched-path btoc 299776(S=0) *[RSVP/7] 3d 18:23:44, metric 1 > via so-0/1/0.0, label-switched-path btoc 299792 *[RSVP/7] 3d 18:23:37, metric 1 > via so-0/0/0.0, label-switched-path ctob 299792(S=0) *[RSVP/7] 3d 18:23:37, metric 1 > via so-0/0/0.0, label-switched-path ctob > show mpls interface > show rsvp interface > show rsvp neigbour >... 36

12.0.0.0/30.1 EBGP nexthop: recursive lookup RTD AS1 lo: 10.0.0.1 IBGP RTC RTA.1 DMZ: 192.168.200.0/30 EBGP.2 RTB 130.2.3.4/24 AS2 RTC:s routing table alternatives: Next-hop self is necessary for BGP to use MPLS! Route Nexthop Protocol 130.2.3.4/24 192.168.200.2 IBGP 192.168.200.0/30 12.0.0.1 IGP DMZ nexthop 10.0.0.1/32 lspa RSVP 12.0.0.0/30 - direct Route Nexthop Protocol 130.2.3.4/24 10.0.0.1 IBGP 10.0.0.1/32 12.0.0.1 IGP 10.0.0.1/32 lspa RSVP Next-hop self 12.0.0.0/30 - direct 37

Next-hop self issue There are routes both from IGP and RSVP. Internal traffic should use the IGP, external should use RSVP. RSVP adds end-points in a separate inet table which BGP uses: inet.3. RSVP has lower precedence than the IGP BGP looks in both inet.0 and inet.3. IGP does not. This is how transit traffic uses the LSP tunnels. 38