home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1332.txt < prev    next >
Text File  |  1996-05-07  |  18KB  |  592 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        G. McGregor Request for Comments: 1332                                         Merit Obsoletes: RFC 1172                                             May 1992 
  8.  
  9.  
  10.  
  11.            The PPP Internet Protocol Control Protocol (IPCP) 
  12.  
  13.  
  14.  
  15. Status of this Memo 
  16.  
  17.    This RFC specifies an IAB standards track protocol for the Internet    community, and requests discussion and suggestions for improvements.    Please refer to the current edition of the "IAB Official Protocol    Standards" for the standardization state and status of this protocol.    Distribution of this memo is unlimited. 
  18.  
  19. Abstract 
  20.  
  21.    The Point-to-Point Protocol (PPP) [1] provides a standard method of    encapsulating Network Layer protocol information over point-to-point    links.  PPP also defines an extensible Link Control Protocol, and    proposes a family of Network Control Protocols (NCPs) for    establishing and configuring different network-layer protocols.     This document defines the NCP for establishing and configuring the    Internet Protocol [2] over PPP, and a method to negotiate and use Van    Jacobson TCP/IP header compression [3] with PPP. 
  22.  
  23.    This RFC is a product of the Point-to-Point Protocol Working Group of    the Internet Engineering Task Force (IETF). 
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. McGregor                                                        [Page i] 
  44.  RFC 1332                        PPP IPCP                        May 1992 
  45.  
  46.  Table of Contents 
  47.  
  48.       1.     Introduction ..........................................    1 
  49.  
  50.      2.     A PPP Network Control Protocol (NCP) for IP ...........    2         2.1       Sending IP Datagrams ............................    2 
  51.  
  52.      3.     IPCP Configuration Options ............................    4         3.1       IP-Addresses ....................................    5         3.2       IP-Compression-Protocol .........................    6         3.3       IP-Address ......................................    8 
  53.  
  54.      4.     Van Jacobson TCP/IP header compression ................    9         4.1       Configuration Option Format .....................    9 
  55.  
  56.      APPENDICES ...................................................   11 
  57.  
  58.      A.     IPCP Recommended Options ..............................   11 
  59.  
  60.      SECURITY CONSIDERATIONS ......................................   11 
  61.  
  62.      REFERENCES ...................................................   11 
  63.  
  64.      ACKNOWLEDGEMENTS .............................................   11 
  65.  
  66.      CHAIR'S ADDRESS ..............................................   12 
  67.  
  68.      AUTHOR'S ADDRESS .............................................   12 
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  McGregor                                                       [Page ii] 
  91.  RFC 1332                        PPP IPCP                        May 1992 
  92.  
  93.  1.  Introduction 
  94.  
  95.    PPP has three main components: 
  96.  
  97.       1. A method for encapsulating datagrams over serial links. 
  98.  
  99.       2. A Link Control Protocol (LCP) for establishing, configuring,          and testing the data-link connection. 
  100.  
  101.       3. A family of Network Control Protocols (NCPs) for establishing          and configuring different network-layer protocols. 
  102.  
  103.    In order to establish communications over a point-to-point link, each    end of the PPP link must first send LCP packets to configure and test    the data link.  After the link has been established and optional    facilities have been negotiated as needed by the LCP, PPP must send    NCP packets to choose and configure one or more network-layer    protocols.  Once each of the chosen network-layer protocols has been    configured, datagrams from each network-layer protocol can be sent    over the link. 
  104.  
  105.    The link will remain configured for communications until explicit LCP    or NCP packets close the link down, or until some external event    occurs (an inactivity timer expires or network administrator    intervention). 
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  McGregor                                                        [Page 1] 
  132.  RFC 1332                        PPP IPCP                        May 1992 
  133.  
  134.  2.  A PPP Network Control Protocol (NCP) for IP 
  135.  
  136.    The IP Control Protocol (IPCP) is responsible for configuring,    enabling, and disabling the IP protocol modules on both ends of the    point-to-point link.  IPCP uses the same packet exchange machanism as    the Link Control Protocol (LCP).  IPCP packets may not be exchanged    until PPP has reached the Network-Layer Protocol phase.  IPCP packets    received before this phase is reached should be silently discarded. 
  137.  
  138.    The IP Control Protocol is exactly the same as the Link Control    Protocol [1] with the following exceptions: 
  139.  
  140.    Data Link Layer Protocol Field 
  141.  
  142.       Exactly one IPCP packet is encapsulated in the Information field       of PPP Data Link Layer frames where the Protocol field indicates       type hex 8021 (IP Control Protocol). 
  143.  
  144.    Code field 
  145.  
  146.       Only Codes 1 through 7 (Configure-Request, Configure-Ack,       Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack       and Code-Reject) are used.  Other Codes should be treated as       unrecognized and should result in Code-Rejects. 
  147.  
  148.    Timeouts 
  149.  
  150.       IPCP packets may not be exchanged until PPP has reached the       Network-Layer Protocol phase.  An implementation should be       prepared to wait for Authentication and Link Quality Determination       to finish before timing out waiting for a Configure-Ack or other       response.  It is suggested that an implementation give up only       after user intervention or a configurable amount of time. 
  151.  
  152.    Configuration Option Types 
  153.  
  154.       IPCP has a distinct set of Configuration Options, which are       defined below. 
  155.  
  156. 2.1.  Sending IP Datagrams 
  157.  
  158.    Before any IP packets may be communicated, PPP must reach the    Network-Layer Protocol phase, and the IP Control Protocol must reach    the Opened state. 
  159.  
  160.    Exactly one IP packet is encapsulated in the Information field of PPP    Data Link Layer frames where the Protocol field indicates type hex    0021 (Internet Protocol). 
  161.  
  162.  
  163.  
  164. McGregor                                                        [Page 2] 
  165.  RFC 1332                        PPP IPCP                        May 1992 
  166.  
  167.     The maximum length of an IP packet transmitted over a PPP link is the    same as the maximum length of the Information field of a PPP data    link layer frame.  Larger IP datagrams must be fragmented as    necessary.  If a system wishes to avoid fragmentation and reassembly,    it should use the TCP Maximum Segment Size option [4], and MTU    discovery [5]. 
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213. McGregor                                                        [Page 3] 
  214.  RFC 1332                        PPP IPCP                        May 1992 
  215.  
  216.  3.  IPCP Configuration Options 
  217.  
  218. IPCP Configuration Options allow negotiatiation of desirable Internet Protocol parameters.  IPCP uses the same Configuration Option format defined for LCP [1], with a separate set of Options. 
  219.  
  220. The most up-to-date values of the IPCP Option Type field are specified in the most recent "Assigned Numbers" RFC [6].  Current values are assigned as follows: 
  221.  
  222.    1       IP-Addresses    2       IP-Compression-Protocol    3       IP-Address 
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  McGregor                                                        [Page 4] 
  261.  RFC 1332                        PPP IPCP                        May 1992 
  262.  
  263.  3.1.  IP-Addresses 
  264.  
  265.    Description 
  266.  
  267.       The use of the Configuration Option IP-Addresses has been       deprecated.  It has been determined through implementation       experience that it is difficult to ensure negotiation convergence       in all cases using this option.  RFC 1172 [7] provides information       for implementations requiring backwards compatability.  The IP-       Address Configuration Option replaces this option, and its use is       preferred. 
  268.  
  269.       This option SHOULD NOT be sent in a Configure-Request if a       Configure-Request has been received which includes either an IP-       Addresses or IP-Address option.  This option MAY be sent if a       Configure-Reject is received for the IP-Address option, or a       Configure-Nak is received with an IP-Addresses option as an       appended option. 
  270.  
  271.       Support for this option MAY be removed after the IPCP protocol       status advances to Internet Draft Standard. 
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  McGregor                                                        [Page 5] 
  302.  RFC 1332                        PPP IPCP                        May 1992 
  303.  
  304.  3.2.  IP-Compression-Protocol 
  305.  
  306.    Description 
  307.  
  308.       This Configuration Option provides a way to negotiate the use of a       specific compression protocol.  By default, compression is not       enabled.     A summary of the IP-Compression-Protocol Configuration Option format    is shown below.  The fields are transmitted from left to right. 
  309.  
  310.     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     |     IP-Compression-Protocol   |    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    |    Data ...    +-+-+-+-+ 
  311.  
  312.    Type 
  313.  
  314.       2 
  315.  
  316.    Length 
  317.  
  318.       >= 4 
  319.  
  320.    IP-Compression-Protocol 
  321.  
  322.       The IP-Compression-Protocol field is two octets and indicates the       compression protocol desired.  Values for this field are always       the same as the PPP Data Link Layer Protocol field values for that       same compression protocol. 
  323.  
  324.       The most up-to-date values of the IP-Compression-Protocol field       are specified in the most recent "Assigned Numbers" RFC [6].       Current values are assigned as follows: 
  325.  
  326.          Value (in hex)          Protocol 
  327.  
  328.          002d                    Van Jacobson Compressed TCP/IP 
  329.  
  330.    Data 
  331.  
  332.       The Data field is zero or more octets and contains additional data       as determined by the particular compression protocol. 
  333.  
  334.  
  335.  
  336.  
  337.  
  338. McGregor                                                        [Page 6] 
  339.  RFC 1332                        PPP IPCP                        May 1992 
  340.  
  341.     Default 
  342.  
  343.       No compression protocol enabled. 
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  McGregor                                                        [Page 7] 
  392.  RFC 1332                        PPP IPCP                        May 1992 
  393.  
  394.  3.3.  IP-Address 
  395.  
  396.    Description 
  397.  
  398.       This Configuration Option provides a way to negotiate the IP       address to be used on the local end of the link.  It allows the       sender of the Configure-Request to state which IP-address is       desired, or to request that the peer provide the information.  The       peer can provide this information by NAKing the option, and       returning a valid IP-address. 
  399.  
  400.       If negotiation about the remote IP-address is required, and the       peer did not provide the option in its Configure-Request, the       option SHOULD be appended to a Configure-Nak.  The value of the       IP-address given must be acceptable as the remote IP-address, or       indicate a request that the peer provide the information. 
  401.  
  402.       By default, no IP address is assigned. 
  403.  
  404.    A summary of the IP-Address Configuration Option format is shown    below.  The fields are transmitted from left to right. 
  405.  
  406.     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     |           IP-Address    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            IP-Address (cont)       |    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  407.  
  408.    Type 
  409.  
  410.       3 
  411.  
  412.    Length 
  413.  
  414.       6 
  415.  
  416.    IP-Address 
  417.  
  418.       The four octet IP-Address is the desired local address of the       sender of a Configure-Request.  If all four octets are set to       zero, it indicates a request that the peer provide the IP-Address       information. 
  419.  
  420.    Default 
  421.  
  422.       No IP address is assigned. 
  423.  
  424.  
  425.  
  426. McGregor                                                        [Page 8] 
  427.  RFC 1332                        PPP IPCP                        May 1992 
  428.  
  429.  4.  Van Jacobson TCP/IP header compression 
  430.  
  431. Van Jacobson TCP/IP header compression reduces the size of the TCP/IP headers to as few as three bytes.  This can be a significant improvement on slow serial lines, particularly for interactive traffic. 
  432.  
  433. The IP-Compression-Protocol Configuration Option is used to indicate the ability to receive compressed packets.  Each end of the link must separately request this option if bi-directional compression is desired. 
  434.  
  435. The PPP Protocol field is set to the following values when transmitting IP packets: 
  436.  
  437.    Value (in hex) 
  438.  
  439.    0021      Type IP.  The IP protocol is not TCP, or the packet is a              fragment, or cannot be compressed. 
  440.  
  441.    002d      Compressed TCP.  The TCP/IP headers are replaced by the              compressed header. 
  442.  
  443.    002f      Uncompressed TCP.  The IP protocol field is replaced by              the slot identifier. 
  444.  
  445. 4.1.  Configuration Option Format 
  446.  
  447.    A summary of the IP-Compression-Protocol Configuration Option format    to negotiate Van Jacobson TCP/IP header compression is shown below.    The fields are transmitted from left to right. 
  448.  
  449.     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     |     IP-Compression-Protocol   |    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    |  Max-Slot-Id  | Comp-Slot-Id  |    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  450.  
  451.    Type 
  452.  
  453.       2 
  454.  
  455.    Length 
  456.  
  457.       6 
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  McGregor                                                        [Page 9] 
  464.  RFC 1332                        PPP IPCP                        May 1992 
  465.  
  466.     IP-Compression-Protocol 
  467.  
  468.       002d (hex) for Van Jacobson Compressed TCP/IP headers. 
  469.  
  470.    Max-Slot-Id 
  471.  
  472.       The Max-Slot-Id field is one octet and indicates the maximum slot       identifier.  This is one less than the actual number of slots; the       slot identifier has values from zero to Max-Slot-Id. 
  473.  
  474.          Note: There may be implementations that have problems with only          one slot (Max-Slot-Id = 0).  See the discussion in reference          [3].  The example implementation in [3] will only work with 3          through 254 slots. 
  475.  
  476.    Comp-Slot-Id 
  477.  
  478.       The Comp-Slot-Id field is one octet and indicates whether the slot       identifier field may be compressed. 
  479.  
  480.          0  The slot identifier must not be compressed.  All compressed             TCP packets must set the C bit in every change mask, and             must include the slot identifier. 
  481.  
  482.          1  The slot identifer may be compressed. 
  483.  
  484.       The slot identifier must not be compressed if there is no ability       for the PPP link level to indicate an error in reception to the       decompression module.  Synchronization after errors depends on       receiving a packet with the slot identifier.  See the discussion       in reference [3]. 
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  McGregor                                                       [Page 10] 
  505.  RFC 1332                        PPP IPCP                        May 1992 
  506.  
  507.  A.  IPCP Recommended Options 
  508.  
  509.    The following Configurations Options are recommended: 
  510.  
  511.       IP-Compression-Protocol -- with at least 4 slots, usually 16       slots. 
  512.  
  513.       IP-Address -- only on dial-up lines. 
  514.  
  515.  Security Considerations 
  516.  
  517.    Security issues are not discussed in this memo. 
  518.  
  519.  References 
  520.  
  521.    [1]   Simpson, W., "The Point-to-Point Protocol", RFC 1331, May 1992. 
  522.  
  523.    [2]   Postel, J., "Internet Protocol", RFC 791, USC/Information          Sciences Institute, September 1981. 
  524.  
  525.    [3]   Jacobson, V., "Compressing TCP/IP Headers", RFC 1144, January          1990. 
  526.  
  527.    [4]   Postel, J., "The TCP Maximum Segment Size Option and Related          Topics", RFC 879, USC/Information Sciences Institute, November          1983. 
  528.  
  529.    [5]   Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191,          November 1990. 
  530.  
  531.    [6]   Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1060,          USC/Information Sciences Institute, March 1990. 
  532.  
  533.    [7]   Perkins, D., and R. Hobby, "Point-to-Point Protocol (PPP)          initial configuration options", RFC 1172, August 1990. 
  534.  
  535.  Acknowledgments 
  536.  
  537.    Some of the text in this document is taken from RFCs 1171 & 1172, by    Drew Perkins of Carnegie Mellon University, and by Russ Hobby of the    University of California at Davis. 
  538.  
  539.    Information leading to the expanded IP-Compression option provided by    Van Jacobson at SIGCOMM '90. 
  540.  
  541.  
  542.  
  543.  McGregor                                                       [Page 11] 
  544.  RFC 1332                        PPP IPCP                        May 1992 
  545.  
  546.     Bill Simpson helped with the document formatting. 
  547.  
  548.  Chair's Address 
  549.  
  550.    The working group can be contacted via the current chair: 
  551.  
  552.       Brian Lloyd       Lloyd & Associates       3420 Sudbury Road       Cameron Park, California 95682 
  553.  
  554.       Phone: (916) 676-1147 
  555.  
  556.       EMail: brian@ray.lloyd.com 
  557.  
  558.  
  559.  
  560. Author's Address 
  561.  
  562.    Questions about this memo can also be directed to: 
  563.  
  564.       Glenn McGregor       Merit Network, Inc.       1071 Beal Avenue       Ann Arbor, MI 48109-2103 
  565.  
  566.       Phone: (313) 763-1203 
  567.  
  568.       EMail: Glenn.McGregor@Merit.edu 
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590. McGregor                                                       [Page 12] 
  591.  
  592.