Network Working Group W. Simpson, Editor Internet Draft Daydreamer expires in six months February 1996 PPP LCP Extensions draft-ietf-pppext-lcpext-ds-00.txt Status of this Memo This document is a submission to the the Point-to-Point Protocol Working Group of the Internet Engineering Task Force (IETF). Com- ments should be submitted to the ietf-ppp@merit.edu mailing list. Distribution of this memo is unlimited. This document is an Internet-Draft. Internet Drafts are working doc- uments of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute work- ing 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 not appropriate to use Internet Drafts as refer- ence material, or to cite them other than as a ``working draft'' or ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the internet-drafts Shadow Directories on: ftp.is.co.za (Africa) nic.nordu.net (Europe) ds.internic.net (US East Coast) ftp.isi.edu (US West Coast) munnari.oz.au (Pacific Rim) 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 (LCP) for establishing, configuring, and testing the data-link connection. This document defines several additional LCP features that have been suggested over the past few years. Simpson expires in six months [Page i] DRAFT PPP LCP extensions February 1996 1. Additional LCP Packets The Packet format and basic facilities are already defined for LCP [1]. Up-to-date values of the LCP Code field are specified in the most recent "Assigned Numbers" RFC [2]. This document concerns the fol- lowing values: 12 Identification 13 Time-Remaining 1.1. Identification Description This Code provides a method for an implementation to identify itself to its peer. This Code might be used for many diverse pur- poses, such as link troubleshooting, license enforcement, etc. Identification is a Link Maintenance packet. Identification pack- ets MAY be sent at any time, including before LCP has reached the Opened state. The sender transmits a LCP packet with the Code field set to 12 (Identification), the Identifier field set, the local Magic-Number (if any) inserted, and the Message field filled with any desired data, but not exceeding the default MRU minus eight. Receipt of an Identification packet causes the RXR or RUC event. There is no response to the Identification packet. Receipt of a Code-Reject for the Identification packet SHOULD gen- erate the RXJ+ (permitted) event. Rationale: This feature is defined as part of LCP, rather than as a sepa- rate PPP Protocol, in order that its benefits may be available during the earliest possible stage of the Link Establishment phase. It allows an operator to learn the identification of the peer even when negotiation is not converging. Non-LCP packets cannot be sent during the Link Establishment phase. This feature is defined as a separate LCP Code, rather than a Configuration-Option, so that the peer need not include it with Simpson expires in six months [Page 1] DRAFT PPP LCP extensions February 1996 other items in configuration packet exchanges, and handle "cor- rected" values or "rejection", since its generation is both rare and in one direction. It is recommended that Identifica- tion packets be sent whenever a Configure-Reject is sent or received, as a final message when negotiation fails to con- verge, and when LCP reaches the Opened state. A summary of the Identification 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Magic-Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message ... +-+-+-+-+-+-+-+-+ Code 12 for Identification Identifier The Identifier field MUST be changed for each Identification sent. Length >= 8 Magic-Number The Magic-Number field is four octets and aids in detecting links which are in the looped-back condition. Until the Magic-Number Configuration Option has been successfully negotiated, the Magic- Number MUST be transmitted as zero. See the Magic-Number Configu- ration Option for further explanation. Message The Message field is zero or more octets, and its contents are implementation dependent. It is intended to be human readable, and MUST NOT affect operation of the protocol. It is recommended that the message contain displayable ASCII characters 32 through 126 decimal. Mechanisms for extension to other character sets are the topic of future research. The size is determined from the Simpson expires in six months [Page 2] DRAFT PPP LCP extensions February 1996 Length field. Implementation Note: The Message will usually contain such things as the sender's hardware type, PPP software revision level, and PPP product serial number, MIB information such as link speed and interface name, and any other information that the sender thinks might be useful in debugging connections. The format is likely to be different for each implementor, so that those doing serial num- ber tracking can validate their numbers. A robust implementa- tion SHOULD treat the Message as displayable text, and SHOULD be able to receive and display a very long Message. 1.2. Time-Remaining Description This Code provides a mechanism for notifying the peer of the time remaining in this session. The nature of this information is advisory only. It is intended that only one side of the connection will send this packet (gener- ally a "network access server"). The session is actually con- cluded by the Terminate-Request packet. Time-Remaining is a Link Maintenance packet. Time-Remaining pack- ets may only be sent in the LCP Opened state. The sender transmits a LCP packet with the Code field set to 13 (Time-Remaining), the Identifier field set, the local Magic-Number (if any) inserted, and the Message field filled with any desired data, but not exceeding the peer's established MRU minus twelve. Receipt of an Time-Remaining packet causes the RXR or RUC event. There is no response to the Time-Remaining packet. Receipt of a Code-Reject for the Time-Remaining packet SHOULD gen- erate the RXJ+ (permitted) event. Rationale: This notification is defined as a separate LCP Code, rather than a Configuration-Option, in order that changes and warning messages may occur dynamically during the session, and that the information might be determined after Authentication has occurred. Typically, this packet is sent when the link enters Simpson expires in six months [Page 3] DRAFT PPP LCP extensions February 1996 Network-Layer Protocol phase, and at regular intervals through- out the session, particularly near the end of the session. A summary of the Time-Remaining 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Magic-Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Seconds-Remaining | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message ... +-+-+-+-+-+-+-+-+ Code 13 for Time-Remaining Identifier The Identifier field MUST be changed for each Time-Remaining sent. Length >= 12 Magic-Number The Magic-Number field is four octets and aids in detecting links which are in the looped-back condition. Until the Magic-Number Configuration Option has been successfully negotiated, the Magic- Number MUST be transmitted as zero. See the Magic-Number Configu- ration Option for further explanation. Seconds-Remaining The Seconds-Remaining field is four octets and indicates the num- ber of integral seconds remaining in this session. This 32 bit unsigned value is sent most significant octet first. A value of 0xffffffff (all ones) represents no timeout, or "forever". Simpson expires in six months [Page 4] DRAFT PPP LCP extensions February 1996 Message The Message field is zero or more octets, and its contents are implementation dependent. It is intended to be human readable, and MUST NOT affect operation of the protocol. It is recommended that the message contain displayable ASCII characters 32 through 126 decimal. Mechanisms for extension to other character sets are the topic of future research. The size is determined from the Length field. Simpson expires in six months [Page 5] DRAFT PPP LCP extensions February 1996 2. Additional LCP Configuration Options The Configuration Option format and basic options are already defined for LCP [1]. Up-to-date values of the LCP Option Type field are specified in the most recent "Assigned Numbers" RFC [2]. This document concerns the following values: 10 Self-Describing-Padding 13 Callback 2.1. Self-Describing-Padding Description This Configuration Option provides a method for an implementation to indicate to the peer that it understands self-describing pads when padding is added at the end of the PPP Information field. This option is most likely to be used when some protocols, such as network-layer or compression protocols, are configured which require detection and removal of any trailing padding. Such spe- cial protocols are identified in their respective documents. If the option is Rejected, the peer MUST NOT add any padding to any identified special protocols, but MAY add padding to other protocols. If the option is Ack'd, the peer MUST follow the procedures for adding self-describing pads, but only to the specifically identi- fied protocols. The peer is not required to add any padding to other protocols. Implementation Notes: This is defined so that the Reject handles either case where the peer does not generate self-describing pads. When the peer never generates padding, it may safely Reject the option. When the peer does not understand the option, it also will not suc- cessfully configure a special protocol which requires elimina- tion of pads. While some senders might only be capable of adding padding to every protocol or not adding padding to any protocol, by design the receiver need not examine those protocols which do not need Simpson expires in six months [Page 6] DRAFT PPP LCP extensions February 1996 the padding stripped. To avoid unnecessary configuration handshakes, an implementa- tion which generates padding, and has a protocol configured which requires the padding to be known, SHOULD include this Option in its Configure-Request, and SHOULD Configure-Nak with this Option when it is not present in the peer's Request. Each octet of self-describing pad contains the index of that octet. The first pad octet MUST contain the value one (1), which indicates the Padding Protocol to the Compound-Frames option. After removing the FCS, the final pad octet indicates the number of pad octets to remove. For example, three pad octets would con- tain the values 1, 2, 3. The Maximum-Pad-Value (MPV) is also negotiated. Only the values 1 through MPV are used. When no padding would otherwise be required, but the final octet of the PPP Information field con- tains the value 1 through MPV, at least one self-describing pad octet MUST be added to the frame. If the final octet is greater than MPV, no additional padding is required. Implementation Notes: If any of the pad octets contain an incorrect index value, the entire frame SHOULD be silently discarded. This is intended to prevent confusion with the FCS-Alternatives option, but might not be necessary in robust implementations. Since this option is intended to support compression protocols, the Maximum-Pad-Value is specified to limit the likelihood that a frame may actually become longer. A summary of the Self-Describing-Padding Configuration Option format is shown below. The fields are transmitted from left to right. 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Maximum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 10 Simpson expires in six months [Page 7] DRAFT PPP LCP extensions February 1996 Length 3 Maximum This field specifies the largest number of padding octets which may be added to the frame. The value may range from 0 to 255. The value 0 indicates that Self-Defining-Padding is understood, but no padding is expected. Values of 2, 4, or 8 are most likely. 2.2. Callback Description This Configuration Option provides a method for an implementation to request a dial-up peer to call back. This option might be used for many diverse purposes, such as savings on toll charges. When Callback is successfully negotiated, and authentication is complete, the Authentication phase proceeds directly to the Termi- nation phase, and the link is disconnected. Then, the peer re-establishes the link, without negotiating Call- back. Implementation Notes: A peer which agrees to this option SHOULD request the Authenti- cation-Protocol Configuration Option. The user information learned during authentication can be used to determine the user location, or to limit a user to certain locations, or merely to determine whom to bill for the service. Authentication SHOULD be requested in turn by the implementa- tion when it is called back, if mutual authentication is desired. A summary of the Callback Option format is shown below. The fields are transmitted from left to right. Simpson expires in six months [Page 8] DRAFT PPP LCP extensions February 1996 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Operation | Message ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 13 Length >= 3 Operation The Operation field is one octet and indicates the contents of the Message field. 0 location is determined by user authentication 1 Dialing string, the format and contents of which assumes configuration knowledge of the specific device which is making the callback. 2 Location identifier, which may or may not be human read- able, to be used together with the authentication informa- tion for a database lookup to determine the callback loca- tion. 3 E.164 number. 4 Distinguished name. Message The Message field is zero or more octets, and its general contents are determined by the Operation field. The actual format of the information is site or application specific, and a robust imple- mentation SHOULD support the field as undistinguished octets. The size is determined from the Length field. It is intended that only an authorized user will have correct site specific information to make use of the Callback. The codifica- tion of the range of allowed usage of this field is outside the scope of this specification. Simpson expires in six months [Page 9] DRAFT PPP LCP extensions February 1996 Security Considerations Security issues are briefly discussed in sections concerning the Callback Configuration Option. Acknowledgements The Identification feature was suggested by Bob Sutterfield (Morning Star Technologies). The Time-Remaining feature was suggested by Brad Parker (FCR). Self-Describing-Padding was suggested and named by Fred Baker (Cisco). Special thanks to Morning Star Technologies for providing computing resources and network access support for writing this specification. References [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", RFC 1661, December 1993. [2] Reynolds, J.K., Postel, J.B., "Assigned Numbers", RFC 1700, July 1992. [3] Simpson, W., Editor, "PPP in HDLC-like Framing", RFC 1662, December 1993. Chair's Address The working group can be contacted via the current chair: Fred Baker Advanced Computer Communications 315 Bollay Drive Santa Barbara, California 93117 EMail: fbaker@acc.com Editor's Address Simpson expires in six months [Page 10] DRAFT PPP LCP extensions February 1996 Questions about this memo can also be directed to: William Allen Simpson Daydreamer Computer Systems Consulting Services 1384 Fontaine Madison Heights, Michigan 48071 Bill.Simpson@um.cc.umich.edu bsimpson@MorningStar.com (prefered) Simpson expires in six months [Page 11]