HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 10:46:00 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Fri, 29 May 1998 01:33:00 GMT ETag: "361e29-4a77-356e104c" Accept-Ranges: bytes Content-Length: 19063 Connection: close Content-Type: text/plain Internet Draft Gerard G. PASSERA Expiration: November 1998 File: draft-passera-lcp-misc-00.txt PPP LCP extensions for Initial Program load, Discard received, Link Bandwidth and Link Delay measurement May 26, 1998 Status of this Memo This document is an Internet-Draft. 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.'' To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract This document presents five extensions to the PPP/LCP Protocol : * Assistance from a router to another router (or a host) looking for its Operating System file. * Assistance from a router to another router (or a host) looking for its configuration file. * Request from an equipment to receive Discard frame when no Data frame can be sent. When no Discard or Data frames are received the link will be brought down. * Interface Bandwidth and Delay measurements. These informations can be used by OSPF or any other IGP protocol. Table of Contents 1 Introduction 2 1. 1 Specification of Requirements 2 1.2 Terminology 3 2 LCP extensions 4 2.1 Request for Operating System file 4 2.2 Request for Configuration file 5 2.3 Request for Discard frame to be sent 6 2.4 Link Bandwidth Measurement 8 2.5 Link Delay Measurement 10 3 Security Considerations 12 4 References 12 5 Authors' Information 12 1 Introduction There is a need for a router to help another router or a host which is looking for its operating system and/or its configuration. Such mechanisms are already offer on proprietary protocol. Most of the equipment which test the PPP link do it by sending periodically an echo request message. Their hold time is three times the frequency of the hello. It will be faster to detect a broken end to end link if both devices send Discard frame when they have no data to send. OSPF and some other proprietary routing protocol base their routing decision on the value of the bandwidth. The most important factor is in fact the delay. This information is not easy to find. PPP/LCP could help the administrator. 1.1. Specification of Requirements In this document, several words are used to signify the requirements of the specification. These words are often capitalized. MUST This word, or the adjective "required", means that the definition is an absolute requirement of the specification. MUST NOT This phrase means that the definition is an absolute prohibition of the specification. SHOULD This word, or the adjective "recommended", means that there may exist valid reasons in particular circumstances to ignore this item, but the full implications must be understood and carefully weighed before choosing a different course. MAY This word, or the adjective "optional", means that this item is one of an allowed set of alternatives. An implementation which does not include this option MUST be prepared to interoperate with another implementation which does include the option. 1.2. Terminology This document frequently uses the following terms: datagram The unit of transmission in the network layer (such as IP). A datagram may be encapsulated in one or more packets passed to the data link layer. frame The unit of transmission at the data link layer. A frame may include a header and/or a trailer, along with some number of units of data. packet The basic unit of encapsulation, which is passed across the interface between the network layer and the data link layer. A packet is usually mapped to a frame; the exceptions are when data link layer fragmentation is being performed, or when multiple packets are incorporated into a single frame. peer The other end of the point-to-point link. silently discard The implementation discards the packet without further processing. The implementation SHOULD provide the capability of logging the error, including the contents of the silently discarded packet, and SHOULD record the event in a statistics counter. master The peer offering its assistance slave The peer requesting its operating system and/or its configuration files. 2 LCP Extensions 2.1 Request for Operating System file This operation MUST take place before any other LCP operation. The slave send a LCP Configure-Request [1] for the type of IP protocol it wish to use. The master MUST reply with a Configure-Ack if the requested protocol is supported, a Configure-Nak if the protocol is not supported or a Terminate-Request if the operation is not possible. Any other message will be ignored. Once the protocol has been negociated, the file transfer can start. The slave MUST remain in charge of the protocol. A specific value is used by the Request for Operating System file protocol (0xC321) for each datagram of the file transfer. The destination address of the IP packet sent by the slave MUST be 255.255.255.255. The source address of the IP packet sent by the slave MUST be 127.x.x.x. The master MUST replace destination and source addresses with the address of the file server and its own source address. The name of the requested file MUST be provided by the slave. Any other ® user ¯ information relevant to the file transfer protocol MUST be provided by the master. Once the file transfer is completed, the slave MUST send a Terminate-Request [1]. The master will respond with a Terminate-Ack. The master SHOULD terminated the link when no data have been received from the slave or the file server for 60 seconds A summary of the Request for Operating System file Configuration Option 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Port Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Protocol | +-+-+-+-+-+-+-+-+ Type 24 Length 5 Port Number The port number specifies the protocol port number which will be used for the file transfer of the Operating System (e.g tftp=69). IP Protocol The IP protocol field specifies the transport protocol for the file transfer (e.g. UDP=17). 2.2 Request for Configuration file This operation MUST take place before any other LCP operation. The slave send a LCP Configure-Request [1] for the type of IP protocol it wish to use. The master MUST reply with a Configure-Ack if the requested protocol is supported, a Configure-Nak if the protocol is not supported or a Terminate-Request if the operation is not possible. Any other message will be ignored. Once the protocol has been agreed, the file transfer can start. The slave MUST remain in charge of the protocol. A specific value is used by the LCP protocol (0xC323) for each datagram of the file transfer. The destination address of the packet sent by the slave MUST be 255.255.255.255. The source address of the packet sent by the slave MUST be 127.x.x.x. The master MUST replace destination and source addresses with the address of the file server and its own source address. The name of the file MUST be provided by the master as well as any other ® user ¯ information relevant to the file transfer protocol. Once the file transfer is completed, the slave MUST send a Terminate-Request[1]. The master will respond with a Terminate- Ack. The master SHOULD terminated the link when no data have been received from the slave or the file server for 60 seconds A summary of the Request for Configuration file Configuration Option 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Port Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Protocol | +-+-+-+-+-+-+-+-+ Type 25 Length 5 Port Number The port number specifies the protocol port number which will be used for the file transfer of the configuration (e.g tftp=69). IP Protocol The IP protocol field specifies the transport protocol for the file transfer (e.g. UDP=17). 2.3 Request for Discard frame to be sent The device which need a fast detection of a broken ppp link will send a Configure-Request [1] to its peer requesting to receive Discard frames [1] when no data have to be forwarded. The destination will answer with a Configure-Ack, a Configure- Nak if the timeout is too small or a Configure-Reject if this Option is not possible. Request for Discard frame MUST only be sent in the LCP Opened state. Request for Discard frame received in any state other than the LCP Opened state SHOULD be silently discarded. A summary of the Request for Discard frame Configuration Option 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Timeout | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Frame Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 26 Length 6 Timeout The timeout specifies the time in second after which the link is brought down when no Discard or Data frames are received. The recommended value 5 secondes Frame Size The Frame Size specifies the minimum size of the Discard frame. The recommended value is 64. A summary of the Discard-Request 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ Code 11 for Discard-Request. Identifier The Identifier field is a sequence number which is incremented for each Discard frame. Length The Length field is two octets, and indicates the length of the LCP packet, including the Code, Identifier, Length and Data fields. The Length MUST NOT exceed the MRU of the link. The recommended value is 64. 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 Configuration Option [1] for further explanation. Data The Data field contains uninterpreted data for use by the sender. The data may consist of any binary value. The end of the field is indicated by the Length. 2.4 Link Bandwidth Measurement When the Link Bandwidth cannot be learn by a router, this one use a static value which may or may not be accurated. Routing protocols can used the bandwidth value measured by PPP for their metric. The proposed method is inspired by Novell IPXWAN [2]. The device which need to measure the bandwidth of the link will send a Configure-Request to its peer requesting to receive some Discard frames. The destination will answer with a Configure-Ack and then the Discard frames, a Configure-Nak if the frame size is too large or a Configure-Reject is this Option is not possible. The device will be able to measure the bandwidth of the link by calculating the time necessary to receive the requested number of bytes. A summary of the Link Bandwidth Measurement Configuration Option 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Frame Number | Frame Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Frame Size | +-+-+-+-+-+-+-+-+ Type 27 Length 5 Frame Number The Frame Number specifies the number of frame the destination must send in a row. The recommended number is 2. Frame Size The Frame Size specifies the total size of the PPP frame use for the Link Bandwidth Measurement. The recommended value is the MRU of the link (e.g. default = 1500). A summary of the Discard-Request 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ Code 11 for Discard-Request. Identifier The Identifier field is a sequence number which is incremented for each Discard frame. The first discard frame sent upon reception of the Link Bandwidth Measurement request has an identifier set to 1. Length The Length field is two octets, and indicates the length of the LCP packet, including the Code, Identifier, Length and Data fields. The Length MUST NOT exceed the MRU of the link. 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 Configuration Option [1] for further explanation. Data The Data field contains uninterpreted data for use by the sender. The data may consist of any binary value. The end of the field is indicated by the Length. 2.5 Link Delay measurement The Link Delay is a significant criteria for routing decision. Routing protocols can used the value measured by PPP for their metric. The proposed method is inspired by Novell IPXWAN [2]. Before NCP negotiation takes place, the link will first measure the bandwidth. The device will then send several consecutive Echo-Request. The destination will reply with Echo-Reply frames. The recommended number of Echo-Request is 2. The device will be able to measure the delay of the link by calculating the round trip time of individual frame and dividing the result by 2. The recommended value for the frame size is the MRU of the link (e.g. default = 1500). A summary of the Echo-Request and Echo-Reply packet formats 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ Code 9 for Echo-Request; 10 for Echo-Reply. Identifier On transmission, the Identifier field MUST be changed whenever the content of the Data field changes, and whenever a valid reply has been received for a previous request. For retransmission, the Identifier MAY remain unchanged. On reception, the Identifier field of the Echo-Request is copied into the Identifier field of the Echo-Reply packet. Length The Length field is two octets, and indicates the length of the LCP packet, including the Code, Identifier, Length and Data fields. The Length MUST NOT exceed the MRU of the link. 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 Configuration Option [1] for further explanation. Data The Data field contains uninterpreted data for use by the sender. The data may consist of any binary value. The end of the field is indicated by the Length. 3 Security Considerations Security issues are not discussed in this document. 4 References [1] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994. [2] Michael Allen, Novell, Inc. Novell IPX Over Various WAN Media (IPXWAN), RFC 1634, May 1994 [3] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994. [4] Simpson, W., PPP Vendor Extensions, RFC 2153, May 1997. 5 Author Information Gerard G. PASSERA Caleje Conseil 5, rue Charles LECOCQ 75015 PARIS FRANCE Phone: +33 1 48423024 EMail: GerardPassera@compuserve.com