4 NetworkLayer PartI

Embed Size (px)

Citation preview

  • 8/12/2019 4 NetworkLayer PartI

    1/42

    CSC 450/550

    Part 4: Network LayerPart A: Algorithms

  • 8/12/2019 4 NetworkLayer PartI

    2/42

    CSC 450/550

    Summary

    1) The Problem

    2) The Dijkstras Shortest Path Algorithm

    3) Distance Vector Routing

    4) Link State Routing5) Hierarchical Routing

    6) Routing in Ad Hoc Networks

  • 8/12/2019 4 NetworkLayer PartI

    3/42

    CSC 450/550

    1. The Problem (1)

    Store-and-Forward Packet SwitchingServices Provided to the Transport Layer

    Connectionless Service

    Connection-Oriented Service

  • 8/12/2019 4 NetworkLayer PartI

    4/42

    CSC 450/550

    1. The Problem (2): Packet Switching

    The environment of the network layer protocols.

    fig 5-1

  • 8/12/2019 4 NetworkLayer PartI

    5/42

    CSC 450/550

    1. The Problem (3): Connectionless Service

    Routing within a diagram subnet.

  • 8/12/2019 4 NetworkLayer PartI

    6/42

    CSC 450/550

    1. The Problem (4): Connection-Oriented

    Service

    Routing within a virtual-circuit subnet.

  • 8/12/2019 4 NetworkLayer PartI

    7/42

    CSC 450/550

    1. The Problem (5): Connectionless VS.

    Connection-Oriented

  • 8/12/2019 4 NetworkLayer PartI

    8/42

    CSC 450/550

    2 Shortest Path Algorithm

    The first 5 steps used in computing the shortest path from A to D.

    The arrows indicate the working node.

  • 8/12/2019 4 NetworkLayer PartI

    9/42

    CSC 450/550

    3 Distance Vector Routing (1)

    (a)A subnet. (b)Input from A, I, H, K, and the new

    routing table for J.

  • 8/12/2019 4 NetworkLayer PartI

    10/42

    CSC 450/550

    3 Distance Vector Routing (2)

    The count-to-infinity problem.

  • 8/12/2019 4 NetworkLayer PartI

    11/42

    CSC 450/550

    3 Distance Vector Routing (3): Loop-BreakingHeuristics

    Set infinity to a limited number, e.g. 16.

    Split horizon

    Split horizon with poison reverse

  • 8/12/2019 4 NetworkLayer PartI

    12/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    Initialization

    3 Example:

  • 8/12/2019 4 NetworkLayer PartI

    13/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    Direct

    Neighbours

  • 8/12/2019 4 NetworkLayer PartI

    14/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    3

    3

    11

    3

    3

    11

    Neighboursof neighbours

  • 8/12/2019 4 NetworkLayer PartI

    15/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    3

    3

    11

    3

    3

    11

    13

    13

    13

    13

    Neighbours

    of neighbours

    of neighbours

  • 8/12/2019 4 NetworkLayer PartI

    16/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    3

    3

    11

    3

    3

    11

    13

    13

    13

    13

    Stableconvergence

  • 8/12/2019 4 NetworkLayer PartI

    17/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    3

    3

    11

    3

    3

    11

    13

    13

    13

    13

    1

    Good news:

    A new link!

  • 8/12/2019 4 NetworkLayer PartI

    18/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    10

    2

    2

    2

    2

    2

    2

    1

    3

    3

    11

    3

    3

    11

    1

    13

    1

    13

    1

    Directendpoints

    know

  • 8/12/2019 4 NetworkLayer PartI

    19/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    10

    1

    4

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    1

    3

    1

    3

    1

    Neighboursknow

  • 8/12/2019 4 NetworkLayer PartI

    20/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    4

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    1

    3

    1

    3

    1

    Neighbours

    of neighbours

    know

  • 8/12/2019 4 NetworkLayer PartI

    21/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    4

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    1

    3

    1

    3

    1

    A happy andstable network

  • 8/12/2019 4 NetworkLayer PartI

    22/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    4

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    1

    3

    1

    3

    Bad news:

    Link crash!!

  • 8/12/2019 4 NetworkLayer PartI

    23/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    Direct

    endpoints

    know

  • 8/12/2019 4 NetworkLayer PartI

    24/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    10

  • 8/12/2019 4 NetworkLayer PartI

    25/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    3

    3

    10

    51311

    13

    Get help

    fromneighbours

  • 8/12/2019 4 NetworkLayer PartI

    26/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    00

    0

    0

    4

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    7

    7

    10

    51311

    13

    Routing loop

    (due toinconsistent

    state info)

  • 8/12/2019 4 NetworkLayer PartI

    27/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    0

    0

    0

    0

    8

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    7

    7

    10

    91311

    13

  • 8/12/2019 4 NetworkLayer PartI

    28/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    0

    0

    0

    0

    8

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    11

    11

    10

    91311

    13

    Countingto infinity

  • 8/12/2019 4 NetworkLayer PartI

    29/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    0

    0

    0

    0

    10

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    11

    11

    10

    131311

    13

  • 8/12/2019 4 NetworkLayer PartI

    30/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    0

    0

    0

    0

    10

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    11

    13

    10

    131311

    13

  • 8/12/2019 4 NetworkLayer PartI

    31/42

    CSC 450/550

    1

    10 2

    2

    2

    A

    B C

    E

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    A

    C

    E

    B

    D

    0

    0

    0

    0

    0

    10

    1

    2

    2

    2

    2

    2

    2

    1

    3

    3

    3

    3

    11

    13

    10

    131311

    13

    Stabilityagain

  • 8/12/2019 4 NetworkLayer PartI

    32/42

    CSC 450/550

    4 Link State Routing (1)

    Each router must do the following:

    Discover its neighbors, learn their network address.

    Measure the delay or cost to each of its neighbors.

    Construct a packet telling all it has just learned.

    Send this packet to all other routers.

    Compute the shortest path to every other router.

    4 Li k St t R ti (2) L i b t

  • 8/12/2019 4 NetworkLayer PartI

    33/42

    CSC 450/550

    4 Link State Routing (2): Learning about

    the Neighbors

    (a) Nine routers and a LAN.

    (b) A graph model of (a).

    4 Li k St t R ti (3) M i Li

  • 8/12/2019 4 NetworkLayer PartI

    34/42

    CSC 450/550

    4 Link State Routing (3): Measuring Line

    Cost

    A subnet in which the East and West parts are connected by two

    lines.

    4 Li k St t R ti (4) B ildi Li k

  • 8/12/2019 4 NetworkLayer PartI

    35/42

    CSC 450/550

    4 Link State Routing (4): Building Link

    State Packets

    (a) A subnet. (b) The link state packets for this subnet.

    4 Li k St t R ti (5) Di t ib ti th

  • 8/12/2019 4 NetworkLayer PartI

    36/42

    CSC 450/550

    4 Link State Routing (5): Distributing the

    Link State Packets

    The packet buffer for router B in the previous slide (Fig. 5-13).

  • 8/12/2019 4 NetworkLayer PartI

    37/42

    CSC 450/550

    5 Hierarchical Routing

    Hierarchical routing.

  • 8/12/2019 4 NetworkLayer PartI

    38/42

    CSC 450/550

    6. Routing in Ad Hoc Networks (1)

    Possibilities when the routers are mobile:

    Military vehicles on battlefield.

    No infrastructure.

    A fleet of ships at sea. All moving all the time

    Emergency works at earthquake .

    The infrastructure destroyed.

    A gathering of people with notebook computers. In an area lacking 802.11.

    6 Ro ting in Ad Hoc Net orks (2): Ro te

  • 8/12/2019 4 NetworkLayer PartI

    39/42

    CSC 450/550

    6. Routing in Ad Hoc Networks (2): Route

    Discovery

    (a)Range of A's broadcast.

    (b)After B and D have received A's broadcast.

    (c)After C, F, and G have received A's broadcast.

    (d)After E, H, and I have received A's broadcast.

    Shaded nodes are new recipients. Arrows show possible reverse routes.

    6 Routing in Ad Hoc Networks (3): Route

  • 8/12/2019 4 NetworkLayer PartI

    40/42

    CSC 450/550

    6. Routing in Ad Hoc Networks (3): Route

    Discovery

    Format of a ROUTE REQUEST packet.

    6 Routing in Ad Hoc Networks (4): Route

  • 8/12/2019 4 NetworkLayer PartI

    41/42

    CSC 450/550

    6. Routing in Ad Hoc Networks (4): Route

    Discovery

    Format of a ROUTE REPLY packet.

    6 Routing in Ad Hoc Networks (5): Route

  • 8/12/2019 4 NetworkLayer PartI

    42/42

    6. Routing in Ad Hoc Networks (5): Route

    Maintenance

    (a)D's routing table before G goes down.

    (b)The graph after G has gone down.