Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intra-Domain Routing and Traffic Engineering

Similar presentations


Presentation on theme: "Intra-Domain Routing and Traffic Engineering"— Presentation transcript:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

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

13 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

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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

30 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

31 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

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

33 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

34 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

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

36 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

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

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

39 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 /16 IP 1965 CSci5221: Intra-Domain Routing Review and Routing Design

40 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 /16 IP 1026 CSci5221: Intra-Domain Routing Review and Routing Design

41 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 /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

42 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


Download ppt "Intra-Domain Routing and Traffic Engineering"

Similar presentations


Ads by Google