Internet Draft Douglas Otis Expires October 2001 SANlight April 19, 2001 TCP Framing Header draft-otis-tcp-framing-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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 made obsolete 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. Abstract This document is to define a header structure suitable for implementing a framing structure that encapsulates SCTP (RFC 2960) within TCP (RFC 793). This provides the following: - Frame Validation within Frame Header. - Additional Frame Error Checking. - Both Fixed and Variable Length Framing. - Identifies Payloads and incorporates SCTP Conventions. draft-otis-tcp-framing-00.txt Page [2] Introduction This framing scheme is to incorporate SCTP within TCP. SCTP is a framing protocol unlike TCP and to create a natural transition to SCTP, this TCP framing scheme can be employed. To allow a generic method of framing records within TCP byte streams, the following two constructs are used. These are Fixed Interval and Variable Interval header placement. In the Fixed Interval mode, the actual SCTP frame size is indicated in the Pseudo-Frame Length with the remainder padded to this fixed interval. The Fixed Interval is set by the 32-bit byte length Fixed Interval parameter within the Initiation (INIT) Chunk as assigned by IANA. In the Variable Interval mode, the Pseudo-Frame Length indicates the byte displacement to the next Modified SCTP Common Header. Modified SCTP Common Header Format 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Mode | Ver | Pseudo-Frame Length in Bytes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Verification Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Mode field identifies the possible framing mechanisms used. 0 = Fixed Interval Modified SCTP Common Header Placement 1 = Variable Interval Modified SCTP Common Header Placement 2 - 15 = Reserved. The Ver field identifies different levels of compatibility. Presently this field is defined as 0. Verification Tag and Checksum are defined within the SCTP specification. The flow control schemes and physical framing is determined by TCP. As an illustrative example for Fixed Interval Header Placement. | Ethernet Frame | | | | | | | Pseudo-Frame | Pseudo-Frame | Pseudo-Frame | |xxxxxxxxxxx00000|xxxxxxxxxxxxxxxxxx0|xxxxxxxxxxxxxxxx| [Chunk|Chunk|----[ Chunk | Chunk [ | Chunk [... [ = Modified SCTP Common Header 0 = Padding x = payload | = boundary The reasons for using either fixed or variable length modes and their interaction with Upper Layer Protocols are beyond the scope of this document. draft-otis-tcp-framing-00.txt Page [3] Author's Address: Douglas Otis SANlight Inc. 160 Saratoga Ave, #40 Santa Clara, CA 95051 Tel: (408) 260-1400 x2 dotis@sanlight.net Full Copyright Statement Copyright (C) The Internet Society (2000). 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.