chapter4 5th april 2014 final2014

Upload: stevan-adjie

Post on 02-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    1/155

    Network Layer 4-1

    Chapter 4

    Network Layer

    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-2009

    J.F Kurose and K.W. Ross, All Rights Reserved

    Computer Networking:A Top Down Approach5thedition.Jim Kurose, Keith RossAddison-Wesley, April2009.

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    2/155

    Network Layer 4-2

    Chapter 4: Network Layer

    Chapter goals: understand principles behind network layer

    services:

    network layer service models forwarding versus routing how a router works routing (path selection)

    dealing with scale advanced topics: IPv6, mobility

    instantiation, implementation in the Internet

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    3/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    4/155

    Network Layer 4-4

    Network layer

    transport segment from

    sending to receiving host on sending side

    encapsulates segmentsinto datagrams

    on rcving side, deliversdatagrams to transportlayer

    network layer protocols

    in everyhost, router router examines header

    fields in all IP datagramspassing through it

    applicationtransport

    networkdata linkphysical

    applicationtransportnetwork

    data linkphysical

    networkdata linkphysical network

    data linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    network

    data linkphysical

    networkdata link

    physicalnetworkdata linkphysical

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    5/155

    Network Layer 4-5

    Two Key Network-Layer Functions

    forwarding:movepackets from routersinput to appropriate

    router output

    routing:determineroute taken by

    packets from sourceto dest.

    routing algorithms

    analogy:

    routing:process of

    planning trip fromsource to dest

    forwarding:process

    of getting throughsingle interchange

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    6/155

    Network Layer 4-6

    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/11/2019 Chapter4 5th April 2014 FINAL2014

    7/155

    Network Layer 4-7

    Connection setup

    3rdimportant function in somenetwork architectures:

    ATM, frame relay, X.25

    before datagrams flow, two end hosts andintervening

    routers establish virtual connection routers get involved

    network vs transport layer connection service:

    network:between two hosts (may also involve

    intervening routers in case of VCs) transport:between two processes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    8/155

    Network Layer 4-8

    Network service model

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

    Example services for

    individual datagrams: guaranteed delivery

    guaranteed deliverywith less than 40 msec

    delay

    Example services for aflow of datagrams:

    in-order datagramdelivery

    guaranteed minimumbandwidth to flow

    restrictions onchanges in inter-packet spacing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    9/155

    Network Layer 4-9

    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/11/2019 Chapter4 5th April 2014 FINAL2014

    10/155

    Network Layer 4-10

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    11/155

    Network Layer 4-11

    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: service: host-to-host

    no choice: network provides one or the other

    implementation: in network core

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    12/155

    Network Layer 4-12

    Virtual circuits

    call setup, teardown for each call beforedata can flow

    each packet carries VC identifier (not destination hostaddress)

    everyrouter on source-dest path maintains state foreach passing connection

    link, router resources (bandwidth, buffers) may beallocated to VC (dedicated resources = predictable service)

    source-to-dest path behaves much like telephonecircuit performance-wise

    network actions along source-to-dest path

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    13/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    14/155

    Network Layer 4-14

    Forwarding table

    12 22 32

    12

    3

    VC number

    interfacenumber

    Incoming interface Incoming VC # Outgoing interface Outgoing VC #

    1 12 3 222 63 1 183 7 2 17

    1 97 3 87

    Forwarding table innorthwest router:

    Routers maintain connection state information!

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    15/155

    Network Layer 4-15

    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 call3. Accept call4. Call connected

    5. Data flow begins 6. Receive data

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    16/155

    Network Layer 4-16

    Datagram networks

    no call setup at network layer

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

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

    different paths

    applicationtransportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    1. Send data 2. Receive data

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    17/155

    Network Layer 4-17

    Forwarding table

    Destination Address Range Link Interface

    11001000 00010111 00010000 00000000through 0

    11001000 00010111 00010111 11111111

    11001000 00010111 00011000 00000000through 1

    11001000 00010111 00011000 11111111

    11001000 00010111 00011001 00000000through 2

    11001000 00010111 00011111 11111111

    otherwise 3

    4 billionpossible entries

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    18/155

    Router?

    Network Layer 4-18

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    19/155

    Network Layer 4-19

    Longest prefix matching

    Prefix Match Link Interface11001000 00010111 00010 0

    11001000 00010111 00011000 111001000 00010111 00011 2

    otherwise 3

    DA: 11001000 00010111 00011000 10101010

    Examples

    DA: 11001000 00010111 00010110 10100001 Which interface?

    Which interface?

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    20/155

    Network Layer 4-20

    Datagram or VC network: why?

    Internet (datagram) data exchange among

    computers

    elastic service, no stricttiming req.

    smart end systems(computers)

    can adapt, performcontrol, error recovery

    simple inside network,complexity at edge

    many link types

    different characteristics

    uniform service difficult

    ATM (VC) evolved from telephony

    human conversation:

    strict timing, reliability

    requirements need for guaranteed

    service

    dumb end systems

    telephones

    complexity insidenetwork

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    21/155

    Network Layer 4-21

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    22/155

    Network Layer 4-22

    Router Architecture Overview

    Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP)

    forwarding datagrams from incoming to outgoing link

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    23/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    24/155

    Network Layer 4-24

    Three types of switching fabrics

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    25/155

    Network Layer 4-25

    Switching Via Memory

    First generation routers:

    traditional computers with switching under directcontrol of CPU

    packet copied to systems memory

    speed limited by memory bandwidth (2 buscrossings per datagram)

    Input

    Port

    Output

    Port

    Memory

    System Bus

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    26/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    27/155

    Network Layer 4-27

    Switching Via An InterconnectionNetwork

    overcome bus bandwidth limitations

    Banyan networks, other interconnection nets

    initially developed to connect processors inmultiprocessor

    advanced design: fragmenting datagram into fixedlength cells, switch cells through the fabric.

    Cisco 12000: switches 60 Gbps through theinterconnection network

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    28/155

    Network Layer 4-28

    Output Ports

    Bufferingrequired when datagrams arrive from

    fabric faster than the transmission rate Scheduling disciplinechooses among queued

    datagrams for transmission

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    29/155

    Network Layer 4-29

    Output port queueing

    buffering when arrival rate via switch exceedsoutput line speed

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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    30/155

    Network Layer 4-30

    How much buffering?

    RFC 3439 rule of thumb: average bufferingequal to typical RTT (say 250 msec) timeslink capacity C

    e.g., C = 10 Gps link: 2.5 Gbit buffer Recent recommendation: with Nflows,

    buffering equal to RTT C.N

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    31/155

    Network Layer 4-31

    Input Port Queuing

    Fabric slower than input ports combined -> queueing

    may occur at input queues Head-of-the-Line (HOL) blocking:queued datagram

    at front of queue prevents others in queue frommoving forward

    queueing delay and loss due to input buffer overflow!

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    32/155

    Network Layer 4-32

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    33/155

    Network Layer 4-33

    The Internet Network layer

    forwardingtable

    Host, router network layer functions:

    Routing protocols

    path selectionRIP, OSPF, BGP

    IP protocoladdressing conventions

    datagram formatpacket handling conventions

    ICMP protocolerror reportingrouter signaling

    Transport layer: TCP, UDP

    Link layer

    physical layer

    Networklayer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    34/155

    Network Layer 4-34

    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

    IP d t f t

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    35/155

    Network Layer 4-35

    IP datagram format

    ver length

    32 bits

    data

    (variable length,typically a TCP

    or UDP segment)

    16-bit identifier

    headerchecksum

    time tolive

    32 bit source IP address

    IP protocol versionnumber

    header length(bytes)

    max numberremaining hops

    (decremented ateach router)

    forfragmentation/reassembly

    total datagramlength (bytes)

    upper layer protocolto deliver payload to

    head.len

    type ofservice

    type of dataflgs

    fragmentoffset

    upperlayer

    32 bit destination IP address

    Options (if any) E.g. timestamp,record routetaken, specifylist of routersto visit.

    how much overheadwith TCP?

    20 bytes of TCP

    20 bytes of IP

    = 40 bytes + app

    layer overhead

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    36/155

    Network Layer 4-36

    IP Fragmentation & Reassembly network links have MTU

    (max.transfer size) - largestpossible link-level frame.

    different link types,different MTUs

    large IP datagram divided

    (fragmented) within net one datagram becomes

    several datagrams

    reassembled only at finaldestination

    IP header bits used toidentify, order relatedfragments

    fragmentation:in:one large datagramout:3 smaller datagrams

    reassembly

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    37/155

    Network Layer 4-37

    IP Fragmentation and Reassembly

    ID=x

    offset=0

    fragflag=0

    length=4000

    ID=x

    offset=0

    fragflag=1

    length=1500

    ID=x

    offset=185

    fragflag=1

    length=1500

    ID=x

    offset=370

    fragflag=0

    length=1040

    One large datagram becomesseveral smaller datagrams

    Example

    4000 bytedatagram

    MTU = 1500 bytes

    1480 bytes indata field

    offset =1480/8

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    38/155

    Network Layer 4-38

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    39/155

    Network Layer 4-39

    IP Addressing: introduction

    IP address:32-bitidentifier for host,router interface

    interface:connection

    between host/routerand physical link routers typically have

    multiple interfaces

    host typically has one

    interface IP addresses

    associated with eachinterface

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    40/155

    Page 40

    IP Address

    Host addressNetwork addressIP address

    IP address uniquely identifies a network device, it consistsof 32 binary digits.

    IP address is often represented in a dotted decimalformat.

    IP address is divided into two parts: Network address portion

    Host address portion

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    41/155

    Page 41

    Classification of IP Address

    Class A

    Class B

    Class C

    Class D

    Class E

    128.0.0.0~191.255.255.255

    192.0.0.0~223.255.255.255

    224.0.0.0~239.255.255.255

    240.0.0.0~255.255.255.255

    1 1 1 1 0 reserve

    1.0.0.0~126.255.255.255

    Host(24bit)0 Network(7bit)

    Host(8bit)Network(21bit)1 1 0

    1 1 1 0 Multicast address

    Host(16bit)1 0 Network(14bit)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    42/155

    Page 42

    Special IP Address

    Network part Host part Address type Usage

    Any all 0Network

    AddressRepresents a network Segment

    Any all 1

    Broadcast

    Address

    All nodes of a specifically

    designated network segment

    127 AnyLoopback

    AddressLoop diagnostic functionality

    all 0 All NetworksDesignates default routes

    in Huawei Quidway routers

    all 1Broadcast

    Address

    All nodes of a local network

    segment

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    43/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    44/155

    Page 44

    Subnet Mask Introduction

    Subnet Masks manipulate the network and host address portion

    used to determine the network portion of an IP address

    The subnet mask format is same as the IP address format

    Network and subnet of subnet mask identified in binary as aseries of 1 bits, the host bits are 0

    For example Class Bs subnetmask is

    255.255.0.0

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    45/155

    Network Layer 4-45

    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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    46/155

    Network Layer 4-46

    Subnets 223.1.1.0/24 223.1.2.0/24

    223.1.3.0/24

    Recipe To determine the

    subnets, detach eachinterface from its

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

    is called a subnet.Subnet mask: /24

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    47/155

    Network Layer 4-47

    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

    N t k Add ss d S b t

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    48/155

    Page 48

    Network Address and SubnetMask

    IP Address

    Subnet Mask

    Network Address:

    192.168.1

    255.255.255

    192.168.1

    .100

    .0

    .0

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    49/155

    Page 49

    Binary to DecimalConversion

    Decimal Summation is 255

    11111111

    1248163264128

    8bit

    Binary

    20

    21

    22

    24

    25

    26

    27

    23

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    50/155

    Page 50

    Example of Conversion

    10010111

    1*10*20*41*80*161*321*641*128

    233

    + + + + + + +64 32 0 0 10128 8

    Example :

    System Conversion of IP

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    51/155

    Page 51

    System Conversion of IPAddress

    IP address192.168.1.11(decimal)

    byte8bits byte8bits byte8bits byte8bits

    2726252423222120272625242322212027262524232221202726252423222120

    192

    168

    1

    11

    1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1

    binary digit

    11000000.10101000.00000001.00001011

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    52/155

    Page 52

    A. Classful Addressing

    Classful Addressing uses default subnet masks, and thus nosubnet..

    Classful Routing Updates

    Subnet masks are not sent in routing updates

    e.g. Class B segment 172.16.0.0 with mask 255.255.0.0

    172.16.30.1/16 172.16.28.1/16

    Ethernet

    172.16.30.10/16

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    53/155

    Page 53

    Calculation of Host Number

    Host Number2n

    Valid Host Number: 2n- 2

    Subnet Mask

    N bit

    Network Portion Host Portion

    11 1 111 1 111 1 111 000 0 000000 000 01 0

    Example of Host Number

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    54/155

    Page 54

    Example of Host NumberCalculation

    IP Address192.168.1.100/28

    /28=255.255.255.240

    The binary representation of subnet mask:

    28bits

    networkportion

    4bitsHost portion

    The total number of host: 24

    The valid number of host: 24-2

    11111111111111111111111111110000

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    55/155

    B. Classless IP Addressing

    Classless Routing Protocol Characteristics of classless routing

    protocols: Routing updates include the subnet mask

    Supports VLSM

    Supports Route Summarization

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    56/155

    VLSMVLSMthe process

    of sub-netting asubnetto fit yourneedsExample:

    Subnet 10.1.0.0/16,8 more bits areborrowed again, tocreate 256 subnetswith a /24mask.

    Mask allows for 254host addresses persubnet

    Subnets range from:10.1.0.0 / 24 to10.1.255.0 / 24

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    57/155

    Page 57

    Variable Length Subnet Mask(VLSM)

    ISP announce192.168.1.0

    192.168.1.32/27

    192.168.1.64/27

    192.168.1.96/27

    192.168.1.128/27

    192.168.1.160/30

    192.168.1.164/30

    192.168.1.168/30

    192.168.1.172/30

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    58/155

    Page 58

    Subnet Mask Representation

    255 . 255 . 255 . 24011111111 11111111 11111111 11110000

    192 . 168 . 1 . 7

    11000000 10101000 00000001 00000111

    8 + 8 + 8+ 4 = 28

    192 . 168 . 1 . 7 / 28

    IP Address

    Subnet mask

    Bits of subnet mask

    Subnet mask representation

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    59/155

    Page 59

    Calculation of Network address

    192.168.1.0/28

    11000000 10101000 00000001 00000000

    IP Address is: 192.168.1.7/28

    192 . 168 . 1 . 7

    11000000 10101000 00000001 00000111

    255 . 255 . 255 . 240

    11111111 11111111 11111111 11110000

    IP Address

    Subnet Mask

    Network Address

    (Binary)

    Network Address

    Classless Inter Domain Routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    60/155

    Page 60

    Internet

    Classless Inter-Domain Routing(CIDR) CIDR reduces the scale of the routing table and enhances

    network extensibility.

    198.168.1.0

    198.168.2.0

    198.168.3.0

    ISP

    Announce route198.168.0.0/16

    Classless Inter Domain Routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    61/155

    Classless Inter-Domain Routing(CIDR) CIDR

    Uses IP addresses more efficiently through useof VLSM

    VLSM is the process of subnetting a subnet

    Allows for route summarization Route summarization is representing multiple

    contiguous routes with a single route

    Classless Routing Updates Subnet masks are included in updates

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    62/155

    Network Layer 4-62

    IP addresses: how to get one?

    Q:How does a hostget IP address?

    hard-coded by system admin in a file

    Windows: control-panel->network->configuration->tcp/ip->properties

    UNIX: /etc/rc.config

    DHCP:Dynamic Host Configuration Protocol:

    dynamically get address from as server plug-and-play

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    63/155

    Network Layer 4-63

    DHCP: Dynamic Host Configuration Protocol

    Goal:allow host to dynamically obtain its IP address fromnetwork server when it joins networkCan renew its lease on address in use

    Allows reuse of addresses (only hold address while connected an

    on)Support for mobile users who want to join network (more shortly)

    DHCP overview:

    host broadcasts DHCP discover msg [optional]

    DHCP server responds with DHCP offer msg[optional]

    host requests IP address: DHCP request msg

    DHCP server sends address: DHCP ack msg

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    64/155

    Network Layer 4-64

    DHCP client-server scenario

    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

    A

    B

    E

    DHCPserver

    arriving DHCP

    clientneeds

    address in this

    network

    DHCP client-server scenario

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    65/155

    Network Layer 4-65

    DHCP client-server scenarioDHCP server: 223.1.2.5 arriving

    client

    time

    DHCP discover

    src : 0.0.0.0, 68

    dest.: 255.255.255.255,67yiaddr: 0.0.0.0

    transaction ID: 654

    DHCP offer

    src: 223.1.2.5, 67

    dest: 255.255.255.255, 68

    yiaddrr: 223.1.2.4

    transaction ID: 654Lifetime: 3600 secs

    DHCP request

    src: 0.0.0.0, 68

    dest:: 255.255.255.255, 67

    yiaddrr: 223.1.2.4

    transaction ID: 655Lifetime: 3600 secs

    DHCP ACK

    src: 223.1.2.5, 67

    dest: 255.255.255.255, 68

    yiaddrr: 223.1.2.4

    transaction ID: 655

    Lifetime: 3600 secs

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    66/155

    DHCP: example

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    67/155

    Network Layer 4-67

    DHCP: example

    connecting laptop needs itsIP address, addr of first-hop router, addr of DNSserver: use DHCP

    router(runs DHCP)

    DHCP

    UDP

    IPEth

    Phy

    DHCP

    DHCP

    DHCP

    DHCP

    DHCP

    DHCPUDP

    IP

    Eth

    Phy

    DHCP

    DHCP

    DHCP

    DHCPDHCP

    DHCP request encapsulatedin UDP, encapsulated in IP,encapsulated in 802.1Ethernet

    Ethernet frame broadcast(dest: FFFFFFFFFFFF) on LAN,received at router runningDHCP server

    Ethernet demuxed to IPdemuxed, UDP demuxed toDHCP

    168.1.1.1

    DHCP: example

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    68/155

    Network Layer 4-68

    DCP server formulatesDHCP ACK containing

    clients IP address, IPaddress of first-hoprouter for client, name &IP address of DNS server

    router(runs DHCP)

    DHCP

    UDP

    IPEth

    Phy

    DHCP

    DHCP

    DHCP

    DHCP

    DHCPUDP

    IP

    Eth

    Phy

    DHCP

    DHCP

    DHCP

    DHCP

    DHCP

    encapsulation of DHCPserver, frame forwardedto client, demuxing up toDHCP at client

    client now knows its IPaddress, name and IPaddress of DSN server, IPaddress of its first-hop

    router

    DHCP: example

    DHCP i h k M t B t R l (2)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    69/155

    Network Layer 4-69

    DHCP: wiresharkoutput (home LAN)

    Message type: Boot Reply (2)Hardware type: EthernetHardware address length: 6Hops: 0Transaction ID: 0x6b3a11b7Seconds elapsed: 0Bootp flags: 0x0000 (Unicast)

    Client IP address: 192.168.1.101 (192.168.1.101)Your (client) IP address: 0.0.0.0 (0.0.0.0)Next server IP address: 192.168.1.1 (192.168.1.1)Relay agent IP address: 0.0.0.0 (0.0.0.0)Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)Server host name not givenBoot file name not givenMagic cookie: (OK)Option: (t=53,l=1) DHCP Message Type = DHCP ACKOption: (t=54,l=4) Server Identifier = 192.168.1.1Option: (t=1,l=4) Subnet Mask = 255.255.255.0Option: (t=3,l=4) Router = 192.168.1.1Option: (6) Domain Name Server

    Length: 12; Value: 445747E2445749F244574092;IP Address: 68.87.71.226;IP Address: 68.87.73.242;IP Address: 68.87.64.146

    Option: (t=15,l=20) Domain Name = "hsd1.ma.comcast.net."

    reply

    Message type: Boot Request (1)Hardware type: EthernetHardware address length: 6Hops: 0Transaction ID: 0x6b3a11b7Seconds elapsed: 0Bootp flags: 0x0000 (Unicast)Client IP address: 0.0.0.0 (0.0.0.0)Your (client) IP address: 0.0.0.0 (0.0.0.0)Next server IP address: 0.0.0.0 (0.0.0.0)

    Relay agent IP address: 0.0.0.0 (0.0.0.0)Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)Server host name not givenBoot file name not givenMagic cookie: (OK)Option: (t=53,l=1) DHCP Message Type = DHCP RequestOption: (61) Client identifier

    Length: 7; Value: 010016D323688A;Hardware type: EthernetClient MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)

    Option: (t=50,l=4) Requested IP Address = 192.168.1.101Option: (t=12,l=5) Host Name = "nomad"Option: (55) Parameter Request List

    Length: 11; Value: 010F03062C2E2F1F21F92B1 = Subnet Mask; 15 = Domain Name3 = Router; 6 = Domain Name Server44 = NetBIOS over TCP/IP Name Server

    request

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    70/155

    Network Layer 4-70

    IP addresses: how to get one?

    Q:How does networkget subnet part of IPaddr?

    A:gets allocated portion of its provider ISPsaddress space

    ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

    Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23

    Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23

    Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23

    ... .. . .

    Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    71/155

    Network Layer 4-71

    Hierarchical addressing: route aggregation

    Send me anythingwith addressesbeginning200.23.16.0/20

    200.23.16.0/23

    200.23.18.0/23

    200.23.30.0/23

    Fly-By-Night-ISP

    Organization 0

    Organization 7Internet

    Organization 1

    ISPs-R-UsSend me anythingwith addressesbeginning199.31.0.0/16

    200.23.20.0/23Organization 2

    ...

    ...

    Hierarchical addressing allows efficient advertisement of routinginformation:

    Hi hi l dd i ifi

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    72/155

    Network Layer 4-72

    Hierarchical addressing: more specificroutes

    ISPs-R-Us has a more specific route to Organization 1

    Send me anything

    with addressesbeginning200.23.16.0/20

    200.23.16.0/23

    200.23.18.0/23

    200.23.30.0/23

    Fly-By-Night-ISP

    Organization 0

    Organization 7Internet

    Organization 1

    ISPs-R-Us Send me anythingwith addressesbeginning 199.31.0.0/16or 200.23.18.0/23

    200.23.20.0/23Organization 2

    ...

    ...

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    73/155

    Network Layer 4-73

    IP addressing: the last word...

    Q:How does an ISP get block of addresses?A:ICANN: Internet Corporation for Assigned

    Names and Numbers

    allocates addressesmanages DNS

    assigns domain names, resolves disputes

    N N k dd l

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    74/155

    Network Layer 4-74

    NAT: Network Address Translation

    10.0.0.1

    10.0.0.2

    10.0.0.3

    10.0.0.4

    138.76.29.7

    local network(e.g., home network)

    10.0.0/24

    rest ofInternet

    Datagrams with source or

    destination in this networkhave 10.0.0/24 address forsource, destination (as usual)

    Alldatagrams leavinglocal

    network have samesingle sourceNAT IP address: 138.76.29.7,different source port numbers

    N T N k dd T l i

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    75/155

    Network Layer 4-75

    NAT: Network Address Translation

    Motivation:local network uses just one IP address asfar as outside world is concerned:

    range of addresses not needed from ISP: just one IPaddress for all devices

    can change addresses of devices in local networkwithout notifying outside world

    can change ISP without changing addresses ofdevices in local network

    devices inside local net not explicitly addressable,visible by outside world (a security plus).

    NAT N k Add T l i

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    76/155

    Network Layer 4-76

    NAT: Network Address TranslationImplementation:NAT router must:

    outgoing datagrams:replace(source IP address, port#) of every outgoing datagram to (NAT IP address,new port #). . . remote clients/servers will respond using (NAT

    IP address, new port #) as destination addr.

    remember (in NAT translation table) every (sourceIP address, port #) to (NAT IP address, new port #)translation pair

    incoming datagrams:replace(NAT IP address, newport #) in dest fields of every incoming datagramwith corresponding (source IP address, port #)stored in NAT table

    N T N k dd T l i

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    77/155

    Network Layer 4-77

    NAT: Network Address Translation

    10.0.0.1

    10.0.0.2

    10.0.0.3

    S: 10.0.0.1, 3345D: 128.119.40.186, 80

    1

    10.0.0.4

    138.76.29.7

    1: host 10.0.0.1sends datagram to128.119.40.186, 80

    NAT translation tableWAN side addr LAN side addr

    138.76.29.7, 5001 10.0.0.1, 3345

    S: 128.119.40.186, 80D: 10.0.0.1, 3345 4

    S: 138.76.29.7, 5001D: 128.119.40.186, 802

    2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

    S: 128.119.40.186, 80D: 138.76.29.7, 5001 33: Reply arrivesdest. address:138.76.29.7, 5001

    4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

    NAT N k Add T l i

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    78/155

    Network Layer 4-78

    NAT: Network Address Translation

    16-bit port-number field: 60,000 simultaneous connections with a single

    LAN-side address!

    NAT is controversial: routers should only process up to layer 3

    violates end-to-end argument NAT possibility must be taken into account by app

    designers, eg, P2P applications

    address shortage should instead be solved byIPv6

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    79/155

    NAT t l bl

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    80/155

    Network Layer 4-80

    NAT traversal problem

    solution 2: Universal Plug andPlay (UPnP) Internet GatewayDevice (IGD) Protocol. AllowsNATted host to: learn public IP address

    (138.76.29.7) add/remove port mappings

    (with lease times)

    i.e., automate static NAT portmap configuration

    10.0.0.1

    10.0.0.4

    NATrouter

    138.76.29.7

    IGD

    NAT t l bl

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    81/155

    Network Layer 4-81

    NAT traversal problem

    solution 3: relaying (used in Skype)NATed client establishes connection to relay

    External client connects to relay

    relay bridges packets between to connections

    138.76.29.7Client

    10.0.0.1

    NATrouter

    1.connection torelay initiatedby NATted host

    2.connection torelay initiatedby client

    3.relayingestablished

    Ch t 4 N t k L

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    82/155

    Network Layer 4-82

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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

    ICMP I t t C t l M P t l

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    83/155

    Network Layer 4-83

    ICMP: Internet Control Message Protocol

    used by hosts & routers tocommunicate network-levelinformation

    error reporting:unreachable host, network,port, protocol

    echo request/reply (usedby ping)

    network-layer above IP:

    ICMP msgs carried in IPdatagrams

    ICMP message:type, code plusfirst 8 bytes of IP datagramcausing error

    Type Code description

    0 0 echo reply (ping)

    3 0 dest. network unreachable

    3 1 dest host unreachable

    3 2 dest protocol unreachable

    3 3 dest port unreachable3 6 dest network unknown

    3 7 dest host unknown

    4 0 source quench (congestion

    control - not used)

    8 0 echo request (ping)

    9 0 route advertisement10 0 router discovery

    11 0 TTL expired

    12 0 bad IP header

    T t d ICMP

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    84/155

    Network Layer 4-84

    Traceroute and ICMP

    Source sends series ofUDP segments to dest First has TTL =1

    Second has TTL=2, etc.

    Unlikely port number

    When nth datagram arrivesto nth router: Router discards datagram

    And sends to source anICMP message (type 11,

    code 0) Message includes name of

    router& IP address

    When ICMP messagearrives, source calculatesRTT

    Traceroute does this 3times

    Stopping criterion UDP segment eventually

    arrives at destination host

    Destination returns ICMPhost unreachable packet(type 3, code 3)

    When source gets thisICMP, stops.

    Ch pt 4: N t k L

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    85/155

    Network Layer 4-85

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    86/155

    IPv6 Header (Cont)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    87/155

    Network Layer 4-87

    IPv6 Header (Cont)

    Priority: identify priority among datagrams in flowFlow Label:identify datagrams in same flow.(concept offlow not well defined).

    Next header:identify upper layer protocol for data

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    88/155

    Transition From IPv4 To IPv6

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    89/155

    Network Layer 4-89

    Transition From IPv4 To IPv6

    Not all routers can be upgraded simultaneous no flag days

    How will the network operate with mixed IPv4 andIPv6 routers?

    Tunneling:IPv6 carried as payload in IPv4datagram among IPv4 routers

    Tunneling

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    90/155

    Network Layer 4-90

    TunnelingA B E F

    IPv6 IPv6 IPv6 IPv6

    tunnelLogical view:

    Physical view:A B E F

    IPv6 IPv6 IPv6 IPv6IPv4 IPv4

    Tunneling

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    91/155

    Network Layer 4-91

    TunnelingA B E F

    IPv6 IPv6 IPv6 IPv6

    tunnelLogical view:

    Physical view:A B E F

    IPv6 IPv6 IPv6 IPv6

    C D

    IPv4 IPv4

    Flow: XSrc: ADest: F

    data

    Flow: XSrc: ADest: F

    data

    Flow: XSrc: ADest: F

    data

    Src:BDest: E

    Flow: XSrc: ADest: F

    data

    Src:BDest: E

    A-to-B:IPv6

    E-to-F:IPv6

    B-to-C:IPv6 inside

    IPv4

    B-to-C:IPv6 inside

    IPv4

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    92/155

    Network Layer 4-92

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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

    Interplay between routing, forwarding

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    93/155

    Network Layer 4-93

    1

    23

    0111

    value in arriving

    packets header

    routing algorithm

    local forwarding table

    header value output link

    0100

    0101

    01111001

    3

    2

    21

    p y g, g

    I li

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    94/155

    Page 94

    In reality

    [RTB]display ip routing-table

    Routing Tables: Public

    Destinations : 10 Routes : 10

    Destination/Mask Proto Pre Cost NextHop Interface

    10.1.1.0/30 Direct 0 0 10.1.1.2 Serial0/0/0

    10.1.1.1/32 Direct 0 0 10.1.1.1 Serial0/0/0

    127.0.0.1/32 Direct 0 0 127.0.0.1 InLoopBack0

    172.16.1.1/32 OSPF 10 1562 10.1.2.2 Serial0/0/1

    192.168.2.0/24 RIP 100 1 10.1.1.1 Serial0/0/0

    10.1.1.0/8

    RTB

    10.1.2.0/24

    .1

    .1

    OSPF

    RIP

    RTA

    RTC

    172.16.1.1/32

    192.168.2.1/24

    .2

    .2

    Graph abstraction

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    95/155

    Network Layer 4-95

    u

    yx

    wv

    z2

    21

    3

    1

    1

    2

    53

    5

    Graph: G = (N,E)

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

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

    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

    Graph abstraction: costs

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    96/155

    Network Layer 4-96

    Graph abstraction: costs

    u

    yx

    wv

    z2

    21

    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, orinversely 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

    Routing Algorithm classification

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    97/155

    Network Layer 4-97

    Routing Algorithm classification

    Global or decentralizedinformation?

    Global:

    all routers have completetopology, link cost info

    link state algorithmsDecentralized:

    router knows physically-connected neighbors, linkcosts to neighbors

    iterative process ofcomputation, exchange ofinfo with neighbors

    distance vector algorithms

    Static or dynamic?Static: routes change slowly

    over time

    Dynamic: routes change more

    quickly

    periodic update

    in response to linkcost changes

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    98/155

    Network Layer 4-98

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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

    A Link-State Routing Algorithm

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    99/155

    Network Layer 4-99

    A Link-State Routing Algorithm

    Dijkstras algorithm net topology, link costs

    known to all nodes

    accomplished via linkstate broadcast

    all nodes have same info

    computes least cost pathsfrom one node (source) toall other nodes

    gives forwarding tablefor that node

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

    Notation: c(x,y):link cost from node

    x to y; = if not directneighbors

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

    p(v):predecessor nodealong path from source to v

    N':set of nodes whoseleast cost path definitivelyknown

    Dijsktras Algorithm

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    100/155

    Network Layer4-100

    Dijsktra s Algorithm

    1Init 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) =

    78 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'

    Dijkstras algorithm: example

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    101/155

    Network Layer 4-101

    Dijkstra s algorithm: example

    Step0

    1

    2

    3

    4

    5

    N'u

    ux

    uxy

    uxyv

    uxyvw

    uxyvwz

    D(v),p(v)2,u

    2,u

    2,u

    D(w),p(w)5,u

    4,x

    3,y

    3,y

    D(x),p(x)1,u D(y),p(y)2,x

    D(z),p(z)

    4,y

    4,y

    4,y

    u

    yx

    wv

    z2

    21

    3

    1

    1

    2

    53

    5

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    102/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    103/155

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    104/155

    Network Layer4-104

    Chapter 4: Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    Distance Vector Algorithm

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    105/155

    Network Layer4-105

    Distance Vector Algorithm

    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

    v

    Bellman-Ford example

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    106/155

    Network Layer4-106

    Bellman Ford example

    u

    yx

    wv

    z2

    21

    3

    1

    1

    2

    53

    5 Clearly, 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} = 4Node that achieves minimum is nexthop in shortest path forwarding table

    B-F equation says:

    Distance Vector Algorithm

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    107/155

    Network Layer4-107

    Distance Vector Algorithm

    Dx(y)= estimate of least cost from x to yNode 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 neighborsdistance vectors For each neighbor v, x maintains

    Dv= [Dv(y): y N ]

    Distance vector algorithm (4)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    108/155

    Network Layer4-108

    Distance vector algorithm (4)

    Basic idea: From time-to-time, each node sends its own

    distance vector estimate to neighbors Asynchronous

    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 y N

    Under minor, natural conditions, the estimateDx(y) converge to the actual least costdx(y)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    109/155

    node x 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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    110/155

    Network Layer 4-110

    x y z

    xyz

    0 2 7

    from

    cost to

    from

    from

    x y z

    xyz

    0

    from

    cost to

    x y z

    xyz

    cost to

    x y zx

    yz

    7 1 0

    cost to

    2 0 1

    2 0 17 1 0

    time

    x z12

    7

    y

    node x table

    node y table

    node z table

    m n{ , 7 }

    32

    node x 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

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    111/155

    Network Layer 4-111

    x y z

    xyz

    0 2 7

    from

    cost to

    from

    from

    x y z

    xyz

    0 2 3

    from

    cost tox y z

    xyz

    0 2 3

    from

    cost to

    x y z

    xyz

    cost tox y z

    xyz

    0 2 7

    from

    cost to

    x y zx

    yz

    0 2 3

    from

    cost to

    x y zx

    yz

    0 2 3

    from

    cost to

    x y zx

    yz

    0 2 7

    from

    cost to

    x y zx

    yz

    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

    { , }

    Distance Vector: link cost changes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    112/155

    Network Layer 4-112

    D stance Vector l nk cost changes

    Link cost changes: node detects local link cost change

    updates routing info, recalculatesdistance vector

    if DV changes, notify neighbors

    goodnewstravelsfast

    x z14

    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 DVAt time t2, yreceives zs update and updates its distance table.ys least costs do not change and hence y does notsend anymessage to z.

    Distance Vector: link cost changes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    113/155

    Network Layer 4-113

    D V gLink cost changes:

    good news travels fast bad news travels slow -

    count to infinityproblem! **

    44 iterations before

    algorithm stabilizes: seetext

    Poisoned reverse: If Z routes through Y to get

    to X :

    Z tells Y its (Zs) distanceto X is infinite (so Y wontroute to X via Z)

    will this completely solvecount to infinity problem?

    Read ebook page 387 and 388 tounderstand this

    x z14

    50

    y60

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    114/155

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    115/155

    Network Layer 4-115

    Chapter 4 Network Layer

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    Hierarchical Routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    116/155

    Network Layer 4-116

    g

    scale:with 200 milliondestinations:

    cant store all dests inrouting tables!

    routing table exchangewould swamp links!

    administrative autonomy internet = network of

    networks

    each network admin may

    want to control routing in itsown network

    Our routing study thus far - idealization all routers identical

    network flat

    nottrue in practice

    Hierarchical Routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    117/155

    Network Layer 4-117

    g

    aggregate routers intoregions,autonomoussystems (AS)

    routers in same AS run

    same routing protocol intra-AS routingprotocol

    routers in different AScan run different intra-

    AS routing protocol

    Gateway router Direct link to router in

    another AS

    Interconnected ASes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    118/155

    Network Layer4-118

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    Intra-AS

    Routing

    algorithm

    Inter-AS

    Routing

    algorithm

    Forwarding

    table

    3c

    forwarding tableconfigured by bothintra- and inter-ASrouting algorithm intra-AS sets entries

    for internal dests

    inter-AS & intra-Assets entries forexternal dests

    Interconnected ASes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    119/155

    Page 119

    Interconnected ASes

    IGPsRIP OSPF ISIS

    EGPsBGP

    AS100 AS200

    Inter-AS (Exterior Gateway Protocol) tasksAS1 must:

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    120/155

    Network Layer4-120

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    3c

    suppose router in AS1receives datagram

    destined outside ofAS1: router should

    forward packet togateway router, butwhich one?

    1. learn which dests arereachable through

    AS2, which throughAS3

    2. propagate thisreachability info to allrouters in AS1

    Job of inter-AS routing!

    Example: Setting forwarding table in router 1d

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    121/155

    Network Layer4-121

    suppose AS1 learns (via inter-AS protocol) that subnetxreachable 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.

    installs forwarding table entry (x,I)

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    3c

    x

    Example: Choosing among multiple ASes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    122/155

    Network Layer4-122

    now suppose AS1 learns from inter-AS protocol that

    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 job of inter-AS routing protocol!

    3b

    1d

    3a

    1c 2aAS3

    AS1

    AS21a

    2c

    2b

    1b

    3cx

    Example: Choosing among multiple ASes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    123/155

    Network Layer4-123

    Learn from inter-AS

    protocol that subnetx is reachable via

    multiple gateways

    Use routing info

    from intra-AS

    protocol to determine

    costs of least-cost

    paths to each

    of the gateways

    Hot potato routing:

    Choose the gatewaythat has the

    smallest least cost

    Determine from

    forwarding table the

    interface I that leadsto least-cost gateway.

    Enter (x,I) in

    forwarding table

    now suppose AS1 learns from inter-AS protocol that

    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 job of inter-AS routing protocol!

    hot potato routing:send packet towards closest oftwo routers.

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    124/155

    Network Layer4-124

    p y

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    Intra-AS Routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    125/155

    Network Layer4-125

    g

    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)

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    126/155

    Network Layer4-126

    p y

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    RIP ( Routing Information Protocol)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    127/155

    Network Layer4-127

    g

    RIPv1 , RIPv2 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 2w 2

    x 3y 3z 2

    From router A to subnets:

    RIPv1 vs. RIPv2

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    128/155

    Page 128

    RIPv1 is a classful routing protocol, does notsupport VLSM and CIDR.

    Sends messages via broadcast.

    Doesnt support authentication.

    RIPv2 is a classless routing protocol, supportsVLSM, route aggregation and CIDR.

    Supports messages sent via broadcast ormulticast address (240.0.0.9).

    Supports plain text and MD5 authentication.

    RIP advertisements

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    129/155

    Network Layer4-129

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

    each advertisement: list of up to 25destination subnets within AS

    RIP: Example

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    130/155

    Network Layer4-130

    p

    Destination Network Next Router Num. of hops to dest.

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

    w x yz

    A

    C

    D B

    Routing/Forwarding table in D

    RIP: Example

    D t N t h

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    131/155

    Network Layer 4-131

    Destination Network Next Router Num. of hops to dest.

    w A 2

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

    Routing/Forwarding table in D

    w x y

    z

    A

    C

    D B

    Dest Next hopsw - 1x - 1

    z C 4. ...

    Advertisementfrom A to D

    RIP: Link Failure and Recovery

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    132/155

    Network Layer4-132

    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 reverseused to prevent ping-pong loops

    (infinite distance = 16 hops)

    RIP link failure and

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    133/155

    Page 133

    Recovery

    E0

    S0 S0

    S1

    S0

    E0

    11.2.0.

    0

    11.3.0.

    0

    A

    B

    C

    11.1.0.0

    11.4.0.

    0If the hop count is16, itmeans this route is

    unreachable

    16S011.4.0.0

    1S011.3.0.0

    0S011.2.0.0

    0E011.1.0.0

    countinterfac

    e

    destination

    Routing Table

    1S011.1.0.0

    16S111.4.0.

    0

    0S111.3.0.0

    0S011.2.0.0

    countinterface

    interface

    Routing Table

    2S011.1.0.0

    1S011.2.0.0

    16E011.4.0.0

    0S011.3.0.0

    countinterfac

    e

    destinatio

    n

    Routing Table

    RIP Table processing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    134/155

    Network Layer4-134

    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

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    135/155

    Network Layer4-135

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol Datagram format

    IPv4 addressing ICMP

    IPv6

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIPv1 & RIPv2

    OSPF

    BGP

    4.7 Broadcast andmulticast routing

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    136/155

    OSPF advanced features (not inRIPv1)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    137/155

    Network Layer4-137

    RIPv1)

    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 best effort;high for real time)

    integrated uni- and multicastsupport:

    Multicast OSPF (MOSPF) uses same topology database as OSPF

    hierarchicalOSPF in large domains.

    Hierarchical OSPF

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    138/155

    Network Layer4-138

    Hierarchical OSPF

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    139/155

    Network Layer4-139

    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 to netsin own area, advertise to other Area Border routers.

    backbone routers:run OSPF routing limited tobackbone.

    boundary routers:connect to other ASs.

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    140/155

    Network Layer4-140

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    Internet inter-AS (EGP) routing:BGP

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    141/155

    Network Layer 4-141

    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 torest of Internet: I am here

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    142/155

    Distributing reachability infoi BGP i b t 3 d 1 AS3 d

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    143/155

    Network Layer4-143

    using eBGP session between 3a and 1c, AS3 sendsprefix reachability info to AS1. 1c can then use iBGP do distribute new prefix

    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, it creates entryfor prefix in its forwarding table.

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c

    2b

    1b

    3ceBGP session

    iBGP session

    Path attributes & BGP routes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    144/155

    Network Layer4-144

    advertised prefix includes BGP attributes. prefix + attributes = route

    two important attributes: AS-PATH:contains ASs through which prefix

    advertisement has passed: e.g, AS 67, AS 17NEXT-HOP:indicates specific internal-AS router

    to next-hop AS. (may be multiple links fromcurrent AS to next-hop-AS)

    when gateway router receives routeadvertisement, uses import policytoaccept/decline.

    BGP route selection

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    145/155

    Network Layer4-145

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

    elimination rules:1. local preference value attribute: policy

    decision

    2. shortest AS-PATH

    3. closest NEXT-HOP router: hot potato routing

    4. additional criteria

    BGP messages

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    146/155

    Network Layer4-146

    BGP messages exchanged using TCP. BGP messages:

    OPEN:opens TCP connection to peer andauthenticates 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

    BGP routing policy

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    147/155

    Network Layer4-147

    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

    A

    B

    C

    WX

    Y

    legend:

    customernetwork:

    provider

    network

    BGP routing policy (2)

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    148/155

    Network Layer4-148

    A advertises path AW to B

    B advertises path BAW to X

    Should B advertise path BAW to C?

    No way! B gets no revenue for routing CBAWsince neither W nor C are Bs customers

    B wants to force C to route to w via A

    B wants to route only to/from its customers!

    A

    B

    C

    WX

    Y

    legend:

    customernetwork:

    provider

    network

    Why different Intra- and Inter-AS routing ?

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    149/155

    Network Layer4-149

    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

    Chapter 4: Network Layer

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    150/155

    Network Layer4-150

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol 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 andmulticast routing

    Broadcast Routing

    deliver packets from source to all other nodes

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    151/155

    Network Layer 4-151

    R1

    R2

    R3 R4

    source

    duplication

    R1

    R2

    R3 R4

    in-network

    duplication

    duplicate

    creation/transmissionduplicate

    duplicate

    deliver packets from source to all other nodes

    source duplication is inefficient:

    source duplication: how does sourcedetermine recipient addresses?

    In-network duplication

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    152/155

    Network Layer4-152

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

    controlled flooding: node only brdcsts pkt

    if it hasnt brdcst same packet beforeNode keeps track of pckt ids already brdcstedOr reverse path forwarding (RPF): only forward

    pckt if it arrived on shortest path between

    node and source spanning tree

    No redundant packets received by any node

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    153/155

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    154/155

    Chapter 4: summary

  • 8/11/2019 Chapter4 5th April 2014 FINAL2014

    155/155

    4. 1 Introduction 4.2 Virtual circuit and

    datagram networks

    4.3 Whats inside a

    router 4.4 IP: Internet

    Protocol Datagram format

    IPv4 addressing ICMP

    4.5 Routing algorithms Link state

    Distance Vector

    Hierarchical routing

    4.6 Routing in theInternet RIP

    OSPF

    BGP

    4.7 Broadcast andl i i