270 likes | 402 Views
Routing Algorithms and Traffic Engineering. MPLS and OSPF traffic engineering minimum delay routing linear programming non-linear optimization. three important functions: path determination: route taken by packets from source to destination
E N D
Routing Algorithms and Traffic Engineering • MPLS and OSPF • traffic engineering • minimum delay routing • linear programming • non-linear optimization
three important functions: path determination: route taken by packets from source to destination forwarding: move packets from router’s input to appropriate router output call setup: some network architectures require router call setup along path before data flows Network layer functions
three important functions: path determination: route taken by packets from source to destination Routing algorithm forwarding: move packets from router’s input to appropriate router output call setup: some network architectures require router call setup along path before data flows Network layer functions
Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links link cost: delay, $ cost, or congestion level A D E B F C Routing protocol Routing 5 Goal: determine “good” path (sequence of routers) thru network from source to dest. 3 5 2 2 1 3 1 2 1 • “good” path: • typically means minimum cost path • other def’s possible
Global or decentralized information? Global: all routers have complete topology, link cost info “link state” algorithms (Dijkstra) Decentralized: router knows physically-connected neighbors, link costs to neighbors iterative process of computation, exchange of info with neighbors “distance vector” algorithms (Bellman Ford) Routing Algorithm classification
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
Routing vs Switching • routing: based on address lookup, max prefix match • search operation • complexity O(logn) - 0(n) • switching: based on circuit numbers • indexing operation • complexity O(1) • scalable to large networks MPLS
History: Ipsilon’s IP Switching • developed by Ipsilon • routing software in every ATM switch • initially, packets reassembled by routing software, forwarded to next hop • long term flows transferred to separate VCs.
Ipsilon’s IP Switching ATM VCs set up when new IP “flows” seen, i.e., “data-driven” VC setup • flow oriented traffic: ftp, ssh, http, multimedia • short-lived traffic: DNS, SMTP, NTP • Ipsilon claimed 90% of bytes flow-oriented • runs as added software on ATM switch (12,000 lines of code)
Issues with Ipsilon’s IP switching • VCI field used as ID VPI/VCI change at switch must run on every ATM switch non-IP switches not allowed between IP switches subnets limited to one switch • cannot support VLANs • scalability: no. VCs > no. flows VC explosion. 1000 setups/sec. • QoS determined implicitly by flow class or RSVP • ATM only
L2 Header Tag Tag Switching • proposed by CISCO • similar to VLAN tags • tags explicit or implicit • ingress router/host puts tag. exit router removes it Key difference: tags set up in background using IP routing protocols (i.e. control-driven VC setup)
Alphabet Soup! • CSR Cell Switched Router • ISR Integrated Switch and Router • LSR Label Switching Router • TSR Tag Switching Router • Multi layer switches • Direct IP • FastIP • PowerIP MPLS - IETF standard
IP #L1 IP #L2 IP #L3 MPLS concept: route at edge, switch in core IP IP IP Forwarding IP Forwarding LABEL SWITCHING
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!
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 Header • 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 Label EXP S TTL
IP 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 in New York 134.112/16 New York 134.112.1.5 0 San Francisco 1965 1026 Santa Fe
IP 1965 MPLS Forwarding Example • San Francisco pre-pends MPLS header onto IP packet, sends packet to first transit router on path 134.112/16 New York San Francisco Santa Fe
IP 1026 MPLS Forwarding Example • because packet arrived to Santa Fe with MPLS header, Santa Fe forwards it using MPLS forwarding table 134.112/16 New York San Francisco Santa Fe
IP 0 IP 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 134.112/16 New York San Francisco Santa Fe
IP 47.1.1.1 Regular IP Forwarding 47.1 1 IP 47.1.1.1 2 IP 47.1.1.1 1 3 2 IP 47.1.1.1 1 47.2 3 47.3 2 IP destination address unchanged in packet header!
Request: 47.1 Request: 47.1 Mapping: 0.40 Mapping: 0.50 MPLS Label Distribution 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
IP 47.1.1.1 IP 47.1.1.1 Label Switched Path (LSP) 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
A General Vanilla LSP #14 #311 #216 #99 #311 #963 #311 #963 #14 #612 #462 #311 #99 #5 - vanilla LSP actually part of tree from every source to destination (unidirectional) - vanilla LDP builds tree using existing IP forwarding tables to route control messages
Forwarding Equivalence Classes • FEC - group of IP packets • forwarded over same path, with same forwarding treatment • FEC may correspond to • destination IP subnet • source, destination IP subnet • QoS class
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