On the Aggregatability of Multicast Forwarding State David G
Total Page:16
File Type:pdf, Size:1020Kb
INFOCOM 2000 1 On the Aggregatability of Multicast Forwarding State David G. Thaler Mark Handley Microsoft AT&T Center for Internet Research [email protected] [email protected] Abstract— It has been claimed that multicast state can- do not concern ourselves with state the router may need to not be aggregated. In this paper, we will debunk this myth keep in order to maintain these forwarding tables, nor with and present a simple technique that can be used to aggre- routing protocols needed to maintain them. The memory gate multicast forwarding state. In particular, we present to hold such ancillary state does not need to be either fast an interface-centric data structure model which allows ag- or directly located on interface processors, so it is not a sig- gregation of ranges of multicast addresses in the forwarding table. nificant limitation on router performance. Similarly, join Understanding the limits of possible aggregation is criti- messages involved in multicast routing need not be aggre- cal to our knowledge of how IP multicast will scale as it be- gated1 so long as their rate is scaled back to prevent the comes widely deployed. We show through analysis and sim- routing traffic dominating, and the multicast routing pro- ulation that some aggregation is possible, even under purely tocols use appropriate scalable timers[7]. random address allocation and purely random group mem- With respect to multicast forwarding state, we will ar- bership distribution. We further show how other methods gue: of allocation can significantly improve the ability to aggre- Shared trees used by second and third generation multi- gate, and how non-random distributions of membership can affect aggregation both positively and negatively. cast routing protocols (such as CBT[2], BGMP[4], and to some extent PIM-SM[1]) mean that the number and loca- tion of sources does not affect aggregatability. I. INTRODUCTION If we consider forwarding state on a per-interface ba- With the advent of second and third generation multicast sis, then aggregation can be performed independent of the routing protocols[1], [2], [3], [4] and widespread host im- number of interfaces on a router. plementations, IP Multicast is finally starting to be widely For incoming interface state on point-to-point links, and deployed in the Internet. There are still relatively few mul- outgoing interface state on all links, we only need to con- ticast applications in use, but it is expected that this will sider the groups traversing a particular router and can com- start to change rapidly as application writers start to be pletely aggregate all groups that do not traverse that router. able to assume that many hosts will have access to multi- For bidirectional trees such as those built by CBT and cast. BGMP, no incoming interface state is required at all on To date, most work on multicast scalability has centered point-to-point links between routers. on the applications and on multicast routing. However, in Some aggregation of both incoming and outgoing for- the long run, the biggest issue facing multicast deployment warding state is possible, even with completely random is likely to be the scalability of multicast forwarding state multicast address allocation and random group member- as the number of multicast groups increases. It has been ship. claimed [5], [6] that multicast forwarding state cannot be Allocating multicast addresses in a hierarchical fashion aggregated, but this is incorrect. In this paper we examine can increase the ability to aggregate forwarding state. this issue to derive both limits and expectations for our The clustering of groups by locality (well known for ability to aggregate multicast forwarding state in Internet telephony traffic) can increase the aggregatability of for- routers. warding state when hierarchical multicast address alloca- It is important to understand that our results apply to tion is also performed. the forwarding tables in a router that are used to forward We will only consider perfect forwarding state aggrega- packets. Since a lookup among O(N) state can be done in tion in this paper; that is aggregation that does not change log(N) time, reducing the state requirement is the most sig- the distribution of multicast traffic. Imperfect or leaky ag- ¡ nificant benefit of aggregation, although the speed of mul- It may be possible to do some aggregation of these messages, but ticast packet forwarding may also benefit as a result. We even if this is not done, it will not normally cause problems. INFOCOM 2000 2 gregation is also possible, in which some low rate groups we desire to explore the scalability of multicast state, we are allowed to traverse links that would not normally need will hereafter concern ourselves primarily with protocols to carry the traffic. Leaky aggregation is an extension of which use group-shared trees and hence - will be synony- perfect aggregation that results in a further compression of mous with the group address. In other words, using group- the forwarding state at the expense of using additional link shared trees makes the number and location of sources ir- bandwidth. We leave the study of leaky aggregation for relevant, since per-source state is not kept. future work. If the packet passes the input filter, the forwarder must We also do not consider methods of reducing forward- then determine which of its other interfaces are consid- ing state that rely on encapsulation, although these meth- ered “outgoing” interfaces for the packet, and send the ods also show significant promise. In such mechanisms packet out of each outgoing interface. This operation can (e.g., Dynamic Tunnel Multicast [8]), sparse groups may be logically viewed as an output packet filter per interface %& ¡¤£/ # "' ( - be unicast encapsulated across sections of the backbone ( . ). A packet received by the router is where no multicast fanout occurs, relieving the interven- sent out of a given interface if it passes both the input filter ing routers of the need to hold forwarding state. on the incoming interface, as well as the output filter on The remainder of this paper is organized as follows: the outgoing interface. Section II gives some background on multicast forward- Some misconceptions of state requirements are based on ing, and section III presents an interface-centric state the popular Unix kernel implementation. This implemen- model. Section IV provides an analysis of aggregatability tation keeps multicast forwarding state per (group,source) under independence assumptions, and section V presents pair, consisting of an incoming interface, and an outgo- simulations of aggregatability after removing these as- ing interface list2. When a packet arrives, a matching sumptions. Finally, section VI discusses related work, and (group,source) entry is found or created, the incoming in- section VII covers conclusions and future work. terface check is done to see whether to drop it on in- put, and if not dropped, then the packet is sent out of II. BACKGROUND each interface in the outgoing interface list. Since this We start by describing the actions that must be per- implementation is common, it is easy to incorrectly as- formed by a multicast forwarder. First, a packet arrives on sume that this is the only possible implementation model. some interface, and the forwarder must decide whether to In this model, the input filter is implemented by com- accept or drop the packet. For example, the decision might paring the interface on which the packet arrived with be based on whether it arrived on the interface towards the incoming interface stored in the (group,source) en- ¢¡¤£¥§© !" © the source (known as a “Reverse Path Forwarding (RPF) try. Hence, is implemented as “ 1020 ¥§ © ¤! +© check”), such as is done when DVMRP [9] or PIM-SM is ¦43 ”. The output filter is implemented by running on the arrival interface. It might instead be based testing to see whether a given interface is in the outgoing on some other criteria (as in the case of MOSPF [10] or interface list stored with the (group,source) entry. Hence, ¡¤£4¥§ © ¤! +© :9;¥§© !" © 65 ¦387 CBT). In general, this decision can be viewed as applying . is “ ”. ¢¡¤£¦¥¨§ © © an input packet filter per interface . In the next section, we present an alternative implemen- The acceptance decision can then be viewed independently tation model which illustrates more clearly how forward- of the multicast protocol in use on the interface; the pro- ing state aggregation may be done without loss of infor- ¢¡¤£¤¥§© !" © $# tocol merely supplies the filter mation. %& "' ( . ¡ In general, a filter is an implementation of a function III. IMPLEMENTATION MODEL %& "' ( ¡)*¥§© !" +© ,# While the Unix kernel has a (group,source)-centric state implementation model, we describe in this section an " © We now concatenate §© and into one double- interface-centric implementation model. length address - , and the filter becomes: Let each interface be associated with its own copy of an %& input filter and an output filter. Each filter is again such that ¡) # "' ( - it yields a pass-or-fail answer for a given group and source. Each interface’s state is independent of the state for all This representation will allow our results to apply both to other interfaces. When a packet arrives on an interface, it architectures which require (group,source) state, as well < as those (like CBT) which only require group state and The list is stored in the Unix kernel as a bitmap of 32 interfaces. To for whom - would simply be the group address. Since efficiently support an arbitrary number, an actual list would be needed. INFOCOM 2000 3 must first pass that interface’s input filter. If it passes, then after assume that a router has state for a given address only the output filter of every other interface is independently if it has downstream receivers, and therefore is on the dis- checked to see whether the packet should be sent out of tribution tree3.