Traffic Engineering Muhammad Jaseemuddin Dept. of Electrical & Computer Engineering Ryerson University Toronto, Canada References. RFC 7. Jennifer Rexford et al, Traffic Engineering for ISP Networks. Juniper, Traffic Engineering with MPLS, APRICOT 00 4. P. Ashwood-Smith, B. Jamousi, MPLS Tutorial, Nortel Networks 5. A. Leon-Garcia and I. Widjaja, Communication Networks: Fundamental Concepts and Key Architectures, McGraw Hill, 04.
Internet Traffic Engineering Aspect of network engineering dealing with the issues of performance evaluation and performance optimization of operational network Traffic Engineering Objectives Enhancing the performance at both traffic and resource level This is accomplished by addressing traffic oriented performance requirements while utilizing network resources economically and feasibly Traffic oriented performance parameters are delay, delay variation, packet loss, and throughput Facilitate reliable network operation Improves survivability Traffic Control Time Scale The traffic engineering control function generates response at different time scale to network events Capacity planning occurs at coarse time scale ranging from days to years Routing control functions at intermediate level of time scale ranging from milliseconds to days Packet level traffic control operates at very fine level of temporal resolution Traffic conditioning Shaping Scheduling
Traffic Engineering in ISP Backbone Topology of the ISP backbone Connectivity and capacity of routers and links Traffic demands Expected/offered load between points in the network Routing configuration Tunable rules for selecting a path for each traffic flow Performance objective Balanced load, low latency, service level agreements Question: Given the topology and traffic demands in an network, which routes should be used? State-of-the-Art in Networks Missing input information The topology and traffic demands are often unknown Traffic fluctuates over time (user behavior, new appls) Topology changes over time (failures, growth, reconfig) Primitive control over routing The network does not adapt the routes to the load The static routes are not optimized to the traffic Routing parameters are changed manually by operators (But, other than that, everything is under control )
Requirements for Traffic Engineering Models Traffic demands Network topology/configuration Internet routing algorithms Techniques for populating the models Measuring/computing the traffic demands Determining the network topology/configuration Optimizing the routing parameters Analysis of the traffic demands Knowing how the demands fluctuates over time Understanding the traffic engineering implications Datagram Routing Intra-domain TE Framework Routing Model Topology & Configuration Traffic Demands Setting Weights Measurement Control Operational Network 4
Global Optimization of Link Weight u q r s t Controlling the distribution of traffic in a network by tuning link weights q,r,s,w send unit of traffic to t v Default unit weights w Increasing weight of overloaded links Optimal global single change Link Weight Load Weight Load Weight Load (q,u) 0.5 (r,u) 0.5 (s,u) 0.5 0 (u,t).5 (q,v) 0 0.5 0 (r,v) 0 0.5 0 (s,v) 0 0.5 (v,w) 0.5 (w,t).5 IGP Metric Based TE Drawbacks Only serves to move problem around Some links underutilized Some links overutilized Lacks granularity All traffic follows the IGP shortest path Continuously adjusting IGP metrics adds instability to the network 5
TE Issues in Network Destination Based Routing. Always use Shortest Path Algorithm No Traffic Engineering Some links are under utilized and some links are over utilized Request : Traffic Demand A to D: 80 Mbps Request : Traffic Demand A to D: 50 Mbps 80 Mbps Router C 80 Mbps Router A 00 Mbps Router B Mbps Router D Virtual Path Routing MPLS LER L LSR L LSR L LER Multiprotocol Label Switching (MPLS) A set of protocols that enable MPLS networks Packets are assigned labels by edge routers (which perform longestprefix match) Packets are forwarded along a Label-Switched Path (LSP) in the MPLS network using label switching LSPs can be created over multiple layer- links ATM, Ethernet, PPP, frame relay LSPs can support multiple layer- protocols v4, v6, and in others 6
MPLS Requirements Need the ability to: Map traffic to an Label Switched Path (LSP) Monitor and measure traffic Specify explicit path of an LSP Partial explicit route Full explicit route Characterize an LSP Bandwidth Priority/ Preemption Affinity (Link Colors) Reroute or select an alternate LSP MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR: Label Switching Router LER: Label Edge Router (Useful term not in standards) 7
MPLS Fundamentals packet is encapsulated in MPLS header and sent down LSP Packet -bit MPLS Header packet is restored at end of LSP by egress router TTL is adjusted by default MPLS Header Label EXP S TTL Label Used to match packet to LSP Experimental bits Carries packet queuing priority (CoS) Stacking bit Time to live Copied from TTL 8
Forwarding Equivalence Class LER L L LSR L L LSR L L LER FEC: set of packets that are forwarded in the same manner Over the same path, with the same forwarding treatment Packets in an FEC have same next-hop router Packets in same FEC may have different network layer header Each FEC requires a single entry in the forwarding table Coarse Granularity FEC: packets for all networks whose destination address matches a given address prefix, e.g. all packets to 4.0.0/6 network Fine Granularity FEC: packets that belong to a particular application running between a pair of computers MPLE Building Block Explicit Routing / Constraint Based Routing (CBR) TE Network backbone MPLS Additional, Update network state information Enhanced Routing Protocols OSPF-TE, QOSPF Label Distribution LDP or RSVP-TE Requests for Traffic Engineered paths Path Selection Processor (PSE) TE Enhanced Routing Protocol Data Plane TE Enhanced Signalling Protocol Control Plane / MPLS forwarding engine routing table MPLS label swapping table RSVP- TE OSPF- TE / MPLS MPLS LER NODE 9
Traffic Engineering Standard IGP routing prefixes bound to physical next hop Typically based on IGP calculation 968/4 4/6 New York San Francisco Traffic Engineering Engineer unidirectional paths through your network without using the IGP s shortest path calculation IGP shortest path New York San Francisco MPLS traffic engineered path 0
Traffic Engineering prefixes can now be bound to LSPs New York San Francisco 4/6 MPLS Labels Assigned manually or by a signaling protocol in each LSR during path setup Labels change at each segment in path LSR swaps incoming label with new outgoing label Labels have local significance
MPLS Forwarding Example An packet destined to 4.5/ arrives in SF San Francisco has route for 4/6 Next hop is the LSP to New York 4/6 New York San Francisco 965 06 Santa Fe 0 MPLS Forwarding Example San Francisco prepends MPLS header onto packet and sends packet to first transit router in the path 4/6 New York San Francisco 965 Santa Fe
MPLS Forwarding Example Because the packet arrived at Santa Fe with an MPLS header, Santa Fe forwards it using the MPLS forwarding table 4/6 New York San Francisco 06 Santa Fe MPLS Forwarding Example Packet arrives from penultimate router with label 0 Egress router sees label 0 and strips MPLS header Egress router performs standard forwarding decision 4/6 New York 0 San Francisco Santa Fe
Label Stacking Swap and Push Swap Pop and Swap Push Pop A B C D E F G 7 6 8 5 4 MPLS allows multiple labels to be stacked Ingress LSR performs label push (S= in label) Egress LSR performs label pop Intermediate LSRs can perform additional pushes & pops (S=0 in label) to create tunnels Above figure has tunnel between A & G; tunnel between B&F All flows in a tunnel share the same outer MPLS label Static vs Signaled LSPs Static LSPs Are nailed up manually Have manually assigned MPLS labels Needs configuration on each router Do not re-route when a link fails Signaled LSPs Signaled by Label Distribution Protocol E.g. CR/LDP and RSVP-TE Have dynamically assigned MPLS labels Configured on ingress router only Can re-route around failures 4
Label Distribution Label Distribution Protocols distribute label bindings between LSRs upstream Label request for 0.5/6 downstream LSR LSR (0.5/6, 8) Downstream-on-Demand Mode LSR becomes aware LSR is next-hop in an FEC LSR requests a label from LSR for given FEC LSR checks that it has next-hop for FEC, responds with label Label Distribution upstream downstream LSR LSR (0.5/6, 8) Downstream Unsolicited Mode LSR becomes aware of a next hop for an FEC LSR creates a label for the FEC and forwards it to LSR LSR can use this label if it finds that LSR is next-hop for that FEC 5
Independent vs Ordered Distribution Ordered Label Distribution Control: LSR can distribute label if It is an egress LSR It has received FEC-label binding for that FEC from its next hop LER (0.5/6, ) (0.5/6, 7) LSR (0.5/6, 9) (0.5/6, 8) LSR (0.5/6, 8) (0.5/6, 6) LER Independent Label Distribution Control: LSR independently binds FEC to label and distributes to its peers Label Distribution Protocol (LDP) LSR UDP Hello UDP Hello TCP open Initialization Label Request Label Mapping LSR Label Distribution Protocol (LDP), RFC 06 Topology-driven assignment (routes specified by routing protocol) Hello messages over UDP TCP connection & negotiation (session parameters & label distribution option, label ranges, valid timers) Message exchange (label request/mapping/withdraw) 6
RSVP-TE Congestion 4 6 4 6 8 8 5 7 5 7 Underutilized Extensions to RSVP for traffic-engineered LSPs Request-driven label distribution to create explicit route LSPs Single node (usually ingress) determines route Enables traffic engineering RSVP Path message includes label request object to request label binding Explicit route object (ERO) RSVP Resv message includes label object MPLS Built on 47. Dest Out 47 47 47. Dest Out 47 47 47. Dest Out 47 47 47. 47 47 Destination based forwarding tables as built by OSPF, IS-IS, R, etc. 7
Hop-by-Hop Forwarding 47. 47 Dest Out 47 47 47. Dest Out 47 47 47. 47 47 Dest Out 47 47 47. 47 47 47 MPLS Label Distribution Intf Label Dest Intf Label In In Out Out 0.50 47 0.40 Intf Label Dest Intf In In Out 0.40 47 Request: 47 Intf Dest Intf Label In Out Out 47 0.50 Mapping: 0.40 47. Request: 47 Mapping: 0.50 47 47 8
Label Switched Path (LSP) Intf Label Dest Intf Label In In Out Out 0.50 47 0.40 Intf Label Dest Intf In In Out 0.40 47 Intf Dest Intf Label In Out Out 47 0.50 47. 47 47 47 47 Configuring Constraints LSP 40 Mbps Follows the IGP shortest path to D since sufficient bandwidth available Router Y SmallNet Router X Router A 9686 LSP: 40 Mbps 0.06/0 0.05/0 0.0/0 Router B Router C 968.0 968 0.0.0/0 Router E 968.5 0.0/0 0.0.8/0 0.04/0 0.0./0 Router D 9684 Router F Router G 968.8 0.0/0 968 9
Configuring Constraints LSP 70 Mbps Router Y Insufficient bandwidth available on IGP shortest path SmallNet Router X Router A 9686 LSP: 40 Mbps 0.06/0 0.05/0 LSP: 70 Mbps 0.0/0 Router B Router C 968.0 968 0.0.0/0 Router E 968.5 0.0/0 0.0.8/0 0.04/0 0.0./0 Router D 9684 76.4/0 Router F Router G 968.8 0.0/0 968 Affinity (Link Colors) Ability to assign a color to each link Gold Silver Bronze Up to colors available Can define an affinity relationship Include Exclude
Configuring Constraints LSP 50 Mbps Router Y Exclude all Bronze links SmallNet Router X Router A 9686 LSP: 40 Mbps 0.06/0 0.05/0 0.0/0 Router B Router C 968.0 968 LSP: Mbps Exclude Bronze LSP: 70 Mbps 0.0.0/0 Bronze Router E 968.5 0.0/0 0.0.8/0 0.04/0 Bronze 0.0./0 Router D 9684 76.4/0 Bronze Router F Router G 968.8 0.0/0 968 Balancing traffic over equal cost IGP paths Router Y Without LSPs configured, prefixes are distributed over equal cost IGP paths SmallNet Router X Router A 9686 0.06/0 0.05/0 Router B 0.0/0 Router C 968.0 968 0.0.0/0 0 0 Router E 968.5 0 0.0/0 0.0.8/0 0.04/0 0.0./0 Router D 9684 76.4/0 Router F Router G 968.8 0.0/0 968
Balancing traffic over equal cost LSPs Same behavior, now over LSPs Prefixes distributed over multiple LSPs Router Y SmallNet Router X Router A 9686 0.06/0 0.05/0 0.0/0 Router B Router C 968.0 968 0.0.0/0 0 0 Router E 968.5 0 0.0/0 0.0.8/0 0.04/0 0.0./0 Router D 9684 76.4/0 Router F Router G 968.8 0.0/0 968 MPLS Survivability routing recovers from faults in seconds to minutes SONET recovers in 50 ms MPLS targets in-between path recovery times Basic approaches: Restoration: slower, but less bandwidth overhead Protection: faster, but more protection bandwidth Repair methods: Global repair: node that performs recovery (usually ingress node) may be far from fault, depends on failure notification message Local repair: local node performs recovery (usually upstream from fault); does not require failure notification
MPLS Restoration 4 5 6 7 Normal operation 4 5 6 7 8 8 No protection bandwidth allocated prior to fault New paths are established after a failure occurs Traffic is rerouted onto the new paths Failure occurs and is detected 4 8 5 6 7 Alternate path is established, and traffic is re-routed MPLS Protection Working path Protection path 4 5 6 7 Traffic carried on working path 4 5 6 7 Failure on working path is detected 4 5 6 7 8 8 8 Protection paths are setup as backups for working paths +: working path has dedicated protection path :: working path shares protection path Protection paths selected so that they are disjoint from working path Faster recovery than restoration Traffic is switched to the protection path