Computer Networks (Graduate level) - PowerPoint PPT Presentation

Loading...

PPT – Computer Networks (Graduate level) PowerPoint presentation | free to download - id: 691e92-NjAyN



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Computer Networks (Graduate level)

Description:

Computer Networks (Graduate level) Lecture 6: Multicasting University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Univ. of Tehran – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 85
Provided by: LarryPe7
Learn more at: http://ece.ut.ac.ir
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Computer Networks (Graduate level)


1
Computer Networks(Graduate level)
Lecture 6 Multicasting
  • University of Tehran
  • Dept. of EE and Computer Engineering
  • By
  • Dr. Nasser Yazdani

2
Multicasting
  • IP Multicast
  • IGMP
  • Multicast routing
  • Assigned reading
  • DC90 Multicast Routing in Datagram
    Internetworks and Extended LANs
  • Next Branch Multicast (NBM) routing protocol
    (2005)
  • Chapter 4, multicasting.

3
Outline
  • Multicasting Why?
  • Problems, initial solutions.
  • Multicast routing
  • Application level multicast.

4
Why Multicast?
  • Specify a set of receivers and only send the data
    to them.
  • Has a lot of applications
  • Audio/video conferencing
  • Distance lectures
  • Internet TV
  • Stock quotes
  • and
  • Can I just use broadcast?

5
Problems with broadcast
  • Does not scale
  • Imagine trying to broadcast packets to everyone
    on Internet!
  • Wastes network resources
  • We are sending packets to people who will ignore
    them.
  • We clearly need something different

6
Unicast
  • Use unicast?
  • One sender, N receivers
  • Sender sends N duplicated unicast packets, one to
    each receiver.

R1
S
T1
T3
T4
R2
T2
R4
R3
Example Multicast to Ri by using unicast
7
Problems?
  • Links carry multiple copies of the same packet.
  • The link closest to the source flooded with
    packets.
  • Server needs to know the list of receivers to
    send the packet to.
  • How to handle receivers joining and leaving?
  • How to define/manage groups?
  • Wastes bandwidth
  • Introduces complexity now the source needs to
    handle receiver crashes, link failures, etc
  • Source will be flooded with messages if a lot
    of receivers join at once.
  • Ideas?

8
More problem
  • Imagine having an IP header of the form
  • Any router along the way, forwards a packet if at
    least one of the destinations is downstream from
    it.
  • What if a group has 1000s of recipients?
  • Routers will spend more time doing forwarding
    lookup since they will need to search the
    forwarding table for each address.

source
destination
9
IP Multicast Model
  • Main idea ? Multicast groups
  • Receivers can join or leave at any time.
  • Any host can send to any group at any time open
    architecture
  • The routers duplicate the packets instead of the
    source.
  • Routers will need to
  • Keep state of groups are there waiting packets
    from me?
  • Participate in IGMP
  • Keep a separate routing table

destination
Multicast Address
S
source
10
Division of Responsibilities
  • Hosts responsibility to register interest with
    networks
  • IGMP
  • Networks responsibility to deliver packets to
    host
  • Multicast routing protocol
  • Left unspecified
  • Address assignment (random, MASC, etc.)
  • Application-to-group mapping (session directory,
    etc.)

11
Multicast Efficient Data Distribution
Src
Src
12
Multicast Address Allocation
  • Currently no standardized method for address
    allocation (even though an RFC exists about this)
  • There are a lot of proposed solutions to this
  • Try searching for Multicast Address Allocation on
    the net (MALLOC for short)

13
Logical Naming
  • Single name/address maps to logically related set
    of destinations
  • Destination set multicast group
  • How to scale?
  • Single name/address independent of group growth
    or changes

14
Multicast Groups
  • Members are the intended receivers
  • Senders may or may not be members
  • Hosts may belong to many groups
  • Hosts may send to many groups
  • Support dynamic creation of groups, dynamic
    membership, dynamic sources

15
Scope
  • Groups can have different scope
  • LAN (local scope)
  • Campus/admin scoping
  • TTL scoping
  • Concept of scope important to multipoint
    protocols and applications

16
Multicast Scope Control Small TTLs
  • TTL expanding-ring search to reach or find a
    nearby subset of a group

s
1
2
3
17
Multicast Scope Control Large TTLs
  • Administrative TTL Boundaries to keep multicast
    traffic within an administrative domain, e.g.,
    for privacy or resource reasons (RFC 1112 )

The rest of the Internet
TTL threshold set oninterfaces to these
links,greater than the diameterof the admin.
domain
An administrative domain
18
Multicast Backbone (MBone)
  • An overlay network of IP multicast-capable routers

R
Host/router
H
MBone router
Physical link
Tunnel
Part of MBone
19
MBone Tunnels
  • A method for sending multicast packets through
    multicast-ignorant routers
  • IP multicast packet is encapsulated in a unicast
    packet addressed to far end of tunnel
  • Tunnel acts like a virtual point-to-point link
  • Each end of tunnel is manually configured with
    unicast address of the other end

IP header, dest unicast
IP header, dest multicast
Transport headerand data
20
Link Layer Multicast On LANs
  • Exploits the fact that LAN is a broadcast medium.
  • Ethernet multicast addresses
  • 01005e000000 01005e7fffff
  • How would an application join a group?
  • Just tell link layer not to discard packets
    targeted at the group of interest.

21
Internet Multicast
  • Group D addresses are used for multicast
  • 224.0.0.0 239.255.255.255
  • If you do an NSLOOKUP on these addresses you will
    see that they are registered as .MCAST.NET
  • Set the highest 4 bits to 1110 use the remaining
    28
  • Some well known addresses
  • 224.0.0.0 224.0.0.25
  • 224.0.0.1 (ALL-SYSTEMS.MCAST.NET) all multicast
    hosts on the subnet
  • 224.0.0.2 (ALL-ROUTERS.MCAST.NET) all multicast
    routers on the subnet
  • Need a suite of protocols to take care of the
    various aspects of Multicast (membership
    management, routing, etc..)

22
Multicast Addressing
  • multicast address ?? a set of Internet hosts
    comprising a multicast group.
  • Senders Dest. Address multicast address
  • IP multicast group ??Class D address
  • Class D address 1110 28 bit multicast group
    ID ? 224.0.0.0 to 239.255.255.255
  • 0 1 2 3
    ----------- 28 bits ----------
  • 1 1 1
    0 Multicast Group ID
  • 224.0.0.0 is reserved.
  • 224.0.0.1 to 224.0.0.225 ? reserved for permanent
    assignments to various uses, including routing
    protocols and other protocols that require a
    well-known permanent address.

23
Multicast Addressing
  • Some of the well-known groups include
  • all systems on this subnet 224.0.0.1
  • all routers on this subnet 224.0.0.2
  • all DVMRP routers 224.0.0.4
  • all OSPF routers 224.0.0.5
  • all OSPF designated routers 224.0.0.6
  • all RIP2 routers 224.0.0.9
  • all PIM routers 224.0.0.13
  • all CBT routers 224.0.0.15
  • The remaining groups are either permanently
    assigned to various multicast applications or are
    available for dynamic assignment (239.0.0.0 to
    239.255.255.255 for Administratively scoped
    applications)

24
IP Multicast Protocol Suite
  • A protocol that distributes membership
    information IGMP
  • A protocol that performs the routing DVMRP,
    PIM-SM, PIM-DM, etc
  • Protocols that deal with address allocation,
    reliability, congestion

25
IP Multicast Architecture
Service model
Hosts
Host-to-router protocol(IGMP)
Routers
Multicast routing protocols(various)
26
IP Multicast Service Sending
  • Uses normal IP-Send operation, with an IP
    multicast address specified as the destination
  • Must provide sending application a way to
  • Specify outgoing network interface, if gt1
    available
  • Specify IP time-to-live (TTL) on outgoing packet
  • Enable/disable loop-back if the sending host is a
    member of the destination group on the outgoing
    interface

27
IP Multicast Service Receiving
  • Two new operations
  • Join-IP-Multicast-Group(group-address, interface)
  • Leave-IP-Multicast-Group(group-address,
    interface)
  • Receive multicast packets for joined groups via
    normal IP-Receive operation

28
IGMPv2
  • Internet Group Management Protocol
  • RFC 2236
  • IGMP operates locally
  • between end hosts and their border router
  • The goal is allowing the border router to learn
    what groups are presented on the attached subnets.

IGMP
ltG1, G2, G3gt
Border Router
S
Ethernet/Lan
ltG1gt
A
C
R1
ltG1, G2, G3gt
ltG1gt
B
R2
ltG1gt
ltG1, G3gt
IGMP Example
29
IGMP protocol
  • A soft-state protocol with 3 types of messages
  • membership_query (MQ) sent by the router
  • Determines the set of joined multicast groups on
    the LAN
  • membership_report (MR) sent by the hosts
  • When a host joins a group or
  • When a host responds to a MQ
  • Leave_group (LG) sent by the hosts
  • When a host leaves a group
  • All of these messages are broadcasted over the LAN

30
IGMP Protocol
  • Border router does not need to know which host(s)
    have joined a given multicast group.
  • Only one host needs to report
  • Why?
  • Potentially MR messages sent by the hosts could
    be problematic.
  • How?
  • Solution Use feedback supression
  • Each host waits randomly between 0 and
    max_resp_time
  • Send the report if no one else has sent in that
    period
  • Leave Group message (LG) optional
  • Why?

31
IP Multicast Concepts
Host-to-router Protocol (IGMP) keep router
up-to-date with group membership of entire LAN
receivers
sender
Designated Router
On-Tree router
Multicast routing protocols (various) build
distribution tree for multicast packets
On-Tree Link
Branching router
32
SPT vs. Steiner Tree
Source
Router
S
Receiver
R
2
2
1
1
1
1
R1
R1
1
1
R2
R2
3
3
1
1
4
4
1
1
1
1
R5
R5
R3
R3
1
1
2
2
S
1
S
1
1
1
R4
R4
SPT (Shortest Path Tree)
Steiner
33
Shared vs. Source-Based Trees
Source
Router
S
Receiver
R
R
R
R
R
R
R
RP
S
S
S
S
R
R
Source-Based Tree
Shared Tree
34
Tree types
  • Shortest Path Tree
  • Simplicity of construction method
  • Distributed solutions
  • High cost
  • Source Based Tree
  • low delay, better load distribution,
  • Per-source state at routers
  • Shared trees
  • Higher delay, traffic concentration,
  • Per-group state at routers
  • Steiner trees
  • Lowest cost, highest delay
  • NP-complete,
  • Centralized solutions

35
Basic Routing Techniques
  • Flood prune DVMRP, PIM-DM
  • RSPT, Periodic Flooding, inter-domain routing
    difficulties,
  • Link-state multicast protocols MOSPF
  • SPT, High memory consumption, tree calculation in
    every node.
  • Core based protocols CBT, PIM-SM
  • Comply well with the basic model, Sub-optimal
    tree, inter-domain routing difficulties, traffic
    concentration, sensitivity to core selection
    method, RSPT,

36
Alternative Routing Techniques
  • Explicit Multicast Xcast, Bcast
  • Deployment, stateless, scalable, waste of data
    space, processing overhead, small groups only.
  • Application Level Multicast ESM, NICE
  • Deployment, stateless, no control burden on
    network, scalable, overlay construction
    difficulties, stress, sub-optimal trees, stretch,
    high failure rate of host, cheating
  • Branching Point Based NHBH , REUNITE, HBH
  • SPT, low memory requirement, incremental
    deployment, using unicast forwarding, high
    availability, Superfluous lookups.

37
Two Main Problems of IP multicast
  • State maintenance
  • Memory shortage when number of groups increase
    significantly
  • State invalidation due to routes changes
  • Need for complex inter-domain routing and
    management (PIM-SM/MSDP/MBGP)

38
Multicast Routing
  • Basic objective build distribution tree for
    multicast packets
  • Multicast service model makes it hard Why?
  • Anonymity
  • Dynamic join/leave

39
Routing Techniques
  • Flood and prune
  • Begin by flooding traffic to entire network
  • Prune branches with no receivers
  • Examples DVMRP, PIM-DM
  • Unwanted state where there are no receivers
  • Link-state multicast protocols
  • Routers advertise groups for which they have
    receivers to entire network
  • Compute trees on demand
  • Example MOSPF
  • Unwanted state where there are no senders

40
Routing Techniques
  • Core based protocols
  • Specify meeting place aka core
  • Sources send initial packets to core
  • Receivers join group at core
  • Requires mapping between multicast group address
    and meeting place
  • Examples CBT, PIM-SM

41
DVMRP
  • Builds a multicast routing table
  • By exchanging distance information amongst
    routers.
  • Gives consistent view of multicast tree among all
    routers
  • Stores dependent routers info
  • If there are multiple routers on the same LAN
    lower IP address becomes the designated forwarder.

42
DVMRP
  • Multicast packets are forwarded based on Reverse
    Path Forwarding.
  • coming on the next slide!
  • Leaf routers check and send prune message when no
    group member on the network.
  • Upstream router prune the interface with no
    downstream router.
  • Graft message sent to create a new routing branch
    for late members.
  • Restart forwarding after a set prune lifetime
    (typical value 12 hours)

43
Reverse Path Flooding (RPF)
  • A router forwards a broadcast packet originating
    at source S if and only if it arrives via the
    shortest path from the router back to S (i.e.,
    the reverse path). Otherwise the packet will be
    discarded
  • The router forwards the packet out all incident
    links except the one on which the packet arrived.
  • Disadvantage
  • Any single broadcast packet may be transmitted
    more than once across any link, up to the number
    of routers that share the link.

44
Reverse Path Flooding (RPF)
A closer look RPF Check Fails
S0
RPF Check Fails!
S1
S2
Unicast Route Table Network
Interface 151.10.0.0/16 S1 198.14.32.0/24 S0 20
4.1.16.0/24 E0
E0
S1
45
Reverse Path Flooding (RPF)
A closer look RPF Check Succeeds
S0
S1
S2
RPF Check Succeeds!
E0
Unicast Route Table Network
Interface 151.10.0.0/16 S1 198.14.32.0/24 S0 20
4.1.16.0/24 E0
S1
Forward out all outgoing interfaces.(i. e. down
the distribution tree)
46
Reverse Path Broadcasting (RPB)
  • We need to eliminates the duplicate broadcast
    packets generated by Reverse Path Forwarding
  • It is necessary for each router to identify which
    of its links are child links in the shortest
    reverse path tree rooted at any given source S.
  • When a broadcast packet originating at S arrives
    via the shortest path back to S, the router can
    forward it out only the child links for S.

47
Truncated Reverse Path Broadcasting (TRPB)
  • The previous algorithms used broadcasting and so
    were wasting the bandwidth on the links that had
    no group members.
  • In TRPB only non-member leaf networks are deleted
    from each broadcast tree.
  • Leaf networks are the networks which have no
    downstream router.
  • So the leaf networks must be found out and it
    must be determined if there is any member on the
    leaf network or not then.

48
Reverse Path Multicasting (RPM)
  • On-demand pruning of shortest-path multicast
    trees.
  • When a source first sends a multicast packet to a
    group, it uses TRPB algorithm.
  • When the packet reaches a router for whom all of
    the child links are leaves and none of them have
    members of the destination group, a
    non-membership report (NMR) for that (source,
    group) pair is generated and sent back to the
    router that is one hop towards the source.
  • If the one-hop-back router receives NMRs from all
    of its child routers, and if its child links also
    have no members, it in turn sends an NMR back to
    its predecessor.
  • Subsequent multicast packets from the same source
    to the same group are blocked from traveling down
    the unnecessary branches by the NMRs sitting in
    intermediate routers.
  • A non-membership report includes an age field
    that is used to cancel the NMR effect after some
    time.

49
Reverse Path Multicasting (RPM)
S
  1. Send based on TRPB
  1. Send Prune message

R
G
  1. Prune the branches

R
R
G
R
R
R
G
G
50
DVMRP in Action - 1
Forming a source tree
source tree
S
Source
DF
R1
Receiver 1
51
DVMRP in Action - 2
Broadcast/flood
source tree
S
datagram
Source
DF
R1
Receiver 1
52
DVMRP in Action - 3
prune
source tree
S
datagram
Source
IGMP DVMRP-Prune
DF
R1
Receiver 1
53
DVMRP in Action - 4
X and Y are Pruned
source tree
S
datagram
Source
DF
X
Y
R1
Receiver 1
54
DVMRP in Action - 5
New Member
source tree
S
datagram
Source
IGMP DVMRP-Graft
DF
X
Y
R1
R2
Receiver 1
Receiver 2
55
DVMRP in Action - 6
New branch
source tree
S
datagram
Source
DF
X
Y
R1
R2
Receiver 1
Receiver 2
56
Possible Problems with IP Multicast
  • Doesnt scale well with number of multicast
    groups
  • Each router has to maintain state for every
    active multicast group.
  • Flooding in the beginning (bandwidth waste)
  • Open to DoS attacks by malicious senders.
  • Multicast address assignment problems how to be
    globally consistent?
  • Providing TCP-like reliability is hard
  • Deployment problems as not all routers can do
    multicast. Also, lack of business incentive as
    not clear how to make money on this.

57
Another Approach to Multicast Routing
  • PIM Protocol Independent Multicast Protocol
  • Designed to provide scalable interdomain routing
    across internet
  • Can be independent of the underlying unicast
    routing protocol.
  • DVMRP dependent on the unicast routing protocol
    to find the multicast source.
  • Optimizes traffic depending on the density of
    receivers in the region.
  • Two main modes
  • Dense Mode
  • Similar to DVMRP, works with flooding
  • Builds source rooted distribution tree
  • Sparse Mode
  • Introduces Rendezvous Points receivers meet
    new sources at the RPs
  • Builds a shared tree

58
Shared Tree Example (PIM-SM)
RP
G sets up state to RP
F3
Sender registers with RP
R3
R4
S
F1
F2
G
R5
59
Shared Tree Example (PIM-SM)
RP
RP -gt G multicast
F3
S -gt RP unicast
R3
R4
S
F1
F2
G
R5
60
Branching Point Idea
  • Node types
  • Member nodes
  • Relay nodes
  • Branching points
  • More than 80 of tree nodes are relay nodes.

61
Problems with current methods
  • Unnecessary lookups for unicast and multicast
    packets

62
Problems with current methods
  • REUNITE Send packet to the first receiver
  • Asymmetries may result in creation of duplicate
    packets
  • The departure of one receiver may change the
    route for others
  • Route changes invalidate MCT (multicast Control
    Table)
  • Route change may disconnect a subset of receivers
    from the tree even though all nodes and links
    work properly
  • HBH (Hop By Hop) Send packet to the first BP
  • All relay nodes between every two adjacent BPs
    must keep MFT
  • Duplicate packets creation due to asymmetries
  • Route changes invalidate MCT
  • SEM (Simple Explicit Multicast) Reciever lists
    in Branch message
  • The whole multicast tree must be constructed
    again if
  • a new member joins the multicast session
  • one of the existing members leaves the session
  • The number of receivers is inherently limited due
    to packet size limit

63
NBM Principals
  • NBM main ideas
  • Build message contains IP addresses of
  • the new receiver
  • the next BP in the tree
  • Children of a failed BP detect failure of their
    parent and repair it locally by asking their
    grandpa to find a new parent for them.

64
NBM Principals
  • Seven Messages Type
  • Join
  • to announce receiver desire to join the tree
  • Leave
  • to announce receiver desire to leave tree
  • Build
  • to find associated BP of the new receiver
  • Replace
  • To inform parent BP about creation of a new BP in
    the tree
  • Parent
  • to inform a receiver or a BP about its parent and
    grandpa
  • Repair
  • to locally repair the tree
  • Unlock
  • To unlock parent BP

65
Tree construction r1 join
s
rn1
B1
rn3
rn2
Join Build Parent Replace
r1
rn5
rn6
B2
rn4
r2
r3
66
Tree construction r2 join
s
MFT
r1
r2
B1
rn1
B1
rn3
rn2
Join Build Parent Replace
r1
rn5
rn6
B2
rn4
r2
r3
67
Tree construction r3 join
s
MFT
B1
rn1
MFT
B1
rn3
rn2
r2
r1
B2
r1
Join Build Parent Replace
rn5
rn6
B2
rn4
r2
r3
68
Tree Maintenance
  • Each BP refresh its children periodically.
  • Refresh message contains IP address of grandpa
  • Refresh rates of higher level BPs increase
    linearly
  • If a BP or a receiver misses three consecutive
    refresh (parent) messages
  • it sends a repair message toward the grandpa
  • Grandpa deal with repair requests in the same way
    as source do with receiver join messages
  • It sends a Build message toward the orphaned node
  • or adds it to its MFT

69
Tree Maintenance
s
MFT
Repiar Build Parent Replace
B1
rn1
B1
rn3
rn2
r1
rn8
MFT
rn5
rn9
r1
B2
B3
rn6
rn7
B2
r4
B3
rn4
r2
r3
70
Tree Maintenance
s
MFT
Join Build Parent Replace
B1
rn1
B1
rn3
rn2
r1
rn8
MFT
rn5
rn9
r1
B3
rn6
rn6
rn7
B2
r4
B3
rn4
r2
r3
71
Height estimation
  • Dependent Receivers (DR)
  • A BP can estimate DR of a branch by counting the
    number of Build messages passing through it.
  • Height of the branch (in reduced tree) is
    approximately logXDR.
  • Each branch has a different refresh rate
  • Refresh period MTI/logXDR (max Time Inter.)
  • Higher level BPs refresh their children more
    frequently.
  • NMTINMEMX2/(X-1)2

72
Packet Forwarding in NBM
Node B received a packet with unicast destination
Hi
73
Simulation Setup
  • myns large-scale simulations
  • GT-ITM graph generation
  • Transit-Stub model (10100 nodes)
  • 10 transit domains
  • Each transit domain has 10 nodes
  • Each transit domain has 5 stub domains
  • Each stub domain has 20 nodes
  • Average node degree 3.5
  • 50 simulation runs for each point

74
Simulation Metrics
  • Number of required table lookups
  • Multicast Forwarding Gain (MFG) the ratio
    between the number of required lookups in OBP and
    NBM
  • Overall Forwarding Gain (OFG) OFG takes unicast
    traffic into consideration as well
  • Number of required MFT entries
  • SPT NBPNRNNMEM
  • RT NBPNMEM.
  • MFT Reduction Gain (MRG) the ratio between SPT
    and RT values.
  • Tree availability
  • Tree Availability Gain (TAG) the ratio of
    non-leaf components of SPT to non-leaf components
    of RT or NBPNRN/NBP
  • Stress

75
Table Lookups
76
Stress
77
Tree Characteristics
78
Branching Factor
79
TAG MRG
80
Control Overhead
81
Application Level Multicast
  • Is what Netmeeting does based on IP multicast?
  • The idea is dont mess with IP, let the
    applications handle the multicast.
  • Used very widely today
  • Sources send packets to a central server which
    forwards them to all receivers for the group
  • Efficient application layer multicast
  • Apps self-organize into a multicast distribution
    structure
  • Data replication and management only performed by
    group members.

82
Application Level Multicast
  • Pros
  • Easy to develop
  • Pushes complexy towards the end systems
  • No address assignment problems
  • Can support a large number of groups
  • Cons
  • Duplicate packets on the same link
  • Higher delay due to distribution along longer
    than optimal paths
  • Longer reaction time to group joins
  • Can potentially be complex

83
Current Status
  • IP Multicast
  • Many IETF groups work on various multicast
    related protocols.
  • New routers have implementations of DVMRP
  • Only a few ISPs have multicast feature turned on
    in the routers.
  • MBone (Multicast backBone)
  • A transient infrastructure before IP Multicast is
    fully deployed.
  • A virtual network of multicast-capable islands
    connected by tunnels (unicast encapsulated
    between islands)
  • Runs DVMRP
  • Some enterprise networks have deployed multicast.

84
Next-lecture Congestion Ctrl
  • Congestion control basics
  • TCP congestion control
  • Assigned reading
  • JK88 Congestion Avoidance and Control
  • CJ89 Analysis of the Increase and Decrease
    Algorithms for Congestion Avoidance in Computer
    Networks
About PowerShow.com