CS640 Introduction to Computer Networks Multicast - PowerPoint PPT Presentation

About This Presentation
Title:

CS640 Introduction to Computer Networks Multicast

Description:

Introduction to Computer Networks. Multicast. Nov 29th, 1999. Prof. Lawrence H. Landweber ... DR will start forwarding packets for 224.2.0.1 to Network A ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 74
Provided by: junm9
Category:

less

Transcript and Presenter's Notes

Title: CS640 Introduction to Computer Networks Multicast


1
CS640Introduction to Computer NetworksMulticast
  • Nov 29th, 1999Prof. Lawrence H. LandweberProf.
    Jun Murai

2
One to many communication
  • IP multicast
  • Application level one to many communication
  • multiple unicasts

R
R
S
S
R
R
R
R
3
Why Multicast
  • When sending same data to multiple receivers
  • better bandwidth utilization
  • less host/router processing
  • quicker participation
  • Application
  • Video/Audio broadcast (TV, radio type)
  • Video conferencing
  • Real time news distribution

4
IP multicast service model
  • RFC1112 Host Extensions for IP Multicasting
  • Transmission of an IP datagram to a "host group",
  • host group identified by a class D IP address
  • Members of the group could be present anywhere in
    the Internet
  • Members join and leave the group and indicate
    this to the routers
  • Senders and receivers are distinct i.e., a
    sender need not be a member
  • Routers listen to all multicast addresses and use
    multicast routing protocols to manage groups
    (IGMP, Internet Group Management Protocol,
    RFC2236)

5
IP multicast group address
  • Class D address space
  • high-order three 3bits are set
  • 224.0.0.0 239.255.255.255
  • Well-known address designated by IANA
  • RFC1700
  • 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

6
IGMP Joining a group
  • Example R joins to Group 224.2.0.1
  • R sends IGMP Membership-Reportto 224.2.0.1
  • DR receives it. DR will start forwarding packets
    for 224.2.0.1 to Network A
  • DR periodically sends IGMP Membership-Query to
    224.0.0.1 (ALL-SYSTEMS.MCAST.NET)
  • R answers IGMP Membership-Report to 224.2.0.1

IGMP Membership-Report
R
Network A
DR
Data to 224.2.0.1
Network B
R ReceiverDR Designated Router
7
IGMP Leaving a group
  • Example R leaves from a Group 224.2.0.1
  • R sends IGMP Leave-Group to 224.0.0.2
    (ALL-ROUTERS.MCAST.NET)
  • DR receives it.
  • DR stops forwarding packets for 224.2.0.1 to
    Network A if no more 224.2.0.1 group members on
    Network A.

IGMP Leave-Group
R
Network A
DR
Data to 224.2.0.1
Network B
R ReceiverDR Designated Router
8
Challenges in this model
  • How to select receivers by a sender ?
  • need authentication, authorization
  • encryption of data
  • key distribution
  • still under research phase

9
IP multicast routing
  • Purpose share a Group information among routers,
    to implement a better routing for data
    distribution
  • Distribution tree structure
  • Source tree vs shared tree
  • Data distribution policy
  • ACK type vs NACK type

10
Source distribution tree
S
Source
Notation (S, G) S Source G Group
E
C
R
R
Receiver 1
Receiver 2
11
Shared distribution tree
S1
Source
Notation (, G) all sources G
Group
Shared Root
S2
E
C
R
R
Receiver 1
Receiver 2
12
Source tree characteristics
  • Source tree
  • More memory O (G x S ) in routers
  • optimal path from source to receiver, minimizes
    delay
  • good for
  • small number of senders, many receivers such as
    Radio broadcasting application

13
Shared tree characteristics
  • Shared tree
  • less memory O (G) in routers
  • Sub-optimal path from source to receiver, may
    introduce extra delay (source to root)
  • May have duplicate data transfer (possible
    duplication of a path from source to root and a
    path from root to receivers)
  • good for
  • Many senders with low bandwidth
  • environment such as most part of the shared tree
    is identical to the source tree

14
Data distribution policy
  • NACK type
  • Start with broadcasting then prune brunches
    with no receivers, to create a distribution tree
  • a lot of un-used traffic when small receivers in
    wide area
  • ACK type
  • forward only to the hosts which explicitly joined
    to the group
  • latency by join propagation and high costs when
    many receivers

15
Protocol types
  • Dense mode protocols
  • assumes dense group membership
  • Source distribution tree and NACK type
  • DVMRP (Distance Vector Multicast Routing
    Protocol)
  • PIM-DM (Protocol Independent Multicast, Dense
    Mode)
  • Sparse mode protocol
  • assumes sparse group membership
  • Shared distribution tree and ACK type
  • PIM-SM (Protocol Independent Multicast, Sparse
    Mode)
  • CBT

16
DVMRPexchange distance vector
  • Maintain multicast routing table by exchanging
    distance vector information among routers
  • consistent view of a tree among all routers
  • convenient to have separate paths for unicast
    versus multicast datagrams( ie tunnelings)
  • Dependent routers information
  • information about responsible downstream routers
    for a source
  • A downstream router send poison Reverse to a
    selected upstream router to indicate the
    dependency.
  • Poison Reverse metric 32 (inf)
  • entry will be removed from the list by prune
    message
  • Designated Forwarder
  • multiple routers on the same LAN
  • lower metric or lower IP address becomes the
    designated forwarder (discover when exchanging
    metric info.)

17
DVMRPbroadcast prune
  • Forward multicast packets based on RPF (Reverse
    path forwarding) rule
  • leaf routers check and sends prune message to
    upstream router when no group member on the
    network
  • upstream router prune the interface with no
    dependent downstream router.
  • Graft message to create a new branch for late
    participants
  • Restart forwarding after prune lifetime (standard
    720 minutes)
  • draft-ietf-idmr-dvmrp-v3-09.txt (September 1999)

18
RPF(reverse path forwarding)
  • RPF check
  • A packet received through interface I, from S
    (source) to G (multicast group) packet (S,G)
  • A router looks into the routing table to find an
    interface used to send packet to S, I(parent).
  • If I ! I (parent), I is a wrong interface to
    receive (S,G).
  • if I I(parent), I is a correct interface to
    receive (S, G).
  • If the RPF check succeeds, the datagram is
    forwarded to all interfaces except I.
  • If the RPF check fails, the datagram is typically
    silently discarded
  • Packet is never forwarded back out the RPF
    interface!

19
DVMRP (1) form a source tree by exchanging metric
source tree
S
Source
DF
R1
Receiver 1
20
DVMRP (2) broadcast
source tree
S
datagram
Source
DF
R1
Receiver 1
21
DVMRP (3) prune
source tree
S
datagram
Source
IGMP DVMRP-Prune
DF
R1
Receiver 1
22
DVMRP (4) X and Y pruned
source tree
S
datagram
Source
DF
X
Y
R1
Receiver 1
23
DVMRP (4) New member
source tree
S
datagram
Source
IGMP DVMRP-Graft
DF
X
Y
R1
R2
Receiver 1
Receiver 2
24
DVMRP (4) New branch
source tree
S
datagram
Source
IGMP DVMRP-Graft
DF
X
Y
R1
R2
Receiver 1
Receiver 2
25
PIM
  • PIM Protocol Independent Multicast
  • independent of particular unicast routing
    protocol
  • Pros simple, less overhead
  • Cons may cause more broadcast-and-prunes
  • All routers in a domain support PIM
  • No multicast tunnel
  • PIM v2 is assigned new protocol 103

26
PIM DM overview(1)
  • Broadcast and prune ideal for dense group
  • Source tree created on demand based on RPF rule
  • If the source goes inactive, the tree is torn
    down
  • Easy plug-and-play
  • Branches that dont want data are pruned

27
PIM DM overview(2)
  • Grafts used to join existing source tree
  • Uses Asserts to determine the forwarder for
    multi-access LAN
  • Prunes on non-RPF P2P links
  • Rate-limited prunes on RPF P2P links

28
PIM DM Forwarding
  • PIM DM interfaces are placed on the oilist for
    a multicast group if
  • PIM neighbor heard on interface
  • Host on this interface has just joined the group
  • Interface has been manually configured to join
    group
  • Packets are flooded out all interfaces in
    oilist
  • If a PIM neighbor is present, DM assumes EVERYONE
    wants to receive the group so it gets flooded to
    that link by definition

29
PIM Assert Mechanism
  • Routers receive packet on an interface in their
    oilist
  • Only one router should continue sending to avid
    duplicate packets.
  • Routers sends PIM assert messages
  • Compare distance and metric values
  • Router with best route to source wins
  • If metric distance equal, highest IP addr wins
  • Losing router stops sending (prunes interface)

30
PIM DM State Maintenace
  • State is maintained by the flood and prune
    behavior of Dense mode.
  • Received Multicast packets reset(S,G) entry
    expiration timers.
  • When (S,G) entry expiration timers count down
    to zero, the entry is deleted.
  • Interface prune state timers out every 210
    seconds causing periodic reflooding and pruning

31
PIM-DM(1)Initial flood of data
S
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
Receiver 2
32
PIM-DM(2)prune non-RPF p2p link
S
IGMP PIM-Prune
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
Receiver 2
33
PIM-DM(3) C and D Assert to DetermineForwarder
for the LAN, C Wins
S
IGMP PIM-Assertwith its own IP address
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
Receiver 2
34
PIM-DM(4)I, E, G send PruneH send Join to
override Gs Prune
S
IGMP PIM-Prune
Source
IGMP PIM-Join
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
Receiver 2
35
PIM-DM(5)I Gets PrunedEs Prune is IgnoredGs
Prune is Overridden
S
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
Receiver 2
36
PIM-DM(6)New Receiver, I send Graft
S
IGMP PIM-Graft
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
R3
Receiver 2
Receiver 3
37
PIM-DM(6)new branch
S
IGMP PIM-Graft
Source
A
B
G
F
C
D
H
I
E
R1
R2
Receiver 1
R3
Receiver 2
Receiver 3
38
PIM-SM overview (1)
  • Shared Tree for a group with RP (Rendez-Vous
    Point) as a root
  • Explicit Join Model
  • Receivers send Join towards the RP
  • Sender Register with RP
  • Last hop routers can join source tree if the data
    rate warrants by sending joins to the source
  • RPF check depends on tree type
  • For shared trees, uses RP address
  • For source tress, uses Source address

39
PIM-SM overview(2)
  • Only one RP is chosen for a particular group
  • RP statically configured or dynamically learned
    (Auto-RP, PIM v2 candidate RP advertisements)
  • Data forwarded based on the source state (S, G)
    if it exists, otherwise use the shared state (,
    G)
  • RFC2362 PIM Sparse Mode Protocol Spec
    (experimental)
  • Internet Draft draft-ietf-pim-v2-sm-00.txt
    (October 1999)

40
PIM-SM Basics
  • PIM Neighbor Discovery
  • PIM SM Forwarding
  • PIM SM Joining
  • PIM SM REgistering
  • PIM SM SPT-Swichover
  • PIM SM Pruning
  • PIM SM Bootstrap
  • PIM SM State Maintenance

41
PIM Neighbor Discovery
  • PIM Hellos are multicast to the All-PIM-Routers
    (224.0.0.13, ff02d) multicast group address
    periodically
  • Highest IP address elected as DR (Designated
    Router)
  • If DR times-out, a new DR is elected

42
PIM SM Bootstrap
  • A set of routers are configured as candidate
    Bootstrap Router(BSR)s
  • single BSR is selectd for the domain
  • Candidate RPs periodically unicast
    Candidate-RP-Advertisement messages (C-RP-Advs)
    to BSR
  • The BSR periodically sends Bootstrap messages
    containing the set of Candidate-RPs
  • Bootstrap message are flooded in the domain
  • Routers receive and store Bootstrap messages
    originated by the BSR.

43
PIM SM State Maintenance
  • Periodic Join/Prunes are sent to all PIM
    neighbors
  • Periodic Joins refresh interfaces in a PIM
    neighbors oilists
  • Periodic Prunes refresh prune state in a PIM
    neighbor
  • Received Multicast packets reset(S,G) entry
    expiration timers.

44
PIM-SM(1)
S
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
45
PIM-SM(2)
S
Receiver 1 Joins Group GC Creates (, G) State,
Sends(, G) Join to the RP
Source
A
B
RP
D
Join
C
E
R2
R1
Receiver 1
Receiver 2
46
PIM-SM(3)
S
RP Creates (, G) State
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
47
PIM-SM(4)
S
Source Sends DataA Sends Registers to the RP
Source
Register
Data
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
48
PIM-SM(5)
S
RP de-encapsulates RegistersForwards Data Down
the Shared TreeSends Joins Towards the Source
Source
join
join
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
49
PIM-SM(6)
S
RP Sends Register-Stop OnceData Arrives Natively
Source
Register-Stop
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
50
PIM-SM(7)SPT Switchover
S
C Sends (S, G) Joins to Join theShortest Path
(SPT) Tree
Source
A
B
RP
D
join
C
E
R2
R1
Receiver 1
Receiver 2
51
PIM-SM(8)
S
C starts receiving Data natively
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
52
PIM-SM(9)
S
C Sends Prunes Up the RP tree forthe Source. RP
Deletes (S, G) OIF andSends Prune Towards the
Source
Source
Prune
Prune
A
B
RP
D
Prune
C
E
R2
R1
Receiver 1
Receiver 2
53
PIM-SM(10)
S
B, RP pruned
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
54
PIM-SM(11)
S
Source
New receiver2 joinsE Creates State and Sends (,
G) Join
A
B
RP
D
C
E
join
R2
R1
Receiver 1
Receiver 2
55
PIM-SM(12)
S
Source
C Adds Link Towards E to the OIFList of Both (,
G) and (S, G)Data from Source Arrives at E
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
56
PIM-SM(13)
S
Source
C Adds Link Towards E to the OIFList of Both (,
G) and (S, G)Data from Source Arrives at E
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
57
Inter-Domain Multicast Routing
  • BGP4 (Multicast BGP) for short-term solution
  • MASC Multicast Address Set and Claim
  • BGMP Border Gateway Multicast Protocol

58
MASC
  • Hierarchical multicast address allocation
  • dynamic allocation (lease) by set and claim with
    collision

domain A
domain E
domain B
domain C
domain D
59
MASC
  • Assume Addr(A) is allocated to domain A, A notify
    to B C and E.
  • B selects Addr(B) , subset of Addr(A) and send
    Claim (addr(B)) message to A and C
  • A forward it to all children except B.
  • If As children is already using Addr(B), report
    collision to A.
  • A notify the collision to B to select other
    address space.
  • B wait for a certain period before using it.
  • Address space information is used to create
    distribution tree using BGMP.
  • Stored in M-RIB (Multicast Routing Information
    Base)

60
BGMP
  • Use a PIM-like protocol between domains (BGP for
    multicast)
  • BGMP builds shared tree of domains for a group
  • So we can use a rendezvous mechanism at the
    domain level
  • Shared tree is bidirectional
  • Root of shared tree of domains is at root domain
  • Runs in routers that border a multicast routing
    domain
  • Runs over TCP like BGP
  • Joins and prunes travel across domains
  • Can build unidirectional source trees
  • M-IGP(multicast Intra-Gateway Protocol) tells the
    borders about group membership

61
BGMPA host in C joins to Group G
DomainE
DomainD
E1
D1
A1
A4
DomainA
join
A3
M-IGP
Root domain
A2
DomainB
join
B1
B2
M-IGP
join
C1
DomainC
DomainF
F2
F1
62
BGMPTree constructed, data goes to C
DomainE
DomainD
E1
D1
A1
A4
DomainA
A3
Root domain
A2
DomainB
B1
B2
C1
DomainC
DomainF
F2
F1
63
BGMPDomain E joins to G
DomainE
DomainD
E1
join
D1
A1
A4
DomainA
join
A3
A2
DomainB
B1
B2
C1
DomainC
DomainF
F2
F1
64
BGMPtree constructed. Data goes to E
DomainE
DomainD
E1
D1
A1
A4
DomainA
A3
A2
DomainB
B1
B2
C1
DomainC
DomainF
F2
F1
65
Multicast Routers
  • mrouted (Xerox PARC) DVMRP
  • GateD (Merit) DVMRP, PIM-DM, PIM-SM
  • Cisco IOS DVMRP, PIM-DM, PIM-SM

66
M-Bone
  • Wide area IP multicast test bed using IP-in-IP
    tunneling technology
  • Routing protocol
  • DVMRP is used
  • Transition to PIM (DM, SM) is ongoing
  • Started in March 1992 for audio broadcasting of
    IETF meeting (San Diego)
  • Latest tolopology
  • ftp//ftp.parcftp.xerox.com/pub/net-research/mbone
    /maps/mbone-map-big.ps
  • About 6000 (S,G) entries
  • Discussion in by mbone_at_isi.edu

67
M-BONE in 1994
68
M-BONE in 1996
69
M-BONE in 1998
70
Future Mulicast Service
  • Current multicast service - latency and packet
    drop
  • Research for Reliable multicast is actively
    going on for
  • large scale interactive game on the Internet
  • Distributed database
  • large scale news distribution etc.

71
Reliable multicast technology
  • SRM ( scalable Reliable Multicast)
  • multicast with re-transmit (with random back-off)
  • All nodes can re-transmit datagram
    (Multicast/Unicast)
  • MTP (Multicast Transport Protocol RFC1301)
  • FEC (Forward Error Correction)
  • error packet recovery by redundant packets

72
IPv6 Multicast Test10sites in Japan PIM-SM over
IPv6 (KAME)Digital Video streaming
Nov 27th, 1999
73
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com