Top Banner
Csci 232 – Computer Networks Routing and Network Layer Part II 1 Routing: Network Layer Part II Routing Algorithms: Link state vs. Distance Vector Routing in the Internet Intra-AS vs. Inter-AS routing Intra-AS: RIP and OSPF Inter-AS: BGP and Policy Routing MPLS Readings: Textbook: Chapter 4: Sections 4.2-4.3, 4.5-4.6
92
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1. Routing: Network Layer Part II
    • Routing Algorithms:
    • Link state vs. Distance Vector
  • Routing in the Internet
    • Intra-AS vs. Inter-AS routing
    • Intra-AS: RIP and OSPF
    • Inter-AS: BGP and Policy Routing
  • MPLS
  • Readings:Textbook: Chapter 4:
  • Sections 4.2-4.3, 4.5-4.6

Csci 232 Computer Networks Routing and Network Layer Part II 2. Routing & Forwarding: Logical View of a Router Csci 232 Computer Networks Routing and Network Layer Part II A E D C B F 2 2 1 3 1 1 2 5 3 5 3. IP Forwarding Process Csci 232 Computer Networks Forwarding ProcessIP Forwarding TableRouter 1. Remove a packet from an input queue3. Match packetsdestinationto a table entry 2. Check for sanity,decrement TTL field4. Place packet on correct outputqueue If queues get full, just drop packets! If queues get full, just drop packets! 4. IP Forwarding Table Csci 232 Computer Networks Destination Next Hop Interface Net A Net B Net C, Host 3Router 1 Direct Router 2 Router 1 INT 7 INT 7 INT 3 INT 4 A destination is usually a network.May also bea host, or a gatewayof last resort (default) The next hop is either a directly connected network or a router on a directlyconnected network A physical interface Net C 5. How Are Forwarding Tables Populated to Implement Routing? Csci 232 Computer Networks StaticallyDynamically Routers exchange network reachability information usingROUTING PROTOCOLS . Routers use this to compute best routes Administratormanually configures forwarding table entries In practice : a mix of these. Static routing mostly at the edge + More control + Not restricted todestination-basedforwarding-Doesnt scale -Slow to adapt tonetwork failures + Can rapidly adapt to changesin network topology + Can be made to scale well -Complex distributedalgorithms -Consume CPU, Bandwidth, Memory -Debugging can be difficult -Current protocols are destination-based 6. Dynamic Routing: Intra- vs. Inter-ASCsci 232 Computer Networks Routing and Network Layer Part II AS 1 AS 2 BGP EGP = Exterior Gateway Protocol IGP = Interior Gateway Protocol Metric based: OSPF, IS-IS, RIP,EIGRP (cisco) Policy based: BGPThe Routing Domain of BGP is the entire Internet OSPF EIGRP 7. Internet AS Hierarchy Csci 232 Computer Networks Routing and Network Layer Part II border (exterior gateway) routers interior routers 8. Intra-AS vs. Inter-AS Routing Csci 232 Computer Networks Routing and Network Layer Part II Hosth2 Intra-AS routing within AS A Intra-AS routing within AS B a b b a a C A B d c A.a A.c C.b B.a c b Host h1 Inter-AS routing betweenA and B 9. Intra-AS and Inter-AS Routing Csci 232 Computer Networks Routing and Network Layer Part II physical layer

  • Gateways:
    • perform inter-AS routing amongst themselves
    • perform intra-AS routing with other routers in their AS

inter-AS, intra-AS routing ingateway A.c network layer link layer a b b a a C A B d A.a A.c C.b B.a c b c 10. Where Does Forwarding Table Come From? Csci 232 Computer Networks Forwarding Table OSPF Domain RIP Domain BGP Forwarding Table Manager OSPF Process OSPF Routing tables RIP Process RIP Routing tables BGP Process BGP Routing tables 11. Routing

  • Goal: determine a good path through the network from source to destination
    • Good means usually the shortest path
  • Network modeled as a graph
    • Routersnodes
    • Link edges
      • Edge cost: delay, congestion level,

Csci 232 Computer Networks Routing and Network Layer Part II A E D C B F 2 2 1 3 1 1 2 5 3 5 12. Basic Routing Problem

  • Assume
    • A network with N nodes, where each edge is associated a cost
    • A node knowsonlyits neighbors and the cost to reach them
  • How does each node learn how to reach every other node along the shortest path?

Csci 232 Computer Networks Routing and Network Layer Part II A E D C B F 2 2 1 3 1 1 2 5 3 5 13. Routing: Issues

  • How are routing tables determined?
  • Who determines table entries?
  • What info is used in determining table entries?
  • When do routing table entries change?
  • Where is routing info stored?
  • How to control routing table size?
  • Answer these questions, we are done!

Csci 232 Computer Networks Routing and Network Layer Part II 14. Routing Paradigms

  • Hop-by-hop Routing
    • Each packet contains destination address
    • Each router chooses next-hop to destination
      • routing decision made at each (intermediate) hop!
      • packets to same destination may take different paths!
    • Example: IPs default datagram routing
  • Source Routing
    • Sender selects the path to destination precisely
    • Routers forward packet to next-hop as specified
      • Problem: if specified path no longer valid due to link failure!
    • Example:
      • IPs loose/strict source route option
      • virtual circuit setup phase in ATM (or MPLS)

Csci 232 Computer Networks Routing and Network Layer Part II 15. Routing Algorithms/Protocols

  • Issues Need to Be Addressed:
  • Route selection may depend on different criteria
    • Performance: choose route with the smallest delay
    • Policy: choose a route that doesnt cross .gov network
  • Adapt to changes in network topology or condition
    • Self-healing: little or no human intervention
  • Scalability
    • Must be able to support a large number of hosts, routers

Csci 232 Computer Networks Routing and Network Layer Part II 16. Centralized vs. Distributed Routing Algorithms

  • Centralized:
  • Acentralized route server collects routing information and network topology,makes route selection decisions, then distributes them to routers
  • Distributed:
  • Routerscooperateusing a distributed protocol
    • to createmutually consistentrouting tables
  • Two standarddistributedrouting algorithms
    • Link State (LS) routing
    • Distance Vector (DV) routing

Csci 232 Computer Networks Routing and Network Layer Part II 17. Link StatevsDistance Vector

  • Both assume that
    • The address of each neighbor is known
    • Thecost of reaching each neighbor is known
  • Both findglobalinformation
    • By exchanging routing info among neighbors
  • Differ in the information exchanged and route computation
    • LS: tellseveryother node itsdistancestoneighbors
    • DV: tellsneighborsitsdistancetoeveryother node

Csci 232 Computer Networks Routing and Network Layer Part II 18. Link State Algorithm

  • Basic idea: Distribute link state packet to all routers
    • Topology of the network
      • Cost of each linkin the network
  • Each routerindependentlycomputesoptimalpaths
    • From itself to every destination
    • Routes are guaranteed to beloop freeif
      • Each router sees the same cost for each link
      • Uses the same algorithm to compute the best path

Csci 232 Computer Networks Routing and Network Layer Part II 19. Link State: Control Traffic

  • Each node floods its local information to every other node in the network
  • Each node ends up knowing theentirenetwork topologyuse Dijkstra to compute the shortest path to every other node

Csci 232 Computer Networks Routing and Network Layer Part II Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6 20. Link State: Node State Csci 232 Computer Networks Routing and Network Layer Part II Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6 A B E D C A B E D C A B E D C A B E D C A B E D C A B E D C A B E D C 21. Topology Dissemination

  • Each router creates a set oflink state packets(LSPs)
    • Describing its links to neighbors
    • LSP contains
      • Router id, neighbors id, and cost to its neighbor
  • Copies of LSPs are distributed to all routers
    • Usingcontrolled flooding
  • Each router maintains a topology database
    • Database containing all LSPs

Csci 232 Computer Networks Routing and Network Layer Part II 22. Topology Database: Example Csci 232 Computer Networks Routing and Network Layer Part II link state database A E D C B F 2 2 1 3 1 1 2 5 3 5 23. Constructing Routing Table: Dijkstras Algorithm

  • Given the network topology
    • How to compute theshortestpath to each destination?
  • Some notation
    • X: source node
    • N: set of nodes to which shortest paths are knownso far
      • N is initially empty
    • D(V): the cost of theknownshortest path from source X to V
    • C(U,V): cost of link U to V
      • C(U,V)=if not neighbors

Csci 232 Computer Networks Routing and Network Layer Part II 24. Algorithm (at Node X)

  • Initialization
    • N = {X}
    • For all nodes V
      • If V adjacentto X, D(V) = C(X,V) else D(V) =
  • Loop
    • Find Unot in Nsuch that D(U) is thesmallest
    • Add U into set N
    • Update D(V) for all Vnotin N
      • D(V) =min {D(V), D(U) + C(U,V)}
    • Until all nodes in N

Csci 232 Computer Networks Routing and Network Layer Part II 25. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A D(B),p(B) 2,A D(C),p(C) 5,A D(D),p(D) 1,A D(E),p(E) D(F),p(F) 2 2 1 3 1 1 2 5 3 5 1Initialization: 2N = {A}; 3for all nodesv 4ifvadjacent toA 5then D(v) = c(A,v);6else D(v) =; A E D C B F 26. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD D(B),p(B) 2,A D(C),p(C) 5,A 4,D D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 2 2 1 3 1 1 2 5 3 5 A E D C B F

  • 8Loop
  • 9find w not in N s.t. D(w) is a minimum;
  • 10add w to N;
  • update D(v) for all v adjacent
  • to w and not in N:
  • 12D(v) = min( D(v), D(w) + c(w,v) );
  • 13until all nodes in N;

27. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD ADE D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E 2 2 1 3 1 1 2 5 3 5 A E D C B F

  • 8Loop
  • 9find w not in N s.t. D(w) is a minimum;
  • 10add w to N;
  • update D(v) for all v adjacent
  • to w and not in N:
  • 12D(v) = min( D(v), D(w) + c(w,v) );
  • 13until all nodes in N;

28. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD ADE ADEB D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E 2 2 1 3 1 1 2 5 3 5 A E D C B F

  • 8Loop
  • 9find w not in N s.t. D(w) is a minimum;
  • 10add w to N;
  • update D(v) for all v adjacent
  • to w and not in N:
  • 12D(v) = min( D(v), D(w) + c(w,v) );
  • 13until all nodes in N;

29. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E 2 2 1 3 1 1 2 5 3 5 A E D C B F

  • 8Loop
  • 9find w not in N s.t. D(w) is a minimum;
  • 10add w to N;
  • update D(v) for all v adjacent
  • to w and not in N:
  • 12D(v) = min( D(v), D(w) + c(w,v) );
  • 13until all nodes in N;

30. Example: Dijkstras Algorithm Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E 2 2 1 3 1 1 2 5 3 5 A E D C B F

  • 8Loop
  • 9find w not in N s.t. D(w) is a minimum;
  • 10add w to N;
  • update D(v) for all v adjacent
  • to w and not in N:
  • 12D(v) = min( D(v), D(w) + c(w,v) );
  • 13until all nodes in N;

31. Dijkstras Algorithm: In a Nutshell Csci 232 Computer Networks Routing and Network Layer Part II Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A 2,A 2,A D(C),p(C) 5,A 4,D 3,E 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity infinity 4,E 4,E 4,E A E D C B F 2 2 1 3 1 1 2 5 3 5 32. Routing Table Computation Csci 232 Computer Networks Routing and Network Layer Part II A E D C B F 2 2 1 3 1 1 2 5 3 5 33. Distance Vector Routing

  • A router tells neighbors its distance to every router
    • Communication between neighbors only
  • Based on Bellman-Ford algorithm
    • Computes shortest paths
  • Each router maintains a distance table
    • A row for each possible destination
    • A column for each neighbor
      • D X (Y,Z) : distancefromXtoYviaZ
  • Exchanges distance vector (the table) with neighbors
    • Distance vector: current least cost to each destination

Csci 232 Computer Networks Routing and Network Layer Part II 34. Distance Vector: Control Traffic

  • When the routing table of a node changes, the node sends its table to its neighbors
  • A node updates its table with information received from its neighbors

Csci 232 Computer Networks Routing and Network Layer Part II Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6 35. Distance Table: Example Csci 232 Computer Networks Routing and Network Layer Part II A E D C B 6 8 1 2 1 2 D() A B C D A 1 7 8 10 B 14 8 9 11 D 11 5 4 2 E cost to destination via destination 36. Distance Table to Routing Table Csci 232 Computer Networks Routing and Network Layer Part II D() A B C D A 1 7 6 4 B 14 8 9 11 D 5 5 4 2 E cost to destination via destination A B C D A,1 D,5 D,4 D,2 Outgoing linkto use, cost destination Distance table Routing table 37. Distance Vector Routing Algorithm

  • iterative:
  • continues until no nodes exchange info.
  • self-terminating : no signal to stop
  • asynchronous:
  • nodes neednotexchange info/iterate in lock step!
  • distributed:
  • each node talksonlywith directly-attached neighbors
  • Distance Table data structure
  • each node has its own
  • row for each possible destination
  • column for each directly-attached neighbor to node
  • example: in node X, for dest. Y via neighbor Z:

Csci 232 Computer Networks Routing and Network Layer Part II D (Y,Z) X distancefromXto Y,viaZ as next hop c(X,Z) + min{D(Y,w)} Z w = = 38. Distance Vector Routing: Overview

  • Iterative, asynchronous:each iteration caused by:
  • local link cost change
  • message from neighbor: its least cost path change from neighbor
  • Distributed:
  • each node notifies neighborsonlywhen its least cost path to any destination changes
    • neighbors then notify their neighbors ifnecessary

Csci 232 Computer Networks Routing and Network Layer Part II wait for (change in local link cost ormsg from neighbor) recompute distance table if least cost path to any dest has changed,notifyneighborsEach node: 39. Distance Vector Algorithm: Example Csci 232 Computer Networks Routing and Network Layer Part II X Z 1 2 7 Y D(Y,Z) X c(X,Z) + min{D(Y,w)} w = = 7+1 = 8 Z D(Z,Y) X c(X,Y) + min{D(Z,w)} w = = 2+1 = 3 Y 40. Distance Vector Algorithm: Example Csci 232 Computer Networks Routing and Network Layer Part II X Z 1 2 7 Y 41. Convergence of DV Routing Csci 232 Computer Networks Routing and Network Layer Part II

  • router detects local link cost change
  • updates distance table
  • if cost change in least cost path, notify neighbors

algorithm terminates good newstravels fast X Z 1 4 50 Y 1 42. Problems with DV Routing Csci 232 Computer Networks Routing and Network Layer Part II

  • Link cost changes:
  • good news travels fast
  • bad news travels slow
    • count to infinity problem !

algorithm continues on! X Z 1 4 50 Y 60 43. Count-to-Infinity Problem Csci 232 Computer Networks Routing and Network Layer Part II 1 1 2 X Y Z 44. Fixes to Count-to-Infinity Problem

  • Split horizon
    • A router never advertises the cost of a destination to a neighbor
      • If this neighbor is the next hop to that destination
  • Split horizon with poisonous reverse
    • If X routes traffic to Z via Y, then
      • X tells Y that its distance to Z is infinity
        • Instead of not telling anything at all
    • Accelerates convergence

Csci 232 Computer Networks Routing and Network Layer Part II 45. Split Horizon with Poisoned Reverse Csci 232 Computer Networks Routing and Network Layer Part II

  • If Z routes through Y to get to X :
  • Z tells Y its (Zs) distance to X is infinite (so Y wont route to X via Z)

algorithm terminates X Z 1 4 50 Y 60 46. Count-to-Infinity Problem Revisited Csci 232 Computer Networks Routing and Network Layer Part II X Y Z W 47. Link StatevsDistance Vector

  • Tells everyone about neighbors
  • Controlled flooding to exchange link state
  • Dijkstras algorithm
  • Each router computes its own table
  • May have oscillations
  • Open Shortest Path First (OSPF)
  • Tells neighbors about everyone
  • Exchanges distance vectors with neighbors
  • Bellman-Ford algorithm
  • Each routers table is used by others
  • May have routing loops
  • Routing Information Protocol (RIP)

Csci 232 Computer Networks Routing and Network Layer Part II 48. Link State vs. Distance Vector (contd)

  • Messagecomplexity
  • LS: O(n 2 *e) messages
    • n: number of nodes
    • e: number of edges
  • DV: O(d*n*k) messages
    • d: nodes degree
    • k: number of rounds
  • Time complexity
  • LS: O(n*log n)
  • DV: O(n)
  • Convergence time
  • LS: O(1)
  • DV: O(k)
  • Robustness : what happens if router malfunctions?
  • LS:
    • node can advertise incorrectlinkcost
    • each node computes only itsowntable
  • DV:
    • node can advertise incorrectpathcost
    • each nodes table used by others; error propagate through network

Csci 232 Computer Networks Routing and Network Layer Part II 49. Routing in the Real World

  • scale:with 200 million destinations:
  • cant store all dests in routing tables!
  • routing table exchange would swamp links!
  • administrative autonomy
  • internet = network of networks
  • each network admin may want to control routing in its own network

Csci 232 Computer Networks Routing and Network Layer Part II

  • Our routing study thus far - idealization
  • all routers identical
  • network flat
  • How to do routing in the Internet
  • scalability and policy issues

50. Routing in the Internet

  • The Global Internet consists ofAutonomous Systems (AS)interconnected with each other hierarchically:
    • Stub AS: small corporation: one connection to other ASs
    • Multihomed AS: large corporation (no transit): multiple connections to other ASs
    • Transit AS: provider, hooking many ASs together
  • Two-level routing:
    • Intra-AS: administrator responsible for choice of routing algorithm within network
    • Inter-AS: unique standard for inter-AS routing: BGP

Csci 232 Computer Networks Routing and Network Layer Part II 51. Internet Architecture Csci 232 Computer Networks Routing and Network Layer Part II Internet: networks of networks! LANs International lines ISP ISP company university national network regional network NAP Internic on-line services company access via modem 52. Internet AS Hierarchy Csci 232 Computer Networks Routing and Network Layer Part II Inter-AS border (exterior gateway) routers Intra-AS interior (gateway) routers 53. Intra-AS vs. Inter-AS Routing Csci 232 Computer Networks Routing and Network Layer Part II Hosth2 Intra-AS routing within AS A Intra-AS routing within AS B a b b a a C A B d c A.a A.c C.b B.a c b Host h1 Inter-AS routing betweenA and B 54. Why Different Intra- and Inter-AS Routing?

  • Policy:
  • Inter-AS: admin wants control over how its traffic routed, who routes through its net.
  • Intra-AS: single admin, so no policy decisions needed
  • Scale:
  • hierarchical routing saves table size, update traffic
  • Performance :
  • Intra-AS: can focus on performance
  • Inter-AS: policy may dominate over performance

Csci 232 Computer Networks Routing and Network Layer Part II 55. Intra-AS and Inter-AS Routing Csci 232 Computer Networks Routing and Network Layer Part II physical layer

  • Gateways:
    • perform inter-AS routing amongst themselves
    • perform intra-AS routers with other routers in their AS

inter-AS, intra-AS routing ingateway A.c network layer link layer a b b a a C A B d A.a A.c C.b B.a c b c 56. Intra-AS Routing

  • Also known asInterior Gateway Protocols (IGP)
  • Most common Intra-AS routing protocols:
    • RIP: Routing Information Protocol
    • OSPF: Open Shortest Path First
    • IS-IS: Intermediate System to Intermediate System (OSI Standard)
    • EIGRP: Extended Interior Gateway Routing Protocol (Cisco proprietary)

Csci 232 Computer Networks Routing and Network Layer Part II 57. RIP ( Routing Information Protocol)

  • Distance vector algorithm
  • Included in BSD-UNIX Distribution in 1982
  • Distance metric: # of hops (max = 15 hops)
    • Number of hops from source router A to various subnets:

Csci 232 Computer Networks Routing and Network Layer Part II D C B A u v w x y z destination hops u1 v2 w2 x3 y3 z2 58. RIP advertisements

  • Distance vectors: exchanged among neighbors every 30 sec via Response Message (also calledadvertisement )
  • Each advertisement: list of up to 25 destination nets within AS

Csci 232 Computer Networks Routing and Network Layer Part II 59. RIP: Example Csci 232 Computer Networks Routing and Network Layer Part II Destination Network NextRouterNum. of hops to dest. w A 2 y B 2 z B 7 x -- 1 . . .... w x y z A C D B Routing table in D 60. RIP: Example Csci 232 Computer Networks Routing and Network Layer Part II Destination Network NextRouterNum. of hops to dest. w A 2 y B 2 z B A 7 5 x -- 1 . . .... Routing table in D DestNexthops w -- x -- z C4 . ... Advertisement from A to D w x y z A C D B 61. RIP: Link Failure and Recovery

  • If no advertisement heard after 180 sec --> neighbor/link declared dead
    • routes via neighbor invalidated
    • new advertisements sent to neighbors
    • neighbors in turn send out new advertisements (if tables changed)
    • link failure info quickly propagates to entire net
    • poison reverse used to prevent ping-pong loops (infinite distance = 16 hops)

Csci 232 Computer Networks Routing and Network Layer Part II 62. RIP Table processing

  • RIP routing tables managed byapplication-levelprocess called route-d (daemon)
  • advertisements sent in UDP packets, periodically repeated

Csci 232 Computer Networks Routing and Network Layer Part II physical link networkforwarding (IP)table Transprt (UDP) physical link network (IP) Transprt (UDP) forwarding table routed routed 63. OSPF (Open Shortest Path First)

  • open: publicly available
  • Uses Link State algorithm
    • LS packet dissemination
    • Topology map at each node
    • Route computation using Dijkstras algorithm
  • OSPF advertisement carries one entry per neighbor router
  • Advertisements disseminated toentireAS (via flooding)
    • Carried in OSPF messages directly over IP (rather than TCP or UDP

Csci 232 Computer Networks Routing and Network Layer Part II 64. OSPF advanced features (not in RIP)

  • Security:all OSPF messages authenticated (to prevent malicious intrusion)
  • Multi ple same-costpath s allowed (only one path in RIP)
  • For each link, multiple cost metrics for differentTOS(e.g., satellite link cost set low for best effort; high for real time)
  • Integrated uni- andmulticastsupport:
    • Multicast OSPF (MOSPF) uses same topology data base as OSPF
  • HierarchicalOSPF in large domains.

Csci 232 Computer Networks Routing and Network Layer Part II 65. Hierarchical OSPF Csci 232 Computer Networks Routing and Network Layer Part II 66. Hierarchical OSPF

  • Two-level hierarchy:local area, backbone.
    • Link-state advertisements only in area
    • each nodes has detailed area topology; only know direction (shortest path) to nets in other areas.
    • Communications between areas via backbone
  • Area border routers: summarize distancesto nets in own area, advertise to other Area Border routers.
  • Backbone routers:run OSPF routing limited to backbone.
  • Boundary routers:connect to other ASs.

Csci 232 Computer Networks Routing and Network Layer Part II 67. Inter-AS Routing in the Internet: BGP Csci 232 Computer Networks Routing and Network Layer Part II 68. Internet inter-AS routing: BGP

  • BGP (Border Gateway Protocol): thede facto standard
  • BGP provides each AS a means to:
    • Obtain subnet reachability information from neighboring ASs.
    • Propagate the reachability information to all routers internal to the AS.
    • Determine good routes to subnets based on reachability information and policy.
  • Allowsa subnet to advertise its existence to rest of the Internet:I am here

Csci 232 Computer Networks Routing and Network Layer Part II 69. BGP basics

  • Pairs of routers (BGP peers) exchange routing info over semi-permanent TCP conctns:BGP sessions
  • Note that BGP sessions do not correspond to physical links.
  • When AS2 advertises a prefix to AS1, AS2 ispromisingit will forward any datagrams destined to that prefix towards the prefix.
    • AS2 can aggregate prefixes in its advertisement

Csci 232 Computer Networks Routing and Network Layer Part II 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session 70. Distributing reachability info

  • With eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1.
  • 1c can then use iBGP to distribute this new prefix reach info to all routers in AS1
  • 1b can then re-advertise the new reach info to AS2 over the 1b-to-2a eBGP session
  • When router learns about a new prefix, it creates an entry for the prefix in its forwarding table.

Csci 232 Computer Networks Routing and Network Layer Part II 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session 71. Path attributes & BGP routes

  • When advertising a prefix, advert includes BGP attributes.
    • prefix + attributes = route
  • Two important attributes:
    • AS-PATH:contains the ASs through which the advert for the prefix passed: AS 67 AS 17
    • NEXT-HOP:Indicates the specific internal-AS router to next-hop AS. (There may be multiple links from current AS to next-hop-AS.)
  • When gateway router receives route advert, usesimport policyto accept/decline.

Csci 232 Computer Networks Routing and Network Layer Part II 72. BGP route selection

  • Router may learn about more than 1 route to some prefix. Router must select route.
  • Elimination rules:
    • Local preference value attribute: policy decision
    • Shortest AS-PATH
    • Closest NEXT-HOP router: hot potato routing
    • Additional criteria

Csci 232 Computer Networks Routing and Network Layer Part II 73. BGP messages

  • BGP messages exchanged using TCP.
  • BGP messages:
    • OPEN:opens TCP connection to peer and authenticates sender
    • UPDATE:advertises new path (or withdraws old)
    • KEEPALIVEkeeps connection alive in absence of UPDATES; also ACKs OPEN request
    • NOTIFICATION:reports errors in previous msg; also used to close connection

Csci 232 Computer Networks Routing and Network Layer Part II 74. BGP routing policy Csci 232 Computer Networks Routing and Network Layer Part II

  • A,B,C areprovider networks
  • X,W,Y are customer (of provider networks)
  • X isdual-homed:attached to two networks
    • X does not want to route from B via X to C
    • .. so X will not advertise to B a route to C

75. BGP routing policy (2) Csci 232 Computer Networks Routing and Network Layer Part II

  • A advertises to B the path AW
  • B advertises to X the path BAW
  • Should B advertise to C the path BAW?
    • No way! B gets no revenue for routing CBAW since neither W nor C are Bs customers
    • B wants to force C to route to w via A
    • B wants to routeonlyto/from its customers!

76. Why different Intra- and Inter-AS routing ?

  • Policy:
  • Inter-AS: admin wants control over how its traffic routed, who routes through its net.
  • Intra-AS: single admin, so no policy decisions needed
  • Scale:
  • hierarchical routing saves table size, reduced update traffic
  • Performance :
  • Intra-AS: can focus on performance
  • Inter-AS: policy may dominate over performance

Csci 232 Computer Networks Routing and Network Layer Part II 77. Multi-Protocol Label Switching (MPLS)

  • initial goal: speed up IP forwarding by using fixed length label (instead of IP address) to do forwarding
    • borrowing ideas from Virtual Circuit (VC) approach
    • but IP datagram still keeps IP address!

Csci 232 Computer Networks Routing and Network Layer Part II PPP or Ethernetheader IP header remainder of link-layer frame MPLS header label Exp S TTL 20 3 1 5 78. MPLS Capable Routers

  • a.k.a. label-switched router
  • forwards packets to outgoing interface based only on label value (dont inspect IP address)
    • MPLS forwarding table distinct from IP forwarding tables
  • signaling protocol needed to set up forwarding
    • RSVP-TE, LDP
    • forwarding possible along paths that IP alone would not allow (e.g., least cost path routing) !!
    • use MPLS for traffic engineering
  • must co-exist with IP-only routers

Csci 232 Computer Networks Routing and Network Layer Part II 79. MPLS Forwarding Tables Csci 232 Computer Networks Routing and Network Layer Part II R1 R2 D R3 R4 R5 0 1 0 0 A R6 inoutout labellabeldestinterface 6-A0 inoutout labellabeldestinterface 106A1 129D0 inoutout labellabeldestinterface 10A0 12D0 1 inoutout labellabeldestinterface 86A0 0 8A1 80. Why Mobile IP?

  • Need a protocol which allowsnetwork connectivityacross host movement
  • Protocol to enable mobility must not require massive changes to router software, etc.
  • Must be compatible with large installed base of IPv4 networks/hosts
  • Confine changes to mobile hosts and a few support hosts which enable mobility

Csci 232 Computer Networks Routing and Network Layer Part II 81. Internet Protocol (IP)

  • Network layer, "best-effort" packet delivery
  • Supports UDP and TCP (transport layer protocols)
  • IP host addresses consist of two parts
    • network id+host id
  • By design, IP host address is tied to home network address
    • Hosts are assumed to be wired, immobile
    • Intermediate routers look only at network address
    • Mobility without achange in IP address results in un-route-able packets

Csci 232 Computer Networks Routing and Network Layer Part II 82. IP Routing Breaks Under Mobility Csci 232 Computer Networks Routing and Network Layer Part II Why this hierarchical approach?Answer:Scalability! Millions of network addresses, billions of hosts! 137.30.2.* .50 .52 .53 router router 139.20.3.* .200 83. Mobile IP: Basics

  • Proposed by IETF(Internet Engineering Task Force)
    • Standards development body for the Internet
  • Mobile IP allows a mobile host to move about without changing itspermanent IP address
  • Each mobile host has ahome agent on itshome network
  • Mobile host establishes acare-ofaddress when it's away from home

Csci 232 Computer Networks Routing and Network Layer Part II 84. Mobile IP: Basics, Cont.

  • Correspondent host is a host that wants to send packets to the mobile host
  • Correspondent host sends packets to the mobile hosts IP permanent address
  • These packets are routed to the mobile hosts home network
  • Home agent forwards IP packets for mobile host to current care-of address
  • Mobile host sends packets directly to correspondent, using permanent home IP as source IP

Csci 232 Computer Networks Routing and Network Layer Part II 85. Mobile IP: Basics, Cont. Csci 232 Computer Networks Routing and Network Layer Part II home agent correspondent host 86. Mobile IP: Care-of Addresses

  • Whenever a mobile host connects to a remote network, two choices:
    • care-of can be the address of aforeign agent on the remote network
      • foreign agent delivers packets forwarded from home agent to mobile host
    • care-of can be a temporary, foreign IP address obtained through, e.g., DHCP
      • home agenttunnelspackets directly to the temporary IP address
  • Regardless, care-of address must beregisteredwith home agent

Csci 232 Computer Networks Routing and Network Layer Part II 87. IP-in-IP Tunneling

  • Packet to be forwarded is encapsulated in a new IP packet
  • In the new header:
    • Destination = care-of-address
    • Source = address of home agent
    • Protocol number = IP-in-IP

Csci 232 Computer Networks Routing and Network Layer Part II IP header IP header data IP header data 88. At the Other End...

  • Depending on type of care-of address:
    • Foreign agent or
    • Mobile host
  • strips outer IP header of tunneled packet, which is then fed to the mobile host
  • Aside: Any thoughts on advantages of foreign agent vs. co-located (foreign IP) address?

Csci 232 Computer Networks Routing and Network Layer Part II 89. Routing Inefficiency Csci 232 Computer Networks Routing and Network Layer Part II Mobile host and correspondent host might even be on the same network!! home agent correspondent host 90. Route Optimizations

  • Possible Solution:
    • Home agent sends current care-of address to correspondent host
    • Correspondent host caches care-of address
    • Future packets tunneleddirectlyto care-of address
  • But!
    • An instance of the cache consistency problem arises...
    • Cached care-of address becomes stale when the mobile host moves
    • Potential security issues with providing care-of address to correspondent

Csci 232 Computer Networks Routing and Network Layer Part II 91. Possible Route Optimization Csci 232 Computer Networks Routing and Network Layer Part II 92. Network Layer Part II Summary

  • Network Layer Routing
    • Basic Issues
    • Distributed Routing Algorithms: LS vs. DV
    • Link State (LS): How does it work?
    • Distance Vector (DV): How does it work? Issues?
    • Mobile IP: how does it work? Issues?
    • MPLS
  • Routing in the Internet
    • Intra-AS vs. Inter-AS routing
    • Intra-AS: RIP and OSPF
    • Inter-AS: BGP and Policy Routing
  • Things we didnt cover: VPN, IP Multicast, IPv6 (but please read by yourself!)

Csci 232 Computer Networks Routing and Network Layer Part II