• 沒有找到結果。

Multicast Overview

N/A
N/A
Protected

Academic year: 2021

Share "Multicast Overview"

Copied!
45
0
0

加載中.... (立即查看全文)

全文

(1)

Multicast Overview

Wyatt Sun

[email protected]

(2)

Multicast Basic Concepts

One-to-many or many-to-many communication, a

packet is sent once by the source, and reaches every destination without unnecessary duplication in the

network.

The only Internet transport protocol that support multicasting is UDP.

(3)

Multicast Addressing

Background: Classful Addressing:

Class A: 0... ... ... ...

Class B: 10... ... ... ...

Class C: 110... ... ... ...

Class D: 1110.... ... ... ...

Class E: 11110... ... ... ...

Multicast Addresses: Class D addresses (224.0.0.0 to 239.255.255.255) are called multicast groups.

Class D is declared but unused in RFC 820, Jan. 1983. Class D is allocated for multicast in RFC 966, Dec. 1985. Class E is declared and reserved in RFC 988, Jul. 1986.

(4)

Mapping between IP and Ethernet Addr.

Protocol Address

Ethernet (48-bit) 00000001 00000000 01011110 0... ... ... IP (32-bit) 1110???? ?... ... ...

A block of Etnernet multicast addresses prefixed

01:00:5e is assigned to the IANA by the IEEE. The IANA allocates half of the block, with the high-ordered bit be set to 0 for IP multicast addresses.

32 IP multicast addresses map to 1 Ethernet multicast address.

(5)

IGMP

Internet Group Management Protocol

IGMP is used to comunicate group membership

information on a local network between edge-routers and leaf nodes, multicast routers use it to keep track of group membership on its physically attached networks. IGMP is a transport protocol above IP with the protocol number of 2, and its messages are carried in IP

datagrams (as with ICMP).

IGMP v1: RFC 1112 (Aug. 1989) IGMP v2: RFC 2236 (Aug. 1997) IGMP v3: RFC 3376 (Aug. 2002)

(6)

IGMP v1

Proposed in conjunction with DVMRP in RFC 1112. The router sends an IGMP query periodically.

The host replies with an IGMP report when the first process joins a group.

The host does nothing when the last process leaves the group.

If a host is scheduled to send a report, but receives a copy of the same report from another host, the

(7)

Message Format of an IGMPv1 Message:

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Version| Type | Unused | Checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Group Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IGMP Query: Type=1, Group

Address=224.0.0.1(all-hosts) or all-zero, TTL=1 IGMP Report: Type=2, Group

(8)

IGMP v2

Adds fast termination of group subscriptions. When a host leaves a multicast group, if it was the last host to reply to a Query with a Membership Report for the group, it SHOULD send a Leave Group message to the all-routers multicast group (224.0.0.2).

(9)

Message Format of an IGMPv2 Message:

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Max Resp Time | Checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Group Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Max Response Time: used only in Membership Query message. It specifies the maximum allowed time

before sending a responding report in units of 1/10 second.

Leave Group: Type=0x17.

(10)

IGMP v3

Adds support for source filtering, that is, the ability for a system to report interest in receiving packets only from specific source address, or from all but specific source addresses.

use Current-State Record, Filter-Mode-Change

Record and Source-List-Change Record to include or exclude specified multicast addresses.

The suppression of membership reports in IGMP v1/v2 is removed, this permits explicit membership tracking.

(11)

Message Format of an IGMPv3 Message:

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type=0x22 | Max Resp Code | Checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Group Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Resv |S| QRV | QQIC | Number of Sources (N) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address [1] | +- -+ | Source Address [2] | +- . -+ . . . +- . -+ | Source Address [N] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(12)

Multicast Routing Protocols

Source-Rooted Tree Shared Tree

intra-domain DVMRP, MOSPF, PIM-DM PIM-SM, CBT, OCBT

(13)

Intra-domain routing protocols - Source-Rooted Tree DVMRP (RFC 1075, Nov. 1988)

MOSPF (RFC 1585, Nov. 1994)

PIM-DM (RFC draft-pim-dm-new-v2-04.txt, Nov. 2001 - Sep. 20023)

Inter-domain routing protocols - Shared Tree HIP (Proc. of PODC, 1998)

KHIP (Keyed HIP, SIGCOMM 1999)

BGMP (draft-ietf-bgmp-spec-05.txt, Jun. 2003) Inter-domain routing protocols - Shared Tree

PIM-SM (RFC 1075, Nov. 1988) CBT (RFC 2201, Sep. 1997)

(14)

Source-Rooted Tree

DVMRP

Flood-and-Prune

use RPF (Reverse Path Forwarding) for flooding. Not suitable for large scale due to flooding.

PIM-DM

very similar to DVMRP but independent of the underlaying unicast routing protocol.

(15)

MOSPF

Base on OSPF, a link-state routing protocol.

The per-source tree are computed by each router by routing information from OSPF.

(16)

Shared Tree

CBT

Use a bi-directional shared tree for a group.

Reduce the number of state information in each router, (S,G) vs. (*,G).

Explicit Join and Leave message is needed. (IGMP v3).

OCBT

Makes CBT loop-free and robust.

Assign the cores and logical level, indicating the position in the hierarchy.

BGMP (Border Gateway Multicast Protocol) bi-directional shared trees

(17)

HIP

A hierarchical multicast routing scheme that uses OCBT to route between heterogeneous multicast routing domains.

Assign the cores and logical level, indicating the position in the hierarchy.

KHIP (Keyed HIP)

Provide efficient mechanism for distributing

multicast keys and changing them as necessary. Limit access to the multicast routing tree to

authorized members, preventing unauthorized members from sending to or receiving from the multicast session. position in the hierarchy.

(18)

PIM-SM

Use a variant of center-base tree algorithm.

Use a uni-directional shared tree call RP tree for a group.

A set of special routers called Rendezvous Points. RPs play the role like a proxy for both receivers and senders.

If the sender’s traffic increase beyond some threshold, the shortest path router is set up between sender and the corresponding RP. In

addition, the routes between RP and the receivers switch from the RP tree to a source-based shortest path tree.

(19)

MAAA

Multicast Address Allocation Architecture An given multicast address is limited in two dimensions: Lifetime and Scope.

Considerations: robustness/availablity, timelineness, low probability of clashes, and good address space utilization.

Good address space packing and constant availability are more important than guaranteeing that address clashes never occur.

3 catagories of multicast address allocation: 1. Static

2. Scope-relative 3. Dynamic

(20)

Static addresses:

1. permanent lifetime.

2. scope defined by the scope range in which they reside.

3. for specific protocols that require well-known address to work.

(21)

Scope-relative addresses: permanent lifetime

valid in every scope and location

RFC 2365 reserves the highest 256 addresses in every administrative scope range for relative

assignments.

reserved for infrastructure protocols which require an address in every scope.

clients can use MZAP or MADCAP to obtain the list of scope in which they reside.

Dynamic addresses:

provided on demand with limited lifetime. for most condition.

(22)

IP Multicast

Applications: Audio/Video distribution Audio/Video conference File transfer Conventional IP Multicast:

a set of hosts can be aggregated into a group with a single address.

lakes basis for charging, access control, and scalability.

(23)

Limited Deployment of IP-Multicast

The success of today’s Internet results from the unicast-based email and web applications.

Chick-and-egg problem

Billing (for ISPs and content providers)

For ISP, it upsets the router migration model that ISPs follows.

(24)

Problems of conventional IP multicast

Violates common ISP billing models, e.g;, 1 million subscribers in Super Bowl.

1. Input data rate is the basis for ISP charging 2. No indication of the group size

3. Can’t restrict sender

4. World-wide unique address is needed for each application, and there are only 256M multicast addresses totally.

(25)

EXPRESS: EXPlicity REquested Single Source

A multicast channel is a datagram service identified by a tuple (S, E).

In the network: (S, E) 6= (S0, E)

On the sender: (S, E) 6= (S, E0)

Only the source host S may send to (S,E).

For each (S,E), it has only one explicitly designated source and 0+ channel subscribers.

(26)

Single Source Multicast

Source [App/OS]

Source says "hello"

Multicast channel

(27)

Advantages of EXPRESS

For source:

EXPRESS provides 224 channels per source.

Source can control other hosts’ ability to subscribe to the channel.

The source can use the CountQuery to determine the number of subscribers or to take a subscriber vote.

For subscribers:

Only receive traffic from the source, need not explicitly exluce other sources, as with IGMPv3. This reduces the traffic on the receiver’s last-hot link.

Feedback with the count mechanism may enable new appplication-level features.

(28)

For ISP:

Take channels as a valuable service.

The source is the owner of the channel.

The counting machanism can determine the number of subscribers.

All these advantages come from restricting the multicast channel to having a single source.

(29)

EXPRESS service interface extensions

Source host’s extended service interface:

count = CountQuery(channel, countId, timeout)

Source informs the network that channel is authenticated by

channelKey(channel, K(S,E))

The netwrok layer ensures only hosts presenting

K(S,E) can subscribe.

To subcast a packet to a subnet, the source can unicast a encapsulated packet to the “on-channel” router.

(30)

Subscriber’s extended service interface:

result = newSubscription(channel [, K(S,E)])

result = deleteSubscription(channel [, K(S,E)])

A subscriber reply to CountQuery request with

(31)

ECMP

(EXPRESS Count Management Protocol)

Responsibility:

Maintains the distribution tree: Subscription

Channel maintenance Counting:

Supports source-directed counting and voting. Function from ECMP:

Access control Accounting

(32)

ECMP messages:

CountQuery(channel, countId, timeout)

Originated from source, and forwarded to all the receivers.

Count(channel, countId, count, [K(S,E)]) CountResponse(channel, countId, status)

Reserved countId:

subscriberId, the number of subscribers in a subtree.

1. Originated from source via countQuery or 2. A receiver initiates a newSubscription will

(33)

Distribution Tree Maintenance:

A router can select TCP or UDP for ECMP on each interface.

# of neighbors # of channels

TCP core router less more

UDP edge router more less

In TCP, the router maintains:

1. a TCP connection to each neighbor.

2. a per-channel subscriber count for each neighbor. In UDP, the upstream router periodically multicasts a CountQuery request, then all the UDP neighbors respond with Count messages for the specified channel.

(34)

Forwarding:

A router looks up (S,E) in Forwarding Information Base (FIB), and forwards the packet to the outgoing interfaces.

The router will drop the packet if:

1. the incoming interface matches the FIB entry’s outgoing interface, or

2. the packet doesn’t match any exact (S,E) entry in the FIB.

(35)

Multicast can support one-to-many and many-to-many communication.

Restricting multicast to single source really simplify the model, but how about Multi-Source multicast

(36)

Multi-Source Multicast Applications

Large-scale multicast applications are almost single-source, the proposed solution is session relay approach.

Solutions:

1. Allowing several sources to share a channel using higher-level relaying through the channel’s source host. (Session Relay)

(37)

Session Relay (SR) Approach

SR host [App/OS] A says "hello" SR channel A B C D E F G H hello

(38)

Operation:

1. Each SR-based application has an associated session relay on an application-selected host SR that acts as the source for the EXPRESS channel (SR,E).

2. The primary lecturer or speaker either resides on the SR or unicast an enacpsulated packet to the SR.

3. The SR can use an application-layer relay protocol or an IP-in-IP-like encapsulation.

(39)

Advantages of session Relay:

1. Reduce traffic by locate the SR near the topology center.

2. Fault tolerance by additional backup SRs. 3. provide application-specific function.

Disadvantage of session Relay: 1. Extra latency.

(40)

Cost Evaluation

Cost for Router Memory

0.18 cents per subscriber per year.

A small community cable TV channel can lease for approximately $1.00 per potential viewer per

month.

Cost of Management-Level State Cost of State Maintenance

(41)

Related Work

Tree-building: CBT

Source-specific join: PIM-SM

Contribution:

specifying this model as an extension of IP multicast.

demonstrate its advantages for large-scale multicast applications.

adding the accounting support.

Simple Multicast Routing Protocol develops an

extension to the AppleTalk protocol supports a similar model of multicast.

(42)

IGMPv3: inclusion/exclusion lists allow receiver to

enumerate the set of souces that it wishes to hear from or exclude.

It’s more general but more complicated.

BGMP: in combination with a global address allocation scheme can improve the scalability of IP multicast

routing.

Session Relay approach is similar in some ways to the

PIM-SM rendezvous point, but session relays are

selected and controlled at the application layer, not the

network layer.

Subcasting in EXPRESS is similar to the SUBTREE MCAST in RMTP.

(43)

Simple Multicast

supports multiple sources per multicast tree with bi-cirectional shared trees and appreas to require changes to the multicast forwarding fast path.

does Not address accounting or access control.

RSVP focuses on resource allocation, rather than resource accounting.

(44)

Conclusion

EXPRESS simplifies the implementation by the single-source restriction. Contributions: 1. Addressing 2. Tree maintenance 3. Counting 4. Scalability

(45)

References

[1] Christophe Diot, Brian Neil Levine, Bryan Lyles, Hassan Kassem, and Doug Balensiefen, “Deployment Issues for the IP Multicast Service and Architecture”, in IEEE

Network, 2000.

[2] Kevin Almeroth, “The Evolution of Multicast: From the MBone to Inter-Domain Multicast to Internet2

Deployment Architecture”, in IEEE Network, 2000. [3] Hugh W. Holbrook, David R. Cheriton, “Multicast

channels: EXPRESS support for large-scale

single-source applications”, in Proceedings of ACM SIGCOMM, 1999.

參考文獻

相關文件

 From a source vertex, systematically follow the edges of a graph to visit all reachable vertices of the graph.  Useful to discover the structure of

Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with positive integer weights.. The algorithm

This discovery is not only to provide a precious resource for the research of Wenxuan that has a long and excellent tradition in Chinese literature studies, but also to stress

The mean free path is very large compared to the substrate to source distance, so that the transport of the vapor stream is collisionless.

Place the code elements in order so that the resulting Java source file will compile correctly, resulting in a class called “com.sun.cert.AddressBook”。..

Since we use the Fourier transform in time to reduce our inverse source problem to identification of the initial data in the time-dependent Maxwell equations by data on the

In Paper I, we presented a comprehensive analysis that took into account the extended source surface brightness distribution, interacting galaxy lenses, and the presence of dust

Effect (a) Detector moving; source stationary...