Intra-Domain Routing and Traffic Engineering

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—2-1 Label Assignment and Distribution Introducing Typical Label Distribution in Frame-Mode MPLS.
MPLS H/W update Brief description of the lab What it is? Why do we need it? Mechanisms and Protocols.
MPLS and Traffic Engineering
CCNA 2 v3.1 Module 6.
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2011 Mike Freedman
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Routing and Routing Protocols
Intradomain Routing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Delivery, Forwarding and
1 Multi Protocol Label Switching Presented by: Petros Ioannou Dept. of Electrical and Computer Engineering, UCY.
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Unicast Routing Protocols.
Intradomain Routing What is Routing? A famous quotation from RFC 791 “A name indicates what we seek. An address indicates where it is. A route indicates.
Page 110/27/2015 A router ‘knows’ only of networks attached to it directly – unless you configure a static route or use routing protocols Routing protocols.
Routing 2 CS457 Fall 2010.
Routing and Routing Protocols
Cisco Systems Networking Academy S2 C 11 Routing Basics.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
1 Version 3.1 Module 6 Routed & Routing Protocols.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Multiple Protocol Support: Multiprotocol Level Switching.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Multi-protocol Label Switching
Multiprotocol Label Switching (MPLS) Routing algorithms provide support for performance goals – Distributed and dynamic React to congestion Load balance.
Multi-protocol Label Switching (MPLS) RFC 3031 MPLS provides new capabilities: QoS support Traffic engineering VPN Multiprotocol support.
Routing and Routing Protocols CCNA 2 v3 – Module 6.
+ Dynamic Routing Protocols 2 nd semester
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Network Layer Routing Networks: Routing.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Performance Measurements of MPLS Traffic Engineering and QoS
CS 5565 Network Architecture and Protocols
Multi Node Label Routing – A layer 2.5 routing protocol
Requirements for LER Forwarding of IPv4 Option Packets
Computer Networks Routing Algorithms.
Dynamic Routing Protocols II OSPF
Routing Jennifer Rexford.
(How the routers’ tables are filled in)
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
COMP 3270 Computer Networks
Multi Protocol Label Switching (MPLS)
CS 457 – Lecture 12 Routing Spring 2012.
Introduction to Internet Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing.
Chapter 5: Dynamic Routing
(How the routers’ tables are filled in)
MPLS Basics 2 2.
Dynamic Routing Protocols II OSPF
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
CS 640: Introduction to Computer Networks
Dynamic Routing and OSPF
COS 561: Advanced Computer Networks
CS 3700 Networks and Distributed Systems
Network Layer Routing Networks: Routing.
Computer Networking Lecture 10: Intra-Domain Routing
COS 561: Advanced Computer Networks
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
COS 461: Computer Networks
Computer Networks Protocols
Routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

Intra-Domain Routing and Traffic Engineering Review of Internet routing paradigm and routing algorithms/protocols Intra-domain routing design topology design, convergence, stability, … Readings: do the required readings. CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design Internet Routing So far we have focused on data plane operations Forwarding: data plane Directing a data packet to an outgoing link Individual router using a forwarding table Routing: control plane Computing the paths the packets will follow Routers talking amongst themselves Individual router creating a forwarding table CSci5221: Intra-Domain Routing Review and Routing Design

Routing Routing protocol Graph abstraction for routing algorithms: Goal: determine “good” path (sequence of routers) thru network from source to dest. 5 3 B C 2 5 A Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links link cost: delay, $ cost, or congestion level 2 1 F 3 1 2 D E 1 “good” path: typically means minimum cost path other def’s possible CSci5221: Intra-Domain Routing Review and Routing Design

Two-Tiered Internet Routing System Interdomain routing: between ASes Routing policies based on business relationships No common metrics, and limited cooperation BGP: policy-based, path-vector routing protocol Intradomain routing: within an AS Shortest-path routing based on link metrics Routers all managed by a single institution OSPF and IS-IS: link-state routing protocol RIP and EIGRP: distance-vector routing protocol CSci5221: Intra-Domain Routing Review and Routing Design

Shortest-Path Routing Path-selection model Destination-based Minimum hop count or sum of link weights Dynamic vs. static link weights 3 2 1 4 5 CSci5221: Intra-Domain Routing Review and Routing Design

Distance Vector Routing: Bellman-Ford Define distances at each node x dx(y) = cost of least-cost path from x to y Update distances based on neighbors dx(y) = min {c(x,v) + dv(y)} over all neighbors v 3 2 1 4 5 u v w x y z s t du(z) = min{c(u,v) + dv(z), c(u,w) + dw(z)} E.g., RIP and EIGRP CSci5221: Intra-Domain Routing Review and Routing Design

Link-State Routing: Dijsktra’s Algorithm Each router keeps track of its incident links Link cost, and whether the link is up or down Each router broadcasts the link state To give every router a complete view of the graph Each router runs Dijkstra’s algorithm To compute shortest paths and forwarding table 3 2 1 4 5 E.g., OSPF and IS-IS CSci5221: Intra-Domain Routing Review and Routing Design

OSPF (Open Shortest Path First) Link State Protocol link costs between 0 and 65,535 Cisco recommendation - link cost = 1/(link capacity) rapid, loop-free convergence, scales well topology map at each node, route computation using Dijkstra’s algorithm OSPF advertisement carries one entry per neighbor router, advertisements flooded to entire Autonomous System multiple equal-cost paths allowed: flow equally split on all outgoing links belonging to shortest paths IS – IS (intermediate system-intermediate system) similar CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design Routing Protocols Link State Distance Vector Path Vector Dissem-ination Flood link state advertisements to all routers Update distances from neighbors’ distances Update paths based on neighbors’ paths Algorithm Dijsktra’s shortest path Bellman-Ford shortest path Local policy to rank paths Converge Fast due to flooding Slow, due to count-to-infinity Slow, due to path exploration Protocols OSPF, IS-IS RIP, EIGRP BGP CSci5221: Intra-Domain Routing Review and Routing Design

Intra-Domain Routing Today Link-state routing with static link weights Static weights: avoid stability problems Link state: faster reaction to topology changes Most common protocols in backbones OSPF: Open Shortest Path First IS-IS: Intermediate System–Intermediate System Some use of distance vector in enterprises RIP: Routing Information Protocol EIGRP: Enhanced Interior Gateway Routing Protocol Growing use of Multi-Protocol Label Switching CSci5221: Intra-Domain Routing Review and Routing Design

What do Operators Worry About? Topology design Small propagation delay and low congestion Ability to tolerate node and link failures Convergence delay (will discuss more later) Limiting the disruptions during topology changes E.g., by trying to achieve faster convergence Scalable routing designs Avoiding excessive protocol overhead E.g., by introducing hierarchy in routing Traffic engineering (focus today) Limiting propagation delay and congestion E.g., by carefully tuning the “static” link weights CSci5221: Intra-Domain Routing Review and Routing Design

Topology Design: Intra-AS Topology Node: router Edge: link Hub-and-spoke Backbone CSci5221: Intra-Domain Routing Review and Routing Design

ISP Topology Design: Points-of-Presence (PoPs) Inter-PoP links Long distances High bandwidth Intra-PoP links Short cables between racks or floors Aggregated bandwidth Links to other networks Wide range of media and bandwidth Inter-PoP Intra-PoP Other networks CSci5221: Intra-Domain Routing Review and Routing Design

Topology Design: Abilene Internet2 Backbone CSci5221: Intra-Domain Routing Review and Routing Design

Convergence: Detecting Topology Changes Beaconing Periodic “hello” messages in both directions Detect a failure after a few missed “hellos” Performance trade-offs Detection speed Overhead on link bandwidth and CPU Likelihood of false detection “hello” CSci5221: Intra-Domain Routing Review and Routing Design

Convergence: Transient Disruptions Inconsistent link-state database Some routers know about failure before others The shortest paths are no longer consistent Can cause transient forwarding loops 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 4 3 4 3 CSci5221: Intra-Domain Routing Review and Routing Design

Convergence: Delay for Converging Sources of convergence delay Detection latency Flooding of link-state information Shortest-path computation Creating the forwarding table Performance during convergence period Lost packets due to blackholes and TTL expiry Looping packets consuming resources Out-of-order packets reaching the destination Very bad for VoIP, online gaming, and video CSci5221: Intra-Domain Routing Review and Routing Design

Convergence: Reducing Convergence Delay Faster detection Smaller hello timers Link-layer technologies that can detect failures Faster flooding Flooding immediately Sending link-state packets with high-priority Faster computation Faster processors on the routers Incremental Dijkstra algorithm Faster forwarding-table update Data structures supporting incremental updates CSci5221: Intra-Domain Routing Review and Routing Design

Scalability: Overhead of Link-State Protocols Protocol overhead depends on the topology Bandwidth: flooding of link state advertisements Memory: storing the link-state database Processing: computing the shortest paths 3 2 1 4 5 CSci5221: Intra-Domain Routing Review and Routing Design

Scalability: Improving the Scaling Properties Dijkstra’s shortest-path algorithm Simplest version: O(N2), where N is # of nodes Better algorithms: O(L*log(N)), where L is # links Incremental algorithms: great for small changes Timers to pace operations Minimum time between LSAs for the same link Minimum time between path computations More resources on the routers Routers with more CPU and memory CSci5221: Intra-Domain Routing Review and Routing Design

Scalability: Introducing Hierarchy Through Areas Divide network into regions Backbone (area 0) and non-backbone areas Each area has its own link-state database Advertise only path distances at area boundaries Area 0 Area 1 Area 2 Area 3 Area 4 area border router CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design Traffic Engineering Goal: configure routes to meet traffic demands balanced load, low latency, service agreements operates at coarse timescales Not to adapt to short-term sudden traffic changes May take potential failures into consideration Input to traffic engineering: Topology: connectivity & capacity of routers & links Traffic matrix: offered load between points in the network Traffic Engineering: network-wide optimization Subject to protocol mechanisms, configurable parameters and other practical constraints, …. Will come back to this topics later! CSci5221: Intra-Domain Routing Review and Routing Design

Traffic Engineering under Shortest Path Routing: Tuning Link Weights Problem: congestion along the blue path Second or third link on the path is overloaded Solution: move some traffic to bottom path E.g., by decreasing the weight of the second link 3 2 1 4 5 More on how this is done later! CSci5221: Intra-Domain Routing Review and Routing Design

Limitations of Conventional Intra-Domain Routing Overhead of hop-by-hop forwarding Large routing tables and expensive look-ups Paths depend only on the destination Rather than differentiating by source or class Only the shortest path(s) are used Even if a longer path has enough resources Transient disruptions during convergence Cannot easily prepare in advance for changes Limited control over paths after failure Depends on the link weights and remaining graph CSci5221: Intra-Domain Routing Review and Routing Design

Multi-Protocol Label Switching (MPLS) Motivating applications Small routing tables and fast look-ups Virtual Private Networks Traffic engineering Path protection and fast reroute Key ideas of MPLS Label-switched path spans group of routers Explicit path set-up, including backup paths Flexible mapping of data traffic to paths Label Switching MPLS header includes a label Label switching between MPLS-capable routers MPLS header IP packet CSci5221: Intra-Domain Routing Review and Routing Design

MPLS: Forwarding Based on Labels Hybrid of packet and virtual circuit switching Logical circuit between a source and destination Packets with different labels multiplex on a link Basic idea of label-based forwarding Packet: fixed length label in the header Switch: mapping label to an outgoing link 1 2 1: 7 2: 7 link 7 1: 14 2: 8 link 14 link 8 CSci5221: Intra-Domain Routing Review and Routing Design

MPLS Concept: Route at Edge, Switch in Core IP IP #L1 IP #L2 IP #L3 IP IP Forwarding LABEL SWITCHING IP Forwarding CSci5221: Intra-Domain Routing Review and Routing Design

MPLS: Pushing, Swapping, and Popping Pushing: add the initial “in” label Swapping: map “in” label to “out” label Popping: remove the “out” label IP Pushing Popping Swapping R2 R1 R3 R4 MPLS core A B C D IP edge CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design MPLS Header IP packet encapsulated in MPLS header and sent down LSP IP packet restored at end of LSP by egress router TTL adjusted by default … IP Packet 32-bit MPLS Header MPLS is responsible for directing a flow of IP packets along a predetermined path across a network. This path is called a label-switched path. Label-switched paths are similar to ATM PVCs in that they are simplex in nature; that is, the traffic flows in one direction from the ingress router to a egress router. Duplex traffic requires two label-switched paths; that is, one path to carry traffic in each direction. A label-switched path is created by the concatenation of one or more label-switched hops, allowing a packet to be forwarded from one label-switching router to another label-switching router across the MPLS domain. A label-switching router is a router that supports MPLS-based forwarding. When an IP packet enters a label-switched path, the ingress router examines the packet and assigns it a label based on its destination, placing the label in the packet’s header. The label transforms the packet from one that is forwarded based on its IP routing information to one that is forwarded based on information associated with the label. The packet is then forwarded to the next router in the label-switched path. The key point in this scheme is that the physical path of the LSP is not limited to what the IGP would choose as the shortest path to reach the destination IP address. CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design MPLS Header Label EXP S TTL label used to match packet to LSP experimental bits carries packet queuing priority (CoS) stacking bit: can build “stacks” of labels qoal: nested tunnels! time to live copied from IP TTL An MPLS header consists of: 20-bit label—Used to identify the packet to a particular LSP Class of service value—Indicates queuing priority through the network. At each hop along the way, the class of service value determines which packets receive preferential treatment within the tunnel. Stacking bit—Indicates that this MPLS packet has more than one label associated with it. The MPLS implementation in JUNOS Software supports a stacking depth of one. Time to live value—Contains a limit on the number of router “hops” this MPLS packet may travel through the network. It is decremented at each hop, and if the TTL value drops below one, the packet is discarded. CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design 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) MPLS “multi-protocol” both in terms of protocols it supports ABOVE and BELOW in protocol stack! CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design Example CSci5221: Intra-Domain Routing Review and Routing Design

Label Distribution Protocol (LDP) label distribution always done from downstream to upstream downstream-unsolicited: new route => send new label downstream-on-demand: upstream LSR asks for label CSci5221: Intra-Domain Routing Review and Routing Design

Forwarding Equivalence Class (FEC) FEC – rule for grouping IP packets Packets that should be treated the same way, e.g, forwarded over same path, with same forwarding treatment Identified just once, at the edge of the network Example FECs destination prefix longest-prefix match in forwarding table at entry point useful for conventional destination-based forwarding same src and dst addresses 5-tuple flows (src/dst addr, src/dst port, and protocol) five-tuple match at entry point useful for fine-grain control over the traffic QoS class A label is just a locally-significant identifier for a FEC CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing and TE Regular IP Forwarding 1 47.1 IP 47.1.1.1 1 2 IP 47.1.1.1 3 2 IP 47.1.1.1 1 3 47.2 47.3 2 IP 47.1.1.1 IP destination address unchanged in packet header! CSci5221: Intra-Domain Routing and TE

MPLS Label Distribution 1 47.1 3 Request: 47.1 3 Request: 47.1 2 1 Mapping: 0.40 1 2 Mapping: 0.50 47.3 3 47.2 2 CSci5221: Intra-Domain Routing and TE

Label Switched Path (LSP) IP 47.1.1.1 1 47.1 3 3 1 2 1 2 47.3 3 47.2 2 IP 47.1.1.1 CSci5221: Intra-Domain Routing and TE

MPLS Forwarding: Example IP packet destined to 134.112.1.5/32 arrives to SF San Francisco has route for 134.112/16 next hop is LSP to New York San Francisco New York IP Santa Fe 134.112/16 134.112.1.5 1965 1026 CSci5221: Intra-Domain Routing Review and Routing Design

MPLS Forwarding Example San Francisco pre-pends MPLS header onto IP packet, sends packet to first transit router on path San Francisco New York Santa Fe 134.112/16 IP 1965 CSci5221: Intra-Domain Routing Review and Routing Design

MPLS Forwarding Example because packet arrived to Santa Fe with MPLS header, Santa Fe forwards it using MPLS forwarding table San Francisco New York Santa Fe 134.112/16 IP 1026 CSci5221: Intra-Domain Routing Review and Routing Design

MPLS Forwarding Example packet arrives from penultimate router with label 0 egress router sees label 0, strips MPLS header egress router performs standard IP forwarding San Francisco New York Santa Fe IP 134.112/16 Labels 0 through 15 are reserved labels, as specified in draft-ietf-mpls-label-encaps-07.txt. A value of 0 represents the "IPv4 Explicit NULL Label". This label value is only legal when it is the sole label stack entry. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv4 header. A value of 1 represents the "Router Alert Label". This label value is legal anywhere in the label stack except at the bottom. When a received packet contains this label value at the top of the label stack, it is delivered to a local software module for processing. The actual forwarding of the packet is determined by the label beneath it in the stack. However, if the packet is forwarded further, the Router Alert Label should be pushed back onto the label stack before forwarding. The use of this label is analogous to the use of the "Router Alert Option" in IP packets. Since this label cannot occur at the bottom of the stack, it is not associated with a particular network layer protocol. A value of 2 represents the "IPv6 Explicit NULL Label".This label value is only legal when it is the sole label stack entry. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv6 header. A value of 3 represents the "Implicit NULL Label". This is a label that an LSR may assign and distribute, but which never actually appears in the encapsulation. When an LSR would otherwise replace the label at the top of the stack with a new label, but the new label is "Implicit NULL", the LSR will pop the stack instead of doing the replacement. Although this value may never appear in the encapsulation, it needs to be specified in the Label Distribution Protocol, so a value is reserved. Values 4-15 are reserved for future use. CSci5221: Intra-Domain Routing Review and Routing Design

CSci5221: Intra-Domain Routing Review and Routing Design Status of MPLS Deployed in practice Small control and data plane overhead in core Virtual Private Networks Traffic engineering and fast reroute Challenges Protocol complexity Configuration complexity Difficulty of collecting measurement data Continuing evolution Standards Operational practices and tools CSci5221: Intra-Domain Routing Review and Routing Design