RMT H. Mehta, ed. Internet-Draft R. Walsh Expires: December 21, 2004 Nokia V. Roca INRIA Rhone-Alpes J. Peltotalo S. Peltotalo Tampere University of Technology June 22, 2004 FLUTE Interoperability Testing Guidelines draft-mehta-rmt-flute-iop-02.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http:// www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 21, 2004. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract This document describes a possible testing strategy for interoperability among implementations of the File Delivery over Unidirectional Transport (FLUTE) protocol. Mehta, ed., et al. Expires December 21, 2004 [Page 1] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 4 3. Test Environment Setup . . . . . . . . . . . . . . . . . . . . 5 3.1 ALC/LCT Conformance and Minimum Feature Set . . . . . . . . . 5 3.2 Basic FLUTE Testing Architecture . . . . . . . . . . . . . . . 6 3.3 Preconditions for Testing . . . . . . . . . . . . . . . . . . 7 4. Basic FLUTE Tests . . . . . . . . . . . . . . . . . . . . . . 8 4.1 Simple FLUTE Connectivity . . . . . . . . . . . . . . . . . . 8 4.2 Small File (Single Block) Test . . . . . . . . . . . . . . . . 8 4.3 Large File (Multiple Block) Test . . . . . . . . . . . . . . . 9 5. FLUTE Transport Tests . . . . . . . . . . . . . . . . . . . . 11 6. Multiple Files within a Session . . . . . . . . . . . . . . . 14 7. Testing Interoperability for Modified FDTs . . . . . . . . . . 16 8. Recommended Advanced FLUTE Tests . . . . . . . . . . . . . . . 17 8.1 Interoperability across Simultaneous Multiple Sessions . . . . 17 8.2 Interoperability for Identical Files across Multiple Sessions or Channels . . . . . . . . . . . . . . . . . . . . . 17 9. FDT Instance Interoperability Tests . . . . . . . . . . . . . 18 10. Interoperability Test Suite . . . . . . . . . . . . . . . . . 19 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 23 Intellectual Property and Copyright Statements . . . . . . . . 25 Mehta, ed., et al. Expires December 21, 2004 [Page 2] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 1. Introduction This document describes a testing strategy for FLUTE [1] implementations. The tests are intended to help demonstrate interoperability of multiple implementations, and to illustrate common implementation errors. They are not intended to be an exhaustive set of tests and passing these tests does not necessarily imply conformance to the complete FLUTE specification. The purpose of this document is to demonstrate protocol maturity through successful interoperability and hence support the IETF standards track advancement of FLUTE. Mehta, ed., et al. Expires December 21, 2004 [Page 3] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [2]. ALC/LCT session: Logically grouped ALC/LCT channels associated with a single sender sending packets with ALC/LCT headers for one or more channels. FLUTE session: The flow of data between a sender and receivers within a defined context and time over an ALC/LCT session using FLUTE headers. ALC/LCT implementation: The implementation of the ALC/LCT protocols used by the FLUTE implementation. FLUTE implementation: The tool implementing the FLUTE and ALC/LCT specifications. Mehta, ed., et al. Expires December 21, 2004 [Page 4] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 3. Test Environment Setup Neither ALC/LCT [3][4] nor FLUTE restrict implementations to a single transport mechanism. Therefore FLUTE sessions (and ALC/LCT sessions) can operate on many different transport mechanisms, like unicast connections, multicast connections, bi-directional, uni-directional connections, using either IPv4 or IPv6. All of these possibilities are valid from an ALC/LCT and FLUTE perspective. Therefore a FLUTE deployment must first determine which transport mechanisms are to be supported. Many external tools can be used during interoperability testing. Some of these are: o diff: This tool is used to identify the differences between two file instances when both file instances are available locally.[6] o md5sum: This tool is used to check that two file instances are identical. It is useful when the two file instances are not available locally. It is also recommended that the optional field in the FDT be used for the md5 digest of transmitted files.[7] o ping: This tool is used to check the unicast connectivity of the two testing hosts. It is recommended that the users of the FLUTE implementations begin the testing process by running the ping mechanism to test the connection to the other FLUTE implementation.[8] 3.1 ALC/LCT Conformance and Minimum Feature Set FLUTE is based on ALC/LCT, therefore FLUTE interoperability testing requires that ALC/LCT conformance be tested. However, since this is outside the scope of this document, and since ALC/LCT leaves open several possibilities, we first define a minimum required ALC/LCT feature set. It is highly recommended that a FLUTE application supports the following minimum ALC/LCT feature set in order to simplify FLUTE conformance tests. This feature set presents some of the available options and the minimum required features for meaningful interoperability testing. However, a FLUTE application may make other choices while being fully compliant to the FLUTE specification. Feature/Feature set Options Minimum CCI field 32*(C+1) bits 32 bits Mehta, ed., et al. Expires December 21, 2004 [Page 5] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 TSI field 32*S+16*H bits 32 bits TOI field 32*O+16*H bits 32 bits SCT field present if T==1 none ERT field present if R==1 none Congestion control protocol none, WEBRC, none RLC, FLID-SL FEC Code Compact No-Code, Compact No-Code open codes, proprietary codes FEC Encoding ID 0, 128, 129, 130 0(Compact No-Code) Using a Compact No-Code FEC [5] avoids testing for the FEC code of the ALC/LCT implementations. Since this is outside the scope of the present document, it is recommended that Compact No-Code FEC be used, prior to any optional FEC codes. The FEC encoding ID for this case is 0. Using no congestion control protocol avoids testing for congestion control protocol implementations. Since this is outside the scope of this document, it is recommended that no congestion control be used, prior to any optional congestion control blocks. This requires that testers minimize congestion on the Internet manually. This minimum feature set is only intended to simplify FLUTE interoperability testing. However, ALC/LCT compliance tests may not restrict themselves to this minimum feature set. 3.2 Basic FLUTE Testing Architecture An architecture for testing the basic functioning of FLUTE implementations is shown in Figure 1. +-----------------+ +-----------------+ | First FLUTE | | Second FLUTE | | Test setup | | Test setup | | +-------------+ | | +-------------+ | | | Sender | |--------->| | Receiver | | | +-------------+ | | +-------------+ | | +-------------+ | | +-------------+ | | | Receiver | |<---------| | Sender | | | +-------------+ | | +-------------+ | +-----------------+ +-----------------+ Figure 1: Basic FLUTE testing architecture The test architecture comprises of two connected FLUTE senders and Mehta, ed., et al. Expires December 21, 2004 [Page 6] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 receivers. The sender and receiver MAY be on the same physical machine or on different physical machines. The receiver may be a unidirectional receiver. It is also possible to have just a receiver implementation at one end to check receiver interoperability only. 3.3 Preconditions for Testing The following tests assume that the channel(s) for transmission of FLUTE data and files have been appropriately configured and that connectivity has been established between the sending and receiving implementations. It is recommended testing procedure that the sender uses a value of 0 for the Transport Object Identifier (TOI) for the File Delivery Table (FDT) Instance. The use of non-zero values for the TOI in FDT Instances is out of the scope of this document. Further, the tests assume that a mechanism for snooping packets at the receiver is available. However, such a mechanism is beyond the scope of this document and will not be discussed here. End-to-end connectivity must allow FLUTE packets to pass for the selected transport mechanisms (e.g. multicast, IPv6). It should be noted that the ping test only indicates unicast ICMP connectivity end-to-end, including firewalls en route. Mehta, ed., et al. Expires December 21, 2004 [Page 7] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 4. Basic FLUTE Tests These tests are meant to assess the basic conformance of the FLUTE application in simple operating situations. In these cases, a single file is sent and received using the FLUTE transport mechanism. In all the following elementary tests, the test architecture outlined in Section 3.2 SHOULD be used. The tests MUST be carried out on both the sending and receiving implementations of each FLUTE application. 4.1 Simple FLUTE Connectivity This test is meant to verify the successful reception and interpretation of the FDT. A single file is transmitted from the sending implementation to the receiving implementation using FLUTE. The FDT Instance MUST be sufficiently small so that it is contained within a single encoding symbol in a single ALC packet. The file MUST be sufficiently small so that it is contained within a single ALC packet. The ALC packets MUST be sufficiently small to not exceed a single MTU (Maximum Transfer Unit). This implies that the file is contained within a single source block and a single encoding symbol. The sending implementation sends the file using FLUTE to the receiver. Upon receiving the file, the receiving implementation checks that: o The FDT has been properly received. o The receiver is able to interpret the FDT. o The file is correctly received and that there is no difference between the file sent and the file received. The file MAY be compared with the original copy of the file at the sender by using utilities such as 'diff' and 'md5sum'. 4.2 Small File (Single Block) Test This test is meant to verify the reception of multi-packet and multi-symbol files. The basic usage of the blocking algorithm is thus tested at the sending and receiving implementations. A single file is transmitted from the sending implementation to the receiving implementation using FLUTE. The file MUST be sufficiently small so that it is contained within a single source block. Note that when using a Compact No-Code FEC, there is no actual limitation for Mehta, ed., et al. Expires December 21, 2004 [Page 8] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 the source block length, but the implementation of the FEC code must have set the value for the Maximum Source Block Length (absolute maximum is 4294967295 source symbols). For example if the Encoding Symbol Length is 1400 bytes and the Maximum Source Block Length is 10, then the upper limit for the file size is 14000 bytes. However, the file MUST span over multiple encoding symbols and hence multiple packets. A minimum of 10 symbols is RECOMMENDED. The sending implementation sends the file using FLUTE to the receiver. Upon receiving the file, the receiving implementation checks that: o The FDT is successfully received and interpreted. o The file is successfully received. o The file is successfully reconstructed from the corresponding received packets and that there is no difference between the file sent and the file received. The file MAY be compared with the original copy of the file at the sender by using utilities such as 'diff' and 'md5sum'. 4.3 Large File (Multiple Block) Test This test is meant to test the reception of large, multi-block files. A single large file is transmitted from the sending implementation to the receiving implementation using FLUTE. The file SHOULD be large enough so that it is contained in multiple source blocks. Note that when using a Compact No-Code FEC, there is no actual limitation for the source block length, but the implementation of the code must have set the value for the Maximum Source Block Length (absolute maximum is 4294967295 source symbols). For example if the Encoding Symbol Length is 1400 bytes and the Maximum Source Block Length is 10, then the lower limit for the file size is 14001 bytes. This test SHOULD be repeated with several file sizes in order to test the source blocking functionality in several situations. The sending implementation sends the file using FLUTE to the receiver. Upon receiving the file, the receiving implementation checks that: o The FDT is successfully received and interpreted. o The file is successfully received. o The file is successfully reconstructed from the corresponding Mehta, ed., et al. Expires December 21, 2004 [Page 9] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 received packets and that there is no difference between the file sent and the file received. The file MAY be compared with the original copy of the file at the sender by using utilities such as 'diff' and 'md5sum'. Mehta, ed., et al. Expires December 21, 2004 [Page 10] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 5. FLUTE Transport Tests The aim of these tests is to verify that files/objects can be exchanged between the two FLUTE implementations using a FLUTE session and that the FLUTE and ALC/LCT headers are correctly transmitted. The following forms a minimum set of conditions that must be verified for FLUTE interoperability. The test architecture outlined in Section 3.2 SHOULD be used. The initial test is for the first FLUTE implementation to transmit and the second to receive. The process is then reversed, with the second implementation sending and the first receiving. The sending implementation transmits a single file with a complete File Delivery Table. The File Delivery Table contains the attributes of the file that are required by the receiver. At minimum, the complete FDT consists of a TOI attribute and Content-Location attribute. The FDT MAY also contain the FEC encoding scheme that has been used by the sender. It is recommended to deliver the complete FDT in a single FDT Instance. These tests SHOULD be carried out for various file sizes. The following cases of operation MUST be verified: The transmitting implementation is required to verify the following: o The receiver joins the session prior to the beginning of transmission of the first packet in the session. For this case, the FDT MUST be delivered before the transmission of the file begins. o The case when the sender retransmits the file (like a carousel). It is recommended that the sender transmit the objects at least 3 times. The receiver joins the session any time after the first packet in the session has been transmitted. For this case, the FDT MUST be delivered before the transmission of the file begins. o The case when packets containing FDT Instances are multiplexed with packets containing parts of the file in transmission. This case MUST be tested for receivers, i.e. it MUST be ensured that a receiver can handle this case correctly. These tests MUST be carried out both with and without the use of A-flags and B-flags in the ALC/LCT header. The A-flag may be used in an empty packet as defined by ALC or by inclusion within the last packet of the transmission. In both cases, it is recommended that the packet containing the A-flag be transmitted three times. Mehta, ed., et al. Expires December 21, 2004 [Page 11] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 The sending implementation is required to verify the following: o At least one complete FDT MUST be transmitted during the session by the sending implementation. o A Transport Session Identifier (TSI) MUST be transmitted so as to uniquely identify the session along with the IP address of the sender. o The value of the TOI MUST be 0 for all the packets containing FDT Instances for the test. Although this is not a limitation set down by FLUTE, it is the recommended testing procedure. The receiving implementation is required to verify the following: o A TSI MUST be present and MUST be the same as transmitted by the sender for the session: The (source IP address, TSI) pair identifies the session. This pair MUST be tested for all packets received to avoid session corruption between several simultaneous sessions. o The TOI MUST be present in each packet received other than packets signalling the end of a session using the A-flag: The Transport Object Identifier identifies the object within the session that the packet is a part of. o The TOI MUST have a value of 0 for the FDT Instance: The receiver identifies a packet containing a part (or all) of the FDT Instance by the value of the TOI for the packet being 0. It is recommended that each packet containing a part of the FDT Instance be checked for the TOI value. o End of session or file: The receiver MUST be able to recognize the end of a session by the presence of the A-flag and the end of transmission of a particular file by the presence of the B-flag. The A-flag may be received in an empty packet or in the last packet of the transmission, which MAY be transmitted multiple times. The receiver MUST be able to handle both cases. o At least one complete FDT MUST be received during the session. o Every FDT Instance received MUST conform to the schema defined in [1]. o The file SHOULD be verified for its attributes, that is, the information received as part of the FDT should be compared with the actual file itself to verify correctness of interpretation. The file MAY also be compared with the original copy of the file Mehta, ed., et al. Expires December 21, 2004 [Page 12] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 at the sender by using utilities such as 'diff' and 'md5sum'. Mehta, ed., et al. Expires December 21, 2004 [Page 13] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 6. Multiple Files within a Session The aim of this test is to verify the interoperability of FLUTE implementations wherein multiple files are transmitted by the sender implementation during a session. The system architecture used is the same as used for the tests described in Section 3.2. In this test, the sender transmits more than one file during a session. The files are transmitted as separate objects. The sender MUST transmit a complete File Delivery Table during the entire session. The complete FDT MUST contain attributes of all the files transmitted during the session. The complete FDT MAY be compiled from a number of FDT Instances. At the sender, the following cases of operation SHOULD be verified: o The sender MUST verify the conditions for interoperability described in Section 5. o The sender transmits the complete FDT in a single FDT Instance. However the FDT Instance may be split into several ALC packets. The transmission of the FDT is not multiplexed with the transmission of the files. o The sender transmits the complete FDT in multiple FDT Instances, so that the complete set of attributes describing a particular file are transmitted before the transmission of the file itself. o Further, FDT Instances and files are sent alternately. The complete set of attributes for a file may be contained within a single FDT Instance, or may be contained in multiple FDT Instances. Again the FDT Instances may be split into several ALC packets. At the receiver, the conditions described in Section 5 MUST be verified. Apart from this, the following SHOULD be verified at the receiving implementation: o The receiver MUST be able to map the attributes for the files described in the FDT to the respective file. At the minimum, this involves mapping the TOI and Content-Location attributes to the respective file. o The file SHOULD be verified for its attributes, that is, the information received as part of the FDT should be compared with the actual file itself to verify correctness of interpretation. The file MAY also be compared with the original copy of the file at the sender by using utilities such as 'diff' and 'md5sum'. Mehta, ed., et al. Expires December 21, 2004 [Page 14] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 All the above conditions SHOULD be verified for the following cases: o The receiver joins the session prior to the beginning of transmission of the first packet in the session. o The receiver joins the session after the first packet in the session has been transmitted. o The receiver joins the session prior to the beginning of transmission of the first packet in the session, with the sending implementation retransmitting files (like a carousel). It is recommended that the sender transmit the files at least 3 times. o The receiver joins the session after the first packet in the session has been transmitted, with the sending implementation retransmitting files. It is recommended that the sender transmit the files at least 3 times. Further, the case when packets containing FDT Instances are multiplexed with other objects being transmitted MAY also be verified for sender implementations and MUST be verified for receiving implementations. Note: For verification of receiving multiplexed packets, multiplexing at the sender, or another method, such as enforced packet reordering in the network may be used. It is important to note that the sender may not be required to transmit multiple files within a session. However, it is important that all receivers possess the capability to receive one and more files during a session. Mehta, ed., et al. Expires December 21, 2004 [Page 15] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 7. Testing Interoperability for Modified FDTs This section outlines some tests that can be used to verify the interoperability operation of FLUTE implementations in the scenario where the FDT is modified during a session. The modification of the FDT may include several scenarios. Some of the possible scenarios are: o When a file is added to the transmission that was not previously described in any FDT Instance. o When a file that was previously to be transmitted is removed from transmission. This can be detected from the use of, for example, the A flag, the B flag and the FDT Instance Expiry attribute. o When additional parameters previously not in the FDT are added to the FDT to describe a file being transmitted within the session. Note: the sender MUST NOT change the parameters already described for a specific TOI, but it can complement the description for example by adding MD5 checksum. o The contents of a file are modified. This is when a previously described file identifier is used with a new TOI, implicitly expiring the data associated with the old TOI. This is not an exhaustive list and there may be several other scenarios that warrant changes to the FDT. To verify interoperability under these tests, the sender and the receiver MUST satisfy the tests described in section 5. Further, the following SHOULD be verified at the receiver: o That the receiver is able to map the TOIs and Content-Locations obtained from the FDT for each file correctly. o When any part of a new version of a previously described file (on a new TOI) is received in the same session as parts or all of the previous version of the file (same identifier, i.e. Content-Location), the new file MUST be received completely and without corruption. Mehta, ed., et al. Expires December 21, 2004 [Page 16] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 8. Recommended Advanced FLUTE Tests This section details tests to determine interoperability under advanced or potentially difficult operating conditions. 8.1 Interoperability across Simultaneous Multiple Sessions The sender MAY not be required to operate simultaneous multiple sessions of FLUTE, however, it is important that the receiver implementation MUST be able to handle simultaneous multiple sessions of FLUTE. This section outlines some tests that are recommended to be verified to establish interoperability during multiple simultaneous sessions at the receiver. The test architecture is the same as that described in Section 3.2. Interoperability with multiple simultaneous sessions MUST be tested at the receiver using one channel without a congestion control protocol. Further it is recommended to test this also with multiple (at least two) channels and a multiple-rate congestion control protocol. To begin receiving the transmission on multiple sessions, the receiver MUST know the senders' IP addresses, the number of channels in each session, the congestion control protocol used, the destination IP address and port number of each of the channels in the sessions, and the TSI of each of the sessions. The receiver SHOULD be able to de-multiplex packets and buffer them, if required, suitably based on the information from the FDT Instances, the EXT_FTI information and possibly out of band information within each session as well as across multiple sessions. Demultiplexing packets with the same TSI but different source IP addresses as being from different sessions should not cause an error. 8.2 Interoperability for Identical Files across Multiple Sessions or Channels The receiver SHOULD be able to deal with identical files received over different sessions as well as over different channels within a session. The receiver SHOULD be able to identify the files as coming over different sessions and demultiplex and possibly buffer them suitably. Methods of dealing with identical files once they have been received are left to implementations. Mehta, ed., et al. Expires December 21, 2004 [Page 17] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 9. FDT Instance Interoperability Tests This section details tests that need to be verified to ensure that the transmission of the FDT Instance packets and the syntax of the FDT Instances is correct. The test architecture is the same as that outlined in section 3.2. As FDT Instances contain critical information with regard to file delivery, it is recommended that the following tests be conducted on every FDT Instance packet within a session: o Checking the validity of the FDT Instance Header (EXT_FDT LCT extension header): The HET (Header Extension Type) of the EXT_FDT is 192. o The FDT Instance Header MUST be identical for all ALC packets carrying parts of a particular FDT Instance. o All packets carrying a part or all of the FDT Instance MUST have the FDT Instance Header. o FDT Instance ID wrap-around MUST be tested. The FDT Instance ID wraps around to 0 after (2^24-1). Previously received unexpired FDT data at the receiver SHOULD not be lost. o The FDT Instance MUST conform to the schema defined in [1]. o The FDT Instance root element 'FDT-Instance' MUST contain an 'Expires' attribute with a valid Network Time Protocol (NTP) time value. o Each 'File' element declared under the 'FDT-Instance' element MUST contain at least the attributes 'TOI' and 'Content-Location'. Mehta, ed., et al. Expires December 21, 2004 [Page 18] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 10. Interoperability Test Suite This section describes a test suite that can be used for interoperability testing among FLUTE implementations. The test suite consists of example FDT Instances that may be used for conducting some of the interoperability tests described in earlier sections of this document. The following is an example of an FDT Instance containing information about the transmission of a single, small file (with a length of 170 bytes as indicated in the Content-Length attribute). An FDT Instance along these lines can be used to conduct the test described in Section 4.1 The following is an example of an FDT Instance that describes the attributes for a 'large' file that can be used to conduct the interoperability tests described in Sections 4.2 and 5. The following is an example of an FDT Instance that contains transmission attributes for multiple files. This corresponds to the tests described in Section 6. The following is an example of FDT Instances that can be used to test interoperability in the presence of multiple FDT Instances within the same complete FDT. This can be used to conduct tests described in Sections 6 and 9. Mehta, ed., et al. Expires December 21, 2004 [Page 20] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 11. Security Considerations FLUTE implementations are subject to security considerations mentioned in [1]. There are no additional security considerations resulting from the testing guidelines mentioned in this document. Mehta, ed., et al. Expires December 21, 2004 [Page 21] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 12. Acknowledgements The authors would like to thank Pasi Matilainen and Juha-Pekka Luoma for their contributions and feedback on this document. Mehta, ed., et al. Expires December 21, 2004 [Page 22] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 References [1] Paila, T., Luby, M., Lehtonen, R. and V. Roca, "FLUTE - File Delivery over Unidirectional Transport", draft-ietf-rmt-flute-08 (work in progress), December 2004. [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCD 14, March 1997. [3] Luby, M., Gemmel, J., Vicisano, L., Rizzo, L. and J. Crowcroft, "Asynchronous Layered Coding (ALC) Protocol Instantiation", RFC 3450, December 2002. [4] Luby, M., Gemmell, J., Vicisano, L., Rizzo, L., Handley, M. and J. Crowcroft, "Layered Coding Transport (LCT) Building Block", RFC 3451, December 2002. [5] Vicisano, L. and M. Luby, "Compact Forward Error Correction (FEC) Schemes", RFC 3695, February 2004. [6] The GNU Project, "Diffutils", http://www.gnu.org/software/ diffutils/diffutils.html, November 2003. [7] The GNU Project, "Textutils", http://www.gnu.org/software/ textutils/textutils.html, October 2003. [8] The Debian Project, "Ping", http://packages.debian.org/stable/ net/iputils-pin, May 2004. Authors' Addresses Harsh Mehta Nokia P.O. Box 100 (Visiokatu 1) Tampere FIN-33721 Finland EMail: harsh.mehta@nokia.com Rod Walsh Nokia P.O. Box 100 (Visiokatu 1) Tampere FIN-33721 Finland EMail: rod.walsh@nokia.com Mehta, ed., et al. Expires December 21, 2004 [Page 23] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 Vincent Roca INRIA Rhone-Alpes 655, av. de l'Europe; Montonnot St Ismier cedex 38334 France EMail: vincent.roca@inrialpes.fr Jani Peltotalo Tampere University of Technology P.O. Box 553 (Korkeakoulunkatu 1) Tampere FIN-33101 Finland EMail: jani.peltotalo@tut.fi Sami Peltotalo Tampere University of Technology P.O. Box 553 (Korkeakoulunkatu 1) Tampere FIN-33101 Finland EMail: sami.peltotalo@tut.fi Mehta, ed., et al. Expires December 21, 2004 [Page 24] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society (2004). 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 assignees. 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 Mehta, ed., et al. Expires December 21, 2004 [Page 25] Internet-Draft FLUTE Interoperability Testing Guidelines June 2004 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. Mehta, ed., et al. Expires December 21, 2004 [Page 26]