diff options
Diffstat (limited to 'doc/rfc/rfc3048.txt')
-rw-r--r-- | doc/rfc/rfc3048.txt | 1123 |
1 files changed, 1123 insertions, 0 deletions
diff --git a/doc/rfc/rfc3048.txt b/doc/rfc/rfc3048.txt new file mode 100644 index 0000000..a921417 --- /dev/null +++ b/doc/rfc/rfc3048.txt @@ -0,0 +1,1123 @@ + + + + + + +Network Working Group B. Whetten +Request for Comments: 3048 Talarian +Category: Informational L. Vicisano + Cisco + R. Kermode + Motorola + M. Handley + ACIRI 9 + S. Floyd + ACIRI + M. Luby + Digital Fountain + January 2001 + + + Reliable Multicast Transport Building Blocks for One-to-Many + Bulk-Data Transfer + +Status of this Memo + + This memo provides information for the Internet community. It does + not specify an Internet standard of any kind. Distribution of this + memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2001). All Rights Reserved. + +Abstract + + This document describes a framework for the standardization of bulk- + data reliable multicast transport. It builds upon the experience + gained during the deployment of several classes of contemporary + reliable multicast transport, and attempts to pull out the + commonalities between these classes of protocols into a number of + building blocks. To that end, this document recommends that certain + components that are common to multiple protocol classes be + standardized as "building blocks". The remaining parts of the + protocols, consisting of highly protocol specific, tightly + intertwined functions, shall be designated as "protocol cores". + Thus, each protocol can then be constructed by merging a "protocol + core" with a number of "building blocks" which can be re-used across + multiple protocols. + + + + + + + + +Whetten, et al. Informational [Page 1] + +RFC 3048 RMT Building Blocks January 2001 + + +Table of Contents + + 1 Introduction .................................................. 2 + 1.1 Protocol Families ........................................... 5 + 2 Building Blocks Rationale ..................................... 6 + 2.1 Building Blocks Advantages .................................. 6 + 2.2 Building Block Risks ........................................ 7 + 2.3 Building Block Requirements ................................. 8 + 3 Protocol Components ........................................... 8 + 3.1 Sub-Components Definition ................................... 9 + 4 Building Block Recommendations ................................ 12 + 4.1 NACK-based Reliability ...................................... 13 + 4.2 FEC coding .................................................. 13 + 4.3 Congestion Control .......................................... 13 + 4.4 Generic Router Support ...................................... 14 + 4.5 Tree Configuration .......................................... 14 + 4.6 Data Security ............................................... 15 + 4.7 Common Headers .............................................. 15 + 4.8 Protocol Cores .............................................. 15 + 5 Security ...................................................... 15 + 6 IANA Considerations ........................................... 15 + 7 Conclusions ................................................... 16 + 8 Acknowledgements .............................................. 16 + 9 References .................................................... 16 + 10 Authors' Addresses ........................................... 19 + 11 Full Copyright Statement ..................................... 20 + +1. Introduction + + RFC 2357 lays out the requirements for reliable multicast protocols + that are to be considered for standardization by the IETF. They + include: + + o Congestion Control. The protocol must be safe to deploy in the + widespread Internet. Specifically, it must adhere to three + mandates: a) it must achieve good throughput (i.e., it must not + consistently overload links with excess data or repair traffic), + b) it must achieve good link utilization, and c) it must not + starve competing flows. + + o Scalability. The protocol should be able to work under a variety + of conditions that include multiple network topologies, link + speeds, and the receiver set size. It is more important to have a + good understanding of how and when a protocol breaks than when it + works. + + + + + + +Whetten, et al. Informational [Page 2] + +RFC 3048 RMT Building Blocks January 2001 + + + o Security. The protocol must be analyzed to show what is necessary + to allow it to cope with security and privacy issues. This + includes understanding the role of the protocol in data + confidentiality and sender authentication, as well as how the + protocol will provide defenses against denial of service attacks. + + These requirements are primarily directed towards making sure that + any standards will be safe for widespread Internet deployment. The + advancing maturity of current work on reliable multicast congestion + control (RMCC) [HFW99] in the IRTF Reliable Multicast Research Group + (RMRG) has been one of the events that has allowed the IETF to + charter the RMT working group. RMCC only addresses a subset of the + design space for reliable multicast. Fortuitously, the requirements + it addresses are also the most pressing application and market + requirements. + + A protocol's ability to meet the requirements of congestion control, + scalability, and security is affected by a number of secondary + requirements that are described in a separate document [RFC2887]. In + summary, these are: + + o Ordering Guarantees. A protocol must offer at least one of either + source ordered or unordered delivery guarantees. Support for + total ordering across multiple senders is not recommended, as it + makes it more difficult to scale the protocol, and can more easily + be implemented at a higher level. + + o Receiver Scalability. A protocol should be able to support a + "large" number of simultaneous receivers per transport group. A + typical receiver set could be on the order of at least 1,000 - + 10,000 simultaneous receivers per group, or could even eventually + scale up to millions of receivers in the large Internet. + + o Real-Time Feedback. Some versions of RMCC may require soft real- + time feedback, so a protocol may provide some means for this + information to be measured and returned to the sender. While this + does not require that a protocol deliver data in soft real-time, + it is an important application requirement that can be provided + easily given real-time feedback. + + o Delivery Guarantees. In many applications, a logically defined + unit or units of data is to be delivered to multiple clients, + e.g., a file or a set of files, a software package, a stock quote + or package of stock quotes, an event notification, a set of + slides, a frame or block from a video. An application data unit + is defined to be a logically separable unit of data that is useful + to the application. In some cases, an application data unit may + be short enough to fit into a single packet (e.g., an event + + + +Whetten, et al. Informational [Page 3] + +RFC 3048 RMT Building Blocks January 2001 + + + notification or a stock quote), whereas in other cases an + application data unit may be much longer than a packet (e.g., a + software package). A protocol must provide good throughput of + application data units to receivers. This means that most data + that is delivered to receivers is useful in recovering the + application data unit that they are trying to receive. A protocol + may optionally provide delivery confirmation, i.e., a mechanism + for receivers to inform the sender when data has been delivered. + There are two types of confirmation, at the application data unit + level and at the packet level. Application data unit confirmation + is useful at the application level, e.g., to inform the + application about receiver progress and to decide when to stop + sending packets about a particular application data unit. Packet + confirmation is useful at the transport level, e.g., to inform the + transport level when it can release buffer space being used for + storing packets for which delivery has been confirmed. Packet + level confirmation may also aid in application data unit + confirmation. + + o Network Topologies. A protocol must not break the network when + deployed in the full Internet. However, we recognize that + intranets will be where the first wave of deployments happen, and + so are also very important to support. Thus, support for + satellite networks (including those with terrestrial return paths + or no return paths at all) is encouraged, but not required. + + o Group Membership. The group membership algorithms must be + scalable. Membership can be anonymous (where the sender does not + know the list of receivers), or fully distributed (where the + sender receives a count of the number of receivers, and optionally + a list of failures). + + o Example Applications. Some of the applications that a RM protocol + could be designed to support include multimedia broadcasts, real + time financial market data distribution, multicast file transfer, + and server replication. + + In the rest of this document the following terms will be used with a + specific connotation: "protocol family", "protocol component", + "building block", "protocol core", and "protocol instantiation". A + "protocol family" is a broad class of RM protocols which share a + common characteristic. In our classification, this characteristic is + the mechanism used to achieve reliability. A "protocol component" is + a logical part of the protocol that addresses a particular + functionality. A "building block" is a constituent of a protocol + that implements one, more than one or a part of a component. A + "protocol core" is the set of functionality required for the + + + + +Whetten, et al. Informational [Page 4] + +RFC 3048 RMT Building Blocks January 2001 + + + instantiation of a complete protocol, that is not specified by any + building block. Finally a "protocol instantiation" is an actual RM + protocol defined in term of building blocks and a protocol core. + +1.1. Protocol Families + + The design-space document [RFC2887] also provides a taxonomy of the + most popular approaches that have been proposed over the last ten + years. After congestion control, the primary challenge has been that + of meeting the requirement for ensuring good throughput in a way that + scales to a large number of receivers. For protocols that include a + back-channel for recovery of lost packets, the ability to take + advantage of support of elements in the network has been found to be + very beneficial for supporting good throughput for a large numbers of + receivers. Other protocols have found it very beneficial to transmit + coded data to achieve good throughput for large numbers of receivers. + + This taxonomy breaks proposed protocols into four families. Some + protocols in the family provide packet level delivery confirmation + that may be useful to the transport level. All protocols in all + families can be supplemented with higher level protocols that provide + delivery confirmation of application data units. + + 1 NACK only. Protocols such as SRM [FJM95] and MDP2 [MA99] attempt + to limit traffic by only using NACKs for requesting packet + retransmission. They do not require network infrastructure. + + 2 Tree based ACK. Protocols such as RMTP [LP96, PSLM97], RMTP-II + [WBPM98] and TRAM [KCW98], use positive acknowledgments (ACKs). + ACK based protocols reduce the need for supplementary protocols + that provide delivery confirmation, as the ACKS can be used for + this purpose. In order to avoid ACK implosion in scaled up + deployments, the protocol can use servers placed in the network. + + 3 Asynchronous Layered Coding (ALC). These protocols (examples + include [RV97] and [BLMR98]) use sender-based Forward Error + Correction (FEC) methods with no feedback from receivers or the + network to ensure good throughput. These protocols also used + sender-based layered multicast and receiver-driven protocols to + join and leave these layers with no feedback to the sender to + achieve scalable congestion control. + + 4 Router assist. Like SRM, protocols such as PGM [FLST98] and + [LG97] also use negative acknowledgments for packet recovery. + These protocols take advantage of new router software to do + constrained negative acknowledgments and retransmissions. Router + assist protocols can also provide other functionality more + efficiently than end to end protocols. For example, [LVS99] shows + + + +Whetten, et al. Informational [Page 5] + +RFC 3048 RMT Building Blocks January 2001 + + + how router assist can provide fine grained congestion control for + ALC protocols. Router assist protocols can be designed to + complement all protocol families described above. + + Note that the distinction in protocol families in not necessarily + precise and mutually exclusive. Actual protocols may use a + combination of the mechanisms belonging to different classes. For + example, hybrid NACK/ACK based protocols (such as [WBPM98]) are + possible. Other examples are protocols belonging to class 1 through + 3 that take advantage of router support. + +2. Building Blocks Rationale + + As specified in RFC 2357 [MRBP98], no single reliable multicast + protocol will likely meet the needs of all applications. Therefore, + the IETF expects to standardize a number of protocols that are + tailored to application and network specific needs. This document + concentrates on the requirements for "one-to-many bulk-data + transfer", but in the future, additional protocols and building- + blocks are expected that will address the needs of other types of + applications, including "many-to- many" applications. Note that + bulk-data transfer does not refer to the timeliness of the data, + rather it states that there is a large amount of data to be + transferred in a session. The scope and approach taken for the + development of protocols for these additional scenarios will depend + upon large part on the success of the "building-block" approach put + forward in this document. + +2.1. Building Blocks Advantages + + Building a large piece of software out of smaller modular components + is a well understood technique of software engineering. Some of the + advantages that can come from this include: + + o Specification Reuse. Modules can be used in multiple protocols, + which reduces the amount of development time required. + + o Reduced Complexity. To the extent that each module can be easily + defined with a simple API, breaking a large protocol in to smaller + pieces typically reduces the total complexity of the system. + + o Reduced Verification and Debugging Time. Reduced complexity + results in reduced time to debug the modules. It is also usually + faster to verify a set of smaller modules than a single larger + module. + + + + + + +Whetten, et al. Informational [Page 6] + +RFC 3048 RMT Building Blocks January 2001 + + + o Easier Future Upgrades. There is still ongoing research in + reliable multicast, and we expect the state of the art to continue + to evolve. Building protocols with smaller modules allows them to + be more easily upgraded to reflect future research. + + o Common Diagnostics. To the extent that multiple protocols share + common packet headers, packet analyzers and other diagnostic tools + can be built which work with multiple protocols. + + o Reduces Effort for New Protocols. As new application requirements + drive the need for new standards, some existing modules may be + reused in these protocols. + + o Parallelism of Development. If the APIs are defined clearly, the + development of each module can proceed in parallel. + +2.2. Building Block Risks + + Like most software specification, this technique of breaking down a + protocol in to smaller components also brings tradeoffs. After a + certain point, the disadvantages outweigh the advantages, and it is + not worthwhile to further subdivide a problem. These risks include: + + o Delaying Development. Defining the API for how each two modules + inter-operate takes time and effort. As the number of modules + increases, the number of APIs can increase at more than a linear + rate. The more tightly coupled and complex a component is, the + more difficult it is to define a simple API, and the less + opportunity there is for reuse. In particular, the problem of how + to build and standardize fine grained building blocks for a + transport protocol is a difficult one, and in some cases requires + fundamental research. + + o Increased Complexity. If there are too many modules, the total + complexity of the system actually increases, due to the + preponderance of interfaces between modules. + + o Reduced Performance. Each extra API adds some level of processing + overhead. If an API is inserted in to the "common case" of packet + processing, this risks degrading total protocol performance. + + o Abandoning Prior Work. The development of robust transport + protocols is a long and time intensive process, which is heavily + dependent on feedback from real deployments. A great deal of work + has been done over the past five years on components of protocols + such as RMTP-II, SRM, and PGM. Attempting to dramatically re- + engineer these components risks losing the benefit of this prior + work. + + + +Whetten, et al. Informational [Page 7] + +RFC 3048 RMT Building Blocks January 2001 + + +2.3. Building Block Requirements + + Given these tradeoffs, we propose that a building block must meet the + following requirements: + + o Wide Applicability. In order to have confidence that the + component can be reused, it should apply across multiple protocol + families and allow for the component's evolution. + + o Simplicity. In order to have confidence that the specification of + the component APIs will not dramatically slow down the standards + process, APIs must be simple and straight forward to define. No + new fundamental research should be done in defining these APIs. + + o Performance. To the extent possible, the building blocks should + attempt to avoid breaking up the "fast track", or common case + packet processing. + +3. Protocol Components + + This section proposes a functional decomposition of RM bulk-data + protocols from the perspective of the functional components provided + to an application by a transport protocol. It also covers some + components that while not necessarily part of the transport protocol, + are directly impacted by the specific requirements of a reliable + multicast transport. The next section then specifies recommended + building blocks that can implement these components. + + Although this list tries to cover all the most common transport- + related needs of one-to-many bulk-data transfer applications, new + application requirements may arise during the process of + standardization, hence this list must not be interpreted as a + statement of what the transport layer should provide and what it + should not. Nevertheless, it must be pointed out that some + functional components have been deliberately omitted since they have + been deemed irrelevant to the type of application considered (i.e., + one-to-many bulk-data transfer). Among these are advanced message + ordering (i.e., those which cannot be implemented through a simple + sequence number) and atomic delivery. + + It is also worth mentioning that some of the functional components + listed below may be required by other functional components and not + directly by the application (e.g., membership knowledge is usually + required to implement ACK-based reliability). + + The following list covers various transport functional components and + splits them in sub-components. + + + + +Whetten, et al. Informational [Page 8] + +RFC 3048 RMT Building Blocks January 2001 + + + o Data Reliability (ensuring good throughput) | + | - Loss Detection/Notification + | - Loss Recovery + | - Loss Protection + + o Congestion Control | + | - Congestion Feedback + | - Rate Regulation + | - Receiver Controls + + o Security + + o Group membership | + | - Membership Notification + | - Membership Management + + o Session Management | + | - Group Membership Tracking + | - Session Advertisement + | - Session Start/Stop + | - Session Configuration/Monitoring + + o Tree Configuration + + Note that not all components are required by all protocols, depending + upon the fully defined service that is being provided by the + protocol. In particular, some minimal service models do not require + many of these functions, including loss notification, loss recovery, + and group membership. + +3.1. Sub-Components Definition + + Loss Detection/Notification. This includes how missing packets are + detected during transmission and how knowledge of these events are + propagated to one or more agents which are designated to recover from + the transmission error. This task raises major scalability issues + and can lead to feedback implosion and poor throughput if not + properly handled. Mechanisms based on TRACKs (tree-based positive + acknowledgements) or NACKs (negative acknowledgements) are the most + widely used to perform this function. Mechanisms based on a + combination of TRACKs and NACKs are also possible. + + Loss Recovery. This function responds to loss notification events + through the transmission of additional packets, either in the form of + copies of those packets lost or in the form of FEC packets. The + manner in which this function is implemented can significantly affect + the scalability of a protocol. + + + + +Whetten, et al. Informational [Page 9] + +RFC 3048 RMT Building Blocks January 2001 + + + Loss Protection. This function attempts to mask packet-losses so + that they don't become Loss Notification events. This function can + be realized through the pro-active transmission of FEC packets. Each + FEC packet is created from an entire application data unit [LMSSS97] + or a portion of an application data unit [RV97], [BKKKLZ95], a fact + that allows a receiver to recover from some packet loss without + further retransmissions. The number of losses that can be recovered + from without requiring retransmission depends on the amount of FEC + packets sent in the first place. Loss protection can also be pushed + to the extreme when good throughput is achieved without any Loss + Detection/Notification and Loss Recovery functionality, as in the ALC + family of protocols defined above. + + Congestion Feedback. For sender driven congestion control protocols, + the receiver must provide some type of feedback on congestion to the + sender. This typically involves loss rate and round trip time + measurements. + + Rate Regulation. Given the congestion feedback, the sender then must + adjust its rate in a way that is fair to the network. One proposal + that defines this notion of fairness and other congestion control + requirements is [Whetten99]. + + Receiver Controls. In order to avoid allowing a receiver that has an + extremely slow connection to the sender to stop all progress within + single rate schemes, a congestion control algorithm will often + require receivers to leave groups. For multiple rate approaches, + receivers of all connection speeds can have data delivered to them + according to the rate of their connection without slowing down other + receivers. + + Security. Security for reliable multicast contains a number of + complex and tricky issues that stem in large part from the IP + multicast service model. In this service model, hosts do not send + traffic to another host, but instead elect to receive traffic from a + multicast group. This means that any host may join a group and + receive its traffic. Conversely, hosts may also leave a group at any + time. Therefore, the protocol must address how it impacts the + following security issues: + + o Sender Authentication (since any host can send to a group), + + o Data Encryption (since any host can join a group) + + o Transport Protection (denial of service attacks, through + corruption of transport state, or requests for unauthorized + resources) + + + + +Whetten, et al. Informational [Page 10] + +RFC 3048 RMT Building Blocks January 2001 + + + o Group Key Management (since hosts may join and leave a group at + any time) [WHA98] + + In particular, a transport protocol needs to pay particular attention + to how it protects itself from denial of service attacks, through + mechanisms such as lightweight authentication of control packets + [HW99]. + + With Source Specific Multicast service model (SSM), a host joins + specifically to a sender and group pair. Thus, SSM offers more + security against hosts receiving traffic from a denial of service + attack where an arbitrary sender sends packets that hosts did not + specifically request to receive. Nevertheless, it is recommended + that additional protections against such attacks should be provided + when using SSM, because the protection offered by SSM against such + attacks may not be enough. + + Sender Authentication, Data Encryption, and Group Key Management. + While these functions are not typically part of the transport layer + per se, a protocol needs to understand what ramifications it has on + data security, and may need to have special interfaces to the + security layer in order to accommodate these ramifications. + + Transport Protection. The primary security task for a transport + layer is that of protecting the transport layer itself from attack. + The most important function for this is typically lightweight + authentication of control packets in order to prevent corruption of + state and other denial of service attacks. + + Membership Notification. This is the function through which the data + source--or upper level agent in a possible hierarchical + organization--learns about the identity and/or number of receivers or + lower level agents. To be scalable, this typically will not provide + total knowledge of the identity of each receiver. + + Membership Management. This implements the mechanisms for members to + join and leave the group, to accept/refuse new members, or to + terminate the membership of existing members. + + Group Membership Tracking. As an optional feature, a protocol may + interface with a component which tracks the identity of each receiver + in a large group. If so, this feature will typically be implemented + out of band, and may be implemented by an upper level protocol. This + may be useful for services that require tracking of usage of the + system, billing, and usage reports. + + + + + + +Whetten, et al. Informational [Page 11] + +RFC 3048 RMT Building Blocks January 2001 + + + Session Advertisement. This publishes the session name/contents and + the parameters needed for its reception. This function is usually + performed by an upper layer protocol (e.g., [HPW99] and [HJ98]). + + Session Start/Stop. These functions determine the start/stop time of + sender and/or receivers. In many cases this is implicit or performed + by an upper level application or protocol. In some protocols, + however, this is a task best performed by the transport layer due to + scalability requirements. + + Session Configuration/Monitoring. Due to the potentially far + reaching scope of a multicast session, it is particularly important + for a protocol to include tools for configuring and monitoring the + protocol's operation. + + Tree Configuration. For protocols which include hierarchical + elements (such as PGM and RMTP-II), it is important to configure + these elements in a way that has approximate congruence with the + multicast routing topology. While tree configuration could be + included as part of the session configuration tools, it is clearly + better if this configuration can be made automatic. + +4. Building Block Recommendations + + The families of protocols introduced in section 1.1 generally use + different mechanisms to implement the protocol functional components + described in section 3. This section tries to group these mechanisms + in macro components that define protocol building blocks. + + A building block is defined as + "a logical protocol component that results in explicit APIs for use + by other building blocks or by the protocol client." + + Building blocks are generally specified in terms of the set of + algorithms and packet formats that implement protocol functional + components. A building block may also have API's through which it + communicates to applications and/or other building blocks. Most + building blocks should also have a management API, through which it + communicates to SNMP and/or other management protocols. + + In the following section we will list a number of building blocks + which, at this stage, seem to cover most of the functional components + needed to implement the protocol families presented in section 1.1. + Nevertheless this list represents the "best current guess", and as + such it is not meant to be exhaustive. The actual building block + decomposition, i.e., the division of functional components into + building blocks, may also have to be revised in the future. + + + + +Whetten, et al. Informational [Page 12] + +RFC 3048 RMT Building Blocks January 2001 + + +4.1. NACK-based Reliability + + This building block defines NACK-based loss detection/notification + and recovery. The major issues it addresses are implosion prevention + (suppression) and NACK semantics (i.e., how packets to be + retransmitted should be specified, both in the case of selective and + FEC loss repair). Suppression mechanisms to be considered are: + + o Multicast NACKs + o Unicast NACKs and Multicast confirmation + + These suppression mechanisms primarily need to both minimize delay + while also minimizing redundant messages. They may also need to have + special weighting to work with Congestion Feedback. + +4.2. FEC coding + + This building block is concerned with packet level FEC information + when FEC codes are used either proactively or as repairs in reaction + to lost packets. It specifies the FEC codec selection and the FEC + packet naming (indexing) for both reactive FEC repair and pro-active + FEC. + +4.3. Congestion Control + + There will likely be multiple versions of this building block, + corresponding to different design policies in addressing congestion + control. Two main approaches are considered for the time being: a + source-based rate regulation with a single rate provided to all the + receivers in the session, and a multiple rate receiver-driven + approach with different receivers receiving at different rates in the + same session. The multiple rate approach may use multiple layers of + multicast traffic [VRC98] or router filtering of a single layer + [LVS99]. The multiple rate approach is most applicable for ALC + protocols. + + Both approaches are still in the phase of study, however the first + seems to be mature enough [HFW99] to allow the standardization + process to begin. + + At the time of writing this document, a third class of congestion + control algorithm based on router support is beginning to emerge in + the IRTF RMRG [LVS99]. This work may lead to the future + standardization of one or more additional building blocks for + congestion control. + + + + + + +Whetten, et al. Informational [Page 13] + +RFC 3048 RMT Building Blocks January 2001 + + +4.4. Generic Router Support + + The task of designing RM protocols can be made much easier by the + presence of some specific support in routers. In some application- + specific cases, the increased benefits afforded by the addition of + special router support can justify the resulting additional + complexity and expense [FLST98]. + + Functional components which can take advantage of router support + include feedback aggregation/suppression (both for loss notification + and congestion control) and constrained retransmission of repair + packets. Another component that can take advantage of router support + is intentional packet filtering to provide different rates of + delivery of packets to different receivers from the same multicast + packet stream. This could be most advantageous when combined with + ALC protocols [LVS99]. + + The process of designing and deploying these mechanisms inside + routers can be much slower than the one required for end-host + protocol mechanisms. Therefore, it would be highly advantageous to + define these mechanisms in a generic way that multiple protocols can + use if it is available, but do not necessarily need to depend on. + + This component has two halves, a signaling protocol and actual router + algorithms. The signaling protocol allows the transport protocol to + request from the router the functions that it wishes to perform, and + the router algorithms actually perform these functions. It is more + urgent to define the signaling protocol, since it will likely impact + the common case protocol headers. + + An important component of the signaling protocol is some level of + commonality between the packet headers of multiple protocols, which + allows the router to recognize and interpret the headers. + +4.5. Tree Configuration + + It has been shown that the scalability of RM protocols can be greatly + enhanced by the insertion of some kind of retransmission or feedback + aggregation agents between the source and receivers. These agents + are then used to form a tree with the source at (or near) the root, + the receivers at the leaves of the tree, and the aggregation/local + repair nodes in the middle. The internal nodes can either be + dedicated software for this task, or they may be receivers that are + performing dual duty. + + The effectiveness of these agents to assist in the delivery of data + is highly dependent upon how well the logical tree they use to + communicate matches the underlying routing topology. The purpose of + + + +Whetten, et al. Informational [Page 14] + +RFC 3048 RMT Building Blocks January 2001 + + + this building block would be to construct and manage the logical tree + connecting the agents. Ideally, this building block would perform + these functions in a manner that adapts to changes in session + membership, routing topology, and network availability. + +4.6. Data Security + + At the time of writing, the security issues are the subject of + research within the IRTF Secure Multicast Group (SMuG). Solutions + for these requirements will be standardized within the IETF when + ready. + +4.7. Common Headers + + As pointed out in the generic router support section, it is important + to have some level of commonality across packet headers. It may also + be useful to have common data header formats for other reasons. This + building block would consist of recommendations on fields in their + packet headers that protocols should make common across themselves. + +4.8. Protocol Cores + + The above building blocks consist of the functional components listed + in section 3 that appear to meet the requirements for being + implemented as building blocks presented in section 2. + + The other functions from section 3, which are not covered above, + should be implemented as part of "protocol cores", specific to each + protocol standardized. + +5. Security Considerations + + RFC 2357 specifically states that "reliable multicast Internet-Drafts + reviewed by the Transport Area Directors must explicitly explore the + security aspects of the proposed design." Specifically, RMT building + block works in progress must examine the denial-of-service attacks + that can be made upon building blocks and affected by building blocks + upon the Internet at large. This requirement is in addition to any + discussions regarding data-security, that is the manipulation of or + exposure of session information to unauthorized receivers. Readers + are referred to section 5.e of RFC 2357 for further details. + +6. IANA Considerations + + There will be more than one building block, and possibly multiple + versions of individual building blocks as their designs are refined. + For this reason, the creation of new building blocks and new building + block versions will be administered via a building block registry + + + +Whetten, et al. Informational [Page 15] + +RFC 3048 RMT Building Blocks January 2001 + + + that will be administered by IANA. Initially, this registry will be + empty, since the building blocks described in sections 4.1 to 4.3 are + presented for example and design purposes. The requested IANA + building block registry will be populated from specifications as they + are approved for RFC publication (using the "Specification Required" + policy as described in RFC 2434 [RFC2434]). A registration will + consist of a building block name, a version number, a brief text + description, a specification RFC number, and a responsible person, to + which IANA will assign the type number. + +7. Conclusions + + In this document, we briefly described a number of building blocks + that may be used for the generation of reliable multicast protocols + to be used in the application space of one-to-many reliable bulk-data + transfer. The list of building blocks presented was derived from + considering the functions that a protocol in this space must perform + and how these functions should be grouped. This list is not intended + to be all-inclusive but instead to act as guide as to which building + blocks are considered during the standardization process within the + Reliable Multicast Transport WG. + +8. Acknowledgements + + This document represents an overview of a number of building blocks + for one to many bulk data transfer that may be ready for + standardization within the RMT working group. The ideas presented + are not those of the authors, rather they are a summarization of many + years of research into multicast transport combined with the varied + presentations and discussions in the IRTF Reliable Multicast Research + Group. Although they are too numerous to list here, we thank + everyone who has participated in these discussions for their + contributions. + +9. References + + [BKKKLZ95] J. Bloemer, M. Kalfane, M. Karpinski, R. Karp, M. Luby, + D. Zuckerman, "An XOR-based Erasure Resilient Coding + Scheme," ICSI Technical Report No. TR-95-048, August + 1995. + + [BLMR98] J. Byers, M. Luby, M. Mitzenmacher, A. Rege, "A Digital + Fountain Approach to Reliable Distribution of Bulk Data," + Proc ACM SIGCOMM 98. + + [FJM95] S. Floyd, V. Jacobson, S. McCanne, "A Reliable Multicast + Framework for Light-weight Sessions and Application Level + Framing," Proc ACM SIGCOMM 95, Aug 1995 pp. 342-356. + + + +Whetten, et al. Informational [Page 16] + +RFC 3048 RMT Building Blocks January 2001 + + + [FLST98] D. Farinacci, S. Lin, T. Speakman, and A. Tweedly, "PGM + reliable transport protocol specification," Work in + Progress. + + [HFW99] M. Handley, S. Floyd, B. Whetten, "Strawman Specification + for TCP Friendly (Reliable) Multicast Congestion Control + (TFMCC)," Work in Progress. + + [HJ98] Handley, M. and V. Jacobson, "SDP: Session Description + Protocol", RFC 2327, April 1998. + + [HPW99] M. Handley, C. Perkins, E. Whelan, "Session Announcement + Protocol," Work in Progress, June 1999. + + [HW99] T. Hardjorno, B. Whetten, "Security Requirements for + RMTP-II," Work in Progress, June 1999. + + [RFC2887] Handley, M., Whetten, B., Kermode, R., Floyd, S., + Vicisano, L. and M. Luby, "The Reliable Multicast Design + Space for Bulk Data Transfer", RFC 2887, August 2000. + + [KCW98] M. Kadansky, D. Chiu, and J. Wesley, "Tree-based reliable + multicast (TRAM)," Work in Progress. + + [Kermode98] R. Kermode, "Scoped Hybrid Automatic Repeat Request with + Forward Error Correction," Proc ACM SIGCOMM 98, Sept + 1998. + + [LDW98] M. Lucas, B. Dempsey, A. Weaver, "MESH: Distributed Error + Recovery for Multimedia Streams in Wide-Area Multicast + Networks". + + [LESZ97] C-G. Liu, D. Estrin, S. Shenkar, L. Zhang, "Local Error + Recovery in SRM: Comparison of Two Approaches," USC + Technical Report 97-648, Jan 1997. + + [LG97] B.N. Levine, J.J. Garcua-Luna-Aceves, "Improving Internet + Multicast Routing with Routing Labels," IEEE + International Conference on Network Protocols (ICNP-97), + Oct 28-31, 1997, p.241-250. + + [LP96] K. Lin and S. Paul. "RMTP: A Reliable Multicast Transport + Protocol," IEEE INFOCOMM 1996, March 1996, pp. 1414-1424. + + [LMSSS97] M. Luby, M. Mitzenmacher, A. Shokrollahi, D. Spielman, V. + Stemann, "Practical Loss-Resilient Codes", Proc ACM + Symposium on Theory of Computing, 1997. + + + + +Whetten, et al. Informational [Page 17] + +RFC 3048 RMT Building Blocks January 2001 + + + [LVS99] M. Luby, L. Vicisano, T. Speakman. "Heterogeneous + multicast congestion control based on router packet + filtering", RMT working group, June 1999, Pisa, Italy. + + [MA99] J. Macker, B. Adamson. "Multicast Dissemination Protocol + version 2 (MDPv2)," Work in Progress, + http://manimac.itd.nrl.navy.mil/MDP + + [MRBP98] Mankin, A., Romanow, A., Brander, S. and V.Paxson, "IETF + Criteria for Evaluating Reliable Multicast Transport and + Application Protocols", RFC 2357, June 1998. + + [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an + IANA Considerations Section in RFCs", BCP 26, RFC 2434, + October 1998. + + [OXB99] O. Ozkasap, Z. Xiao, K. Birman. "Scalability of Two + Reliable Multicast Protocols", Work in Progress, May + 1999. + + [PSLB97] "Reliable Multicast Transport Protocol (RMTP)," S. Paul, + K. K. Sabnani, J. C. Lin, and S. Bhattacharyya, IEEE + Journal on Selected Areas in Communications, Vol. 15, No. + 3, April 1997. + + [RV97] L. Rizzo, L. Vicisano, "A Reliable Multicast Data + Distribution Protocol Based on Software FEC Techniques," + Proc. of The Fourth IEEE Workshop on the Architecture and + Implementation of High Performance Communication Systems + (HPCS'97), Sani Beach, Chalkidiki, Greece June 23-25, + 1997. + + [VRC98] L. Vicisano, L. Rizzo, J. Crowcroft, "TCP-Like Congestion + Control for Layered Multicast Data Transfer", Proc. of + IEEE Infocom'98, March 1998. + + [WBPM98] B. Whetten, M. Basavaiah, S. Paul, T. Montgomery, N. + Rastogi, J. Conlan, and T. Yeh, "THE RMTP-II PROTOCOL," + Work in Progress. + + [WHA98] D. Wallner, E. Hardler, R. Agee, "Key Management for + Multicast: Issues and Architectures," Work in Progress. + + [Whetten99] B. Whetten, "A Proposal for Reliable Multicast + Congestion Control Requirements," Work in Progress. + http://www.talarian.com/rmtp-ii/overview.htm + + + + + +Whetten, et al. Informational [Page 18] + +RFC 3048 RMT Building Blocks January 2001 + + +10. Authors' Addresses + + Brian Whetten + Talarian Corporation, + 333 Distel Circle, + Los Altos, CA 94022, USA + + EMail: whetten@talarian.com + + + Lorenzo Vicisano + Cisco Systems, + 170 West Tasman Dr. + San Jose, CA 95134, USA + + EMail: lorenzo@cisco.com + + + Roger Kermode + Motorola Australian Research Centre + Level 3, 12 Lord St, + Botany NSW 2019, Australia + + EMail: Roger.Kermode@motorola.com + + + Mark Handley, Sally Floyd + ATT Center for Internet Research at ICSI, + International Computer Science Institute, + 1947 Center Street, Suite 600, + Berkeley, CA 94704, USA + + EMail: mjh@aciri.org, floyd@aciri.org + + + Michael Luby + 600 Alabama Street + San Francisco, CA 94110 + Digital Fountain, Inc. + + EMail: luby@digitalfountain.com + + + + + + + + + + +Whetten, et al. Informational [Page 19] + +RFC 3048 RMT Building Blocks January 2001 + + +11. Full Copyright Statement + + Copyright (C) The Internet Society (2001). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Whetten, et al. Informational [Page 20] + |