Routing and ForWording

  • Upload
    raj

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Routing and ForWording

    1/24

    Forwarding 1

    Instructor: Carey WilliamsonOffice: ICT 740

    Email: [email protected]

    Class Location: MFH 164Lectures: TR 8:00 9:15

    Notes derived from Computer Networking: A TopDown Approach Featuring the Internet, 2005, 3rd

    edition, Jim Kurose, Keith Ross, Addison-Wesley.Slides are adapted from the companion web site of the book,

    as modified by Anirban Mahanti (and Carey Williamson).

    Network Layer: Routing & Forwarding

    mailto:[email protected]?subject=CPSC%20441mailto:[email protected]?subject=CPSC%20441mailto:[email protected]?subject=CPSC%20441
  • 8/14/2019 Routing and ForWording

    2/24

  • 8/14/2019 Routing and ForWording

    3/24

    Forwarding 3

    1

    23

    0111

    value in arriving

    packets header

    routing algorithm

    local forwarding table

    header value output link

    0100

    0101

    01111001

    3

    2

    21

    Interplay between routing and forwarding

  • 8/14/2019 Routing and ForWording

    4/24

    Forwarding 4

    VC Networks: Connection setup

    3rd important function in somenetworkarchitectures:r ATM, frame relay, X.25

    Before datagrams flow, two hosts andintervening routers establish virtualconnectionr Routers get involved

    Network and transport layer cnctn service:r Network: between two hostsr Transport: between two processes

  • 8/14/2019 Routing and ForWording

    5/24

    Forwarding 5

    Network service model

    Q: What service modelfor channel transportingdatagrams from sender to rcvr?

    Example services for

    individual datagrams: guaranteed delivery Guaranteed delivery

    with less than 40 msec

    delay

    Example services for a

    flow of datagrams: In-order datagramdelivery

    Guaranteed minimum

    bandwidth to flow Restrictions on

    changes in inter-packet spacing

  • 8/14/2019 Routing and ForWording

    6/24

    Forwarding 6

    Network layer service models:

    Network

    Architecture

    Internet

    ATM

    ATM

    ATM

    ATM

    Service

    Model

    best effort

    CBR

    VBR

    ABR

    UBR

    Bandwidth

    none

    constantrate

    guaranteed

    rate

    guaranteed

    minimumnone

    Loss

    no

    yes

    yes

    no

    no

    Order

    no

    yes

    yes

    yes

    yes

    Timing

    no

    yes

    yes

    no

    no

    Congestion

    feedback

    no (inferred

    via loss

    )

    nocongestion

    no

    congestion

    yes

    no

    Guarantees ?

  • 8/14/2019 Routing and ForWording

    7/24

    Forwarding 7

    Network layer connection andconnection-less service

    Datagram network provides network-layerconnectionless service

    VC network provides network-layer

    connection service Analogous to the transport-layer services,

    but:r

    Service: host-to-hostr No choice: network provides one or the otherr Implementation: in the core

  • 8/14/2019 Routing and ForWording

    8/24

    Forwarding 8

    Virtual circuits

    call setup, teardown for each call beforedata can flow each packet carries VC identifier (not destination host

    address)

    everyrouter on source-dest path maintains state foreach passing connection link, router resources (bandwidth, buffers) may be

    allocatedto VC

    source-to-dest path behaves much like telephonecircuitr performance-wiser network actions along source-to-dest path

  • 8/14/2019 Routing and ForWording

    9/24

    Forwarding 9

    VC implementation

    A VC consists of:1. Path from source to destination

    2. VC numbers, one number for each link along

    path3. Entries in forwarding tables in routers along

    path

    Packet belonging to VC carries a VC

    number. VC number must be changed on each link.

    r New VC number comes from forwarding table

  • 8/14/2019 Routing and ForWording

    10/24

    Forwarding 10

    Forwarding table

    12

    22 32

    12

    3

    VC number

    interfacenumber

    Incoming interface Incoming VC # Outgoing interface Outgoing VC #

    1 12 2 222 63 1 183 7 2 17

    1 97 3 87

    Forwarding table inNorthwest router:

    Routers maintain connection state information!

  • 8/14/2019 Routing and ForWording

    11/24

    Forwarding 11

    Virtual circuits: signaling protocols

    used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in todays Internet

    applicationtransportnetworkdata linkphysical

    applicationtransport

    networkdata linkphysical

    1. Initiate call 2. incoming call

    3. Accept call4. Call connected5. Data flow begins 6. Receive data

  • 8/14/2019 Routing and ForWording

    12/24

    Forwarding 12

    Datagram networks no call setup at network layer

    routers: no state about end-to-end connectionsr no network-level concept of connection

    packets forwarded using destination host addressr packets between same source-dest pair may take

    different paths

    applicationtransportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    1. Send data 2. Receive data

  • 8/14/2019 Routing and ForWording

    13/24

    Forwarding 13

    Datagram or VC network: why?

    Internet data exchange among

    computersr elastic service, no strict

    timing req. smart end systems

    (computers)r can adapt, perform

    control, error recovery

    r simple inside network,complexity at edge

    many link typesr different characteristicsr uniform service difficult

    ATM evolved from telephony human conversation:

    r strict timing, reliability

    requirementsr need for guaranteed

    service dumb end systems

    r telephonesr complexity inside

    network

  • 8/14/2019 Routing and ForWording

    14/24

    Forwarding 14

    Inside a Router

  • 8/14/2019 Routing and ForWording

    15/24

    Forwarding 15

    Router Architecture Overview

    Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwardingdatagrams from incoming to outgoing link

  • 8/14/2019 Routing and ForWording

    16/24

    Forwarding 16

    Input Port Functions

    Decentralized switching: given datagram dest., lookup output port

    using forwarding table in input port

    memory (caching of entries?) goal: complete input port processing at

    line speed queuing: if datagrams arrive faster than

    forwarding rate into switch fabric

    Physical layer:bit-level reception

    Data link layer:e.g., Ethernet

  • 8/14/2019 Routing and ForWording

    17/24

    Forwarding 17

    Three types of switching fabrics

  • 8/14/2019 Routing and ForWording

    18/24

    Forwarding 18

    Switching Via Memory

    First generation routers: traditional computers with switching under directcontrol of CPUpacket copied to systems memory speed limited by memory bandwidth (2 buscrossings per datagram)

    Input

    Port

    Output

    Port

    Memory

    System Bus

  • 8/14/2019 Routing and ForWording

    19/24

    Forwarding 19

    Switching Via a Bus

    datagram from input port memory

    to output port memory via a sharedbus

    bus contention: switching speedlimited by bus bandwidth

    1 Gbps bus, Cisco 1900: sufficientspeed for access and enterpriserouters (not regional or backbone)

  • 8/14/2019 Routing and ForWording

    20/24

    Forwarding 20

    Switching Via An InterconnectionNetwork

    overcome bus bandwidth limitations Banyan networks, other interconnection nets

    initially developed to connect processors inmultiprocessor Advanced design: fragmenting datagram into fixed

    length cells, switch cells through the fabric.

    Cisco 12000: switches Gbps through theinterconnection network

  • 8/14/2019 Routing and ForWording

    21/24

    Forwarding 21

    Output Ports

    Bufferingrequired when datagrams arrive from

    fabric faster than the transmission rater Need Queue Management Policy (Drop-Tail, AQM)r Also need Packet Scheduling Policy (FCFS, WFQ)

  • 8/14/2019 Routing and ForWording

    22/24

    Forwarding 22

    Output port queueing

    buffering when arrival rate via switch exceedsoutput line speed

    queueing (delay) and loss due to output portbuffer overflow!

  • 8/14/2019 Routing and ForWording

    23/24

    Forwarding 23

    Input Port Queuing?

    Fabric slower than input ports combined -> queueingmay occur at input queues

    Head-of-the-Line (HOL) blocking: queued datagramat front of queue prevents others in queue frommoving forward (even though o/p port is free for the

    other datagram)

  • 8/14/2019 Routing and ForWording

    24/24

    Forwarding 24

    Next Topic

    Routing Algorithms Routing in the Internet Readings: Chapter 4 in the K&R book