PPP Working Group J. Carlson Internet Draft IronBridge Networks expires in six months April 1998 PPP Link Balancing Detection (LBD) Status of this Memo This document is the product of the Point-to-Point Protocol Extensions Working Group of the Internet Engineering Task Force (IETF). Comments 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 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. Internet-Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet- Drafts as reference material or to cite them other than as a ``working draft'' or ``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 The Point-to-Point Protocol (PPP) [1] provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP also defines an extensible Link Control Protocol, which allows the detection of optional link handling procedures, as well as a Multilink procedure (MP) [2] which allows operation over multiple physical links. This document defines an extension to MP called Link Balancing Detection (LBD). Carlson expires October 1998 [Page 1] INTERNET DRAFT PPP Link Balancing Detection April 1998 Table of Contents 1. Introduction ........................................... 2 1.1. Conventions ............................................ 3 2. MRRU Configuration Option Modification ................. 3 3. Bundle Establishment ................................... 3 4. Bundle Tear-Down ....................................... 4 5. Message Distribution ................................... 4 6. Security Issues ........................................ 5 7. References ............................................. 5 8. Authors' Addresses ..................................... 5 1. Introduction Standard PPP negotiation allows for two types of links with regard to multiple link layer entities. The standard type of PPP link is nego- tiated without the Maximum-Receive-Reconstructed-Unit (MRRU) option and appears as a separate network interface to the network layer and to routing protocols. The Multilink PPP (MP) [2] type of link uses the MRRU option and allows multiple PPP links to be bundled into one network interface. An MP link appears as a single network interface to the network layer and to routing protocols. There are many advantages having multiple links between two nodes appear at the network layer to be a single link. While equal-cost multi-path balancing is certainly possible with modern interior gate- way protocols, less stress is placed on scarce routing system resources when link-layer detection is employed, allowing current routing protocols to scale farther. Also, routing system stability in the face of link failures is usually higher when individual links are not visible to the routing protocols. The main disadvantage to the current MP technique is that it does not constrain the fragmentation which may be done by the peer. For sys- tems employing general purpose CPUs in the data path and with scatter-gather direct memory access (DMA) capability, this is often not a problem. For systems with very high bandwidth capabilities, these features are often infeasible, and this problem makes MP unus- able. This draft describes a method similar to (and compatible with) MP for detecting multiple links to the same node, but without the fragmenta- tion or reordering protection of MP. Instead, datagrams are distri- buted intact among the links in any convenient manner, including based on an IP [3] address hash or simple round-robbin service. Carlson expires October 1998 [Page 2] INTERNET DRAFT PPP Link Balancing Detection April 1998 1.1. Conventions The following language conventions are used in the items of specifi- cation in this document: o MUST, SHALL, or MANDATORY -- This item is an absolute require- ment of the specification. o SHOULD or RECOMMEND -- This item should generally be followed for all but exceptional circumstances. o MAY or OPTIONAL -- This item is truly optional and may be fol- lowed or ignored according to the needs of the implementor. 2. MRRU Configuration Option Modification The MRRU option from MP is modified to allow a new distinguished value. This value is zero, and indicates that the Configure-Request sender wishes to bundle multiple links but refuses to reconstruct received fragmented datagrams or to use the header as defined in MP. The receiver of Configure-Request with MRRU set to zero MAY Configure-Reject it to disable all MP support, including LBD, or MAY send Configure-Nak with a hint set non-zero to request standard MP support, or MAY send Configure-Ack to indicate its willingness to run LBD. Both peers MUST agree that MRRU is not in effect, or that it is zero, or that it has a non-zero value. If MRRU has a non-zero value, how- ever, it need not be identical in each direction. If LCP goes to Open state with the MRRUs set to an illegal set of values (id est, one zero and the other non-zero), then an implementation SHOULD ter- minate the link or MAY choose to renegotiate LCP. 3. Bundle Establishment As with MP, bundle establishment is based on a combination of the peer's supplied endpoint discriminator (ED) and the peer's identity as determined via link authentication. The algorithm used for LBD is identical to the MP algorithm, and is documented here only for con- venience. When authentication (if any was negotiated via LCP) is complete, a check is made before attempting to negotiate any Network Control Pro- tocols (NCPs). If an MRRU (either zero or non-zero) is agreed to by Carlson expires October 1998 [Page 3] INTERNET DRAFT PPP Link Balancing Detection April 1998 both peers and if there is an existing LBD bundle where the ED (or lack thereof) matches the new link's ED (or lack), and the authenti- cated peer name (or lack thereof) match the new link's peer name (or lack), then this new link should be made part of the bundle and no new NCPs are created. Otherwise, this is a separate link, and NCPs should be started. If the local and remote MRRU values do not agree with the bundle, then the link SHOULD be terminated. An implementation MAY choose instead to renegotiate LCP to repair the error. If the MRRU values are zero, then the MRU values MUST also be checked in the same manner. When LBD is in effect, in contrast with standard MP, the value adver- tised to the network layer as the MTU MUST be the peer's requested MRU (or any smaller value), rather than the negotiated MRRU. 4. Bundle Tear-Down Tear-down is identical to standard MP and is thus not covered here. 5. Message Distribution To distribute messages among the links, a few simple rules must be followed. First, since PPP negotiation does not withstand reordering, all PPP negotiation messages MUST be sent over a single link to avoid possi- ble reordering. The first link in a bundle MUST be used to transmit PPP messages until this link is terminated. If the first link is terminated, then one remaining link in the bundle MUST be chosen for subsequent messages. Once that link is chosen, an implementation MUST continue sending all PPP negotiation messages over that single link. Any remaining link in the bundle MAY be chosen, and it is entirely possible that each peer may choose a different link without harm to the PPP protocol. Second, PPP negotiation messages MUST be handled when received on any link. An implementation MAY choose to terminate the last link over which negotiation was received if negotiation is received over a dif- ferent link, since this transition implies that the peer has already terminated the prior link. Third, network datagrams SHOULD be distributed over all links as Carlson expires October 1998 [Page 4] INTERNET DRAFT PPP Link Balancing Detection April 1998 evenly as possible. There are no requirements that any particular distribution algorithm be used. Note, however, that some network protocols behave poorly when subjected to message reordering, so techniques which prevent reordering (such as deterministic hashes of network layer addresses) are encouraged. Fourth, the common but technically non-standard practice of using LCP Terminate-Request to gracefully terminate a link without data loss is encouraged in LBD implementations. To do this, an implementation leaves Open state on sending LCP Terminate-Request, but, contrary to RFC 1661 [1], continues processing received datagrams until the peer replies with LCP Terminate-Ack. 6. Security Issues The authentication and bundling techniques are identical to standard MP and the security issues are the same as with RFC 1990. 7. References [1] W. Simpson, "The Point-to-Point Protocol (PPP)", RFC 1661, 07/21/1994 [2] K. Sklower, et al, "The PPP Multilink Protocol (MP)", RFC 1990, 08/1996 [3] J. Postel, "Internet Protocol", RFC 791, 09/01/1981 8. Author's Address James Carlson IronBridge Networks 55 Hayden Avenue Lexington MA 02173-7999 Phone: +1 781 402 8032 Fax: +1 781 402 8092 Email: carlson@ironbridgenetworks.com Carlson expires October 1998 [Page 5]