Docstoc

Chapter 7 Lecture Presentation

Document Sample
Chapter 7 Lecture Presentation Powered By Docstoc
					               Chapter 7
        Packet-Switching
               Networks
7.1 Network Services and Internal Network
                                 Operation
             7.2 Packet Network Topology
        7.3 Datagrams and Virtual Circuits
           7.4 Routing in Packet Networks
                 7.5 Shortest Path Routing
                            ATM Networks
                      Traffic Management
         Chapter 7
  Packet-Switching
         Networks
  7.1 Network Services and
Internal Network Operation
Network Layer
   Network layer is the most complex layer
   Requires the coordinated actions of multiple,
    geographically distributed network elements
    (switches & routers)
   Must be able to deal with very large scales
       Billions of users (people & communicating devices)
   Biggest Challenges
       Addressing: where should information be directed to?
       Routing: what path should be used to get information there?
Packet Switching

       t0                                    t1


                         Network




   Transfer of information as payload in data packets
   Packets undergo random delays & possible loss
   Different applications impose differing requirements
    on the transfer of information
 Network Service
          Messages
                                                       Messages

          Transport                 Segments           Transport
            layer                                        layer
Network                                                             Network
service                                                             service
          Network       Network          Network        Network
           layer         layer            layer          layer
          Data link     Data link        Data link      Data link    End
 End       layer         layer            layer          layer
                                                                    system
system
          Physical      Physical         Physical       Physical       β
   α                                                     layer
           layer         layer            layer




    Network layer can offer a variety of services to transport layer
    Connection-oriented service or connectionless service
    Best-effort or delay/loss guarantees
 Network Service vs. Operation
 Network Service                      Internal Network Operation
  Connectionless                      Connectionless
        Datagram Transfer                   IP
    Connection-Oriented                 Connection-Oriented
        Reliable and possibly               Telephone connection
         constant bit rate transfer          ATM

Various combinations are possible
 Connection-oriented service over connectionless operation

 Connectionless service over connection-oriented operation

 Context & requirements determine what makes sense
Complexity at the Edge or in the Core?

                                              C


                                       12    3    21



 End system                                                                 End system
      α                                                                          β
     4 3 21           12     3   21
                                            Medium
                                                     12       3      21        123 4
                                                              2
                                   A                 B        1

                                       Network
1   Physical layer entity                                 3       Network layer entity
    Data link layer entity   3   Network layer entity
2                                                         4   Transport layer entity
End-to-End Argument for System Design
    An end-to-end function is best implemented at a
     higher level than at a lower level
        End-to-end service requires all intermediate components to
         work properly
        Higher-level better positioned to ensure correct operation
    Example: stream transfer service
        Establishing an explicit connection for each stream across
         network requires all network elements (NEs) to be aware of
         connection; All NEs have to be involved in re-
         establishment of connections in case of network fault
        In connectionless network operation, NEs do not deal with
         each explicit connection and hence are much simpler in
         design
Network Layer Functions
Essential
 Routing: mechanisms for determining the set of
  best paths for routing packets requires the
  collaboration of network elements
 Forwarding: transfer of packets from NE inputs to
  outputs
 Priority & Scheduling: determining order of packet
  transmission in each NE
Optional: congestion control, segmentation &
  reassembly, security
           Chapter 7
    Packet-Switching
           Networks
7.2 Packet Network Topology
End-to-End Packet Network
   Packet networks are very different than telephone
    networks
   Individual packet streams are highly bursty
       Statistical multiplexing is used to concentrate streams
   User demand can undergo dramatic change
       Peer-to-peer applications stimulated huge growth in traffic
        volumes
   Internet structure highly decentralized
       Paths traversed by packets can go through many networks
        controlled by different organizations
       No single entity responsible for end-to-end service
Access Multiplexing


                                   Access
                                    MUX
                                              To
                                            packet
                                            network



   Packet traffic from users multiplexed at access to
    network into aggregated streams
   DSL traffic multiplexed at DSL Access Mux (DSLAM)
   Cable modem traffic multiplexed at Cable Modem
    Termination System
      Oversubscription
                        Access Multiplexer
r                           N subscribers connected @ c bps to mux
r                           Each subscriber active with avg trans rate r = r/c of time
                            Mux has C=nc bps to network
       •••
•••




             nc             Oversubscription ratio: N/n
 r
                            Find n so that at most 1% overflow probability
 Nr     Nc
                   Feasible oversubscription rate increases with size N


       N          r/c              n          N/n
       10         0.01             1           10       10 extremely lightly loaded users

       10         0.05             3           3.3      10 very lightly loaded user
       10         0.1              4           2.5      10 lightly loaded users
       20         0.1              6           3.3      20 lightly loaded users
       40         0.1              9           4.4      40 lightly loaded users
       100        0.1             18           5.5      100 lightly loaded users
Home LANs
                         WiFi

                        Ethernet        Home
                                        Router
                                                    To
                                                  packet
                                                  network



   Home Router
       LAN Access using Ethernet or WiFi (IEEE 802.11)
       Private IP addresses in Home (192.168.0.x) using Network
        Address Translation (NAT)
       Single global IP address from ISP issued using Dynamic
        Host Configuration Protocol (DHCP)
LAN Concentration
                         Switch
                        / Router


                                   




   LAN hubs and switches in the access network also
    aggregate packet streams that flows into switches
    and routers
                                                              Servers have
  Campus Network                                              redundant
                                                              connectivity to
                                                              backbone
                                       Organization
         To Internet or                Servers
          wide area
           network
                                                                s       s
                                        Gateway
                Backbone
                                                               R        R
                                         R
                                                      S
                                              S                     S
 Departmental                      R                                        R
 Server                                                   R
                                                                                s
                               s
                                                          s
 High-speed
Only outgoing
 campus
packets leave              s       s                                        s       s
 backbone net                                         s         s
LAN through
 connects dept
router
 routers
Connecting to Internet Service Provider
                                            Internet service provider



     Border routers



Campus
                                  Border routers
Network
                                                   Inter-domain level
     Autonomous
    System (AS) or
       domain
                                    Intra-domain level
                          s
           LAN                     network administered
                      s       s
                                   by single organization
Internet Backbone
              National Service Provider A




               National Service Provider B


                                                               NAP
    NAP
              National Service Provider C           Private
                                                    peering




   Network Access Point (NAP): set up during original
    commercialization of Internet to facilitate exchange of traffic
   Private Peering Points: two-party inter-ISP agreements to
    exchange traffic
Key Role of Routing
How to get packets from here to there?
 Decentralized nature of Internet makes
  routing a major challenge
    Interior gateway protocols (IGPs) are used to
     determine routes within a domain
    Exterior gateway protocols (EGPs) are used to
     determine routes across domains
    Routes must be consistent & produce stable flows
                      POSTECH 캠퍼스 네트워크망 구성도                                                                                                                                                              수정일 : 2005/10/03
                                                                                                                                                                                                             남기숙사 #1

                                                                                                                                                                                                             남기숙사 #2
                                                                       Catalyst 3550                          낙원아파트 #2
                                                  공학1동                                                                                                                                                       남기숙사 #3
                                                                                                                                 Catalyst 2950G
         공학2동                                                                                                 낙원아파트 #2                                                                                       남기숙사 #4
                                                                                                                                 Catalyst 2950G                                                              남기숙사 #5
                     Catalyst 3550
                                                                                                              낙원아파트 #3
                                                                                                                                                                                                             남기숙사 #6
                                                                                                                                 Catalyst 2950G
         공학3동
                                                                                                                                                                                                             남기숙사 #7
                     Catalyst 3550                                                                            낙원아파트 #4
                                                                                                                                  Catalyst 2950G                                                             남기숙사 #8
         공학4동                                                                                                 낙원아파트 #5
                                                                                                                                                                                                             남기숙사 #9
                     Catalyst 3550                                                                                               Catalyst 2950G
                                                                                                              낙원아파트 #6                                                                                       남기숙사 #10
         공학5동
                                                                                                                                  Catalyst 2950G                                                             남기숙사 #41
                     Catalyst 3550
                                                                                                                                                                                                             남기숙사 #12
     정보통신연구소                                                                                                                               Catalyst 3550G
                                                                                                                          Catalyst 6506                                                                      남기숙사 #13
                     Catalyst 3550
                                                                                                                                                                                                             남기숙사 #14
                                                            Catalyst 6513
     LG전자연구동                                                                                               Catalyst 6513                                                                                     남기숙사 #15
                     Catalyst 3550
                                                                                                                                                                                                             남기숙사 #416
         환경공학동                                                                                                                                                                                               남기숙사 #17

     본부동/동편
                     Catalyst 3550
                                                                 Campus Core Switch                                                                                                                          남기숙사 #18
                     Catalyst 3550                                                                                                                                                                           남기숙사 #19
     본부동/서편                                                                                                                                                                                                  남기숙사 #20
                     Catalyst 3550
                                                                                                                                                                                                             여기숙사 #1
     인문사회학동
                    Catalyst 3550                                                                                                                                                                            여기숙사 #2
         학생회관
                                                                                                                                                                                                             여기숙사 #3
                    Catalyst 3550
         철강대학원                                                                                                                                                                                               대학원APT #1
                    Catalyst 3550                                                                                                                                                                            대학원APT #2
                                                      Catalyst 6509
산과원1동                                                                                                                                                                                                        대학원APT #3
             Catalyst 2916MXL                                                                                                                                                                                대학원APT #4
산과원2동
                                                                                                                                                                                                              기숙사 P/P
             Catalyst 2916MXL
                                 Catalyst 5500
 1 P/P                                                                                                                                                                                                        지곡회관
             Catalyst 2924CXL                                                                                                                                                            Catalyst 3560
                                                                                                                                                                                                             교수아파트 #4
산과원3동
                                                                                                                                                                                                             교수아파트 #5
     무은재기념관
                                                                                                                                                                                                             교수아파트 #6
                                                 Catalyst 6509                                                                                                                      Catalyst 3550
          학술정보관
                                                                 Catalyst 3550 Catalyst 3550 Catalyst 3550 Catalyst 3550 Catalyst 3550                                                                       교수아파트 #7
          생명공학연구센터
                                                                                                                            Catalyst 5500          Catalyst 5500                                             교수아파트 #8

            4 P/P                                                                                                                  가속기연구소                                                                    교수아파트 #9

                                Catalyst 2916    Catalyst 6509                                                                                          Catalyst 2924CXL Catalyst 2924CXL Catalyst 2924CXL
                                                            기계실험동         화공실험동             산공실험동                화학관            생명과학관                       공작동              풍동동               2 P/P          체육관
                    POSTECH 인터넷전용회선 망 구성도                                                                                                                             수정일 : 2005/08/01




KREONET                                                   KORNET                                    BORANET
                                                                                                                                                                          LX (Singlemode)

                                        RS 38000                                                                         RS 3000                                         SX (Multimode)

                                                                                                                                                                         계획중
                                                                            침입방지시스템-IPS
         2.5G LX     MSPP Switch                         FDF                 (NXG IPS2000)                       FDF
                     (ONS 15454))
                                                         1G LX                                                   1G LX



                           QoS 장비
                           (Packetshape                                                                                      QoS 장비
                           r 8500)                       1G SX                                                   1G SX     (Packetshaper
                                                                                                                               8500)



                          Internet 전용 Router             1G LX                                                   1G LX           Internet 전용 Router
                              (Cisco 7513)                                                                                         (Cisco 7401ASR)
                                                                                                                                                                Thin Server
                                                                                100M Tx
                                                                                                                                                                  (Linux)



                                                                                             Giga TAP Station
                                                                                             (Monitoring Port)
                                                                        1G SX        1G SX
                                    Campus Core Switch
                                      (Catalyst 6513)                                                 1G SX




                                                                        1G SX        1G SX




                                                                                                                                                                  100M Tx
                                                                                4G LX
                                                                                                                                           Server Farm Switch
                                                                                                                                             (Catalyst 3550)

                                                                                1G LX

Building Switch
                                      1G LX                                                                                   1G LX
(Catalyst 3550T)




                   공학1동                                          공학5동     무은재기념관                   기계실험동                                       생명공학연구센터
             Chapter 7
      Packet-Switching
             Networks
Datagrams and Virtual Circuits
    The Switching Function
   Dynamic interconnection of inputs to outputs
   Enables dynamic sharing of transmission resource
   Two fundamental approaches:
       Connectionless
       Connection-oriented: Call setup control, Connection control

                           Backbone Network

                                         Switch



        Access Network
Packet Switching Network
                                Packet switching network
User                             Transfers packets
                                  between users
                 Transmission
                     line        Transmission lines +
                                  packet switches
       Network                    (routers)
                  Packet
                  switch         Origin in message
                                  switching
                                Two modes of operation:
                                 Connectionless
                                 Virtual Circuit
    Message Switching
                                              Message switching
                                               invented for telegraphy
  Message    Message                          Entire messages
                       Message                 multiplexed onto shared
Source
                                               lines, stored & forwarded
                                 Message      Headers for source &
                                               destination addresses
                                              Routing at message
            Switches        Destination
                                               switches
                                              Connectionless
Message Switching Delay

Source            T
                                                        t
Switch 1
                                                        t
              
Switch 2
                                                        t

                                                        t
Destination
                                  Delay

                  Minimum delay = 3 + 3T


     Additional queueing delays possible at each link
    Packet Switching - Datagram
   Messages broken into
    smaller units (packets)
   Source & destination
                                             Packet 1
    addresses in packet header
                                                        Packet 1
   Connectionless, packets
                                 Packet 2
    routed independently
    (datagram)
   Packets may arrive out of                           Packet 2
    order
                                            Packet 2
   Lower delay than message
    switching, suitable for
    interactive traffic
Packet Switching Delay
Assume three packets corresponding to one message
traverse same path
                                                     t
     1   2   3
                                                     t
             1    2      3
                                                     t
                         1   2   3
                                                     t
                 Delay
Minimum Delay = 3τ + 5(T/3) (single path assumed)
Additional queueing delays possible at each link
Packet pipelining enables message to arrive sooner
Delay for k-Packet Message over L Hops
Source
                                                                             t
                  1   2   3
Switch 1
                                                                            t
                          1   2     3
Switch 2
                                                                             t
                                    1   2   3
                                                                             t
Destination
             3 hops                                  L hops
   3 + 2(T/3) first bit received           L + (L-1)P first bit received

   3 + 3(T/3) first bit released           L + LP first bit released

   3 + 5 (T/3) last bit released           L + LP + (k-1)P last bit released
                                            where T = k P
Routing Tables in Datagram Networks

 Destination   Output
                           Route determined by table
  address       port
                            lookup
   0785         7          Routing decision involves
                            finding next hop in route to
    1345
                            given destination
               12
                           Routing table has an entry
    1566        6           for each destination
                            specifying output port that
                            leads to next hop
                           Size of table becomes
    2458        12
                            impractical for very large
                            number of destinations
Example: Internet Routing
   Internet protocol uses datagram packet
    switching across networks
       Networks are treated as data links
   Hosts have two-part IP address:
       Network address + Host address
   Routers do table lookup on network address
       This reduces size of routing table
   In addition, network addresses are assigned so
    that they can also be aggregated
    Packet Switching – Virtual Circuit

               Packet    Packet
                                            Packet

                                                     Packet

                          Virtual circuit




   Call setup phase sets up pointers in fixed path along network
   All packets for a connection follow the same path
   Abbreviated header identifies connection on each link
   Packets queue for transmission
   Variable bit rates possible, negotiated during call set-up
   Delays variable, cannot be less than circuit switching
Connection Setup
        Connect         Connect                     Connect
        request         request                     request
                  SW              SW   …      SW
                   1               2           n
        Connect         Connect                     Connect
        confirm         confirm                     confirm

   Signaling messages propagate as route is selected
   Signaling messages identify connection and setup tables
    in switches
   Typically a connection is identified by a local tag, Virtual
    Circuit Identifier (VCI)
   Each switch only needs to know how to relate an
    incoming tag in one input to an outgoing tag in the
    corresponding output
   Once tables are setup, packets can flow along path
   Connection Setup Delay
                                                                  t
Connect
request
                            1   2   3
                    CC
                                                                  t
                                                        Release
       CR                           1   2   3
                  CC
                                                                  t
                  Connect
            CR                              1   2   3
                  confirm
                                                                  t


      Connection setup delay is incurred before any
       packet can be transferred
      Delay is acceptable for sustained transfer of large
       number of packets
      This delay may be unacceptably high if only a few
       packets are being transferred
Virtual Circuit Forwarding Tables

Input   Output   Output
 VCI     port     VCI
                             Each input port of packet switch
 12       13       44
                              has a forwarding table
                             Lookup entry for VCI of
 15       15       23
                              incoming packet
                             Determine output port (next hop)
 27       13       16         and insert VCI for next link
                             Very high speeds are possible
                             Table can also include priority
 58       7
                              or other information about how
                    34
                              packet should be treated
    Cut-Through Switching
   A modified form of virtual-circuit switching
   Can be used when retransmissions are not used in the
    underlying data link control
   Perform error checking on header only, so packet can be
    forwarded as soon as header is received & processed
   Assumes that all lines are available to transmit the packet
    immediately
   Desirable for applications such as VoIP, streaming which
    has a delay requirement but can tolerate some errors
   Appropriate when the transmission is virtually error free,
    e.g., optical fiber transmission
Cut-Through Switching

Source
                                                   t
              1        2           3
Switch 1
                                                   t
                   1           2           3
Switch 2
                                                   t
                           1           2       3
                                                   t
Destination
                  Minimum delay = 3 + T


   Delays reduced with cut-through switching
Example: ATM Networks
   All information mapped into short fixed-length
    packets called cells
   Connections set up across network
       Virtual circuits established across networks
       Tables setup at ATM switches
   Several types of network services offered
       Constant bit rate (CBR) connections
       Variable bit rate (VBR) connections
             Chapter 7
      Packet-Switching
             Networks
Datagrams and Virtual Circuits
  Structure of a Packet Switch
Packet Switch: Intersection where
Traffic Flows Meet
    •••




                  1                             1




                                                     •••
                  2                             2
                                                
    •••




                  
                                                
                  
                                                
                  


                  N                             N




   Inputs contain multiplexed flows from access muxs &
    other packet switches
   Flows demultiplexed at input, routed and/or forwarded
    to output ports
   Packets buffered, prioritized, and multiplexed on output
    lines
    Generic Packet Switch
                                                              Ingress Line Cards
                Controller                                        Header processing
                                                                  Demultiplexing
                                                                  Routing in large switches
                                                              Controller
1       Line card                       Line card     1           Routing in small switches
2                                                     2            Signalling & resource
                    Interconnection




        Line card                       Line card              
3                                                     3
                                                                   allocation
                         fabric




        Line card                       Line card
                                                              Interconnection Fabric
                                                                  Transfer packets between
                                                    …
         …
…




                                            …




                                                                   line cards
N       Line card                       Line card     N       Egress Line Cards
                                                                  Scheduling & priority
Input ports                                 Output ports          Multiplexing

          Data path
         Control path                 (a)
Line Cards
       Transceiver   Framer

                               Network     Backplane
                              processor   transceivers

       Transceiver   Framer




                                                                   Interconnection
      To                                            To       To




                                                                        fabric
    physical                                      switch
     ports                                        fabric
                                                           other
                                                            line
                                                           cards
Folded View
 1 circuit board is ingress/egress line card
 Physical layer processing
 Data link layer processing
 Network header processing
 Physical layer across fabric + framing
Shared Memory Packet Switch
    Ingress                                            Output
   Processing                                         Buffering
                            Connection
                             Control
     1                                                      1
                              Queue
     2                        Control                        2

     3                                                       3
                              Shared
         …




                                                      …
                              Memory

     N                                                       N



 Small switches can be built by reading/writing into shared memory
    Crossbar Switches
                  (a) Input buffering                (b) Output buffering
    Inputs                                  Inputs
     1        3                             1

     2       83                             2
     3                                      3




                                                …
             …




    N                                       N



                                    …                                  …

                      1   2 3           N               1   2 3             N
                          Outputs                            Outputs
    Large switches built from crossbar & multistage space switches
    Requires centralized controller/scheduler (who sends to whom
     when)
    Can buffer at input, output, or both (performance vs complexity)
Self-Routing Switches
          Inputs                                 Outputs
           0                                         0
           1                                         1

           2                                         2
           3                                         3

           4                                         4
           5                                         5

           6                                         6

           7                                         7
                   Stage 1   Stage 2   Stage 3


   Self-routing switches do not require controller
   Output port number determines route
   101 → (1) lower port, (2) upper port, (3) lower port
          Chapter 7
   Packet-Switching
          Networks
Routing in Packet Networks
Routing in Packet Networks
                 1             3
                                                 6


                           4


                 2                           Node
                                   5
                                       (switch or router)


   Three possible (loopfree) routes from 1 to 6:
       1-3-6, 1-4-5-6, 1-2-5-6
   Which is “best”?
       Min delay? Min hop? Max bandwidth? Min cost?
        Max reliability?
Creating the Routing Tables
   Need information on state of links
       Link up/down; congested; delay or other metrics
   Need to distribute link state information using a
    routing protocol
       What information is exchanged? How often?
       Exchange with neighbors – how?
   Need to compute routes based on information
       Single metric; multiple metrics
       Single route; alternate routes
Routing Algorithm Requirements
   Responsiveness to changes
       Topology or bandwidth changes, congestion
       Rapid convergence of routers to consistent set of routes
       Freedom from persistent loops
   Optimality
       Resource utilization, path length
   Robustness
       Continues working under high load, congestion, faults,
        equipment failures, incorrect implementations
   Simplicity
       Efficient software implementation, reasonable processing
        load
Routing in Virtual-Circuit Packet Networks

                           2
             1                                         7             8
                       1               3                                      B
     A                     3
             5                                     1           6         5
                               4
                                           2
                 VCI
      Host                     4

                           3       5                       Switch or router
                       2
      C                                        5
             6
                                                       2       D



   Route determined during connection setup
   Tables in switches implement forwarding that
    realizes selected route
Routing Tables in VC Packet Networks
                                 Node 3
                           Incoming   Outgoing
          Node 1           Node VCI   Node VCI         Node 6
    Incoming    Outgoing    1    2     6    7    Incoming   Outgoing
    Node VCI    Node VCI    1    3     4    4    Node VCI   Node VCI
     A   1       3    2     4    2     6    1     3    7     B    8
     A   5       3    3     6    7     1    2     3    1     B    5
     3    2      A    1     6    1     4    2     B    5     3    1
     3    3      A    5     4    4     1    3     B    8     3    7

                                      Node 4
                           Incoming   Outgoing
                           Node VCI   Node VCI
               Node 2       2    3     3    2
                                                            Node 5
                            3    4     5    5
    Incoming   Outgoing     3    2     2    3    Incoming   Outgoing
    Node VCI   Node VCI     5    5     3    4    Node VCI   Node VCI
     C    6     4    3                            4    5     D    2
     4    3     C    6                            D    2     4    5


   Example: VCI from A to D
       From A & VCI 5 → 3 & VCI 3 → 4 & VCI 4
        → 5 & VCI 5 → D & VCI 2
 Routing Tables in Datagram
 Packet Networks
                                     Node 3

         Node 1             Destination    Next node            Node 6
 Destination    Next node      1              1        Destination   Next node
                               2              4           1              3
   2              2
                               4              4           2              5
   3              3
   4              4            5              6           3              3
                               6              6           4              3
   5              2
   6              3                                       5              5

                                          Node 4
                            Destination    Next node
                               1               1
                               2               2
              Node 2                                                Node 5
                               3               3
Destination    Next node                                Destination   Next node
                               5               5
   1               1           6               3          1             4
   3               1                                      2             2
   4               4                                      3             4
   5               5                                      4             4
   6               5                                      6             6
Non-Hierarchical Addresses and
Routing
           0000                                         0001
           0111                                         0100
           1010   1                             4       1011
           1101                                         1110
                                 3
                        R1            R2
                  2                                 5
           0011                                          0011
           0110       0000   1       0001   4            0101
           1001       0111   1       0100   4            1000
           1100       1010   1       1011   4            1111
                      …      …       …      …



   No relationship between addresses & routing
    proximity
   Routing tables require 16 entries each
Hierarchical Addresses and
Routing
           0000                                      0100
           0001                                      0101
           0010   1                          4       0110
           0011                                      0111
                                3
                       R1            R2
                  2                              5
           1000                                       1100
           1001        00   1       00   3            1101
           1010        01   3       01   4            1110
           1011        10   2       10   3            1111
                       11   3       11   5




   Prefix indicates network where host is attached
   Routing tables require 4 entries each
Specialized Routing
   Flooding
       Useful in starting up network
       Useful in propagating information to all nodes
Flooding
Send a packet to all nodes in a network
 No routing tables available

 Need to broadcast packet to all nodes (e.g., to
  propagate link state information)

Approach
 Send packet on all ports except one where it
  arrived
 Exponential growth in packet transmissions
          1                            3
                                                         6



                                   4



          2
                                             5



Flooding is initiated from Node 1: Hop 1 transmissions
        1                            3
                                                         6



                                 4



        2
                                           5




Flooding is initiated from Node 1: Hop 2 transmissions
        1                            3
                                                         6



                                 4



        2
                                           5




Flooding is initiated from Node 1: Hop 3 transmissions
       Chapter 7
Packet-Switching
       Networks
 Shortest Path Routing
Shortest Paths & Routing
   Many possible paths connect any given source
    and to any given destination
   Routing involves the selection of the path to be
    used to accomplish a given transfer
   Typically it is possible to attach a cost or
    distance to a link connecting two nodes
   Routing can then be posed as a shortest path
    problem
Routing Metrics
Means for measuring desirability of a path
 Path Length = sum of costs or distances

 Possible metrics
     Hop count: rough measure of resources used
     Reliability: link availability; BER
     Delay: sum of delays along path; complex & dynamic
     Bandwidth: “available capacity” in a path
     Load: Link & router utilization along path
     Cost: $$$
Shortest Path Approaches
   Distance Vector Protocols
       Neighbors exchange list of distances to destinations
       Best next-hop determined for each destination
       Bellman-Ford (distributed) shortest path algorithm


   Link State Protocols
       Link state information flooded to all routers
       Routers have complete topology information
       Shortest path (& hence next hop) calculated
       Dijkstra (centralized) shortest path algorithm
Distance Vector
Do you know the way to San Jose?


                           San Jose 392




   San Jose 596
Distance Vector Algorithm
Local Signpost                  Table Synthesis
 Direction                      Neighbors exchange
 Distance                        table entries
                                 Determine current best

Routing Table                     next hop
For each destination list:       Inform neighbors
                                     Periodically
 Next Node
                                     After changes
 Distance     dest next dist
 Shortest Path to SJ
Focus on how nodes find their shortest
path to a given destination node, i.e., SJ       San
                                                 Jose

                   Dj
          Cij
                   j
      i
 Di         If Di is the shortest distance to SJ from i
            and if j is a neighbor on the shortest path,
            then Di = Cij + Dj
  But we don’t know the shortest
  paths

i only has local info
  from neighbors                                       San
        Dj'                                            Jose
                 j'
      Cij'
                                   Dj
                 Cij          j
             i
                       Cij”                    Pick current
 Di                           j"
                                        Dj"   shortest path
Why Distance Vector Works                   SJ sends
                                          accurate info


                                                   San
            2 Hops
                       1 Hop
                      From SJ
                                                   Jose
  3 Hops   From SJ
 From SJ




                                                Hop-1 nodes
                                                calculate current
                                                (next hop, dist), &
                      Accurate info about SJ    send to neighbors
                      ripples across network,
                     Shortest Path Converges
Bellman-Ford Algorithm
   Consider computations for one destination d
   Initialization
     Each node table has 1 row for destination d
     Distance of node d to itself is zero: Dd=0
     Distance of other node j to d is infinite: Dj=, for j d
     Next hop node nj = -1 to indicate not yet defined for j  d
   Send Step
     Send new distance vector to immediate neighbors across local link
   Receive Step
     At node j, find the next hop that gives the minimum distance to d,

           Minj { Cij + Dj }
           Replace old (nj, Dj(d)) by new (nj*, Dj*(d)) if new next node or distance
       Go to send step
Bellman-Ford Algorithm
   Now consider parallel computations for all destinations d
   Initialization
     Each node has 1 row for each destination d
     Distance of node d to itself is zero: Dd(d)=0
     Distance of other node j to d is infinite: Dj(d)=  , for j  d
     Next node nj = -1 since not yet defined
   Send Step
     Send new distance vector to immediate neighbors across local link
   Receive Step
     For each destination d, find the next hop that gives the minimum
        distance to d,
           Minj { Cij+ Dj(d) }
           Replace old (nj, Di(d)) by new (nj*, Dj*(d)) if new next node or distance
            found
       Go to send step
Iteration     Node 1          Node 2             Node 3       Node 4            Node 5

Initial       (-1, )         (-1, )           (-1, )       (-1, )           (-1, )
   1
   2
   3

            Table entry                     Table entry
            @ node 1                        @ node 3
            for dest SJ                     for dest SJ
                                    2                     3
                 1                                                      1                 San
                               5             2

                                        4
                                                                                          Jose
                     3         1                      3                            6

                                                                            2
                          2                                   5
                                            4
Iteration   Node 1         Node 2            Node 3     Node 4            Node 5

Initial     (-1, )        (-1, )           (-1, )    (-1, )           (-1, )
   1        (-1, )        (-1, )           (6,1)      (-1, )           (6,2)
   2
   3

                                                 D3=D6+1
                                                   n3=6
                                                                           D6=0
                                 2                     3 1
               1                                                  1
                            5            2
                                                                             0
                                     4                                              San
                   3                                                         6
                            1                     3
                                                                                    Jose
                       2                                5             2
                                         4
                                                            2
                                D5=D6+2                                      D6=0
                                  n5=6
Iteration   Node 1         Node 2               Node 3        Node 4              Node 5

Initial     (-1, )        (-1, )              (-1, )       (-1, )             (-1, )
   1        (-1, )        (-1, )              (6, 1)        (-1, )             (6,2)
   2        (3,3)          (5,6)                (6, 1)            (3,3)           (6,2)
   3



              3                                           1
                                    2                     3
               1                                                          1
                             5              2
                                        3                                            0
                                        4                                                   San
                   3                                                                 6
                             1                        3
                                                                                            Jose
                       2                                                      2
                                                              5
                                            4
                       6                                      2
Iteration   Node 1         Node 2                Node 3           Node 4            Node 5

Initial     (-1, )        (-1, )           (-1, )              (-1, )           (-1, )
   1        (-1, )        (-1, )               (6, 1)           (-1, )           (6,2)
   2        (3,3)          (5,6)                 (6, 1)           (3,3)             (6,2)
   3        (3,3)          (4,4)                 (6, 1)           (3,3)             (6,2)



                                                              1
                3                    2                        3
               1                                                            1
                             5               2
                                         3                                             0
                                         4                                                    San
                   3                                                                   6
                             1                            3
                                                                                              Jose
                                                                                2
                       2                                          5
                                             4
                       4 4                                        2
Iteration   Node 1             Node 2              Node 3       Node 4              Node 5

Initial      (3,3)                 (4,4)           (6, 1)           (3,3)           (6,2)
   1         (3,3)                 (4,4)           (4, 5)           (3,3)           (6,2)
   2
   3


                                                                1 5
               3                           2
                                                                3
                   1                                                        1
                                     5             2
                                           3                                            0
                                               4                                             San
                       3                                                                6
                                     1                      3
                                                                                             Jose
                                                                                2
                               2                                    5
                           4                       4
                                                                    2
       Network disconnected; Loop created between nodes 3 and 4
Iteration      Node 1         Node 2               Node 3           Node 4           Node 5

Initial         (3,3)         (4,4)                (6, 1)           (3,3)            (6,2)
   1            (3,3)         (4,4)                (4, 5)           (3,3)            (6,2)
   2            (3,7)         (4,4)                (4, 5)           (5,5)            (6,2)
   3


                                                                    5
                   37                  2
                                                                3
                  1                                                          1
                                5      53      2
                                                                                        0
                                           4                                                  San
                      3                                                                 6
                                1                           3
                                                                                              Jose
                                                                                 2
                          2                                         5
                                               4
                          4                                             2

            Node 4 could have chosen 2 as next node because of tie
Iteration      Node 1          Node 2           Node 3           Node 4           Node 5

Initial        (3,3)           (4,4)            (6, 1)           (3,3)            (6,2)
   1           (3,3)           (4,4)            (4, 5)           (3,3)            (6,2)
   2           (3,7)           (4,4)            (4, 5)           (5,5)            (6,2)
   3           (3,7)           (4,6)            (4, 7)           (5,5)            (6,2)


                                                             5 7
                  7                     2                    3
                  1                                                       1
                                 5              2
                                            5                                        0
                                            4                                              San
                      3                                                               6
                                 1                       3
                                                                                           Jose
                           2                                     5            2
                                                4
                          46                                     2

            Node 2 could have chosen 5 as next node because of tie
Iteration    Node 1         Node 2           Node 3       Node 4              Node 5

   1         (3,3)          (4,4)            (4, 5)           (3,3)           (6,2)
   2         (3,7)          (4,4)            (4, 5)           (2,5)           (6,2)
   3         (3,7)          (4,6)            (4, 7)           (5,5)           (6,2)
   4         (2,9)          (4,6)            (4, 7)           (5,5)           (6,2)



                 79                  2                        7
                                                          3
                1                                                     1
                              5              2
                                         5                                        0
                                         4                                             San
                    3                                                             6
                              1                       3
                                                                                       Jose
                                                                          2
                        2                                     5
                                             4
                        6                                      2

            Node 1 could have chose 3 as next node because of tie
Counting to Infinity Problem
  (a)      1          2            3            4
                  1           1        1            Nodes believe best
                                                    path is through each
  (b)      1          2            3   X        4   other
                  1           1
                                                    (Destination is node 4)
        Update            Node 1           Node 2         Node 3

   Before break           (2,3)            (3,2)           (4, 1)
    After break           (2,3)            (3,2)           (2,3)
          1               (2,3)            (3,4)           (2,3)
          2               (2,5)            (3,4)           (2,5)
          3               (2,5)            (3,6)           (2,5)
          4               (2,7)            (3,6)           (2,7)
          5               (2,7)            (3,8)           (2,7)
         …                 …                …               …
Problem: Bad News Travels Slowly

Remedies
 Split Horizon
       Do not report route to a destination to the
        neighbor from which route was learned
   Poisoned Reverse
       Report route to a destination to the neighbor
        from which route was learned, but with infinite
        distance
       Breaks erroneous direct loops immediately
       Does not work on some indirect loops
Split Horizon with Poison Reverse
   (a)       1            2             3             4
                 1             1              1                   Nodes believe best
                                                                  path is through
   (b)       1            2             3     X       4           each other
                 1             1



  Update         Node 1        Node 2       Node 3
Before break         (2, 3)    (3, 2)       (4, 1)
 After break         (2, 3)    (3, 2)       (-1, )       Node 2 advertizes its route to 4 to
                                                          node 3 as having distance infinity;
                                                          node 3 finds there is no route to 4

         1           (2, 3)    (-1, )      (-1, )       Node 1 advertizes its route to 4 to
                                                          node 2 as having distance infinity;
                                                          node 2 finds there is no route to 4

         2           (-1, )   (-1, )      (-1, )       Node 1 finds there is no route to 4
Link-State Algorithm
   Basic idea: two step procedure
       Each source node gets a map of all nodes and link metrics
        (link state) of the entire network
       Find the shortest path on the map from the source node to
        all destination nodes
   Broadcast of link-state information
       Every node i in the network broadcasts to every other node
        in the network:
           ID’s of its neighbors: Ni=set of neighbors of i
           Distances to its neighbors: {Cij | j Ni}
       Flooding is a popular method of broadcasting packets
 Dijkstra Algorithm: Finding
 shortest paths in order
Find shortest paths from        Closest node to s is 1 hop away
source s to all other
destinations                      2nd closest node to s is 1 hop
                                         away from s or w”
                                 3rd closest node to s is 1 hop
           w'                          away from s, w”, or x

                                              z
                     w
                                   x
      s                                           z'
                           w"
                                        x'
Dijkstra’s algorithm
   N: set of nodes for which shortest path already found
   Initialization: (Start with source node s)
       N = {s}, Ds = 0, “s is distance zero from itself”
       Dj=Csj for all j  s, distances of directly-connected neighbors
   Step A: (Find next closest node i)
       Find i  N such that
       Di = min Dj for j  N
       Add i to N
       If N contains all the nodes, stop
   Step B: (update minimum costs)
       For each node j  N
       Dj = min (Dj, Di+Cij)               Minimum distance from s to
       Go to Step A                        j through node i in N
Execution of Dijkstra’s algorithm
            2                                                    2            
    1                        3         1                    1                     3        1
                                               6                                                    6 
                5            2                                       5            2
3                                                       3
            1            4                                       1               4             2
                                           2
                              3                                                    3
 2                                                      2
                   4             5                                      4             5

Iteration                         N                D2       D3               D4            D5        D6
    Initial                      {1}               3        2               5                      
        1                     {1,3}                3       2                4                       3
        2                    {1,2,3}               3        2                4             7          3 
        3                 {1,2,3,6}                3        2                4            5          3
        4                {1,2,3,4,6}               3        2                4             5         3
        5               {1,2,3,4,5,6}              3        2                4             5          3
Shortest Paths in Dijkstra’s
Algorithm
              2           3           1                       2                   3               1
      1                                               1
                                              6                                                                   6
              5           2                                       5               2
  3                                               3
          1           4                   2                   1               4                           2
                              3                                                       3
      2                                           2
                  4               5                                   4                   5
              2           3           1                           2                   3           1
      1                                               1
                                              6                                                                   6
              5           2                                       5               2
  3                                               3
          1           4                   2                   1               4                           2
                              3                                                       3
      2                                               2
                  4               5                                       4               5

          2               3           1                               2               3               1
      1                                                   1
                                              6                                                                       6
              5           2                                           5               2
  3                                                   3
          1           4                   2                       1               4                           2
                          3                                                               3
  2                                                   2
                  4               5                                       4                   5
    Reaction to Failure
   If a link fails,
     Router sets link distance to infinity & floods the network
        with an update packet
     All routers immediately update their link database &
        recalculate their shortest paths
     Recovery very quick

   But watch out for old update messages
     Add time stamp or sequence # to each update message

     Check whether each received update message is new

     If new, add it to database and broadcast

     If older, send update message on arriving link
Why is Link-State Algorithm Better?

   Fast, loopless convergence
   Support for precise metrics, and multiple
    metrics if necessary (throughput, delay, cost,
    reliability)
   Support for multiple paths to a destination
       algorithm can be modified to find best two paths
READING
   Read the sections covered in class

				
DOCUMENT INFO