Docstoc

CS 352 Internet Technology

Document Sample
CS 352 Internet Technology Powered By Docstoc
					         CS 352-
   Network Layer

Dept. of Computer Science
         Rutgers University
Summary of Last Lecture

   Key network-layer functions
       Forwarding
       Routing: routing algorithms
   Network layer connection service
       Virtual circuit
   Network layer connection-less service
       Datagram networks
   Forwarding table
       Longest prefix matching
                                            2
Summary of Last Lecture
   Router architecture
       Input port
           Input port queueing
       Switching fabric
         Memory
         Bus

         Crossbar

       Output ports
           Output port queueing
                                   3
Summary of Last Lecture
   Network layer functions:
       IP protocol
       ICMP protocol
       Routing protocol




                               4
Summary of Last Lecture
   IP protocol
       IP datagram format
       IP fragmentation and reassembly (IPv4)
       IP addressing
         Subnets
               subnet masks
           CIDR: Classless Inter Domain Routing
           Route aggregation


                                                   5
Summary of Last Lecture
   NAT: Network Address Translation
   ICMP
       Ping
       Traceroute
   IPv6
       Tunneling




                                       6
Chapter 4: Network Layer
   4. 1 Introduction              4.5 Routing algorithms
   4.2 Virtual circuit and            Link state
                                       Distance Vector
    datagram networks
                                       Hierarchical routing
   4.3 What’s inside a            4.6 Routing in the
    router                          Internet
   4.4 IP: Internet Protocol          RIP
       Datagram format                OSPF
       IPv4 addressing                BGP
       ICMP                       4.7 Broadcast and
       IPv6                        multicast routing
                                                               7
Routing Overview
   Abstract network as a graph
       Routers/hubs and end systems are nodes
       Links and channels are edges
   Use graph-theory to:
       Describe network
       Run algorithms
       Prove properties



                                                 8
Routing Algorithms
   A routing algorithm decides which output link
    an incoming packet should be transmitted on
   A logical “routing table” contains the
    mappings from the networks and host
    addresses to output ports on the router
   The routing algorithm builds the routing table
       Typically a more advanced data structure is used,
        but conceptually it’s a map looked up with the
        destination address as the key
                                                            9
Graph Theory Terminology
   A graph is a structure with nodes and edges
       Nodes are routers
       Edges are links between routers (Undirected edges )
   Edge cost (or weight)
           How expensive is it to traverse the link?
           Examples: latency (prop. delay) or 1/bandwidth
   A path is a sequence of edges between two nodes
       The shortest path is the one with the least cost in terms of
        the sums of the edges traversed


                                                                       10
Graph abstraction
                                          5

                                          v   3       w
                                      2                    5
                              u           2                     z
                                                      1
                                                  3
                                  1
                                          x           y     2
  Graph: G = (N,E)                            1

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

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


Remark: Graph abstraction is useful in other network contexts

Example: P2P, where N is set of peers and E is set of TCP connections

                                                                                        11
Graph abstraction: costs
                 5                              • c(x,x’) = cost of link (x,x’)
                 v   3       w
                                 5                - e.g., c(w,z) = 5
             2
     u           2                   z
                             1                  • cost could always be 1, or
                         3
         1                                      inversely related to bandwidth,
                 x           y   2
                                                or inversely related to
                     1
                                                congestion

   Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Question: What’s the least-cost path between u and z ?


Routing algorithm: algorithm that finds least-cost path
                                                                                  12
A Network Graph
                                                     7
                                                H        I
                                                             8
                                                8
                B           2                        G       J
        3                                                8
                    4       D               F   10
    A                               1
                        2               2
            1
                    C               E
                                3




                                                                 13
Shortest Path Routing

   For a pair of communicating hosts, there is a
    shortest path between them
   Shortness may be defined by:
       Number of router/switch hops
       Geographic distance
       Link delay


                                                    14
Shortest Path

  What is the shortest path between A and F?

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



                                     Edge Weight
                                      (Distance)
                                                   15
Routing algorithms
   Link State
   Distance Vector




                      16
Link State Routing
   Each router measures the distance (in delay, hop count,
    etc.) between itself and its adjacent routers
   The router builds a packet containing all these distances.
    The packet also contains a sequence number and an
    age field.
   Each router distributes these packets using flooding
   Each router builds map of the entire network, uses a
    shortest-path algorithm


                                                              17
Link State Routing (cont’d)
   To control flooding, the sequence numbers are used
    by routers to discard flood packets they have
    already seen from a given router
   The age field in the packet is an expiration date. It
    specifies how long the information in the packet is
    good for.
   Once a router receives all the link state packets from
    the network, it can reconstruct the complete
    topology and compute a shortest path between itself
    and any other node using Dijsktra’s algorithm.
                                                         18
Dijsktra’s algorithm
   Dijkstra’s Shortest Path Algorithm:
       Step 1: A permanent node corresponds to a node whose
        shortest path has been decided. The permanent nodes set
        starts with source node itself.
       Step 2: Set the current node equal to the source node
       Step 3: For the current node:
         Mark the cumulative distance from the current node to
           each non-permanent adjacent node. Also mark the
           name of the current node. Erase this marking if the
           adjacent node already has a shorter cumulative distance
           marked
         Mark the non-permanent node with the shortest listed
           cumulative distance as permanent and set the current
           node equal to it. Repeat step 3 until all nodes are
           marked permanent.
                                                                     19
Dijskstra’s Shortest Path
Algorithm
Example


                              7
              B                                   C
          2           2                   3           3

                              2
      A                   E           F                       D
                  1                           2
                                                          2
          6
                              4
              G                                   H


                      Selected edge
                      Candidate edge
                          Not visited
                                                                  20
Dijskstra’s Shortest Path
Algorithm
Example



                              7
              B                                   C
          2           2                   3           3

                              2
      A                   E           F                       D
                  1                           2
                                                          2
          6
                              4
              G                                   H


                      Selected edge
                      Candidate edge
                          Not visited
                                                                  21
Dijskstra’s Shortest Path
Algorithm
Example



                              7
              B                                   C
          2           2                   3           3

                              2
      A                   E           F                       D
                  1                           2
                                                          2
          6
                              4
              G                                   H


                      Selected edge
                      Candidate edge
                          Not visited
                                                                  22
Dijskstra’s Shortest Path
Algorithm
Example



                              7
              B                                   C
          2           2                   3           3

                              2
      A                   E           F                       D
                  1                           2
                                                          2
          6
                              4
              G                                   H


                      Selected edge
                      Candidate edge
                          Not visited
                                                                  23
Example
 Step   Confirmed   Candidate
        Edge List   Edge List

  1      (A,0,-)

         (A,0,-)    (A,2,B)
  2                 (A,6,G)     Add candidates
         (A,0,-)    (G,6,G)     Select Edge
  3      (A,2,B)
         (A,0,-)    (G,6,G)
         (A,2,B)    (B,9,C)     Add candidates
  4
                    (B,4,E)
         (A,0,-)    (G,6,G)
  5      (A,2,B)                Select Edge
         (B,4,E)    (B,9,C)
                                                 24
Distance Vector

   Each router maintains lists of best-known distances to all
    other known routers. These lists are called “vectors.”

   Each router is assumed to know the exact distance (in
    delay, hop count, etc.) to other routers directly connected
    to it.

   Periodically, vectors are exchanged between adjacent
    routers, and each router updates its vectors.


                                                              25
Distance Vector (Example)



  z




                            26
Distance Vector Algorithm
Bellman-Ford Equation (dynamic
  programming)
Define
dx(y) := cost of least-cost path from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
          v



where min is taken over all neighbors v of x
                                               27
Bellman-Ford example
            5
                                    Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
            v   3       w
        2                   5
u           2                   z    B-F equation says:
                        1
                    3
    1                                   du(z) = min { c(u,v) + dv(z),
            x           y   2
                1                                     c(u,x) + dx(z),
                                                      c(u,w) + dw(z) }
                                              = min {2 + 5,
                                                      1 + 3,
                                                      5 + 3} = 4
Node that achieves minimum is next
hop in shortest path ➜ forwarding table
                                                                         28
Distance Vector Algorithm
   Dx(y) = estimate of least cost from x to y
   Node x knows cost to each neighbor v: c(x,v)
   Node x maintains distance vector Dx =
    [Dx(y): y є N ]
   Node x also maintains its neighbors’ distance
    vectors
       For each neighbor v, x maintains
        Dv = [Dv(y): y є N ]

                                                29
Distance vector algorithm
Basic idea:
 Each node periodically sends its own distance
  vector estimate to neighbors
 When a node x receives new DV estimate from
  neighbor, it updates its own DV using B-F equation:
  Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

   Under minor, natural conditions, the estimate
    Dx(y) converge to the actual least cost dx(y)


                                                        30
Distance Vector Algorithm
Iterative, asynchronous:        Each node:
    each local iteration
    caused by:
                                  wait for (change in local link
   local link cost change
                                  cost or msg from neighbor)
   DV update message from
    neighbor
Distributed:                      recompute estimates
   each node notifies
    neighbors only when its       if DV to any dest has
    DV changes
                                  changed, notify neighbors
       neighbors then notify
        their neighbors if
        necessary
                                                               31
             Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
                      = min{2+0 , 7+1} = 2
node x table
          cost to             cost to
          x y z               x y z
        x 0 2 7              x 0 2 3                   Dx(z) = min{c(x,y) +
                                                           Dy(z), c(x,z) + Dz(z)}
   from




                      from
        y ∞∞ ∞               y 2 0 1
                                                       = min{2+1 , 7+0} = 3
        z ∞∞ ∞               z 7 1 0
node y table
          cost to
          x y z                                                           y
                                                                      2       1
        x ∞ ∞ ∞
                                                                  x               z
        y 2 0 1
   from




                                                                          7
        z ∞∞ ∞
node z table
          cost to
          x y z
          x ∞∞ ∞
   from




          y ∞∞ ∞
          z 71 0
                                                           time                     32
    Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}      Dx(z) = min{c(x,y) +
             = min{2+0 , 7+1} = 2                        Dy(z), c(x,z) + Dz(z)}
                                                     = min{2+1 , 7+0} = 3
node x table
          cost to                cost to                cost to
          x y z                  x y z                  x y z
        x 0 2 7                x 0 2 3               x 0 2 3
   from




                        from
        y ∞∞ ∞                 y 2 0 1




                                              from
                                                     y 2 0 1
        z ∞∞ ∞                 z 7 1 0               z 3 1 0
node y table
          cost to                cost to                cost to
          x y z                  x y z                  x y z                 y
                                                                          2       1
        x ∞ ∞ ∞                x 0 2 7               x 0 2 3          x               z
                        from




        y 2 0 1                y 2 0 1
   from




                                              from
                                                     y 2 0 1                  7
        z ∞∞ ∞                 z 7 1 0               z 3 1 0
node z table
          cost to                cost to               cost to
          x y z                  x y z                 x y z

          x ∞∞ ∞               x 0 2 7               x 0 2 3
                        from




                                             from


                               y 2 0 1               y 2 0 1
   from




          y ∞∞ ∞
          z 71 0               z 3 1 0               z 3 1 0
                                                            time                      33
Convergence Speed
   Supposed all routers know the current state
    of the network
   Next, a change in link-status happens
   How fast the routers learn new state of the
    network is the “convergence” speed




                                                  34
Problem: Count-to-Infinity

   With distance vector routing, links coming on
    line converge quickly but link failures
    converge slowly
   This problem for DV routing algorithms is call
    “count-to-infinity”



                                                 35
Count-to-Infinity
    A   B       C      D       E

        1       2      3       4   Initially

        3       2      3       4   After 1 exchange

        3       4      3       4   After 2 exchanges

        5       4      5       4   After 3 exchanges

        5       6      5       6   After 4 exchanges

        7       6      7       6   After 5 exchanges

            etc… to infinity                           36
Split Horizon

   Insight: It’s not useful to claim reachability for
    a destination to the neighbor from which the
    route was learned
   Don’t report routes back to node from which
    the route was learned
       E.g. If I hear from X has the shortest route to Y,
        don’t report to X I have a route to Y

                                                             37
Split Horizon with Poisoned
Reverse
Report “split-horizon” routes as infinity to break
loops on the first routing exchange.

   A     B        C      D      E

         inf.     2      3      4      B learns A is dead
                                       B reports to C that
         inf. inf. 2     3      4
                                       A’s metric is inf.
         inf.     inf.   3      4      After 1 exchange

         inf.     inf.   inf.   4      After 2 exchanges

         inf.     inf.   inf.   inf.   After 3 exchanges
                                                             38
Split Horizon Failure
    A       B

                   If D goes down, A and
                   B will still count to
                   infinity.
        C
                   Split-Horizon infinity
                   messages are sent
                   from A->C and B->C,
        D          not A<->B



                                            39
Hierarchical Routing
   All routing algorithms have difficulties as the
    network becomes large
   For large networks, the routing tables grow
    very quickly, and so does the number of flood
    packets
   How can this be reduced? Hierarchical
    routing


                                                  40
Hierarchical Routing
   Segment the network into regions
       Called autonomous systems, (AS) typically a single
        organizational entity
   Routers in a single AS know all the details about
    other routers in that region, but none of the details
    about routers in other regions
   Analogy: Telephone area codes




                                                             41
Interconnected ASes
 3c
     3a                                        2c
3b                                        2a
   AS3                                               2b
               1c                              AS2
          1a              1b
               1d               AS1
                                                    Forwarding table is
                                                     configured by both
                    Intra-AS      Inter-AS
                                                     intra- and inter-AS
                    Routing
                    algorithm
                                  Routing
                                  algorithm
                                                     routing algorithm
                                                         Intra-AS sets entries
                         Forwarding
                            table                         for internal dests
                                                         Inter-AS & Intra-As
                                                          sets entries for external
                                                                                42
                                                          dests
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)



                                                         43
Hierarchical Routing




                       44
Routing protocols
   Intra-AS protocols
       RIP: Route Information Protocol (Distance Vector)
       OSPF: Open Shortest Path First (Link State)
   Inter-AS protocols
       BGP: Border Gateway Protocol




                                                        45
RIP: Route Information
Protocol
   One of the routing algorithms used by the
    Internet
   Based on distance vector routing
       Cost corresponds to hop counts
   Did not scale well
       suffered the count-to-infinity problem
       weak security
   RIP is phased out for large backbones
       but still widely used for smaller networks
                                                     46
RIP ( Example)
   Included in BSD-UNIX Distribution in 1982
   Distance metric: # of hops (max = 15 hops)

                                    From router A to subsets:


            u                          destination hops
                        v
                                          u          1
                A   B       w             v          2
                                          w          2
                                          x          3
                                x         y          3
        z       C   D                     z          2
                            y


                                                                47
RIP advertisements
   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




                                           48
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
                                                                  49
 RIP: Example
Dest   Next    hops
 w      -      1          Advertisement
 x      -      1          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
        ….                         ….                        ....
                                                                         50
                            Routing table in D
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
      (infinite distance = 16 hops)


                                                         51
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
                                                            52
OSPF: Open Shortest Path
First
   Routing algorithm now used in the Internet
   OSPF uses the Link State Routing algorithm with
    modifications to support:
     Multiple distance metrics (geographical distance,
      delay, throughput)
     Support for real-time traffic

     Hierarchical routing

     Security




                                                          53
OSPF           (cont’d)


   OSPF divides the network into several hierarchies:
       Autonomous Systems (AS’s)
         groups of subnets

       Areas
         Groups of routers within an AS

       Backbone Areas
         Groups of routers that connect other areas together




                                                                54
OSPF Model (cont’d)
     Autonomous System

           Backbone
             Area


    Area              Area
                             Autonomous System
              Area
                                    Backbone
                                      Area


                             Area       Area




                                                 55
OSPF (cont’d)
   Routers are distinguished by the functions
    they perform
       Internal routers
           Only route packets within one area
       Area border routers
           Connect to areas together
       Backbone routers
           Reside only in the backbone area
       AS boundary routers
           Routers that connect to a router outside the AS
                                                              56
BGP: Border Gateway Protocol
   Operation
       BGP uses TCP as its transport protocol, on port 179.
       On connection start, BGP peers exchange complete copies of
        their routing tables
       However, only changes (deltas) are exchanged afterwards.

   Four Basic messages:
       Open: Establishes BGP session (uses TCP port #179)
       Notification: Report unusual conditions
       Update: Inform neighbor of new routes that become active
        and old routes that become inactive
       Keepalive: Inform neighbor that connection is still viable

    http://www.antc.uoregon.edu/route-views/
                                                                     57
UPDATE Message
   used to either advertise and/or withdraw
    prefixes
   path attributes: list of attributes that pertain to
    ALL the prefixes in the Reachability Info field
      FORMAT:      Withdrawn routes length (2 octets)
                   Withdrawn routes     (variable length)
                   Total path attributes length (2 octets)
                   Path Attributes      (variable length)
                   Reachability Information (variable length)


                                                                60
PATH ATTRIBUTES
   ORIGIN(TYPE CODE=1):
          Who originated the announcement? Where was a prefix injected into
           BGP?
          Manually configured, directly connected, by other intra-routing protocols

   AS-PATH (TYPE CODE =2)
          a list of AS’s through which the announcement for a prefix has passed
          each AS prepends its AS # to the AS-PATH attribute when forwarding an
           announcement
          useful to detect and prevent loops
          AS length can be used to select among routes unless a LOCAL PREF attribute
           overrides         AS3, AS2, AS1    AS3
                                                          AS2, AS1
                AS1
        128.39.1.0/16                                                AS2
                                   AS1
                                                                                        62
Attribute: Local Preference (type
code = 5)
   Used to indicate preference                              198.1.4.1/20

    among multiple paths for the
    same prefix anywhere in the                      AS1
    internet.
   The higher the value the
                                            AS2                    AS3
    more it is preferred
   Default value is 100
                                                      AS4
   Local to the AS
   Often used to select a
                                              BGP table at AS4:
    specific exit point for a
    particular destination       Prefix, as-path      localpref
   Used when AS path lengths
    are same
                                                                            63
Use of local pref


                   Local-pref=500




      12.0.0.0/8
          OC3                   12.0.0.0/8
                           T1

                                             64
Attribute: Multi-Exit Discriminator (MED) (code=4)

   when AS’s interconnected
    via 2 or more links                          AS1
   AS path length are same
                                    Link B
   AS announcing prefix sets                                      Link A
                                             MED=500
    MED                                                  MED=100

   enables AS2 to indicate its
    preference (lower MED is                           AS2
    better)
   AS receiving prefix uses
    MED to select link
   a way to specify how close
    a prefix is to the link it is
    announced on                                             AS3
                                                 AS4
                                                                            65
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
                                                         66
    Broadcast Routing
   Deliver packets from source to all other nodes
   Source duplication is inefficient:
                                  duplicate
      duplicate    R1       creation/transmission   R1
                                                              duplicate
                   R2                               R2


             R3         R4                    R3         R4

                source                              in-network
              duplication                           duplication

   Source duplication: how does source
    determine recipient addresses?
                                                                          67
In-network duplication
   Flooding: when node receives brdcst pckt,
    sends copy to all neighbors
       Problems: cycles & broadcast storm
   Controlled flooding: node only brdcsts pkt if it
    hasn’t brdcst same packet before
       Node keeps track of pckt ids already brdcsted
       Or reverse path forwarding (RPF): only forward
        pckt if it arrived on shortest path between node
        and source
   Spanning tree
       No redundant packets received by any node          68
Spanning Tree
   First construct a spanning tree
   Nodes forward copies only along spanning
    tree
                A                             A

                       B                            B
            c                             c

                           D                            D
       F         E                  F         E

                               G                            G
     (a) Broadcast initiated at A   (b) Broadcast initiated at D

                                                                   69
Spanning Tree: Creation
   Center node
   Each node sends unicast join message to center
    node
       Message forwarded until it arrives at a node already
        belonging to spanning tree
                A                                      A
                        3
                                B                           B
            c                                      c
                4
                            2
                                    D                           D
        F           E                         F        E
            1                       5
                                        G                           G
    (a) Stepwise construction               (b) Constructed spanning
        of spanning tree                        tree                    70
Multicast Routing: Problem Statement
   Goal: find a tree (or trees) connecting routers
    having local mcast group members
       tree: not all paths between routers used
       source-based: different tree from each sender to rcvrs
       shared-tree: same tree used by all group members




            Shared tree          Source-based trees
Approaches for building mcast trees

Approaches:
 source-based tree: one tree per source
       shortest path trees
       reverse path forwarding
   group-shared tree: group uses one tree
       minimal spanning (Steiner)
       center-based trees
Shortest Path Tree
   mcast forwarding tree: tree of shortest path
    routes from source to all receivers
       Dijkstra’s algorithm
    S: source                                 LEGEND
                  R1        2
                   1            R4                 router with attached
                                                   group member
             R2                      5
                                                   router with no attached
             3         4
                                         R5        group member
        R3                       6             i   link used for forwarding,
                       R6       R7                 i indicates order link
                                                   added by algorithm
Reverse Path Forwarding

  rely on router’s knowledge of unicast
   shortest path from it to sender
  each router has simple forwarding behavior:

   if (mcast datagram received on incoming link
       on shortest path back to center)
      then flood datagram onto all outgoing links
      else ignore datagram
Reverse Path Forwarding:
example
S: source
                                LEGEND
            R1
                      R4            router with attached
                                    group member
      R2
                                    router with no attached
                           R5       group member
 R3                                 datagram will be
                 R6   R7            forwarded
                                    datagram will not be
                                    forwarded
Reverse Path Forwarding: pruning
   forwarding tree contains subtrees with no mcast
    group members
     no need to forward datagrams down subtree

     “prune” msgs sent upstream by router with no
       downstream group members
S: source                           LEGEND

            R1                           router with attached
                          R4
                                         group member

      R2                                 router with no attached
                      P                  group member
                                     P
                               R5         prune message
 R3                    P                 links with multicast
                 R6   R7                 forwarding
Center-based trees
   single delivery tree shared by all
   one router identified as “center” of tree
   to join:
       edge router sends unicast join-msg addressed to
        center router
       join-msg “processed” by intermediate routers and
        forwarded towards center
       join-msg either hits existing tree branch for this
        center, or arrives at center
       path taken by join-msg becomes new branch of
        tree for this router
Center-based trees: an
example
Suppose R6 chosen as center:

                                       LEGEND

           R1                               router with attached
                             R4
                    3                       group member

      R2                                    router with no attached
                         2                  group member
                                        1
                                  R5        path order in which join
                                            messages generated
 R3
                1   R6   R7
Internet Multicasting Routing: DVMRP

   DVMRP: distance vector multicast routing
    protocol, RFC1075
   flood and prune: reverse path forwarding,
    source-based tree
       RPF tree based on DVMRP’s own routing tables
        constructed by communicating DVMRP routers
       no assumptions about underlying unicast
       initial datagram to mcast group flooded
        everywhere via RPF
       routers not wanting group: send upstream prune
        msgs
DVMRP: continued…
   soft state: DVMRP router periodically (1 min.)
    “forgets” branches are pruned:
       mcast data again flows down unpruned branch
       downstream router: reprune or else continue to
        receive data
   routers can quickly regraft to tree
       following IGMP join at leaf
   odds and ends
       commonly implemented in commercial routers
       Mbone routing done using DVMRP
PIM: Protocol Independent Multicast

    not dependent on any specific underlying unicast
     routing algorithm (works with all)
    two different multicast distribution scenarios :
    Dense:                    Sparse:
     group members            # networks with group
      densely packed, in        members small wrt #
      “close” proximity.        interconnected networks
     bandwidth more           group members “widely
      plentiful                 dispersed”
                               bandwidth not plentiful
Consequences of Sparse-Dense Dichotomy:

Dense                       Sparse:
   group membership by         no membership until
    routers assumed until        routers explicitly join
    routers explicitly prune    receiver- driven
   data-driven construction     construction of mcast
    on mcast tree (e.g., RPF)    tree (e.g., center-based)
   bandwidth and non-          bandwidth and non-
    group-router processing      group-router processing
    profligate                   conservative

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:7/24/2011
language:English
pages:79