IP Multicast - PowerPoint PPT Presentation

About This Presentation
Title:

IP Multicast

Description:

Create M unicast connection for M clients. NOT Scalable! NUS.SOC. ... Victoria's Secret Spring Fashion Show. Live Broadcast in 1999. Video bit-rate: 28 Kbps ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 104
Provided by: compN
Category:

less

Transcript and Presenter's Notes

Title: IP Multicast


1
IP Multicast
  • CS5248

2
You are Here
3
Communication Models
receiver
sender
Traditional Applications One-to-One
4
Communication Models
sender
receivers
Media Applications One-to-Many
5
Communication Models
Media Applications Many-to-Many
6
Naïve Solution
  • Create M unicast connection for M clients

NOT Scalable!
7
Famous Example
  • Victorias Secret Spring Fashion Show
  • Live Broadcast in 1999
  • Video bit-rate 28 Kbps
  • Number of viewers 1.5 Millions

8
IP Multicast
9
New Model IP Multicast
sender
receivers
10
Group and Members
11
Sending to a Group
12
Joining and Leaving
13
Anyone can Send
14
Multicast Address
  • Group ID or Multicast address
  • 224.0.0.0 239.255.255.255

15
Unicast
S
A
A
B
Router
C
B
Router
Router
Router
C
16
Multicast
S
A
G
Router
B
Router
Router
Router
C
17
Multicast
S
A
Router
G
B
Router
Router
Router
G
C
18
Multicast
S
G
A
Router
B
Router
Router
G
Router
C
19
Question 1
should I forward this packet to my subnet?
Router
?
G
20
Question 2
which neighbors should I forward this packet?
Router
Router
Router
Router
21
Group Management
22
Group Management
  • Routers maintain local host group membership
    table
  • which group has a member in my subnet ?

23
IGMP v1.0
  • JOIN messageA I want to join group G.
  • QUERY messageR Which group have you joined ?

24
IGMP v1.0
  • MEMBERSHIP ReportA I am a member of group
    GA I am a member of group HB I am a
    member of group G

25
Avoiding Implosion
  • Select random delay t
  • After time t, if nobody belongs to the same
    group, send membership report.
  • Resend the report after some delay just to be
    safe.

26
Leave
  • If no one in group G after a few query messages,
    remove G from local host membership table.
  • Problem Long leave latency (minutes)

27
IGMP v2.0
  • LEAVE messageI want to leave group G
  • Group-Specific QueryAnybody else belongs to
    group G ?

28
IGMP v3.0
  • Group-Source InclusionI want to listen to S
    from group G
  • Group-Source ExclusionI do not want to listen
    to S from group G

29
Question 2
which neighbors should I forward this packet?
Router
Router
Router
Router
30
Routing Protocols
31
Routing Protocols
  • Generic Methods
  • Form a tree to all routers with members
  • Deliver the packets along the tree

32
Shortest Path Tree
  • One tree for each source for each group

33
Shared Tree
  • One tree for each group

34
Routing Protocols
  • DVMRP
  • CBT
  • PIM

35
DVMRP
  • Distance Vector Multicast Routing Protocol

36
From S to G
Q
R
P
T
37
Is R on the shortest path to S ?
Q
R
P
T
38
If no.. ignore the packet
Q
R
P
T
39
If yes.. continue
Where should I forward it to ?
Q
R
P
T
40

Forward to subnet?
Q
R
P
T
41
Truncation
  • Router checks local host membership table.
  • Duplicate the packets only if there is a member
    in the subnet.

42

Truncation
Q
R
P
T
43

Forward to Neighbors?
Q
?
R
P
T
?
44
Observation
  • If neighbor is going to ignore my packets, dont
    need to send the packets to it.

45

Exchanging Routing Tables
Dest Next Hop Cost
S P 4
A T 3
B P 2
Q
R
P
T
46
Flooding
  • Default Always send to neighboring routers,
    unless told otherwise.

47
Pruning
  • Routers who received a useless packet send a
    prune message back.Dont send me packets
    addressed to G anymore !

48

Q
R
P
T
49

Q
R
P
T
PRUNE
50

Q
R
P
T
51

Q
R
P
T
GRAFT
52

Q
R
P
T
53

Q
PRUNE
R
P
T
54
A router needs to remember..
  • If it has any member for group G in its subnet
  • Where to forward packets from source S to group G
  • Which neighbors will not throw my packets away
  • Which sub-trees are pruned

55
Periodically Rebuild Tree
  • DVMRP periodically forget about everything it
    learned
  • Why?
  • To clean-up left-over states for groups that
    are no longer active.

56
Problems of DVMRP
  • Not Scalable
  • O(SG)
  • Not Efficient
  • Flooding initially
  • Periodically exchange routing tables

57
CBT
  • Core-based Tree

58
Core Based Tree
  • One tree per group
  • Pick a router as core
  • Identity of core can be pre-configured or
    computing using some multicast address to core
    address mapping.

59
A Shared Tree
W
R
U
core
P
Q
V
60
V Joins G
W
R
U
JOIN
core
P
Q
V
61
V Joins G
W
R
U
JOIN
core
P
Q
V
62
V Joins G
W
R
U
ACK
core
P
Q
V
63
V Joins G
W
R
U
ACK
core
P
Q
V
64
V Joins G
W
R
U
core
P
Q
V
65
U Joins G
W
R
U
core
P
Q
V
JOIN
66
U Joins G
W
R
U
core
P
Q
V
ACK
intercept!
67
Echo
W
R
U
core
P
Q
V
68
Flush!
W
R
U
core
P
Q
V
X
69
Send (on Tree)
W
R
U
core
P
Q
V
70
Send (Not on Tree)
W
R
U
core
P
Q
V
71
CBT Strengths
  • Scalable
  • O(G) states
  • No flooding
  • No exchange of states

72
CBT Weaknesses
  • Core placement matters
  • Single point of failure
  • Core can become bottleneck

73
SPT vs. ST
74
Experiment 1
  • Shared tree has worst delay than shortest path
    tree. How much worst?
  • Generate 500 random networks, 50 nodes each,
    10-member groups

75
Experimental Results
Delay Ratio (CBT/SPT)
1.4
1
Node Degree
76
Experiment 2
  • CBT causes traffic to concentrate on a set of
    links. How bad is this concentration?
  • Generate 500 random networks, 50 nodes, 300
    groups, 40 members, 32 senders

77
Experimental Results
Max Number of Flows/Link
9K
CBT
SPT
6K
Node Degree
78
PIM
  • Protocol Independent Multicast

79
PIM
  • Get the best of both world
  • dense mode shortest path
  • sparse mode shared tree

80
PIM-DM
  • Similar to DVMRP, except
  • send to neighbors even if they will ignore my
    packets

81
PIM-SM
  • Similar to CBT except
  • links are uni-directional

W
R
U
core
P
Q
V
82
Join
R
join
P
core
Q
83
Send (SM)
S
R
P
core
Q
84
Switch (Join S)
S
R
switch
P
core
Q
85
Switch
S
R
switch
P
core
Q
86
Prune
S
R
P
core
Q
prune
87
Summary
  • What is IP Multicast?
  • How to route packets
  • IGMP
  • DVMRP/CBT/PIM

88
So, why cant we multicast?
  • Who assign multicast address?
  • Who pay for multicast traffic?
  • How to inter-operate between protocols?
  • How can we prevent DoS?

89
System Design Considerations
  • or What I learned from Multicast Routing
    Protocols

90
Practical Issues
  • Money matters
  • Security matters

91
Scalability
  • Minimize states
  • Avoid implosion
  • random timer
  • Avoid hot spot

92
Robustness
  • Periodically forget (soft-states)
  • Echo messages (alive messages)

93
Minimize Interface /Coupling
  • do not assume unicast routing protocol

94
Middle Ground
  • If you have two schemes with different pros/cons,
    think
  • middle ground

95
Possible Survey and Project Topics
96
Application-Level Multicast
97
Single Source Multicast
  • Most media applications do not require
    many-to-many communication.
  • Single Source Multicast protocols have been
    proposed

98
Transport Layer
99
TCP vs UDP
  • TCP offers
  • packet ordering
  • reliability
  • flow control
  • UDP
  • just send!

100
TCP vs UDP
  • Continuous media uses UDP
  • Retransmission may not be useful
  • Flow control makes throughput unpredictable
  • Multicast TCP has problems

101
UDP Header
  • struct UDPHeader
  • short src_port
  • short dst_port
  • short length
  • short checksum

102
Is UDP Enough?
  • Who sent this packet?
  • How do I interpret this packet?
  • When was this packet generated?
  • Which packets come first?

103
RTP
  • Real-Time Transport Protocol
  • (not really a transport protocol)
  • Provides
  • source identification
  • sequence number
  • time stamping
  • payload identification
Write a Comment
User Comments (0)
About PowerShow.com