Network Working Group R. Stewart Internet-Draft Cisco Systems, Inc. Expires: January 20, 2007 M. Tuexen Univ. of Applied Sciences Muenster July 19, 2006 Stream Control Transmission Protocol (SCTP) Interop Scoring draft-stewart-tsvwg-sctpscore-04.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 January 20, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This memo describes some of the scoring to be used in the testing of Stream Control Transmission Protocol (SCTP) at upcoming interops. Stewart & Tuexen Expires January 20, 2007 [Page 1] Internet-Draft Interop Scoring July 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Base protocol . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Basic Communication . . . . . . . . . . . . . . . . . . . 3 2.2. Beyond Basic Communication . . . . . . . . . . . . . . . . 4 2.3. Bulk Transfer . . . . . . . . . . . . . . . . . . . . . . 6 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 7 3.1. Partial reliable SCTP . . . . . . . . . . . . . . . . . . 7 3.2. AUTH . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3. AddIP . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4. PktDrpRep . . . . . . . . . . . . . . . . . . . . . . . . 8 3.5. Stream Reset . . . . . . . . . . . . . . . . . . . . . . . 8 4. Bonus Points . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. Normative References . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Intellectual Property and Copyright Statements . . . . . . . . . . 12 Stewart & Tuexen Expires January 20, 2007 [Page 2] Internet-Draft Interop Scoring July 2006 1. Introduction This document will be used as a basis for point scoring at upcoming SCTP interops. Its purpose is similar to that described in RFC1025 [1]. It is hoped that a clear definition of where and how to score points will further the development of SCTP RFC2960 [4]. Note that while attending an interop no one else will score your points for you. We trust that all implementations will faithfully record their points that are received honestly. Note also that these scores are NOT to be used for marketing purposes. They are for the use of the implementations to know how well they are doing. The only reporting that will be done is a basic summary to the Transport Area Working Group but please note that NO company or implementation names will be attached. Note Bene: Checksums must be enforced. No points will be awarded if the checksum test is disabled. 2. Base protocol The base protocol is described in the following documents: o RFC2960 [4] o RFC3309 [5] o RFC4460 [7] These three documents are combined in 2960bis [8]. 2.1. Basic Communication These points will be scored for EACH peer implementation that you successfully communicate with. 2 points for being the sender of the INIT chunk and completing setup of an association. 2 points for being the sender of the INIT-ACK chunk and completing setup of an association. 1 point for sending data on the association where you sent the INIT. 1 point for sending data on the association where you sent the INIT-ACK. 2 points for gracefully ending the conversation by being the sender of the SHUTDOWN. 2 points for gracefully ending the conversation by being the sender of the SHUTDOWN-ACK. 4 points for repeating the above without reinitializing the SCTP. In order to receive all of the above points (14) an implementation Stewart & Tuexen Expires January 20, 2007 [Page 3] Internet-Draft Interop Scoring July 2006 will need to: o send an INIT chunk and setup an association. o send a data chunk on that association. o receive a data chunk on that association. o send a SHUTDOWN chunk and bring the association to a close. o receive an INIT-ACK and setup a new association (after the previous one is closed). o send a data chunk on that association. o receive a data chunk on that association. o receive a SHUTDOWN chunk and send a SHUTDOWN-ACK and close the association. o without restarting repeat these steps once. You can get 5 extra points if you do not include any address parameter in the INIT-/INIT-ACK chunk in case you are using ony one of your addresses. You get 20 points for correctly handling unknown parameters in the INIT and INIT-ACK chunk. A testtool for this test will be available at the interop. You get 10 extra points for not sending more than one packet in response to a packet containing multiple chunks. A testtool for this test will be available at the interop. You can get 10 extra points for not sending chunks on non-confirmed paths. A testtool for this test will be available at the interop. Note that for the above extra points, these are only awarded once per implementation and NOT every time you demonstrate this behaviour. 2.2. Beyond Basic Communication Note that, unless otherwise specified, these points are scored once per implementation. 10 points for bring up multiple associations at the same time to different implementations. The implementation must send and receive data on both associations simultaneously. 15 points for correctly handling ECN. 10 points for correctly handling both Transmission Sequence Number (TSN) and Stream Sequence Number (SSN) wrap around. 5 points for correctly being able to process a "Kamikaze" packet (AKA nastygram, christmas tree packet, lamp test segment, et al.). That is, correctly handle a segment with the maximum combination Stewart & Tuexen Expires January 20, 2007 [Page 4] Internet-Draft Interop Scoring July 2006 of features at once (e.g., a COOKIE-ECHO, SACK, ASCONF, UNKNOWN- CHUNK, SHUTDOWN). 5 additional points if the response to the "Kamikaze" packet is bundled. 10 additional points if the implementation supports ECN and thus the "Kamikaze" packet is expanded to include COOKIE-ECHO, SACK, ECN, ASCONF, UNKNOWN-CHUNK, SHUTDOWN. 30 points for KOing your opponent with legal blows (That is, operate a connection until one SCTP or the other crashes, the surviving SCTP has KOed the other. Legal blows are chunks that meet the requirements of the specification). Note that these points are scored each time you KO an opponent for a new reason. Repeated KO's of an opponent using the same method count only once. 20 points for KOing your opponent with dirty blows (Dirty blows are packets or chunks that violate the requirements of the specification). Note that these points are can also be scored multiple times just like legal blows with the same restrictions listed above. 10 points for showing your opponents checksum is disabled or using the old checksum aka Adler-32 RFC3309 [5]. Note that these points are only awarded for packets that went over a physical wire (aka it is legal to disable the checksum when talking to you own machine via the loopback device). Note also that you can score these points multiple times. 10 points for showing you can fast-retransmit. 10 points for showing your t3-timer retransmits to an alternate destination (aka uses the multi-homed facility during retransmission). 10 points for properly demonstrating the partial delivery API. 10 points for demonstrating recognition and proper handling of restart. 10 points for correctly handling INIT collision. 10 points for correctly handling the STALE COOKIE case (sending of the error chunk). Stewart & Tuexen Expires January 20, 2007 [Page 5] Internet-Draft Interop Scoring July 2006 10 points for an automatic resend of the INIT in case of a STALE COOKIE with an appropriate COOKIE-PRESERVATIVE parameter such that the association gets established. 10 points for doing bulk transfer for over 10 minutes at a high constant rate. 5 points for handling the restart with data transfer after that. 10 points for proving that your opponent accepts additional addresses during the restart compared to the original association. 2 points for the correct handling of an unknown chunk with high order bits 00, 01, 10, and 11. 2 additional points (10 in total) for handling all four cases correctly. 2 points for the correct handling of an unknown parameter with high order bits 00, 01, 10, and 11. 2 additional points (10 in total) for handling all four cases correctly. 5 points for handling excessive packet duplication during association setup. Excessive packet duplication means that every packet is duplicated in the network. 5 points for handling excessive packet duplication during DATA transfer. 2.3. Bulk Transfer For the following tests participants should provide a test application which can send/receive a specific number of user messages of a given length as fast as the protocol allows. These points will be scored once for receiving and once for sending for EACH peer implementation that you successfully communicate with. A Gigabit Ethernet connection with an MTU of 9000 bytes will be provided. 5 points for transferring 10000000 user messages of length 1 bytes between two implementations in a reasonable time. 5 points for transferring 10000000 user messages of length 10 bytes between two implementations in a reasonable time. 5 points for transferring 10000000 user messages of length 1452 bytes between two implementations in a reasonable time. Stewart & Tuexen Expires January 20, 2007 [Page 6] Internet-Draft Interop Scoring July 2006 5 points for transferring 10000000 user messages of length 8952 bytes between two implementations in a reasonable time. The following tests will be performed over a network connection with a limited bandwidth of 1 Mbit/sec. 5 points for transferring 10000000 user messages of length 1 bytes between two implementations in a reasonable time. 5 points for transferring 1000000 user messages of length 10 bytes between two implementations in a reasonable time. 5 points for transferring 100000 user messages of length 1452 bytes between two implementations in a reasonable time. 5 points for transferring 10000 user messages of length 8952 bytes between two implementations in a reasonable time. A resonable time is when the transfer was limited by the sender CPU, the receiver CPU, or the link in between. 3. Protocol Extensions 3.1. Partial reliable SCTP This extension is described in PRSCTP [6]. 10 points for sending a FWD-TSN to skip a "timed-out" data chunk. 10 points for correctly adopting the new cumulative-ack point indicated by a FWD-TSN. 10 points for freeing data chunks to the application that were held awaiting the FWD-TSN. 10 points for properly handling the partial-delivery API where the last part of a message already being delivered is subjected to a FWD-TSN. 3.2. AUTH This extension is currently being described in AUTH [9]. 10 points successfully negotiating a non-empty set of chunks to authenticate and sending them in an authenticated way. Stewart & Tuexen Expires January 20, 2007 [Page 7] Internet-Draft Interop Scoring July 2006 10 points for handling all chunks which can be authenticated in an authenticated way. 20 points for showing that your peer requested a chunk to be authenticated and accepts it without being authenticated. 20 points for forecasting the random numbers of your peer. 3.3. AddIP This extension is currently being described in ADDIP [10]. 10 points for using this extension in a authenticated way as requested by the document. 5 points for sending and receiving an adaptation layer indication. 10 points for adding an IP address to an existing association. 10 points for deleting an IP address from an existing association. 10 points for requesting that your peer set a primary address. 10 points for showing that you honored the request to set a primary address and thus adopted a new primary address. 20 points for catching a peer that attempts to support this extension and DOES NOT support the AUTH extension. To earn the 20 points you MUST not accept the association but instead send an ABORT in response to your peers INIT. 3.4. PktDrpRep This extension is currently being described in PKTDRPREP [11]. 10 points for handling a packet drop report. 10 points sending a notification due to checksum errors. 3.5. Stream Reset This extension is currently being described in STRRST [12]. 5 points for handling a Outgoing SSN Reset Request. 5 points for handling an Incoming SSN Reset Request. Stewart & Tuexen Expires January 20, 2007 [Page 8] Internet-Draft Interop Scoring July 2006 5 points for handling a SSN/TSN Reset Request. 5 points for handling a Outgoing SSN Reset Request combined with an Incoming SSN Reset Request. Handling a request means sending it and receiving it. 4. Bonus Points You can also Bonus Points (directly from RFC1025 [1] with one added item :>) 10 points for the best excuse. 20 points for the fewest excuses. 20 points for the fastest transfer of 1000000 DATA chunks of 100 Byte length between two implementations. (not from RFC1025) 30 points for the longest conversation. 40 points for the most simultaneous connections. 50 points for the most simultaneous connections with distinct SCTPs. 50 points for hijacking an existing association between other participants. Please note that except for that last item the whole period of the interop is relevant. 5. IANA Considerations There are no actions required from IANA. 6. Security Considerations For security considerations please consult the corresponding section of the referenced protocol specifications. 7. Normative References [1] Postel, J., "TCP and IP bake off", RFC 1025, September 1987. [2] Bradner, S., "The Internet Standards Process -- Revision 3", Stewart & Tuexen Expires January 20, 2007 [Page 9] Internet-Draft Interop Scoring July 2006 BCP 9, RFC 2026, October 1996. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson, "Stream Control Transmission Protocol", RFC 2960, October 2000. [5] Stone, J., Stewart, R., and D. Otis, "Stream Control Transmission Protocol (SCTP) Checksum Change", RFC 3309, September 2002. [6] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P. Conrad, "Stream Control Transmission Protocol (SCTP) Partial Reliability Extension", RFC 3758, May 2004. [7] Stewart, R., Arias-Rodriguez, I., Poon, K., Caro, A., and M. Tuexen, "Stream Control Transmission Protocol (SCTP) Specification Errata and Issues", RFC 4460, April 2006. [8] Stewart, R., "Stream Control Transmission Protocol", draft-ietf-tsvwg-2960bis-02 (work in progress), June 2006. [9] Tuexen, M., "Authenticated Chunks for Stream Control Transmission Protocol (SCTP)", draft-ietf-tsvwg-sctp-auth-03 (work in progress), June 2006. [10] Stewart, R., "Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration", draft-ietf-tsvwg-addip-sctp-15 (work in progress), June 2006. [11] Stewart, R., "Stream Control Transmission Protocol (SCTP) Packet Drop Reporting", draft-stewart-sctp-pktdrprep-05 (work in progress), June 2006. [12] Stewart, R., "Stream Control Transmission Protocol (SCTP) Stream Reset", draft-stewart-sctpstrrst-02 (work in progress), February 2006. Stewart & Tuexen Expires January 20, 2007 [Page 10] Internet-Draft Interop Scoring July 2006 Authors' Addresses Randall R. Stewart Cisco Systems, Inc. 4875 Forest Drive Suite 200 Columbia, SC 29206 USA Email: rrs@cisco.com Michael Tuexen Univ. of Applied Sciences Muenster Stegerwaldstr. 39 48565 Steinfurt Germany Email: tuexen@fh-muenster.de Stewart & Tuexen Expires January 20, 2007 [Page 11] Internet-Draft Interop Scoring July 2006 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights 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; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Stewart & Tuexen Expires January 20, 2007 [Page 12]