Title: Routing Algorithms and Traffic Engineering
1Routing Algorithms and Traffic Engineering
- MPLS and OSPF
- traffic engineering
- minimum delay routing
- linear programming
- non-linear optimization
2Network layer functions
- three important functions
- path determination route taken by packets from
source to destination - forwarding move packets from routers input to
appropriate router output - call setup some network architectures require
router call setup along path before data flows
3Network layer functions
- three important functions
- path determination route taken by packets from
source to destination Routing algorithm - forwarding move packets from routers input to
appropriate router output - call setup some network architectures require
router call setup along path before data flows
4Routing
5
Goal determine good path (sequence of routers)
thru network from source to dest.
3
5
2
2
1
3
- Graph abstraction for routing algorithms
- graph nodes are routers
- graph edges are physical links
- link cost delay, cost, or congestion level
1
2
1
- good path
- typically means minimum cost path
- other defs possible
5Routing Algorithm classification
- 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)
6OSPF (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 Dijkstras 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
7Routing 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
8History Ipsilons 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.
9Ipsilons 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)
10Issues with Ipsilons 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 gt no. flows
- ? VC explosion. 1000 setups/sec.
- QoS determined implicitly by flow class or RSVP
- ATM only
11Tag 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)
12Alphabet 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
13MPLS concept route at edge, switch in core
IP
IP
IP Forwarding
IP Forwarding
LABEL SWITCHING
14MPLS 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!
15MPLS 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
16MPLS Header
TTL
Label
EXP
S
- 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
17MPLS 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
18MPLS 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
19MPLS 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
20MPLS 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
21Regular 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!
22MPLS Label Distribution
1
47.1
3
3
2
1
1
2
47.3
3
47.2
2
23Label Switched Path (LSP)
1
47.1
3
3
2
1
1
2
47.3
3
47.2
2
24A General Vanilla LSP
- 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
25Forwarding 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
26Example
27Label Distribution Protocol (LDP)
- label distribution always done from downstream to
upstream - downstream-unsolicited new route gt send new
label - downstream-on-demand upstream LSR asks for label