📄 rfc1963.txt
字号:
Network Working Group K. SchneiderRequest for Comments: 1963 S. VentersCategory: Informational ADTRAN, Inc. August 1996 PPP Serial Data Transport Protocol (SDTP)Status of This Memo This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited.Abstract The Point-to-Point Protocol (PPP) [1] provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP defines an extensible Link Control Protocol, and proposes a family of Network Control Protocols for establishing and configuring different network-layer protocols. This document describes a new Network level protocol (from the PPP point of view), PPP Serial Data Transport Protocol, that provides encapsulation and an associated control protocol for transporting serial data streams over a PPP link. This protocol was developed for the purpose of using PPP's many features to provide a standard method for synchronous data compression. The encapsulation uses a header structure based on that of the ITU-T Recommendation V.120 [2].Table of Contents 1. Introduction .......................................... 2 2. SDTP Packets .......................................... 3 2.1 Padding ......................................... 4 2.2 Packet Formats .................................. 4 3. Serial Data Control Protocol .......................... 11 4. SDCP Configuration Option Format ...................... 12 4.1 Packet-Format ................................... 13 4.2 Header-Type ..................................... 13 4.3 Length-Field-Present ............................ 14 4.4 Multi-Port ...................................... 14 4.5 Transport-Mode .................................. 15 4.6 Maximum-Frame-Size .............................. 16 4.7 Allow-Odd-Frames ................................ 16 4.8 FCS-Type ........................................ 17 4.9 Flow-Expiration-Time ............................ 18 SECURITY CONSIDERATIONS ...................................... 19Schneider & Venters Informational [Page 1]RFC 1963 PPP SDTP August 1996 REFERENCES ................................................... 19 CHAIR'S ADDRESS .............................................. 20 AUTHORS' ADDRESSES ........................................... 201. Introduction This document is a product of the TR30.1 ad hoc committee on compression of synchronous data. It represents a component of a proposal to use PPP to provide compression of synchronous data in DSU/CSUs. In addition to providing support for multi-protocol datagrams, the Point-to-Point Protocol (PPP) [1] has defined an effective and robust negotiating mechanism that can be used on point to point links. When used in conjunction with the PPP Compression Control Protocol [3] and one of the PPP Compression Protocols [4-10], PPP provides an interoperable method of employing data compression on a point-to- point link. This document provides a PPP encapsulation for serial data, specifying a transport protocol, PPP Serial Data Transport Protocol (PPP-SDTP), and an associated control protocol, PPP Serial Data Control Protocol (PPP-SDCP). When these protocols are added to above mentioned PPP protocols, PPP can be used to provide compression of serial data on a point-to-point link. This first edition of PPP-SDTP/SDCP covers HDLC-like synchronous serial data and asynchronous serial data. It does this by using a terminal adaption header based on that of ITU-T Recommendation V.120 [2]. Support may be added in the future for other synchronous protocols as the marketplace demands. The V.120 terminal adaption header allows transported data frames to be split over several packets, supports the transport of DTE port idle and error information, and optionally supports the transport of DTE control state information. In addition to the V.120 Header, fields can be added to the packet format through negotiation to provide support for features not included in the V.120 header. The extra fields are: a Length Field, which is used to distinguish packets in compound frames, and a Port field, which is used to provide multi-port multiplexing capability. The protocol also allows reserved bits in the V.120 header to be used to transport non-octet aligned frames and to provide a flow control mechanism.Schneider & Venters Informational [Page 2]RFC 1963 PPP SDTP August 1996 To provide these features, PPP-SDTP permits a single frame format to be selected from several possible formats by using PPP-SDCP negotiation. The terminal adaption header can be either fixed length or variable length, to allow either simplicity or flexibility. The default frame format places the terminal adaption header at the end of the packet. This permits optimal transmitter timelines when user frames are segmented and compression is also used in conjunction with this protocol.2. SDTP Packets Before any SDTP packets may be communicated, PPP must reach the Network-Layer Protocol phase, and the SDTP Control Protocol must reach the Opened state. By default, exactly one SDTP packet is encapsulated in the PPP Information field, where the PPP Protocol field indicates type hex 0049 (PPP-SDTP). If the Length-Field-Present Configuration Option and the LCP Compound-Frames Configuration Option are successfully negotiated, multiple SDTP packets may be placed in the PPP Information field, and they are distinguished by the presence of Length fields in each packet. The maximum length of the SDTP datagram transmitted over a PPP link is limited only by the negotiated Maximum-Frame-Size and the maximum length of the Information field of a PPP encapsulated packet. Note that if compression is used on the PPP link, this the maximum length of the SDTP datagram may be larger or smaller than the maximum length of the Information field of a PPP encapsulated packet, depending on the particular compression algorithm and protocol used. ITU-T Recommendation V.120 [2] defines an adaption header that is used with its asynchronous and synchronous modes of operation. SDTP packets include this header as a Header field to provide the protocol adaption function. Using negotiation, additional fields can be added to the packet to provide sequencing and multiplexing capability within SDTP. SDTP also has an option of using the reserved bits of the header to provide a flow control mechanism and support for transporting non-octet aligned data frames. The default SDTP packet format is designed to allow the efficient use of the protocol's segmentation feature when combined with a PPP Compression Protocol [4-10]. This format is a little different from other PPP NCP's in that data is read from both ends of the packet. The Header field is placed at the end of the SDTP packet, with the order of the octets reversed. This somewhat unique format has been selected to allow optimal transmitter timelines when compression isSchneider & Venters Informational [Page 3]RFC 1963 PPP SDTP August 1996 used and transported data frames are split into multiple SDTP packets. In such a situation, the Header field contains the information about whether the data is split into multiple packets or not, so if it is located at the end of a packet, the decision can be made after observing the compressed size of the packet. The Header field can then simply be run through the compressor after the decision has been made. When the Header field is placed before the data, as in the optional packet format, the transmitter must make the decision about whether to split a frame over multiple packets without knowing about the compressibility of the frame. Therefore the optional format is designed to be used when transported frames are not split into multiple SDTP packets or where SDTP is not coupled with compression. It is believed that this format may be useful for some hardware implementations.2.1. Padding If padding is used, SDTP packets require the use of the Length Field or the previous negotiation of the LCP Self-Describing-Padding Configuration Option [11].2.2. Packet Formats The default SDTP packet format is shown below. The fields are transmitted from left to right. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PPP Protocol ID | Transported Data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Header - H | +-+-+-+-+-+-+-+-+ The two complete frame formats are shown below: Header-Last and Header-First. Header-Last is the default packet format. The additional fields provided support for: Control State Information (CS), multiple packets and multi-port multiplexing. Again, the fields are transmitted from left to right. Descriptions of the fields follow the packet formats.Schneider & Venters Informational [Page 4]RFC 1963 PPP SDTP August 1996 Header-Last 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PPP Protocol ID | (Length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (Port) | Transported Data / (Odd-Pad) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Header - (CS) : H | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Header-First 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PPP Protocol ID | (Length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (Port) | Header - H : (CS) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transported Data / (Odd-Pad) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ PPP Protocol ID The PPP Protocol ID field is described in the Point-to-Point Protocol Encapsulation [1]. When the SDTP Protocol is successfully negotiated by the SDTP Control Protocol (SDCP), the value is 0049 hex. This value may be compressed to one octet when Protocol-Field-Compression is negotiated, or if one of the PPP compression protocols [4-10] is used. Length The optional Length field is present in every SDTP packet upon successful negotiation of the Length-Field-Present Configuration Option. The value of the Length field is the combined lengths of the Length, Port (if present), Header, Transmitted Data, and Odd-Pad (if present) fields in octets. The length of the Length field defaults to one octet. Valid lengths are from 2 to 255 octets, since each packet must includeSchneider & Venters Informational [Page 5]RFC 1963 PPP SDTP August 1996 at least a one octet Header field. If desired, the length field can be negotiated to be two octets in length. In that case, valid lengths are from 2 to 65535 octets, and the field is transmitted most significant octet first. In either case, a length of 0 means that the combined length is the same as the length of the remainder of the PPP Information Field. Port The optional Port field is present in every SDTP packet upon successful negotiation of the Multi-Port Option. The length of the Port field is one octet. Valid Port numbers are 0 to 254. Port number 255 is reserved for control purposes (see section on flow control). Header The Header field is the terminal adaption header from ITU-T Recommendation V.120. As specified in that document, it contains up to two octets: The terminal adaption header octet (H), and the optional header extension for control state information (CS). SDTP only supports the protocol sensitive operation of V.120; bit transparent operation is not supported. The descriptions of the header bits provided below are derived from the descriptions provided in Recommendation V.120. In addition to the bit definitions of V.120, SDTP optionally permits the use of reserved bits to be used for flow control and to provide support for non- octet aligned frames. The length of the Header field is either one or two octets, and is determined by the value of the E bit in the first octet. By default, the E-bit must be set in the H octet and the CS octet is not present. A Configuration Option may be negotiated to allow the use of the CS octet, or even to require its presence in every packet.Schneider & Venters Informational [Page 6]RFC 1963 PPP SDTP August 1996 H (V.120 Terminal Adaption Header) The format of the first octet of the Header field is shown below: 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | E | BR | Res | FC | C2 | C1 | B | F | +-----+-----+-----+-----+-----+-----+-----+-----+ E - Extension Bit The E bit is the extension bit. If set to 0, it indicates that the Control-2 field is present. BR - Break / HDLC Idle Bit In asynchronous mode, the BR bit indicates the invocation of the BREAK function by the DTE. A value of 1 indicates BREAK. In synchronous HDLC mode, the BR bit is used to indicate that DTE port is receiving HDLC idle condition. A value of 1 indicates this idle condition. Res - Reserved This bit is reserved and MUST be set to 0. (This is a reserved bit in V.120.) FC - Flow Control
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -