IP Multicast Channels: EXPRESS Support for Large-Scale Single-Source Applications
Computer Science 6390 – Advanced Computer Networks Holbrook and Cheriton Dr. Jorge A. Cobb SIGCOMM’99
IP Any Source Multicast
IP Multicast (RFC 1112) or ASM – Any Source Multicast • Hosts aggregated into groups with single address
ASM Problems • Strained for very large scale multicast applications such as Internet TV
• Violates common ISP billing models • Provides no indication of group size • No restriction on allowed senders • World-wide unique multicast address (run out of addresses)
2
EXPRESS
Focus Provide explicit support for large-scale multicast applications by extending the IP Multicast service model to support multicast channels
IP Multicast Channels • A multicast channel is a datagram delivery service identified by a tuple (S, E) where S is the sender’s source address and E is a channel destination address.
•
Only the source host S may send to (S,E).
3
Channel vs. Group Addressing S
S’
S
(S,E)
G
4
Single-source IP Multicast Addresses
222.0.0.0
IP Multicast addresses
224 class D addresses allocated by IANA
A source S can freely pick any of these to make a “channel” (S,E)
Sources just send data addressed to (S,E)
Receivers have to inform their routers they want to join (S,E) (more on this later)
239.255.255.255
Single-source multicast Addresses (232.*.*.*)
5
Is it a channel or a group?
Is a multicast packet received addressed to a group (regular IP multicast) or an IP channel?
•
Look at the destination
•
If destination ∈ (232.*.*.*) it is for a channel
•
If destination ∉ (232.*.*.*) it is for a regular IP group
• Channel = (S,E), S = src IP address, E = dest IP addr • I.e., the source helps identify the “group” • Group G = dest IP addr • I.e. the source does not identify the “group” 6
EXPRESS “Counting” Messages
There are three message types • CountQuery(chanel,countId,timeout) • Count(chanel,countId,count,[K(S;E)]) • CountResponse(chanel,countId,status) Counts may be initiated by a source or an intermediate router • Initiator sends a CountQuery to all its children, which propagates down the tree • Receiving hosts respond with a Count message • Router acknowledges (or rejects) the Count message of a child with a CountResponse • Once a router receives a Count from all children, it sends a count to its parent.
7
EXPRESS Service Interface Extensions
Source service interface
• •
Count = CountQuery(channel, countId, timeout) channelKey(channel, K(S, E) )
Subscriber service interface
• •
Result = newSubscription(channel [, K(S, E) ]),
•
An unsolicited count message is sent towards the source in order to join the channel • countID in this case is subscriberID.
Count(channel, countId, count)
•
used by subscriber to reply to CountQuery
8
Advantages
Source • 224 channels per source • Address management is simplified • Authenticated subscription option • CountQuery mechanism (number of subscribers or subscriber vote) Subscriber • Receives traffic only from the source it designates • Ability to provide feedback ISP • Provides basis for charging • Counting facility increases revenue • EXPRESS is relatively simple to implement and manage 9
EXPRESS Count Management Protocol
A single common management protocol Maintains the distribution tree and supports source-directed counting and voting RPF is used to route subscriptions and unsubscriptions towards the source Generic Counting Operation • CountQuery (propagates from source to leaves) • Count (response of child to parent’s CountQuery) • CountResponse (parent accepts/rejects child’s count message) • A router can initiate a query without source co-operation Distribution Tree Maintenance • New subscription • Unsubsciption • Router can use either TCP or UDP mode for ECMP
10
ECMP (Contd.)
Neighbor/host discovery/refresh
• •
neighbors: all express routers reply all-channels: all hosts reply with a count message
Forwarding Information Base entries at each router Forwarding procedure is nearly identical to IP Multicast
Authenticated ECMP and End-to-end Encryption
•
• •
EXPRESS Packet Forwarding
• •
Periodic CountQuery message countId:
Authentication provides restricted access while encryption provides confidentiality
Advantages
• • •
Simple integrated protocol
•
Supports subscription, multicast channel maintenance and counting
No change in host OS if it supports IP Multicast (?) Multicast traffic travel only along paths from source to subscribers 11
Multi-source Multicast Applications
Multiple channels, one per source • Applicable when new source is going to transmit for extended period of time
Otherwise, several short-term sources share a channel (SR,E) • Data is relayed via a higher level (application) relay through the channel (SR,E), SR = session relay host • Relaying is done via encapsulation from temporary source to SR.
Receiver A wants to send a small message over the channel
12
EXPRESS Conclusions
Extension to the conventional IP multicast
Simple implementation
Additional capabilities like access control, accounting and local-to-host multicast address allocation
Almost single source and truly multi source multicast applications can be implemented
13