Aarnet's Experiences Using MPLS for Protection

Aarnet's Experiences Using MPLS for Protection

AARNet's experiences using MPLS for protection Internet2/NLANR Joint Techs Meeting Boulder, CO, USA 2002-07-28 Glen Turner, Network Engineer Australian Academic & Research Network [email protected] http://www.aarnet.edu.au/ Topics MPLS overview Protection technology AARNet's experiences with MPLS Other interesting stuff if we have time Coverage MPLS is a big topic with multiple implementation choices at almost every turn Only discuss some of the technolgy choices ● MPLS generic tagging, not ATM tagging ● RSVP and not LDP ● OSPF and not IS-IS Coverage Discuss the use of MPLS for protection, not discussing some important uses of MPLS ● VPNs (and thus BGP) ● GMPLS, the integrated control layer for switching technologies “How to speak Australian” ● words with “or” à “our”, “z” à “s” SONET à SDH (slight framing difference) T1 à E1 (E1 is 2Mbps) Topic MPLS overview Label switching Control plane protocols, RSVP Routing protocols, OSPF MPLS aims Scalable IP traffic engineering ● Avoid need for full IP network knowledge at core Virtual private network service ● By providing label switch paths exclusive to a customer This presentation focuses on traffic engineering ● Only beginning to experiment with VPNs MPLS is a layer 2½ protocol 7 Application 7 Application 6 Presentation 6 Presentation 5 Session 5 Session 4 Transport 4 Transport 3 Network 3 Network 2 Link 2½ MPLS 1 Physical 2 Link 1 Physical Advantages of layer 2½ No complex next hop algorithm ● IP address lookup is expensive – Closest matching prefix versus table lookup ● IP next hop algorithm gets more complex with each new service – Policy routing – Multicast Want GbE switch prices not GbE router prices New behaviours only effect edge routers Advantages of layer 2½, cond No need to follow IP routing ● The shortest path may not be the best path ● Want policy – For traffic engineering ● Bandwidth ● Diverse routers and paths – For arbitrary customer requirements ● eg: Australian Army doesn't want to be routed over links not owned by Australian-controlled telcos Advantages of layer 2½, cond Why MPLS for policy and not BGP? ● BGP is globally visible – Scalability: Does outer Mongolia need to know of an interface failure in outback Australia? – Can lose connectivity due to dampening, which is essential due to global visibility ● Not all reasonable policies can be expressed in BGP Disadvantages of layer 2½ Another set of control protocols ● ATM: OAM, ILMI, PNNI ● 802.1Q VLANs: Virtual LAN reservation protocol ● SDH/SONET MPLS uses IP as its control and routing protocol Layer 2.5 and protection Network layer protection requires a network-layer repsonse ● Limited by convergence time of routing protocol ● Fast convergence and global visibility do not mix – BGP rate limiting is an expression of this Layer 2.5 and protection Link layer protection requires a link layer response ● These often have constrained topologies – SDH/SONET rings – 802.1D and parallel links ● They often inefficiently use protection bandwidth ● They often treat all network traffic as equally valuable ● Lack of network topology: poor decisions Layer 2.5 and protection Allow network layer to establish pre- routed fallback path ● Full topology awareness Allow link layer to switch to fallback path ● Not globally visible ● Fast convergence This could get messy upon multiple failures ● Run interior routing protocol afterwards Forwarding equivalence class Another view of IP routing ● Step 1: Determine forwarding equivalence class from IP header (or more) – Standard: Destination IP address – Advanced: source IP address, multicast group, DSCP, TCP port, increasing bizaare ● Step 2: Lookup FEC forwarding table to determine output interface (ie: switch the packet) Forwarding equivalence class, cond IP router calculates forwarding equivalence class at every hop ● Expensive – either in CPU time or hardware ● Extensive – IP forwarding table is big with frequent updates ● Difficult to alter for new behaviours – ASIC designers may have not anticipated the change (reverse path lookup, source-specific multicast) Forwarding equivalence class, cond MPLS switching ● Determine forwarding equivalence class at ingress ● Tag packet with a fixed-length label for this forwarding equivalence class ● Switch using the label at every other hop to egress – Tags are designed for hardware manipulation Labels are not globally unique Even one router can run multiple “label spaces” – eth0, eth1 in LS1 – eth2, eth3 in LS2 Edge routers need distinct IP routing tables for each label space ● The key to MPLS VPNs ● We often want multiple routing tables and settle for policy routing instead MPLS tag A 32-bit header in front of the packet Tag contains just enough information for forwarding and queuing ● Unlike IPv4/IPv6 header, which carries a lot more Tag has hardware-friendly structure MPLS tag, fields Label ● Determines next-hop interface Experimental (QoS) ● Determines output interface queuing S for “last of stack” ● S=1 on last header Time to live ● Discard upon zero, otherwise decrement MPLS tag, stacking Tag Tag Tag Network-layer packet S=0 S=0 S=1 An MPLS tagged packet can be tagged again (“stacked”) ● Allows Provider-Provider connections to maintain customer tags ● Simplifies design considerably ● Avoids need for global label space MPLS tag, stacking and MTU The tag may reduce the size of the path maximum transmission unit (PMTU) ● TCP/IP stacks don't cope well with change of PMTU – PMTU at establishment of TCP determines TCP MSS ● Best to ensure that main and protect paths have identical tag depths Or may not, if the link layer will let us flex the rules MPLS operation mpls-path.dia MPLS operation, cond Label switch router Incoming packet, look up incoming label map, which contains ● Incoming label ● MPLS opcode: PUSH, POP, etc ● Forwarding equivalence class ● Link to outgoing next hop label entry MPLS operation, cond Label switch router Incoming packet operations ● Extract label from top tag ● Lookup incoming label map ● Execute MPLS opcodes to manipulate tags ● Forward packet to outgoing processing MPLS operation, cond Label switch router Outgoing packet, look up next hop label entry, which contains ● Outgoing label ● Outgoing interface ● Perhaps, outgoing per-hop queuing behaviour MPLS operation, cond Label switch router Outgoing packet operations ● Look up next hop label entry ● Create new tag containing outgoing label ● PUSH tag onto label stack ● Add to transmit queue on outgoing interface – queuing discipline may depend upon ● Value in next hop forwarding entry ● Value determined from Exp bits, a lá IP DSCP and weighted fair queuing + RED MPLS operation, cond Ingress label edge router Incoming packet, look up forwarding equivance class to next hop label entry (FTN), which contains ● forwarding equivalence class ● next hop label entry MPLS operation, cond Ingress label edge router Incoming packet operations ● Determine forwarding equivalence class using “standard” IP forwarding – Basic: lookup destination IP address in IP forwarding table – Advanced: policy routing, multicast routing, QoS routing, ... ● Use FEC to lookup forwarding equivalence class to next hop label entry table ● Process next hop label entry MPLS operation, cond Egress label edge router Next hop label entry shows this router as the penultimate hop Protocol-dependent actions to simulate label switch routers being real routers ● Decrement IP TTL ● Generate any ICMP which would have occurred Forward the packet using the standard IP algorithm Faking ICMP gives interesting results Traceroute from Glen's home to www.internet2.edu 1 sadial.sa.csiro.au 119.657 ms 129.673 ms 100.004 ms 2 sa.gw.csiro.au 119.944 ms 129.829 ms 110.382 ms 3 lis255.atm1-0.central.saard.net 131.917 ms 119.858 ms 109.980 ms 4 sa-nsw.atm.net.aarnet.edu.au 139.715 ms 149.829 ms 140.002 ms 5 vlan916.gbe3-0.sccn1.broadway.aarnet.net.au 149.941 ms 149.773 ms 149.968 ms 6 pos1-0.sccn1.manoa.aarnet.net.au 349.907 ms 279.791 ms 289.963 ms 7 pos2-0.sccn1.seattle.aarnet.net.au 279.866 ms 329.880 ms 279.904 ms 8 Abilene-PWAVE.pnw-gigapop.net 279.870 ms 351.155 ms 328.555 ms 9 dnvr-sttl.abilene.ucaid.edu 339.933 ms 339.861 ms 329.944 ms 10 kscy-dnvr.abilene.ucaid.edu 349.847 ms 339.622 ms 350.053 ms 11 ipls-kscy.abilene.ucaid.edu 339.756 ms 339.932 ms 339.903 ms 12 clev-ipls.abilene.ucaid.edu 339.884 ms 349.808 ms 339.963 ms 13 nycm-clev.abilene.ucaid.edu 349.752 ms 349.857 ms 339.969 ms 14 border-abilene-oc3.advanced.org 360.135 ms 359.857 ms 379.851 ms 15 www.internet2.edu 379.865 ms 359.838 ms 359.950 ms Architectural issues There is a lot of complexity at the edge ● Especially in the egress router But we want the edge to be cheap, as there is a lot of it There are no MPLS applications ATM has applications ● (Today's bizaare but true fact) Links between 3G base stations and switching points is the most recent application to treat ATM as a transport layer Even ethernet has applications ● DEC Local Area Transport There are no MPLS applications MPLS exists only to carry other protocols ● The label edge routers must support the protocol ● This isn't new – All routers have to support the network layer protocol they are routing Model is strained somewhat by abuse of MPLS to carry ethernet frames Configuring a label switch router Linux Both eth0 and eth1 in label space 1 ● mplsadm -L eth0:1 mplsadm -L eth1:1 Configuring a label switch router Linux Configure label switching ● mplsadm -A -I gen:10:1 -O gen:20:ipv4:10.3.0.2 -B mplsadm -A -I gen:21:1 -O gen:11:ipv4:10.2.0.1 -B – -A -B: add and bind – -I: incoming

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    142 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us