Computer%20Networks%20with%20Internet%20Technology%20William%20Stallings - PowerPoint PPT Presentation

About This Presentation
Title:

Computer%20Networks%20with%20Internet%20Technology%20William%20Stallings

Description:

Routing protocols essential to operation of an internet ... Confuses management and troubleshooting applications that measure these ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 68
Provided by: AdrianJ50
Category:

less

Transcript and Presenter's Notes

Title: Computer%20Networks%20with%20Internet%20Technology%20William%20Stallings


1
Computer Networks with Internet
TechnologyWilliam Stallings
  • Chapter 11
  • Interior Routing Protocols

2
11.1 Internet Routing Principles
  • Routing protocols essential to operation of an
    internet
  • Routers forward IP datagrams from one router to
    another on path from source to destination
  • Router must have idea of topology of internet
  • Routing protocols provide this information

3
Internet Routing Principles
  • Routers receive and forward datagrams
  • Make routing decisions based on knowledge of
    topology and conditions on internet
  • Decisions based on some least cost criterion
    (chapter 14)

4
Fixed Routing
  • Single permanent route configured for each
    source-destination pair
  • Routes fixed
  • May change when topology changes
  • Link cost not based on dynamic data
  • Based on estimated traffic volumes or capacity of
    link

5
Figure 11.1 A Configuration of Routers and
Networks
6
Discussion of Example
  • 5 networks, 8 routers
  • Link cost for output side of each router for each
    network
  • Next slide shows how fixed cost routing may be
    implemented
  • Each router has routing table

7
Routing Table
  • One required for each router
  • Entry for each network
  • Not for each destination
  • Routing only needs network portion
  • Once datagram reaches router attached to
    destination network, that router can deliver to
    host
  • IP address typically has network and host portion
  • Each entry shows next node on route
  • Not whole route

8
Routing Tables in Hosts
  • May also exist in hosts
  • If attached to single network with single router
    then not needed
  • All traffic must go through that router (called
    the gateway)
  • If multiple routers attached to network, host
    needs table saying which to use

9
Figure 11.2Example Routing Tables
10
Adaptive Routing
  • As conditions on internet changes, routes may
    change
  • Failure
  • Can route round problems
  • Congestion
  • Can route round congestion
  • Avoid, or at least not add to further congestion

11
Drawbacks of Adaptive Routing
  • More complex routing decisions
  • Router processing increases
  • Depends on information collected in one place but
    used in another
  • More information exchanged improves routing
    decisions but increases overhead
  • May react too fast causing congestion through
    oscillation
  • May react too slow, being irrelevant
  • Can produce pathologies
  • Fluttering
  • Looping

12
Fluttering
  • Rapid oscillation in routing
  • Due to router attempting load balancing or
    splitting
  • Splitting traffic among a number of routes
  • May result in successive packets bound for same
    destination taking very different routes (see
    next slide)

13
Figure 11.3 Example of Fluttering
14
Problems with Fluttering
  • If in one direction only, route characteristics
    may differ in the two directions
  • Including timing and error characteristics
  • Confuses management and troubleshooting
    applications that measure these
  • Difficulty estimating round trip times
  • TCP packets arrive out of order
  • Spurious retransmission
  • Duplicate acknowledgements

15
Looping
  • Packet forwarded by router eventually returns to
    that router
  • Algorithms designed to prevent looping
  • May occur when changes in connectivity not
    propagated fast enough to all other routers

16
Adaptive Routing Advantages
  • Improve performance as seen by user
  • Can aid congestion control
  • Benefits depend on soundness of design
  • Adaptive routing very complex
  • Continual evolution of protocols

17
Classification of Adaptive Routing Strategies
  • Based on information sources
  • Local
  • E.g. route each datagram to network with shortest
    queue
  • Balance loads on networks
  • May not be heading in correct direction
  • Include preferred direction
  • Rarely used
  • Adjacent nodes
  • Distance vector algorithms
  • All nodes
  • Link-state algorithms
  • Both need routing protocol to exchange information

18
Autonomous Systems (AS)
  • Group of routers exchanging information via
    common routing protocol
  • Set of routers and networks managed by single
    organization
  • Connected
  • Except in time of failure

19
Interior Routing Protocol (IRP)
  • Passes routing information between routers within
    AS
  • Does not need to be implemented outside AS
  • Allows IRP to be tailored
  • May be different algorithms and routing
    information in different connected AS
  • Need minimum information from other connected AS
  • At least one router in each AS must talk
  • Use Exterior Routing Protocol (ERP)

20
Exterior Routing Protocol (ERP)
  • Pass less information than IRP
  • Router in first system determines route to target
    AS
  • Routers in target AS then co-operate to deliver
    datagram
  • ERP does not deal with details within target AS

21
Figure 11.4 Application of Exterior and Interior
Routing Protocols
22
Approaches to Routing Distance-vector
  • Each node (router or host) exchange information
    with neighboring nodes
  • Neighbors are both directly connected to same
    network
  • First generation routing algorithm for ARPANET
  • Node maintains vector of link costs for each
    directly attached network and distance and
    next-hop vectors for each destination
  • Used by Routing Information Protocol (RIP)
  • Requires transmission of lots of information by
    each router
  • Distance vector to all neighbors
  • Contains estimated path cost to all networks in
    configuration
  • Changes take long time to propagate

23
Approaches to Routing Link-state
  • Designed to overcome drawbacks of distance-vector
  • When router initialized, it determines link cost
    on each interface
  • Advertises set of link costs to all other routers
    in topology
  • Not just neighboring routers
  • From then on, monitor link costs
  • If significant change, router advertises new set
    of link costs
  • Each router can construct topology of entire
    configuration
  • Can calculate shortest path to each destination
    network
  • Router constructs routing table, listing first
    hop to each destination
  • Router does not use distributed routing algorithm
  • Use any routing algorithm to determine shortest
    paths
  • In practice, Dijkstra's algorithm
  • Open shortest path first (OSPF) protocol uses
    link-state routing.
  • Also second generation routing algorithm for
    ARPANET

24
Exterior Router Protocols Path-vector
  • Provide information about which networks can be
    reached by a given router and ASs crossed to get
    there
  • Does not include distance or cost estimate
  • Each block of information lists all ASs visited
    on this route
  • Enables router to perform policy routing
  • E.g. avoid path to avoid transiting particular AS
  • E.g. link speed, capacity, tendency to become
    congested, and overall quality of operation,
    security
  • E.g. minimizing number of transit Ass

25
11.2 Least Cost Algorithms
  • Least-cost criterion
  • If minimize number of hops, link value 1
  • Link value may be inversely proportional to
    capacity, proportional to current load, or some
    combination
  • May differ in different two directions
  • E.g. if cost equaled length of queue
  • Cost of path between two nodes as sum of costs of
    links traversed
  • For each pair of nodes, find least cost path 
  • Two common algorithms
  • Dijkstra's algorithm
  • Bellman-Ford algorithm

26
Dijkstra's Algorithm
  • Find shortest paths from given node to all other
    nodes, by developing paths in order of increasing
    path length
  • Proceeds in stages
  • By kth stage, shortest paths to k nodes closest
    to (least cost away from) source have been
    determined
  • T Set of nodes so far incorporated
  • Stage (k 1), node not in T with shortest path
    from source added to T
  • As each node added to T, path from source defined

27
Dijkstra's Algorithm Formal (1)
  • N set of nodes in the network
  • s source node
  • T set of nodes so far incorporated
  • w(i, j) link cost from node i to node j
  • w(i, i) 0
  • w(i, j) 8 if nodes not directly connected
  • w(i, j) ? 0 if nodes directly connected
  • L(n) cost of least-cost path s to n currently
    known
  • At termination, cost of least-cost path in graph
    from s to n

28
Dijkstra's Algorithm Formal (2)
  • Initialization
  • T s
  • L(n) w(s, n) for n ? s
  • Get Next Node
  • Find neighboring node not in T with least-cost
    path from s
  • Incorporate node into T
  • Also incorporate edge incident on that node and
    node in T that contributes to the path. This can
    be expressed as
  • Find x Ï T such that
  • Add x to T add to T the edge that is incident
    on x and that contributes the least cost
    component to L(x), that is, the last hop in the
    path.

29
Dijkstra's Algorithm Formal (3)
  • Update Least-Cost Paths
  • L(n) minL(n), L(x) w(x, n) for all n Ï T
  • If the latter term is the minimum, the path
    from s to n is now the path from s to x
    concatenated with the edge from x to n.
  • The algorithm terminates when all nodes have been
    added to T

30
Figure 11.6 Dijkstras Algorithm Applied to
Figure 11.1
31
Example of Dijkstras Algorithm Applied to Figure
11.1
32
Bellman-Ford Algorithm
  • Find shortest paths from source node such that
    paths contain at most one link
  • Find shortest paths such that paths have at most
    two links
  • And so on

33
Figure 11.7 Bellman-Ford Algorithm Applied to
Figure 11.1
34
Bellman-Ford Algorithm Formal (1)
  • s source node
  • w(i, j) link cost from node i to node j
  • w(i, i) 0
  • w(i, j) ? if nodes are directly connected
  • w(i, j) ? 0 if nodes directly connected
  • h maximum number of links in path at current
    stage
  • Lh(n) cost of least-cost path from s to n such
    that no more than h links

35
Bellman-Ford Algorithm Formal (2)
  • Initialization
  • L0(n) ?, for all n ? s
  • Lh(s) 0, for all h
  • Update
  • For each successive h ? 0
  • For each n ? s, compute
  • Connect n with predecessor node j that achieves
    minimum
  • Eliminate any connection of n with different
    predecessor node formed during an earlier
    iteration
  • Path from s to n terminates with link from j to n

36
Example of Bellman-Ford Algorithm Applied to
Figure 11.1
37
Comparison of Algorithms
  • Bellman-Ford
  • Link cost to all neighboring nodes to node n
    i.e., w(j, n) plus total path cost to those
    neighboring nodes from a particular source node s
    i.e., Lh(j)
  • Each node can maintain set of costs and
    associated paths for every other node and
    exchange information with direct neighbors
  • Each node can use Bellman-Ford based only on
    information from neighbors and knowledge of its
    link costs
  • Dijkstra
  • Each node must know link costs of all links
  • Information must be exchanged with all other
    nodes
  • Both converge under static conditions to same
    solution
  • If costs change algorithm will attempt to catch
    up
  • If cost depends on traffic
  • Depends on routes chosen
  • then feedback condition exists
  • Instabilities may result

38
11.3Distance Vector Routing RIP
  • Each node exchange information with neighbors
  • Directly connected by same network
  • Each node maintains three vectors
  • Link cost
  • Distance vector
  • Next hop vector
  • Every 30 seconds, exchange distance vector with
    neighbors
  • Use this to update distance and next hop vector

39
Figure 11.8 Distance Vector Algorithm Applied to
Figure 11.1
40
Distributed Bellman-Ford
  • RIP is a distributed version of Bellman-Ford
  • Original routing algorithm in ARPANET
  • Each simultaneous exchange of vectors between
    routers is equivalent to one iteration of step 2
  • In fact, asynchronous exchange used
  • At start-up, get vectors from neighbors
  • Gives initial routing
  • By own timer, update every 30 seconds
  • Changes are propagated across network
  • Routing converges within finite time
  • Proportional to number of routers

41
RIP Details Incremental Update
  • Updates do not arrive from neighbors within small
    time window
  • RIP packets use UDP
  • Tables updated after receipt of individual
    distance vector
  • Add any new destination network
  • Replace existing routes with small delay ones
  • If update from router R, update all routes using
    R as next hop

42
RIP Details Topology Change
  • If no updates received from a router within 180
    seconds, mark route invalid
  • Invalid timer 180 sec
  • Assumes router crash or network connection
    unstable
  • Set distance value to infinity
  • Actually 16

43
Counting to Infinity Problem (1)
  • Slow convergence may cause
  • All link costs 1
  • B has distance to network 5 as 2, next hop D
  • A C have distance 3
  • and next hop B


44
Counting to Infinity Problem (2)
  • Suppose router D fails
  • B determines network 5 no longer reachable via D
  • Sets distance to 4 based on report from A or C
  • At next update, B tells A and C this
  • A and C receive this and increment their network
    5 distance to 5
  • 4 from B plus 1 to reach B
  • B receives distance count 5 and assumes
  • network 5 is 6 away
  • Repeat until reach infinity (16)
  • Takes 8 to 16 minutes to resolve


45
Split Horizon
  • Counting to infinity problem caused by
    misunderstanding between B and A, and B and C
  • Each thinks it can reach network 5 via the other
  • Split Horizon rule says do not send information
    about a route back in the direction it came from
  • Router sending information is nearer destination
    than you
  • That is, A should not tell B the distance to
    network 5.
  • Erroneous route now eliminated within time out
    period (180 seconds)

46
Poisoned Reverse
  • Send updates with hop count of 16 to neighbors
    for route learned from those neighbors
  • If two routers have routes pointing at each other
    advertising reverse route with metric 16 breaks
    loop immediately
  • B tells A and C distance to network 5 is 16

47
Figure 11.9 RIP Packet Format (v1)
Command 1 request, 2 response Address
Family identifier IP, IPX,
48
RIP v2
Route Tag 0 or AS
49
(No Transcript)
50
RIP Packet Format Notes
  • Command 1request 2reply
  • Updates are replies whether asked for or not
  • Initializing node broadcasts request
  • Requests are replied to immediately
  • Version 1 or 2
  • Address family 2 for IP
  • IP address non-zero network portion, zero host
    portion
  • Identifies particular network
  • Metric
  • Path distance from this router to network
  • Typically 1, so metric is hop count

51
RIP Limitations
  • Destinations with metric more than 15 are
    unreachable
  • If larger metric allowed, convergence becomes
    lengthy
  • Simple metric leads to sub-optimal routing tables
  • Packets sent over slower links
  • Accept RIP updates from any device
  • Misconfigured device can disrupt entire
    configuration

52
11.4Link-State Protocol OSPF
  • RIP limited in large internets
  • Open Shortest Path First (OSPF)
  • OSPF preferred interior routing protocol for
    TCP/IP based internets
  • Link state routing used

53
Link State Routing
  • When initialized, router determines link cost on
    each interface
  • Router advertises these costs to all other
    routers in topology
  • Router monitors its costs
  • When changes occurs, costs are re-advertised
  • Each router constructs topology and calculates
    shortest path to each destination network
  • Not distributed version of routing algorithm
  • Can use any algorithm
  • Dijkstra

54
Flooding
  • Packet sent by source router to every neighbor
  • Incoming packet resent to all outgoing links
    except source link
  • Duplicate packets already transmitted are
    discarded
  • Prevent incessant retransmission
  • All possible routes tried so packet will get
    through if route exists
  • Highly robust
  • At least one packet follows minimum delay route
  • Reach all routers quickly
  • All nodes connected to source are visited
  • All routers get information to build routing
    table
  • High traffic load

55
Figure 11.10 Flooding Example
56
OSPF Overview
  • Router maintains descriptions of state of local
    links
  • Transmits updated state information to all
    routers it knows about
  • Router receiving update must acknowledge
  • Lots of traffic generated
  • Each router maintains database
  • Directed graph

57
Router Database Graph
  • Vertices
  • Router
  • Network
  • Transit
  • Stub
  • Edges
  • Connecting two routers
  • Connecting router to network
  • Built using link state information from other
    routers

58
Figure 11.11 Sample Autonomous System
59
Figure 11.12 Directed Graph of Autonomous System
of Figure 19.7
60
Link Costs
  • Cost of each hop in each direction is called
    routing metric
  • OSPF provides flexible metric scheme based on
    type of service (TOS)
  • Normal (TOS) 0
  • Minimize monetary cost (TOS 2)
  • Maximize reliability (TOS 4)
  • Maximize throughput (TOS 8)
  • Minimize delay (TOS 16)
  • Each router generates 5 spanning trees (and 5
    routing tables)

61
Figure 11.13 The SPF Tree for Router R6
62
Areas
  • Make large internets more manageable
  • Configure as backbone and multiple areas
  • Area Collection of contiguous networks and
    hosts plus routers connected to any included
    network
  • Backbone contiguous collection of networks not
    contained in any area, their attached routers and
    routers belonging to multiple areas

63
Operation of Areas
  • Each area runs a separate copy of the link state
    algorithm
  • Topological database and graph of just that area
  • Link state information broadcast to other routers
    in area
  • Reduces traffic
  • Intra-area routing relies solely on local link
    state information

64
Inter-Area Routing
  • Path consists of three legs
  • Within source area
  • Intra-area
  • Through backbone
  • Has properties of an area
  • Uses link state routing algorithm for inter-area
    routing
  • Within destination area
  • Intra-area

65
Figure 11.14OSPF Packet Header
66
Packet Format Notes
  • Version number 2 is current
  • Type one of 5, see next slide
  • Packet length in octets including header
  • Router id this packets source, 32 bit
  • Area id Area to which source router belongs
  • Authentication type null, simple password or
    encryption
  • Authentication data used by authentication
    procedure

67
OSPF Packet Types
  • Hello used in neighbor discovery
  • Database description Defines set of link state
    information present in each routers database
  • Link state request
  • Link state update
  • Link state acknowledgement
Write a Comment
User Comments (0)
About PowerShow.com