Docstoc

Network Layer and Routing - Faculty

Document Sample
Network Layer and Routing - Faculty Powered By Docstoc
					Chapter 4: Network Layer

Objectives:
 understand principles behind network layer
  services:
   routing (path selection)
   dealing with scale
   how a router works
   advanced topics: IPv6, mobility

 instantiation and implementation in the
  Internet

                                               1
Chapter 4: Network Layer
 Introduction              Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
      Datagram format
                                 RIP
      IPv4 addressing
                                 OSPF
      ICMP
                                 BGP
      IPv6
                            Broadcast and
                             multicast routing

                                                      2
Network layer
 transport segment from
    sending to receiving host    application
                                 transport

    on sending side
                                  network
                                 data link                   network
                                  physical
    encapsulates segments
                                               network        data link         network
                                               data link      physical          data link
                                               physical                         physical
    into datagrams                                            network
                                                              data link
   on rcving side, delivers                                  physical      network
                                                                            data link

    segments to transport
                                                                            physical

                                                                    network
    layer                                       network
                                                data link
                                                                    data link
                                                                    physical
                                                physical
   network layer protocols                                 network
                                                            data link       application

    in every host, router                                   physical        transport
                                                                             network
                                                                             data link
   Router examines header                                                   physical


    fields in all IP datagrams
    passing through it
                                                                                            3
Key Network-Layer Functions

 forwarding: move
                           analogy:
 packets from router’s  routing: process of
 input to appropriate    planning trip from
 router output           source to dest
 routing: determine        forwarding: process
 route taken by              of getting through
 packets from source         single interchange
 to dest.
     Routing algorithms

                                                   4
Interplay between routing and forwarding

                        routing algorithm


                   local forwarding table
                  header value output link
                            0100   3
                            0101   2
                            0111   2
                            1001   1




    value in arriving
    packet’s header
                          0111               1

                                        3 2




                                                 5
Yet Another Network-Layer Function:
Connection setup
 3rd important function in    some network
  architectures:
     ATM, frame relay, X.25
 Before datagrams flow, two hosts and
  intervening routers establish virtual
  connection
     Routers get involved
 Network and transport layer services:
   Network: between two hosts
   Transport: between two processes

                                              6
Network service model
 Q: What service model for “channel” transporting
 datagrams from sender to rcvr?

Example services for       Example services for a
  individual datagrams:      flow of datagrams:
 guaranteed delivery       In-order datagram
 Guaranteed delivery        delivery
  with less than 40 msec    Guaranteed minimum
  delay                      bandwidth to flow
                            Restrictions on
                             changes in inter-
                             packet spacing

                                                    7
  Network layer service models:
                                       Guarantees ?
   Network     Service                                Congestion
Architecture   Model      Bandwidth Loss Order Timing feedback

    Internet   best effort none        no    no       no    no (inferred
                                                            via loss)
       ATM     CBR        constant     yes   yes      yes   no
                          rate                              congestion
       ATM     VBR        guaranteed   yes   yes      yes   no
                          rate                              congestion
       ATM     ABR        guaranteed   no    yes      no    yes
                          minimum
       ATM     UBR        none         no    yes      no    no




                                                                       8
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      9
Network layer connection and
connection-less service
 Datagram network provides network-layer
  connectionless service
 Virtual circuit (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 the core as well as the end-
    systems


                                                      10
Virtual circuits
 “source-to-dest path behaves much like telephone
   circuit”
        performance-wise
        network actions along source-to-dest path


 call setup, teardown for each call   before data can flow
 each packet carries VC identifier (not destination host
  address)
 every router on source-dest path maintains “state” for
  each passing connection
 link, router resources (bandwidth, buffers) may be
  allocated to VC

                                                              11
VC implementation
A VC consists of:
  1.   Path from source to destination
  2.   VC numbers, one number for each link along path
  3.   Entries in forwarding tables in routers along path
 Packet belonging to VC carries a VC number.
 VC number must be changed on each link.
   New VC number comes from forwarding table




                                                            12
 Forwarding table                        VC number


                                                  12           22         32

                                                   1       3
                                                       2


Forwarding table in                   interface
                                      number
northwest router:
 Incoming interface   Incoming VC #     Outgoing interface          Outgoing VC #

        1                12                       3                     22
        2                63                       1                     18
        3                 7                       2                      17
        1                97                       2                     87
        …                …                        …                      …


      Routers maintain connection state information!
                                                                                13
Virtual circuits: signaling protocols

 used to setup, maintain teardown VC
 used in ATM, frame-relay, X.25
 not used in today’s Internet



application
                                   6. Receive data application
transport 5. Data flow begins
 network 4. Call connected          3. Accept call transport
 data link 1. Initiate call        2. incoming call network
                                                   data link
 physical
                                                   physical



                                                               14
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



application
                                                  application
transport
                                                   transport
 network
 data link 1. Send data            2. Receive data network
                                                    data link
 physical
                                                    physical


                                                            15
                                       4 billion
Forwarding table                       possible entries


        Destination Address Range              Link Interface

 11001000 00010111 00010000 00000000
                 through                           0
 11001000 00010111 00010111 11111111

 11001000 00010111 00011000 00000000
                through                            1
 11001000 00010111 00011000 11111111

 11001000 00010111 00011001 00000000
                through                            2
 11001000 00010111 00011111 11111111

           otherwise                               3

                                                                16
Longest prefix matching

                 Prefix Match       Link Interface
  11001000 00010111 00010                 0
  11001000 00010111 00011000             1
  11001000 00010111 00011                2
         otherwise                        3


 Examples

 DA: 11001000 00010111 00010110 10100001        Which interface?


  DA: 11001000 00010111 00011000 10101010        Which interface?




                                                                    17
Datagram or VC network: why?

Internet                          ATM
 data exchange among              evolved from telephony
  computers
                                   human conversation:
    “elastic” service, no strict
                                      strict timing, reliability
     timing req.
                                       requirements
 “smart” end systems
                                      need for guaranteed
  (computers)
                                       service
    can adapt, perform
                                   “dumb” end systems
     control, error recovery
                                      telephones
    simple inside network,
                                      complexity inside
     complexity at “edge”
                                       network
 many link types
    different characteristics
    uniform service difficult
                                                                    18
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      19
Router Architecture Overview
Two key router functions:
 run routing algorithms/protocol (RIP, OSPF, BGP)
   forwarding datagrams from incoming to outgoing link




                                                          20
     Input Port Functions




     Physical layer:
bit-level reception
   Data link layer:    Decentralized switching:
    e.g., Ethernet      given datagram dest., lookup output port
    see chapter 5        using forwarding table in input port
                         memory
                        goal: complete input port processing at
                         ‘line speed’
                        queuing: if datagrams arrive faster than
                         forwarding rate into switch fabric

                                                                21
Output Ports




   Buffering required when datagrams arrive from
  fabric faster than the transmission rate
 Scheduling discipline chooses among queued
  datagrams for transmission

                                                    22
Output port queueing




 buffering when arrival rate via switch exceeds
    output line speed
   queueing (delay) and loss due to output port
    buffer overflow!
                                                   23
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 from
  moving forward
   queueing delay and loss due to input buffer overflow!




                                                        24
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      25
 The Internet Network layer
  Host, router network layer functions:

                        Transport layer: TCP, UDP


           Routing protocols                IP protocol
           •path selection                  •addressing conventions
           •RIP, OSPF, BGP                  •datagram format
Network                                     •packet handling conventions
   layer                       forwarding
                                            ICMP protocol
                                  table
                                            •error reporting
                                            •router “signaling”

                                   Link layer

                                 physical layer


                                                                           26
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      27
  IP datagram format
  IP protocol version                  32 bits
              number                                          total datagram
       header length                type of                   length (bytes)
                          ver head.              length
              (bytes)          len service                     for
       “type” of data                              fragment    fragmentation/
                          16-bit identifier flgs
                                                     offset    reassembly
          max number      time to   upper        Internet
       remaining hops       live     layer       checksum
     (decremented at
                               32 bit source IP address
         each router)
                             32 bit destination IP address
  upper layer protocol
  to deliver payload to            Options (if any)           E.g. timestamp,
                                                              record route
how much overhead                        data                 taken, specify
  with TCP?                        (variable length,          list of routers
 20 bytes of TCP                   typically a TCP           to visit.
                                   or UDP segment)
 20 bytes of IP
 = 40 bytes + app
  layer overhead
                                                                         28
  IP Fragmentation & Reassembly
 network links have MTU
  (max.transfer size) - largest
  possible link-level frame.
    different link types,                      fragmentation:
      different MTUs                            in: one large datagram
 large IP datagram divided                     out: 3 smaller datagrams
  (“fragmented”) within net
    one datagram becomes
      several datagrams
                                   reassembly
    “reassembled” only at final
      destination
    IP header bits used to
      identify, order related
      fragments




                                                                   29
 IP Fragmentation and Reassembly
                         length ID fragflag offset
Example                  =4000 =x     =0      =0
 4000 byte
                       One large datagram becomes
  datagram             several smaller datagrams
 MTU = 1500 bytes
                             length ID fragflag offset
                             =1500 =x     =1      =0
1480 bytes in
data field                   length ID fragflag offset
                             =1500 =x     =1     =185
            offset =
            1480/8           length ID fragflag offset
                             =1040 =x     =0     =370




                                                         30
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      31
IP Addressing: introduction
 IP address: 32-bit                      223.1.1.1

  identifier for host,                                              223.1.2.1
  router interface
                                          223.1.1.2
                                                 223.1.1.4     223.1.2.9
 interface: connection
                                                                    223.1.2.2
  between host/router                    223.1.1.3     223.1.3.27

  and physical link
      router’s typically have
       multiple interfaces                 223.1.3.1                223.1.3.2
      host may have multiple
       interfaces
      IP addresses
       associated with each      223.1.1.1 = 11011111 00000001 00000001 00000001
       interface
                                              223          1          1         1

                                                                                    32
            IP address classes

 Class of an address is identified by first four bits




                                                         33
      Example of Dotted Decimal
      Notation




 Four decimal values per 32-bit address
 Each decimal number
   Represents eight bits
   Is between 0 and 255

                                           34
Division of the address space
 Classing scheme does not yield equal number of
  networks in each class
 For example, Class A:
      First bit must be 0
      7 remaining bits identify Class A net
      27 (= 128) possible class A nets




                                                   35
Classes and Dotted Decimal Notation




                                      36
           Classless Addressing

 Subnet and Classless Addressing
     Allow the division between prefix and suffix to
      occur on an arbitrary boundary
 Address masks / subnet mask
     32-bit value, specifies the boundary




                                                        37
Subnets
 IP address:                      223.1.1.1

    subnet part (high                                   223.1.2.1
                                   223.1.1.2
     order bits)                          223.1.1.4   223.1.2.9
    host part (low order
     bits)                        223.1.1.3
                                                             223.1.2.2
                                                223.1.3.27
   What’s a subnet ?
                                                       LAN
       device interfaces with
        same subnet part of IP      223.1.3.1                223.1.3.2
        address
       can physically reach
        each other without
        intervening router       network consisting of 3 subnets




                                                                         38
Subnets                   223.1.1.0/24
                                                 223.1.2.0/24




Recipe
 To determine the
  subnets, detach each
  interface from its
  host or router,
  creating islands of
  isolated networks.
  Each isolated network
  is called a subnet.             223.1.3.0/24


                            Subnet mask: /24


                                                           39
Subnets                                     223.1.1.2



How many?                  223.1.1.1                    223.1.1.4

                                          223.1.1.3


                                223.1.9.2         223.1.7.0




                    223.1.9.1                                  223.1.7.1
                                    223.1.8.1   223.1.8.0

                        223.1.2.6                           223.1.3.27

            223.1.2.1               223.1.2.2   223.1.3.1            223.1.3.2




                                                                           40
IP addressing: CIDR
CIDR: Classless InterDomain Routing
   subnet portion of address of arbitrary length
   address format: a.b.c.d/x, where x is # bits in
    subnet portion of address




                subnet                  host
                 part                   part
      11001000 00010111 00010000 00000000
                  200.23.16.0/23
                                                      41
IP addresses: how to get one?
Q: How does network get subnet part of IP
  addr?
A: gets allocated portion of its provider ISP’s
  address 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



                                                                        42
Hierarchical addressing: route aggregation
   Hierarchical addressing allows efficient advertisement of routing
   information:


 Organization 0
     200.23.16.0/23
 Organization 1
                                              “Send me anything
     200.23.18.0/23                           with addresses
 Organization 2                               beginning
     200.23.20.0/23    .   Fly-By-Night-ISP   200.23.16.0/20”
                       .
                  .    .                                           Internet
                  .
 Organization 7   .
    200.23.30.0/23
                                               “Send me anything
                             ISPs-R-Us
                                               with addresses
                                               beginning
                                               199.31.0.0/16”


                                                                              43
Hierarchical addressing: more specific
routes
ISPs-R-Us has a more specific route to Organization 1
 Organization 0
     200.23.16.0/23

                                               “Send me anything
                                               with addresses
 Organization 2                                beginning
     200.23.20.0/23     .   Fly-By-Night-ISP   200.23.16.0/20”
                        .
                    .   .                                             Internet
                    .
 Organization 7     .
    200.23.30.0/23
                                                “Send me anything
                              ISPs-R-Us
                                                with addresses
   Organization 1                               beginning 199.31.0.0/16
                                                or 200.23.18.0/23”
       200.23.18.0/23


                                                                                 44
IP addressing: the last word...

Q: How does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned
  Names and Numbers
   allocates addresses
   manages DNS
   assigns domain names, resolves disputes




                                              45
  NAT: Network Address Translation

           rest of                         local network
          Internet                     (e.g., home network)
                                              10.0.0/24         10.0.0.1

                                  10.0.0.4
                                                                 10.0.0.2
                 138.76.29.7

                                                                 10.0.0.3


  All datagrams leaving local        Datagrams with source or
network have same single source      destination in this network
 NAT IP address: 138.76.29.7,       have 10.0.0/24 address for
 different source port numbers      source, destination (as usual)


                                                                           46
  NAT: Network Address Translation

 Motivation: local network uses just one IP address as
  far as outside world is concerned:
    no need to be allocated range of addresses from ISP:
     - just one IP address is used for all devices
    can change addresses of devices in local network
     without notifying outside world
    can change ISP without changing addresses of
     devices in local network
    devices inside local net not explicitly addressable,
     visible by outside world (a security plus).


                                                          47
  NAT: Network Address Translation
Implementation: 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 (source
      IP address, port #) to (NAT IP address, new port #)
      translation pair

     incoming datagrams: replace (NAT IP address, new
      port #) in dest fields of every incoming datagram
      with corresponding (source IP address, port #)
      stored in NAT table
                                                              48
    NAT: Network Address Translation
                           NAT translation table
2: NAT router                                                             1: host 10.0.0.1
                       WAN side addr    LAN side addr
changes datagram                                                          sends datagram to
                         138.76.29.7, 5001 10.0.0.1, 3345                 128.119.40, 80
source addr from
                          ……                          ……
10.0.0.1, 3345 to
138.76.29.7, 5001,                                         S: 10.0.0.1, 3345
updates table                                              D: 128.119.40.186, 80
                                                                                     10.0.0.1
                                                                      1
                      S: 138.76.29.7, 5001
                2     D: 128.119.40.186, 80   10.0.0.4
                                                                                      10.0.0.2
                             138.76.29.7          S: 128.119.40.186, 80
                                                  D: 10.0.0.1, 3345       4
              S: 128.119.40.186, 80
              D: 138.76.29.7, 5001    3                                         10.0.0.3
                                                4: NAT router
            3: Reply arrives                    changes datagram
            dest. address:                      dest addr from
            138.76.29.7, 5001                   138.76.29.7, 5001 to 10.0.0.1, 3345

                                                                                         49
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 by
      IPv6


                                                             50
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      51
ICMP: Internet Control Message Protocol

 used by hosts & routers to
  communicate network-level        Type   Code   description
  information                      0      0      echo reply (ping)
                                   3      0      dest. network unreachable
    error reporting:
                                   3      1      dest host unreachable
      unreachable host, network,   3      2      dest protocol unreachable
      port, protocol               3      3      dest port unreachable
    echo request/reply (used      3      6      dest network unknown
      by ping)                     3      7      dest host unknown
 network-layer “above” IP:        4      0      source quench (congestion
    ICMP msgs carried in IP                     control - not used)
      datagrams                    8      0      echo request (ping)
 ICMP message: type, code plus
                                   9      0      route advertisement
  first 8 bytes of IP datagram     10     0      router discovery
  causing error                    11     0      TTL expired
                                   12     0      bad IP header


                                                                        52
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      53
 IPv6
 Initial motivation: 32-bit address space soon
  to be completely allocated.
 Additional motivation:
   header format helps speed processing/forwarding
   header changes to facilitate QoS
  IPv6 datagram format:
   fixed-length 40 byte header
   no fragmentation allowed




                                                      54
IPv6 Header (Cont)
Priority: identify priority among datagrams in flow
Flow Label: identify datagrams in same “flow.”
           (concept of“flow” not well defined).
Next header: identify upper layer protocol for data




                                                      55
Other Changes from IPv4
 Checksum: removed entirely to reduce
  processing time at each hop
 Options: allowed, but outside of header,
  indicated by “Next Header” field
 ICMPv6: new version of ICMP
   additional message types, e.g. “Packet Too Big”
   multicast group management functions




                                                      56
Transition From IPv4 To IPv6
 Not all routers can be upgraded simultaneous
   no “flag days”
   How will the network operate with mixed IPv4 and
    IPv6 routers?
 Dual Stack: IPv6 nodes have a complete IPv4
  implementation
 Tunneling: IPv6 carried as payload in IPv4
  datagram among IPv4 routers



                                                       57
Tunneling
                  A              B                                           E             F
 Logical view:                                       tunnel

                 IPv6           IPv6                                      IPv6          IPv6

                  A              B               C            D              E             F
Physical view:
                 IPv6           IPv6          IPv4        IPv4            IPv6          IPv6

                      Flow: X        Src:B                        Src:B          Flow: X
                      Src: A         Dest: E                      Dest: E        Src: A
                      Dest: F                                                    Dest: F
                                       Flow: X                     Flow: X
                                       Src: A                      Src: A
                      data             Dest: F                     Dest: F       data


                                       data                        data


                      A-to-B:                                                    E-to-F:
                                       B-to-C:                      B-to-C:
                       IPv6                                                       IPv6
                                     IPv6 inside                  IPv6 inside
                                        IPv4                         IPv4
                                                                                               58
Chapter 4: Network Layer
  Introduction             Routing algorithms
 Virtual circuit and         Link state

  datagram networks           Distance Vector
                              Hierarchical routing
 What’s inside a router
                            Routing in the
 IP: Internet Protocol
                             Internet
       Datagram format
                                 RIP
       IPv4 addressing
                                 OSPF
       ICMP
                                 BGP
       IPv6
                            Broadcast and
                             multicast routing

                                                      59
Routing Algorithm classification
Global or decentralized            Static or dynamic?
  information?                     Static:
Global:                             routes change slowly
 all routers have complete          over time
   topology, link cost info
 “link state” algorithms
                                   Dynamic:
Decentralized:                      routes change more
 router knows physically-           quickly
   connected neighbors, link           periodic update
   costs to neighbors
                                       in response to link
 iterative process of
   computation, exchange of info        cost changes
   with neighbors
 “distance vector” algorithms
                                                              60
 A Link-State Routing Algorithm
Dijkstra’s algorithm               Idea:
 Assumption: net topology,         at each iteration increase
  link costs known to all nodes      spanning tree by the node
     accomplished via “link         that has least cost path to it
      state broadcast”
     all nodes have same info
 computes least cost paths                        5
  from one node (“source”) to                          3
                                                   B           C   5
  all other nodes                              2
     gives routing table for          A           2           1       F
                                                           3
      that node                            1                       2
 iterative: after k iterations,
                                                   D           E
                                                       1
  know least cost path to k
  destinations
                                                                           61
 A Link-State Routing Algorithm

Notation:                         Examples:
 c(i,j): link cost from node i    c(B,C) = 3
   to j. cost infinite if not
                                   D(E) = 2
   direct neighbors
                                   p(B) = A
 D(v): current value of cost
  of path from source to           N = { A, B, D, E }
  dest. V
 p(v): predecessor node                        5
  along path from source to v                       3
                                                B           C   5
 N: set of nodes already in                2
  spanning tree (least cost         A           2           1       F
                                                        3
  path known)                           1                       2
                                                D           E
                                                    1
                                                                        62
Dijsktra’s Algorithm
  1 Initialization:
  2 N = {A}
  3 for all nodes v
  4    if v adjacent to A
  5      then D(v) = c(A,v)
  6      else D(v) = infinity
  7
  8 Loop
  9    find w not in N such that D(w) is a minimum
  10 add w to N
  11 update D(v) for all v adjacent to w and not in N:
  12      D(v) = min( D(v), D(w) + c(w,v) )
  13 /* new cost to v is either old cost to v or known
  14       shortest path cost to w plus cost from w to v */
  15 until all nodes in N

                                                              63
  Dijkstra’s algorithm: example
Step     N     D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
   0       A      2,A       5,A       1,A    infinity,- infinity,-
   1     AD       2,A       4,D       1,A       2,D     infinity,-
   2    ADE       2,A       3,E       1,A       2,D        4,E
   3   ADEB       2,A       3,E       1,A       2,D        4,E
   4 ADEBC        2,A       3,E       1,A       2,D        4,E
   5 ADEBCF       2,A       3,E       1,A       2,D        4,E

                            5
                                3
                            B           C   5
                        2
                   A        2           1       F
                                    3
                    1                       2
                            D           E
                                1

                                                                 64
 Spanning tree gives routing table
Step      N     D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
       ADEBCF      2,A       3,E       1,A       2,D       4,E

  Result from Dijkstra’s algorithm


  Routing table:     Outgoing link               5
                     to use, cost
                                                     3
                                                 B           C   5
                B     B,2                    2
                                        A        2           1       F
                C    D,3                                 3
                                         1                       2
                                                 D           E
                D    D,1                             1

                E    D,2
                F    D,4                                                 65
Dijkstra’s algorithm performance
Algorithm complexity (n nodes and m links)
N nodes not counting the source
 Computation
    n iterations
    each iteration: need to check all nodes, w, not in N
    n*(n+1)/2 comparisons: O(n2)
    more efficient implementations possible: O(n log n)



 Messages
   network topology and link cost known to all nodes
   each node broadcasts its direct link cost
   O(m) messages per broadcast announcement
   O(n m)                                                  66
    Dijkstra’s algorithm discussion
    Oscillations are possible
     dynamic link cost
               e.g., link cost = amount of carried traffic by link
               c(i,j) != c(j,i)


     Example:


        1       A                  A                    A                   A
                    1+e      2+e        0        0            2+e     2+e       0
    D       0 0         B    D 1+e 1 B          D               B     D 1+e 1 B
                                                        0 0
        0           e         0     0               1         1+e      0     e
1
                C                C                      C                 C
                        1
            e
                              … recompute       … recompute         … recompute
        initially
                                 routing
                                                                                    67
Distance Vector Routing Algorithm
iterative:
                            Distance Table data structure
 continues until no
  nodes exchange info.       each node has its own

 self-terminating: no       row for each possible destination
  “signal” to stop           column for each directly-
                              attached neighbor to node
asynchronous:
                             example: in node X, for dest. Y
 nodes need   not
                              via neighbor Z:
   exchange info/iterate
   in lock step!
distributed:                            distance from X to
                              X       = Y, via Z as next hop
 each node
                            D (Y,Z)
   communicates only with                                 Z
   directly-attached                  = c(X,Z) + minw{D (Y,w)}
   neighbors
                                                                  68
Distance Table: example

                     1                        cost to destination via
                 B       C                E
             7                           D ()     A      B      D
     A           8           2
         1                                    A   1     14       5
                 E       D
                     2

 E
                                              B   7       8      5
                                     D
D (C,D) = c(E,D) + minw {D (C,w)}
        = 2+2 = 4                             C   6       9      4
 E                        D
D (A,D) = c(E,D) + min {D (A,w)}
                      w                       D   4     11       2
        = 2+3 = 5 loop!
 E                        B
D (A,B) = c(E,B) + minw{D (A,w)}
        = 8+6 = 14
                             loop!
                                                                        69
Distance table gives routing table
       cost to destination via
   E                                 Outgoing link
  D ()      A     B      D           to use, cost

       A     1   14       5      A    A,1

       B     7     8      5      B    D,5

       C     6     9      4      C    D,4

       D     4   11       2      D    D,4

           Distance table        Routing table

                                                     70
Distance Vector Routing: overview
Iterative, asynchronous:             Each node:
each local iteration triggered by:
 local link cost change
                                       wait for (change in local link
 message from neighbor: its
                                       cost of msg from neighbor)
   least cost path change from
   neighbor
Distributed:
                                       recompute distance table
 each node notifies neighbors
   only when its least cost path
   to any destination changes
                                       if least cost path to any dest
      neighbors then notify their
       neighbors if necessary
                                       has changed, notify
                                       neighbors



                                                                    71
Distance Vector Algorithm (cont.):
   8 loop
   9 wait (until I see a link cost change to neighbor V
   10      or until I receive update from neighbor V)
   11
   12 if (c(X,V) changes by d)
   13 /* change cost to all dest's via neighbor v by d */
   14 /* note: d could be positive or negative */
   15 for all destinations y: D X(y,V) = D X(y,V) + d
   16
   17 else if (update received from V wrt destination Y)
   18 /* shortest path from V to some Y has changed */
   19 /* V has sent a new value for its min w DV(Y,w) */
   20 /* call this received new value is "newval"        */
   21 for the single destination y: D X(Y,V) = c(X,V) + newval
   22
   23 if we have a new minw DX(Y,w) for any destination Y
   24    send new value of min w D X(Y,w) to all neighbors
   25
   26 forever                                                    72
Distance Vector Algorithm: example




        Y
    2       1
X               Z
        7




                                     73
Distance Vector Algorithm: example



        Y
    2       1
X               Z     X                        Z
        7            D (Y,Z) = c(X,Z) + minw{D (Y,w)}
                            = 7+1 = 8

                      X                        Y
                     D (Z,Y) = c(X,Y) + minw {D (Z,w)}
                            = 2+1 = 3




                                                         74
Comparison of LS and DV algorithms
Message complexity               Robustness: what happens
 LS: with n nodes, E links,       if router malfunctions?
  O(nE) msgs sent each           LS:
 DV: exchange between
                                       node can advertise
  neighbors only
                                        incorrect link cost
    convergence time varies
                                       each node computes only
Speed of Convergence                    its own table
 LS: O(n2) algorithm requires   DV:
  O(nE) msgs                           DV node can advertise
    may have oscillations              incorrect path cost
 DV: convergence time varies          each node’s table used by
    may be routing loops
                                        others
                                         • error propagate thru
    count-to-infinity problem
                                           network
                                                                  75
Hierarchical Routing
             Our routing study thus far - idealization
              all routers identical
              network “flat”
             … not true in practice

scale: with 200 million       administrative autonomy
  destinations:                internet = network of
 can’t store all dest’s in     networks
  routing tables!              each network admin may
 routing table exchange        want to control routing in its
  would swamp links!            own network



                                                                 76
Hierarchical Routing
 aggregate routers into          gateway routers
  regions, “autonomous             special routers in AS
  systems” (AS)                    run intra-AS routing
 routers in same AS run            protocol with all other
                                    routers in AS
  same routing protocol
                                   also responsible for
      “intra-AS” routing
                                    routing to destinations
       protocol
                                    outside AS
      routers in different AS
                                      run inter-AS routing
       can run different intra-
                                        protocol with other
       AS routing protocol
                                        gateway routers




                                                              77
Chapter 4: Network Layer
  Introduction               Routing algorithms
 Virtual circuit and             Link state
  datagram networks               Distance Vector
 What’s inside a router          Hierarchical routing
 IP: Internet Protocol       Routing in the Internet
       Datagram format           RIP
       IPv4 addressing           OSPF
       ICMP                      BGP
       IPv6                   Broadcast and multicast
                               routing




                                                          78
Intra-AS and Inter-AS routing
         C.b                                      Gateways:
                                B.a
                                                    •perform inter-AS
                    A.a                             routing amongst
          b               A.c             c         themselves
a    C                           a
                                              b     •perform intra-AS
                     a                B
                                                    routers with other
                d          c                        routers in their
               A     b
                                                    AS

                                                      network layer
    inter-AS, intra-AS                                link layer
             routing in
           gateway A.c                                  physical layer




                                                                         79
Intra-AS and Inter-AS routing
                                Inter-AS
               C.b               routing
                                between    B.a
                        A.a     A and B                      Host
                b               A.c                  c         h2
    a      C                                a
                                                         b
                          a                      B
    Host              d          c          Intra-AS routing
    h1                     b
                     A                      within AS B
                     Intra-AS routing
                     within AS A


   We’ll examine specific inter-AS and intra-AS
    Internet routing protocols shortly

                                                                    80
Routing in the Internet
 The Global Internet consists of Autonomous Systems
  (AS) interconnected with each other:
      Stub AS: small corporation: one connection to other AS’s
      Multihomed AS: large corporation (no transit)
      Transit AS: backbone networks


 Two-level routing:
    Intra-AS: administrator responsible for choice of routing
     algorithm within network
    Inter-AS: unique standard for inter-AS routing: BGP




                                                                  81
Internet AS Hierarchy
  Intra-AS border (exterior gateway) routers




Inter-AS interior (gateway) routers

                                               82
Intra-AS Routing

 Also known as Interior Gateway Protocols (IGP)
 Most common Intra-AS routing protocols:

      RIP: Routing Information Protocol
      OSPF: Open Shortest Path First

      IGRP: Interior Gateway Routing Protocol (Cisco
       proprietary)




                                                        83
RIP ( Routing Information Protocol)

 Distance vector algorithm
 Included in BSD-UNIX Distribution in 1982
 Distance metric: # of hops (max = 15 hops)
    Can you guess why?



 Distance vectors: exchanged among neighbors every
  30 sec via Response Message (also called
  advertisement)
 Each advertisement: list of up to 25 destination nets
  within AS


                                                          84
RIP: Example
                                                                   z
w               x                                 y
          A            D                   B

                       C
Destination Network   Next Router              Num. of hops to dest.
      w                      A                         2
      y                      B                         2
      z                      B                         7
      x                      --                        1
      ….                     ….                        ....
                      Routing table in D

                                                                   85
 RIP: Example
Dest   Next    hops
 w      -      -          Advertisement
 x      -      -          from A to D
 z      C      4
 ….     …     ...
                                                                         z
   w                  x                                  y
              A               D                  B

                              C
 Destination Network        Next Router              Num. of hops to dest.
        w                          A                         2
        y                          B                         2
        z                          B A                       7 5
        x                          --                        1
        ….                         ….                        ....
                            Routing table in D                           86
RIP: Link Failure and Recovery
If no advertisement heard after 180 sec -->
  neighbor/link declared dead
    routes via neighbor invalidated
    new advertisements sent to neighbors
    neighbors in turn send out new advertisements (if
     tables changed)
    link failure info quickly propagates to entire net
    poison reverse used to prevent ping-pong loops




                                                          87
RIP Table processing

 RIP routing tables managed by application-level
  process called route-d (daemon)
 advertisements sent in UDP packets, periodically
  repeated
                routed                 routed

     Transprt                                Transprt
      (UDP)                                     (UDP)
     network     forwarding     forwarding      network
       (IP)        table           table            (IP)
     link                                           link
     physical                                   physical

                                                           88
OSPF (Open Shortest Path First)
 “open”: publicly available
 Uses Link State algorithm
    LS packet dissemination
    Topology map at each node
    Route computation using Dijkstra’s algorithm



 OSPF advertisement carries one entry per neighbor
  router
 Advertisements disseminated to entire AS (via
  flooding)
      Carried in OSPF messages directly over IP (rather than TCP
       or UDP

                                                                    89
OSPF “advanced” features (not in RIP)

 Security: all OSPF messages authenticated (to
    prevent malicious intrusion)
   Multiple same-cost paths allowed (only one path in
    RIP)
   For each link, multiple cost metrics for different
    TOS (e.g., satellite link cost set “low” for best effort;
    high for real time)
   Integrated uni- and multicast support:
      Multicast OSPF (MOSPF) uses same topology data
       base as OSPF
   Hierarchical OSPF in large domains.
                                                            90
Hierarchical OSPF




                    91
Inter-AS routing in the Internet: BGP
                                                               R4
     R5                                           BGP
                                          R3                    AS3
                                                            (OSPF intra-AS
      AS1                                        AS2           routing)
  (RIP intra-AS                                  (OSPF
     routing)           BGP                     intra-AS
                                                 routing)
                  R1               R2


      Figure 4.5.2-new2: BGP use for inter-domain routing




                                                                             92
Internet inter-AS routing: BGP

 BGP (Border Gateway Protocol):   the de facto
  standard
 Path Vector protocol:
    similar to Distance Vector protocol
    each Border Gateway broadcast to neighbors
     (peers) entire path (i.e., sequence of AS’s) to
     destination
    BGP routes to networks (ASs), not individual
     hosts
    E.g., Gateway X may send its path to dest. Z:


             Path (X,Z) = X,Y1,Y2,Y3,…,Z
                                                       93
Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W
 W may or may not select the path offered by X
    cost, policy (don’t route via competitors AS), loop
     prevention reasons.
 If W selects path advertised by X, then:
                 Path (W,Z) = w, Path (X,Z)
 Note: X can control incoming traffic by controlling its
  route advertisements to peers:
    e.g., don’t want to route traffic to Z -> don’t
     advertise any routes to Z


                                                        94
 BGP: controlling who routes to you
                                             legend:   provider
                        B                              network
                                     X
  W           A
                                                       customer
                         C                             network:

                                     Y

       Figure 4.5-BGPnew: a simple BGP scenario
 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


                                                                  95
 BGP: controlling who routes to you
                                            legend:   provider
                       B                              network
                                    X
  W          A
                                                      customer
                        C                             network:

                                    Y


 A advertises to B the path AW
      Figure 4.5-BGPnew: a simple BGP scenario

 B advertises to X the path BAW
 Should B advertise to C the path BAW?
    No way! B gets no “revenue” for routing CBAW since neither
     W nor C are B’s customers
    B wants to force C to route to w via A
    B wants to route only to/from its customers!
                                                                  96
BGP messages
 BGP messages exchanged using TCP.
 BGP messages:
   OPEN: opens TCP connection to peer and
    authenticates sender
   UPDATE: advertises new path (or withdraws old)
   KEEPALIVE keeps connection alive in absence of
    UPDATES; also ACKs OPEN request
   NOTIFICATION: reports errors in previous msg;
    also used to close connection



                                                     97
Why different Intra- and Inter-AS routing ?

Policy:
 Inter-AS: admin wants control over how its traffic
  routed, who routes through its net.
 Intra-AS: single admin, so no policy decisions needed
Scale:
 hierarchical routing saves table size, reduced update
  traffic
Performance:
 Intra-AS: can focus on performance
 Inter-AS: policy may dominate over performance


                                                          98

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:2/27/2013
language:English
pages:98