+ All Categories
Home > Documents > Chapter4 Routing

Chapter4 Routing

Date post: 03-Apr-2018
Category:
Upload: mauricio-huacho-checa
View: 243 times
Download: 0 times
Share this document with a friend

of 71

Transcript
  • 7/28/2019 Chapter4 Routing

    1/71

    Network Layer 4-1

    Chapter 4 Network

    Layer (4b - Routing)

    Computer Networking:A Top Down ApproachFeaturing the Internet,5th edition.Jim Kurose, Keith RossAddison-Wesley, July2009.

    A note on the use of these ppt slides:Were making these slides freely available to all (faculty, students, readers).

    Theyre in PowerPoint form so you can add, modify, and delete slides

    (including this one) and slide content to suit your needs. They obviously

    represent a lotof work on our part. In return for use, we only ask the

    following:

    If you use these slides (e.g., in a class) in substantially unaltered form,that you mention their source (after all, wed like people to use our book!)

    If you post any slides in substantially unaltered form on a www site, that

    you note that they are adapted from (or perhaps identical to) our slides, and

    note our copyright of this material.

    Thanks and enjoy! JFK/KWR

    All material copyright 1996-2006

    J.F Kurose and K.W. Ross, All Rights Reserved JAC 10-25-2012

    Modified by John CopelandGeorgia Tech

    for use in ECE3076

  • 7/28/2019 Chapter4 Routing

    2/71

    Network Layer 4-2

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 What

    s inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing

    ICMP

    IPv6

    4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing (BGP)

    4.6 Routing in theInternet RIP OSPF BGP

    4.7 Broadcast andmulticast routing

  • 7/28/2019 Chapter4 Routing

    3/71

    Network Layer 4-3

    IP Addressing: introduction

    IP address: 32-bitidentifier for host, androuter interface

    interface:connectionbetween host/router and

    physical link (sometimescalled a "port"). routers typically have

    multiple interfaces

    host typically has oneinterface

    IP addresses associatedwith each interface

    223.1.1.1

    223.1.1.2

    223.1.1.3

    223.1.1.4 223.1.2.9

    223.1.2.2

    223.1.2.1

    223.1.3.2223.1.3.1

    223.1.3.27

    223.1.1.1 = 11011111 00000001 00000001 00000001

    223 1 11

  • 7/28/2019 Chapter4 Routing

    4/71

    Network Layer 4-4

    Subnets

    IP address: subnet part (high

    order bits)

    host part (low orderbits)

    Whats a subnet ? device interfaces with

    same subnet part of IPaddress

    can physically reacheach other withoutintervening router

    223.1.1.1

    223.1.1.2

    223.1.1.3

    223.1.1.4 223.1.2.9

    223.1.2.2

    223.1.2.1

    223.1.3.2223.1.3.1

    223.1.3.27

    network consisting of 3 subnets

    subnet

  • 7/28/2019 Chapter4 Routing

    5/71

    Network Layer 4-5

    Subnets 223.1.1.0/24 223.1.2.0/24

    223.1.3.0/24

    Recipe

    To determine thesubnets, detach eachinterface from its

    host or router,creating islands ofisolated networks.Each isolated network

    is called a subnet.Subnet mask: /24

  • 7/28/2019 Chapter4 Routing

    6/71

    Network Layer 4-6

    Subnets

    How many? 223.1.1.1

    223.1.1.3

    223.1.1.4

    223.1.2.2223.1.2.1

    223.1.2.6

    223.1.3.2223.1.3.1

    223.1.3.27

    223.1.1.2

    223.1.7.0

    223.1.7.1223.1.8.0223.1.8.1

    223.1.9.1

    223.1.9.2

    Stub Subnet ->223.1.2.0/24

    Transit Subnet ->223.1.9.0/28

    Stub Subnet ->

    223.1.3.0/24

    223.1.1.0/24

    223.1.8.0/28

  • 7/28/2019 Chapter4 Routing

    7/71

    Network Layer 4-7

    Stub Subnet223.1.2.0/24

    Transit Subnet223.1.9.0/28

    Stub Subnet223.1.3.0/24

    Transit Subnet223.1.7.0/28

    Stub Subnet223.1.1.0/24

    Transit Subnet223.1.8.0/28

    A

    C

    B

    Routers ("Nodes") designated by a letter: A, B, C, ...All subnets are either:Transit Subnets ("Links" between nodes: A-B, B-C, A-C)

    orStub Subnets (connected to a single "gateway" router)designated by the same letter: A, B, C, ...

    Simplified Network

    A C

    B

    A-B

    A-C

    B-C

  • 7/28/2019 Chapter4 Routing

    8/71

    Network Layer 4-8

    1

    23

    223.1.3.123

    Destination address (IPd) in arriving

    packets IP header

    routing algorithm

    Interplay between routing, forwarding

    AC

    B

    D

    A-CA-D

    A-B

    Routing Table for Node A

    Network Address Network Mask Port (A- )

    223.1.1.0 255.255.255.0 B

    223.1.2.0 255.255.255.0 Local

    223.1.3.0 255.255.255.0 C

    Match row "i" if:IPd & Maski = NetAddri

    Use match with largest Maski.

  • 7/28/2019 Chapter4 Routing

    9/71

    Network Layer 4-9

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Graph: G = (N,E)

    N = set of routers = { u, v, w, x, y, z } (Nodes)

    E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } (Edges)

    Graph abstraction

    Remark: Graph abstraction is useful in other network contexts

    Example: P2P, where N is set of peers and E is set of TCP connections

    "Cost" of Link

  • 7/28/2019 Chapter4 Routing

    10/71

    Network Layer 4-10

    Graph abstraction: costs

    u

    yx

    wv

    z2

    2

    1

    3

    1

    1

    2

    53

    5 c(x,x) = cost of link (x,x)

    - e.g., c(w,z) = 5

    cost could always be 1, or

    inversely related to bandwidth,or inversely related tocongestion

    Cost of path (x1, x2, x3,, xp) = c(x1,x2) + c(x2,x3) + + c(xp-1,xp)

    Question: Whats the least-cost path between u and z ?

    Routing algorithm: algorithm that finds least-cost path

  • 7/28/2019 Chapter4 Routing

    11/71

    Network Layer 4-11

    Routing Algorithm classification

    Global or decentralizedinformation?Global (e.g., OSPF): all routers have complete

    topology, link cost info

    link state algorithms

    Decentralized (e.g., RIP): router knows physically-

    connected neighbors, linkcosts to neighbors

    iterative process ofcomputation, exchange ofinfo with neighbors

    distance vectoralgorithms

    Static or dynamic?Static (Manual updates):

    routes change slowlyover time

    Dynamic (RIP, OSPF):

    routes change morequickly

    periodic update

    in response to linkcost changes

  • 7/28/2019 Chapter4 Routing

    12/71

    Network Layer 4-12

    A Link-State Routing Algorithm(OSPF)

    Dijkstras algorithm net topology, link costs

    known to all nodes

    accomplished via link

    state broadcast all nodes have same info

    computes least cost pathsfrom one node (source)to all other nodes

    gives forwarding tablefor that node

    iterative: after kiterations, know least costpath to k dest.s

    Notation:

    c(x,y): link cost from nodex to y; = if not directneighbors

    D(v): current value of costof path from source todest. v

    p(v): predecessor node

    along path from source to v N': set of nodes whose

    least cost path definitivelyknown

  • 7/28/2019 Chapter4 Routing

    13/71

    Network Layer 4-13

    Dijsktras Algorithm

    1 Init ial ization:2 N' = {u}

    3 for all nodes v

    4 if v adjacent to u

    5 then D(v) = c(u,v)

    6 else D(v) = 7

    8 Loop

    9 find w not in N' such that D(w) is a minimum

    10 add w to N'

    11 update D(v) for all v adjacent to w and not in N' :12 D(v) = min( D(v), D(w) + c(w,v) )

    13 /* new cost to v is either old cost to v or known

    14 shortest path cost to w plus cost from w to v */

    15 un t i l al l nodes in N'

  • 7/28/2019 Chapter4 Routing

    14/71

    Network Layer 4-14

    Dijkstras algorithm: example (for "u") - 1

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Permanent Nodes: u (start with home node)Temporary Nodes: v(u,2), x(u,1), w(u,5)

    (linked to a permanent node, path cost in ()s)New Permanent Node: x(u,2) (lowest-cost path to u)

    New Permanent Link: u-xDelete Links: (from new permanent node to anypermanent node, other than the New Permanent Link)

  • 7/28/2019 Chapter4 Routing

    15/71

    Network Layer 4-15

    Dijkstras algorithm: example (for "u") - 2

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Permanent Nodes: u(0), x(2)Temporary Nodes: v(u,2 or x,3), y(x,2), w(x,4 or u,5)

    New Permanent Node: v(u,2)New Permanent Link: v-uDelete Link: v-x

    Note: You can wait to delete (all non-permanent) linksafter the tree is complete.

  • 7/28/2019 Chapter4 Routing

    16/71

    Network Layer 4-16

    Dijkstras algorithm: example (for "u") - 3

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Permanent Nodes: u, x(1), v(2)Temporary Nodes: y(x,2), w(y,3 or x,4 or v,5)

    New Permanent Node: y(x,2)New Permanent Link: x-yDelete Link: none

  • 7/28/2019 Chapter4 Routing

    17/71

    Network Layer 4-17

    Dijkstras algorithm: example (for "u") - 4

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Permanent Nodes: u, x(1), v(2), y(2)Temporary Nodes: w(y,3 or x,4 or v,5 or u,5), z(y,4)

    New Permanent Node: w(y,3)New Permanent Link: w-y

    Delete Links: w-x, w-v, w-u

  • 7/28/2019 Chapter4 Routing

    18/71

    Network Layer 4-18

    Dijkstras algorithm: example (for "u") - 5

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Permanent Nodes: u, x(1), v(2), y(2), w(3)Temporary Nodes: z(y,4 or w,8)

    New Permanent Node: z(y,4)

    New Permanent Link: y-zDelete Link: z-w

    This is called the "shortest-path tree", or"sink tree," for node u.

  • 7/28/2019 Chapter4 Routing

    19/71

    Network Layer 4-19

    Dijkstras algorithm: example (2)

    u

    yx

    wv

    z

    Resulting shortest-path tree from u:

    vx

    y

    w

    z

    (u,v)(u,x)

    (u,x)

    (u,x)

    (u,x)

    destination link

    Resulting forwarding table in u:

    Two-step process based oninformation received bybroadcast OSPF messagesfrom every router.

    1. Construct a table of all

    advertised blocks andthe edge router whichconnects to them.

    2. Add link to forward onfor each edge router,based on the routing

    algorithm.

  • 7/28/2019 Chapter4 Routing

    20/71

    Network Layer 4-20

    u

    yx

    wv

    z

    2

    2

    1

    3

    1

    1

    2

    5

    3

    5 (link cost)

    Graphical Method - Sink Treefor Node "U"

    (animated - keep clicking)

    2

    1

    3

    5 (total cost)

    4

    2

    5

    4

    83

    Next Slide

  • 7/28/2019 Chapter4 Routing

    21/71

    Network Layer 4-21

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 What

    s inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing

    ICMP

    IPv6

    4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing

    4.6 Routing in theInternet RIP OSPF BGP

    4.7 Broadcast andmulticast routing

  • 7/28/2019 Chapter4 Routing

    22/71

    Network Layer 4-22

    Distance Vector Algorithm (RIP)

    Bellman-Ford Equation (dynamic programming)

    Define

    dx(y) := cost of least-cost path from x to y

    Then

    dx(y) = min {c(x,v) + dv(y) }

    where min is taken over all neighbors v of x.

    This is the distance to y advertised by x.

    x will forward datagrams for y to v.

    v

  • 7/28/2019 Chapter4 Routing

    23/71

    Network Layer 4-23

    Bellman-Ford algorithm example

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5

    Known:, dv(z) = 5, dx(z) = 3, dw(z) = 3

    du(z) = min { c(u,v) + dv(z),c(u,x) + dx(z),c(u,w) + dw(z) }

    = min {2 + 5,

    1 + 3,5 + 3} = 4 ( -> x)

    B-F equation says:

    Find forwarding link for u to z when the costto neighbors is known, c(u,?), and the

    cost from neighbors to z, d?(z) is known.

    u

    x

    w

    v z2

    13

    5

    3

    5

    The way u sees the network.

    Node that provides minimum distance (node x) is next

    hop in shortest path to z, forwarding table

  • 7/28/2019 Chapter4 Routing

    24/71

    Network Layer 4-24

    Distance Vector Algorithm

    Dx(y) = estimate of least cost from x to y

    Node x knows cost to each neighbor v:c(x,v)

    Node x maintains distance vector Dx =[Dx(y): y N ]

    Node x also maintains its neighbors

    distance vectors For each neighbor v, x maintains

    Dv = [Dv(y): y N ]

  • 7/28/2019 Chapter4 Routing

    25/71

    Network Layer 4-25

    Distance vector algorithm (4)

    Basic idea:

    Each node periodically sends its own distancevector estimate to neighbors

    When a node x receives new DV estimate fromneighbor, it updates its own DV using B-F equation:

    Dx(y) minv{c(x,v) + Dv(y)} for each node yN

    Under minor changes, natural conditions, theestimated Dx(y) converges to the actual least costdx(y)

  • 7/28/2019 Chapter4 Routing

    26/71

    Network Layer 4-26

    Distance Vector Algorithm (5)

    Iterative, asynchronous:each local iteration causedby:

    local link cost change

    DV update message from

    neighborDistributed: each node notifies

    neighbors onlywhen its DVchanges neighbors then notify

    their neighbors ifnecessary

    waitfor (change in local linkcost or msg from neighbor)

    recompute estimates

    if DV to any dest haschanged, notifyneighbors

    Each node:

    D ( ) i { ( )

  • 7/28/2019 Chapter4 Routing

    27/71

    Network Layer 4-27

    x y z

    xyz

    0 2 7

    from

    cost to

    from

    from

    x y zx

    yz

    0 2 3

    from

    cost tox y z

    xyz

    0 2 3

    from

    cost to

    x y zx

    yz

    cost to

    x y zx

    yz

    0 2 7

    from

    cost to

    x y z

    xyz

    0 2 3

    from

    cost to

    x y z

    xyz

    0 2 3

    from

    cost tox y z

    xyz

    0 2 7

    from

    cost to

    x y z

    xyz

    7 1 0

    cost to

    2 0 1

    2 0 17 1 0

    2 0 17 1 0

    2 0 13 1 0

    2 0 13 1 0

    2 0 1

    3 1 0

    2 0 1

    3 1 0

    time

    x z12

    7

    y

    node x table

    node y table

    node z table

    Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}= min{2+0 , 7+1} = 2

    Dx(z) =min{c(x,y) +Dy(z), c(x,z) + Dz(z)}

    = min{2+1 , 7+0} = 3

    +

  • 7/28/2019 Chapter4 Routing

    28/71

    Network Layer 4-28

    Distance Vector: link cost changes

    Link cost changes: node detects local link cost change

    updates routing info, recalculatesdistance vector

    if DV changes, notify neighbors

    goodnews

    travelsfast

    x z

    14

    50

    y1

    At time t0, ydetects the link-cost change, updates its DV,and informs its neighbors.

    At time t1, zreceives the update from yand updates its table.It computes a new least cost to x and sends its neighbors its DV

    At time t2, yreceives zs update and updates its distance table.ys least costs do not change and hence y does notsend anymessage to z.

  • 7/28/2019 Chapter4 Routing

    29/71

    Network Layer 4-29

    Distance Vector: link cost changes

    Link cost changes: good news travels fast

    bad news travels slow -count to infinity problem!

    44 iterations before

    algorithm stabilizes: seetext

    Poisoned reverse: If Z routes through Y to

    get to X : Z tells Y its (Zs) distance

    to X is infinite (so Y wontroute to X via Z)

    will this completely solvecount to infinity problem?

    x z

    14

    50

    y60

    Y advertises X in 4 hops

    Z sends datagrams for X to YZ advertises "X in 5 hops".

    Y-X link cost goes to 60

    Y thinks Z can route in 5 hops,

    so Y advertises "X in 6", sends

    datagrams back to Z.Z sends datagrams back to Y,

    advertises "X in 7".

    Y sends datagrams back to Z,

    advertises "X in 8".

    ( l h )

  • 7/28/2019 Chapter4 Routing

    30/71

    Network Layer 4-30

    RIP (Distance-Vector Algorithm)

    A

    B

    CX

    M

    Y Z

    Router A Table

    Prefix Distance Port

    128.230. 2 X

    130.207. 6 N

    209.196. 7 X

    24.56. 9 X

    Router B Table

    Prefix Distance Port

    128.230. 2 X

    130.207. 6 X

    209.196. 5 M

    24.56. 11 X

    Router C Table

    Prefix Distance Port

    128.230. 2 X

    130.207. 4 X

    209.196. 7 X

    24.56. 11 P

    Construct the Routing Table for Router X. Use "L" for the port to the local LAN.

    Using Poison Reverse*, construct the Updates sent from Router X to A, B, and C. (infinity -> 15).

    Update X to A Table

    Prefix Distance

    128.230. 1

    130.207. 5

    209.196. 6

    24.56. 15

    Update X to B Table

    Prefix Distance

    128.230. 1

    130.207. 5

    209.196. 15

    24.56. 10

    Update X to C Table

    Prefix Distance

    128.230. 1

    130.207. 15

    209.196. 6

    24.56. 10

    128.230.0.0/16

    Router X Table

    Prefix Distance Port

    128.230. 1 L

    130.207. 5 C

    209.196. 6 B

    24.56. 10 A

    111

    0

    Router X Calculation

    Prefix Distance - A Distance - B Distance - C Min + 1 Closest Rtr

    128.23 1 1 1 0* *Local

    130.207. 6 6 4 5 C

    209.196 7 5 7 6 B

    24.96. 9 11 11 10 A

    000

    *For "Poison Reverse" a distance of 15 is sent to destination router

    This is the format for a quiz question.

  • 7/28/2019 Chapter4 Routing

    31/71

    Network Layer 4-31

    Comparison of LS (OSPF) and DV (RIP) algorithmsLS = Link State, DV = Distance Vector)

    Message complexity LS: with n nodes, E links,

    O(nE) msgs sent

    DV: exchange betweenneighbors only

    convergence time varies

    Speed of Convergence LS: O(n2) algorithm requires

    O(nE) msgs

    may have oscillations DV: convergence time varies

    may be routing loops

    count-to-infinity problem

    Robustness: what happens ifrouter malfunctions?

    LS: node can advertise incorrect

    linkcost each node computes only its

    owntableDV:

    DV node can advertiseincorrectpathcost

    each nodes table used byothers

    errors propagate thru thenetwork

  • 7/28/2019 Chapter4 Routing

    32/71

    Network Layer 4-32

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 What

    s inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing

    ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP 4.7 Broadcast and

    multicast routing

  • 7/28/2019 Chapter4 Routing

    33/71

    Network Layer 4-33

    Hierarchical Routing

    scale: with 200 milliondestinations:

    cant store all dests in

    routing tables! routing table exchange

    would swamp links!

    administrative autonomy internet = network of

    networks

    each network admin maywant to control routing in itsown network

    Our routing study thus far - idealization all routers identical

    network flat

    nottrue in practice

  • 7/28/2019 Chapter4 Routing

    34/71

    Network Layer 4-34

    Hierarchical RoutingBGP - Border Gateway Protocol

    aggregate routers intoregions,autonomoussystems (AS)

    routers in same AS runsame routing protocol [no,

    hierarchical architecturesare possible]

    intra-AS routingprotocol

    routers in different AS

    can run different intra-AS routing protocol

    Gateway router

    Direct link to router inanother AS

  • 7/28/2019 Chapter4 Routing

    35/71

    Network Layer 4-35

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    Intra-AS

    Routing

    algorithm

    Inter-AS

    Routing

    algorithm

    Forwarding

    table

    3c

    Interconnected ASes

    Forwarding table isconfigured by bothintra- and inter-ASrouting algorithm

    Intra-AS sets entriesfor internal dests

    Inter-AS & Intra-Assets entries forexternal dests

  • 7/28/2019 Chapter4 Routing

    36/71

    Network Layer 4-36

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    3c

    Inter-AS tasks Suppose router in AS1

    receives datagram forwhich destination isoutside of AS1 Router should forward

    packet towards one of

    the gateway routers,but which one?

    AS1 needs:

    1. to learn which dests

    are reachable throughAS2 and whichthrough AS3

    2. to propagate this

    reachability info to allrouters in AS1

    Job of inter-AS routing!

  • 7/28/2019 Chapter4 Routing

    37/71

    Network Layer 4-37

    Example: Setting forwarding table in router 1d

    Suppose AS1 learns (via inter-AS protocol) that subnetxis reachable via AS3 (gateway 1c) but not via AS2.

    Inter-AS protocol propagates reachability info to allinternal routers.

    Router 1d determines from intra-AS routing info thatits interface I is on the least cost path to 1c.

    Puts in forwarding table entry (x,I).

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    3c

    X

  • 7/28/2019 Chapter4 Routing

    38/71

    Network Layer 4-38

    Example: Choosing among multiple ASes

    Now suppose AS1 learns from the inter-AS protocolthat subnet xis reachable from AS3 andfrom AS2.

    To configure forwarding table, router 1d mustdetermine towards which gateway it should forwardpackets for dest x.

    This is also the job on inter-AS routing protocol!

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c 2b

    1b

    3c

    X

  • 7/28/2019 Chapter4 Routing

    39/71

    Network Layer 4-39

    Learn from inter-ASprotocol that subnet

    x is reachable via

    multiple gateways

    Use routing info

    from intra-ASprotocol to determine

    costs of least-cost

    paths to each

    of the gateways

    Hot potato routing:Choose the gateway

    that has the

    smallest least cost

    Determine from

    forwarding table theinterface I that leads

    to least-cost gateway.

    Enter (x,I) in

    forwarding table

    Example: Choosing among multiple ASes

    Now suppose AS1 learns from the inter-AS protocolthat subnet xis reachable from AS3 andfrom AS2.

    To configure forwarding table, router 1d mustdetermine towards which gateway it should forwardpackets for dest x.

    This is also the job on inter-AS routing protocol! Hot potato routing: send packet towards closest oftwo routers.

  • 7/28/2019 Chapter4 Routing

    40/71

    Network Layer 4-40

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 Whats inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing

    ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP 4.7 Broadcast and

    multicast routing

  • 7/28/2019 Chapter4 Routing

    41/71

    Network Layer 4-41

    Intra-AS Routing

    Also known as Interior Gateway Protocols (IGP)

    Most common Intra-AS routing protocols:

    RIP: Routing Information Protocol

    OSPF: Open Shortest Path First

    IGRP: Interior Gateway Routing Protocol (Ciscoproprietary)

  • 7/28/2019 Chapter4 Routing

    42/71

    Network Layer 4-42

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 Whats inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing

    ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP (Distance Vector)

    OSPF (Link State)

    BGP (Hierarchical) 4.7 Broadcast and

    multicast routing

  • 7/28/2019 Chapter4 Routing

    43/71

    Network Layer 4-43

    RIP ( Routing Information Protocol)

    Distance vector algorithm

    Included in BSD-UNIX Distribution in 1982

    Distance metric: # of hops (max = 15 hops)

    DC

    BA

    u v

    w

    x

    yz

    destination hopsu 1v 2

    w 2x 3y 3z 2

    From router A to subsets:

  • 7/28/2019 Chapter4 Routing

    44/71

    Network Layer 4-44

    RIP advertisements

    Distance vectors*: exchanged amongneighbors every 30 sec via ResponseMessage (also called advertisement)

    Each advertisement: list of up to 25destination nets within AS

    * List of all subnets and their "distance" (cost: delay, hops, ).

  • 7/28/2019 Chapter4 Routing

    45/71

    Network Layer 4-45

    RIP: Example

    Destination Network Next Router Num. of hops to dest.

    w A 2y B 2

    z B 7x -- 1. . ....

    w x yz

    A

    C

    D B

    Routing table in D

    E l

  • 7/28/2019 Chapter4 Routing

    46/71

    Network Layer 4-46

    RIP: Example

    Destination Network Next Router Num. of hops to dest.

    w A 2y B 2z B A 7 5x -- 1. . ....

    Routing table in D

    w x y

    z

    A

    C

    D B

    Dest Next hopsw - 1

    x - 1z C 4. ...

    Advertisement

    from A to D

  • 7/28/2019 Chapter4 Routing

    47/71

    Network Layer 4-47

    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 (iftables changed)

    link failure info quickly (?) propagates to entire net

    poison reverse used to prevent ping-pong loops

    (infinite distance = 15 hops)

  • 7/28/2019 Chapter4 Routing

    48/71

    Network Layer 4-48

    RIP Table processing

    RIP routing tables managed by application-levelprocess called route-d (daemon)

    advertisements sent in UDP packets, periodicallyrepeated

    physical

    link

    network forwarding(IP) table

    Transprt(UDP)

    routed

    physical

    link

    network(IP)

    Transprt(UDP)

    routed

    forwardingtable

  • 7/28/2019 Chapter4 Routing

    49/71

    Network Layer 4-49

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 Whats inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP 4.7 Broadcast and

    multicast routing

  • 7/28/2019 Chapter4 Routing

    50/71

    Network Layer 4-50

    OSPF (Open Shortest Path First)

    open: publicly available

    Uses Link State algorithm Link State packet dissemination

    Topology map at each node

    Route computation using Dijkstras algorithm

    OSPF advertisement carries one entry per neighborrouter

    Advertisements disseminated to entire AS (viaflooding) [exception Hierarchical Routing] Carried in OSPF messages directly over IP (rather than TCP

    or UDP

  • 7/28/2019 Chapter4 Routing

    51/71

    Network Layer 4-51

    OSPF advanced features (not in RIP)

    Security: all OSPF messages authenticated (toprevent malicious intrusion)

    Multiple same-cost paths allowed (only one path inRIP)

    For each link, multiple cost metrics for differentTOS (e.g., satellite link cost set low for besteffort; high for real time)

    Integrated uni- and multicast support:

    Multicast OSPF (MOSPF) uses same topology database as OSPF

    Hierarchical OSPF in large domains.

  • 7/28/2019 Chapter4 Routing

    52/71

    Network Layer 4-52

    Hierarchical OSPF

    Boundary routers canaggregate internalroutes.

  • 7/28/2019 Chapter4 Routing

    53/71

    Network Layer 4-53

    Hierarchical OSPF

    Two-level hierarchy: local area, backbone. Link-state advertisements only in area

    each nodes has detailed area topology; only knowdirection (shortest path) to nets in other areas.

    Area border routers:summarize distances tonets in own area, advertise to other Area Borderrouters.

    Backbone routers: run OSPF routing limited to

    backbone. Boundary routers: connect to other ASs.

  • 7/28/2019 Chapter4 Routing

    54/71

    Network Layer 4-54

    Chapter 4: Network Layer

    4. 1 Introduction

    4.2 Virtual circuit anddatagram networks

    4.3 Whats inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP 4.7 Broadcast and

    multicast routing

  • 7/28/2019 Chapter4 Routing

    55/71

    Network Layer 4-55

    Internet inter-AS routing: BGP

    BGP (Border Gateway Protocol):thedefacto standard

    BGP provides each AS a means to:1. Obtain subnet reachability information from

    neighboring ASs.2. Propagate reachability information to all AS-

    internal routers.3. Determine good routes to subnets based on

    reachability information and policy. allows subnet to advertise its existence to

    rest of Internet: I am here

    BGP b i

  • 7/28/2019 Chapter4 Routing

    56/71

    Network Layer 4-56

    BGP basics Pairs of routers (BGP peers) exchange routing info

    over semi-permanent TCP connections: BGP sessions BGP sessions need not correspond to physical links.

    When AS2 advertises a prefix to AS1, AS2 ispromisingit will forward any datagrams destined tothat prefix towards the prefix. AS2 can aggregate prefixes in its advertisement

    3b

    1d

    3a

    1c

    2aAS3

    AS1

    AS21a

    2c

    2b

    1b

    3c

    eBGP session

    iBGP session

    Dist ib ti h bilit i f

  • 7/28/2019 Chapter4 Routing

    57/71

    Network Layer 4-57

    Distributing reachability info With eBGP session between 3a and 1c, AS3 sends prefix

    reachability info to AS1. 1c can then use iBGP do distribute this new prefix reach info

    to all routers in AS1 1b can then re-advertise new reachability info to AS2 over

    1b-to-2a eBGP session When router learns of new prefix, creates entry for prefix

    in its forwarding table.

    3b

    1d

    3a

    1c

    2a

    AS3

    AS1

    AS21a

    2c

    2b

    1b

    3c

    eBGP session

    iBGP session

  • 7/28/2019 Chapter4 Routing

    58/71

    Network Layer 4-58

    Path attributes & BGP routes

    When advertising a prefix, advert includes BGPattributes. prefix + attributes = route

    Two important attributes: AS-PATH: contains ASs through which prefix advertisement

    has passed: AS 67 AS 17

    NEXT-HOP: Indicates specific internal-AS router to next-hop AS. (There may be multiple links from current AS tonext-hop-AS.)

    When gateway router receives route advertisement,uses import policy to accept/decline.

  • 7/28/2019 Chapter4 Routing

    59/71

    Network Layer 4-59

    BGP route selection

    Router may learn about more than 1 routeto some prefix. Router must select route.

    Elimination rules:

    1. Local preference value attribute: policydecision

    2. Shortest AS-PATH

    3. Closest NEXT-HOP router: hot potato routing

    4. Additional criteria

  • 7/28/2019 Chapter4 Routing

    60/71

    Network Layer 4-60

    BGP messages

    BGP messages exchanged using TCP. BGP messages:

    OPEN: opens TCP connection to peer andauthenticates sender

    UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of

    UPDATES; also ACKs OPEN request

    NOTIFICATION: reports errors in previous msg;also used to close connection

  • 7/28/2019 Chapter4 Routing

    61/71

    Network Layer 4-61

    BGP routing policy

    A,B,C are provider networks

    X,W,Y are customer (of provider networks)

    X is dual-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

  • 7/28/2019 Chapter4 Routing

    62/71

    Network Layer 4-62

    BGP routing policy (2)

    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 neitherW nor C are Bs customers

    B wants to force C to route to w via A

    B wants to route onlyto/from its customers!

  • 7/28/2019 Chapter4 Routing

    63/71

    Network Layer 4-63

    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

  • 7/28/2019 Chapter4 Routing

    64/71

    4-64

    Area: Lab, Home Intra-AS (Ga.Tech)

    Inter-AS

    Routing Type: Distance Vector Link State Manual + Others

    Example Protocol: RIP OSPF, IGMP BGP

    RoutingAlgorithm

    Bellman-Ford, wPoison Reverse

    Dijkstra Mixed

    Cost Unit: Links Delay Dollars, Policy,Rules

    Messaging: UDP/IP unicast OSPF/IPbroadcast (flood)

    TCP/IP unicast

    Adjust tocongestion:

    No Yes Some places

    Maximum Path: path:

  • 7/28/2019 Chapter4 Routing

    65/71

    Network Layer 4-65

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside arouter

    4.4 IP: InternetProtocol Datagram format

    IPv4 addressing ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP 4.7 Broadcast and

    multicast routing

    Broadcast Routing

  • 7/28/2019 Chapter4 Routing

    66/71

    Network Layer 4-66

    R1

    R2

    R3 R4

    source

    duplication

    R1

    R2

    R3 R4

    in-network

    duplication

    duplicate

    creation/transmissionduplicate

    duplicate

    Broadcast Routing

    Deliver packets from source to all other nodes

    Source duplication is inefficient:

    Source duplication: how does sourcedetermine recipient addresses?

  • 7/28/2019 Chapter4 Routing

    67/71

    Network Layer 4-67

    In-network duplication

    Flooding: when node receives brdcst pckt,sends copy to all neighbors Problems: cycles & broadcast storm

    Controlled flooding: node only broadcasts pkt

    if it hasnt broadcast the same packet beforeNode keeps track of pckt ids already brdcsted

    Or reverse path forwarding (RPF): only forwardpckt if it arrived on shortest path between node

    and sourceSpanning tree

    No redundant packets received by any node

  • 7/28/2019 Chapter4 Routing

    68/71

    Network Layer 4-68

    A

    B

    G

    D

    E

    c

    F

    A

    B

    G

    D

    E

    c

    F

    (a) Broadcast initiated at A (b) Broadcast initiated at D

    Spanning Tree

    First construct a spanning treeNodes forward copies only along spanning

    tree

  • 7/28/2019 Chapter4 Routing

    69/71

    Multicast Routing: Problem Statement

    Goal:find a tree (or trees) connectingrouters having local multicast group members

    tree:not all paths between routers used

    source-based:different tree from each sender to rcvrs

    shared-tree:same tree used by all group members

    Shared tree Source-based trees

    mc:/Users/copeland root# netstat -r -a -l -n #MacOS 10.4

    R ti t bl

  • 7/28/2019 Chapter4 Routing

    70/71

    Network Layer 4-70

    Routing tables

    Internet:

    Destination Gateway Flags Refs Use Mtu Netif

    default (0/0) 199.77.146.1 UGSc 6 6716 1500 en0

    17.112.152.32 199.77.146.1 UGHW3 0 6683 1500 en0

    127 (local) 127.0.0.1 UCS 0 0 16384 lo0

    127.0.0.1 127.0.0.1 UH 10 21599 16384 lo0

    130.207.230.13 199.77.146.1 UGHW3 0 6746 1500 en0

    130.207.244.240 199.77.146.1 UGHW 1 52 1500 en0

    130.207.244.244 199.77.146.1 UGHW 1 1041 1500 en0

    169.254 link#4 UCS 0 0 1500 en0

    199.77.146/25 link#4 UCS 1 0 1500 en0199.77.146.1 0:11:bc:f4:14:0 UHLW 6 0 1500 en0

    199.77.146.101 127.0.0.1 UHS 2 397306 16384 lo0

    224.0.0.251 199.77.146.1 UGHW 1 270 1500 en0

    127. /8 local Local links for inter-process communication

    169.254 /16 blackhole Not allocated (see RFC 3330, used when no IP)

    224.0.0..0/4 (1110xxxx.X.X.X) is multicast or anycast

    en0 is Ethernet, lo0 is local OS port (loopback).

    Flags: U=usable, G=gateway, H=host, W=setup by process, S=static

    Multicast and Anycast, 224.0.0.0 - 239.255.255.255

  • 7/28/2019 Chapter4 Routing

    71/71

    mc:/Users/copeland root# tcpdump -nvli en0 'ip[16]==224'tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 96 bytes

    08:04:06 IP (tos 0xc0,ttl 1, id 31543, off 0, len:116)199.77.146.1 > 224.0.0.5:

    OSPFv2, Hello (1), len:80 [len 44]

    08:04:09 IP (tos 0xc0,ttl 1, id 31568, off 0, len:54) 199.77.146.1 >

    224.0.0.13:pim v2 Hello (Hold-time 1m45s (Genid: 0xdf5b6033)(DR-Priority: 1)(State

    Refresh Capable;v1)

    08:04:15 IP (tos 0xc0,ttl 1, id 31584, off 0, len:28) 199.77.146.1 > 224.0.0.1:

    igmp query v208:04:16 IP (tos 0xc0,ttl 1, id 31610, off 0, len:116)199.77.146.1 > 224.0.0.5:

    OSPFv2, Hello (1), len:80 [len 44]

    08:04:19 IP (tos 0x0, ttl 1, id 32954, off 0, len:28) 199.77.146.99> 224.0.1.60:

    igmp v1 report 224.0.1.6008:04:23 IP (tos 0x0, ttl 1, id 2665, off 0, len:32, opt:4 199.77.146.101 > 224.0.0.251:

    igmp v2 report 224.0.0.251

    08:04:26 IP (tos 0xc0,ttl 1, id 31680, off 0, len:116)199.77.146.1 > 224.0.0.5:

    OSPFv2, Hello (1), len:80 [len 44]

    08:04:39 IP (tos 0xc0,ttl 1, id 31814, off 0, len:54) 199.77.146.1 > 224.0.0.13:

    pim v2 Hello (Hold-time 1m45s) (Genid: 0xdf5b6033)(DR-Priority: 1)(State Refresh

    Capable;v1)

    08:04:56 IP (tos 0xc0,ttl 1, id 31988, off 0, len:116)199.77.146.1 > 224.0.0.5:

    OSPFv2, Hello (1), len:80 [len 44]

    08:05:15 IP (tos 0xc0,ttl 1, id 35789, off 0, len:28) 199.77.146.1 > 224.0.0.1:

    igmp query v2

    igmp and pim are multicast protocols.

    OSPF routing uses "anycast"

    All 3 use "ttl 1" only reaches neighbors


Recommended