| < draft-ietf-pppext-pptp-09.txt | draft-ietf-pppext-pptp-10.txt > | |||
|---|---|---|---|---|
| Network Working Group K. Hamzeh | Network Working Group K. Hamzeh | |||
| Internet-Draft Ascend Communications | Internet-Draft Ascend Communications | |||
| Category: Informational G. S. Pall | Category: Informational G. S. Pall | |||
| <draft-ietf-pppext-pptp-09.txt> Microsoft Corporation | <draft-ietf-pppext-pptp-10.txt> Microsoft Corporation | |||
| W. Verthein | W. Verthein | |||
| 3Com | 3Com | |||
| J. Taarud | J. Taarud | |||
| Copper Mountain Networks | Copper Mountain Networks | |||
| W. A. Little | W. A. Little | |||
| ECI Telematics | ECI Telematics | |||
| G. Zorn | G. Zorn | |||
| Microsoft Corporation | Microsoft Corporation | |||
| April 1999 | April 1999 | |||
| skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
| documents at any time. It is inappropriate to use Internet- Drafts | documents at any time. It is inappropriate to use Internet- Drafts | |||
| as reference material or to cite them other than as "work in | as reference material or to cite them other than as "work in | |||
| progress." | progress." | |||
| To view the list Internet-Draft Shadow Directories, see | To view the list Internet-Draft Shadow Directories, see | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This memo provides information for the Internet community. This | This memo provides information for the Internet community. This | |||
| memo does not specify an Internet standard of any kind. The | memo does not specify an Internet standard of any kind. The | |||
| distribution of this memo is unlimited. It is filed as <draft- | distribution of this memo is unlimited. It is filed as <draft- | |||
| ietf-pppext-pptp-09.txt> and expires October 27, 1999. Please send | ietf-pppext-pptp-10.txt> and expires October 30, 1999. Please send | |||
| comments to the PPP Extensions Working Group mailing list (ietf- | comments to the PPP Extensions Working Group mailing list (ietf- | |||
| ppp@merit.edu). | ppp@merit.edu). | |||
| Abstract | Abstract | |||
| This document specifies a protocol which allows the Point to Point | This document specifies a protocol which allows the Point to Point | |||
| Protocol (PPP) to be tunneled through an IP network. PPTP does not | Protocol (PPP) to be tunneled through an IP network. PPTP does not | |||
| specify any changes to the PPP protocol but rather describes a new | specify any changes to the PPP protocol but rather describes a new | |||
| vehicle for carrying PPP. A client-server architecture is defined | vehicle for carrying PPP. A client-server architecture is defined | |||
| in order to decouple functions which exist in current Network | in order to decouple functions which exist in current Network | |||
| skipping to change at page 3, line 5 ¶ | skipping to change at page 3, line 5 ¶ | |||
| The words "silently discard", when used in reference to the | The words "silently discard", when used in reference to the | |||
| behavior of an implementation upon receipt of an incoming packet, | behavior of an implementation upon receipt of an incoming packet, | |||
| are to be interpreted as follows: the implementation discards the | are to be interpreted as follows: the implementation discards the | |||
| datagram without further processing, and without indicating an | datagram without further processing, and without indicating an | |||
| error to the sender. The implementation SHOULD provide the | error to the sender. The implementation SHOULD provide the | |||
| capability of logging the error, including the contents of the | capability of logging the error, including the contents of the | |||
| discarded datagram, and SHOULD record the event in a statistics | discarded datagram, and SHOULD record the event in a statistics | |||
| counter. | counter. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 1.1. Protocol Goals and Assumptions . . . . . . . . . . . . . . . . 7 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 1.1. Protocol Goals and Assumptions . . . . . . . . . . . . . . . . 7 | |||
| 1.3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 9 | 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 1.3.1. Control Connection Overview . . . . . . . . . . . . . . . . 9 | 1.3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 1.3.2. Tunnel Protocol Overview . . . . . . . . . . . . . . . . . . 10 | 1.3.1. Control Connection Overview . . . . . . . . . . . . . . . . 9 | |||
| 1.4. Message Format and Protocol Extensibility . . . . . . . . . . 10 | 1.3.2. Tunnel Protocol Overview . . . . . . . . . . . . . . . . . . 10 | |||
| 2. Control Connection Protocol Specification . . . . . . . . . . . 12 | 1.4. Message Format and Protocol Extensibility . . . . . . . . . . 10 | |||
| 2.1. Start-Control-Connection-Request . . . . . . . . . . . . . . . 12 | 2. Control Connection Protocol Specification . . . . . . . . . . . 12 | |||
| 2.2. Start-Control-Connection-Reply . . . . . . . . . . . . . . . . 14 | 2.1. Start-Control-Connection-Request . . . . . . . . . . . . . . . 12 | |||
| 2.3. Stop-Control-Connection-Request . . . . . . . . . . . . . . . 17 | 2.2. Start-Control-Connection-Reply . . . . . . . . . . . . . . . . 14 | |||
| 2.4. Stop-Control-Connection-Reply . . . . . . . . . . . . . . . . 18 | 2.3. Stop-Control-Connection-Request . . . . . . . . . . . . . . . 17 | |||
| 2.5. Echo-Request . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 2.4. Stop-Control-Connection-Reply . . . . . . . . . . . . . . . . 18 | |||
| 2.6. Echo-Reply . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 2.5. Echo-Request . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 2.7. Outgoing-Call-Request . . . . . . . . . . . . . . . . . . . . 21 | 2.6. Echo-Reply . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 2.8. Outgoing-Call-Reply . . . . . . . . . . . . . . . . . . . . . 23 | 2.7. Outgoing-Call-Request . . . . . . . . . . . . . . . . . . . . 21 | |||
| 2.9. Incoming-Call-Request . . . . . . . . . . . . . . . . . . . . 26 | 2.8. Outgoing-Call-Reply . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 2.10. Incoming-Call-Reply . . . . . . . . . . . . . . . . . . . . . 28 | 2.9. Incoming-Call-Request . . . . . . . . . . . . . . . . . . . . 26 | |||
| 2.11. Incoming-Call-Connected . . . . . . . . . . . . . . . . . . . 30 | 2.10. Incoming-Call-Reply . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 2.12. Call-Clear-Request . . . . . . . . . . . . . . . . . . . . . 32 | 2.11. Incoming-Call-Connected . . . . . . . . . . . . . . . . . . . 30 | |||
| 2.13. Call-Disconnect-Notify . . . . . . . . . . . . . . . . . . . 32 | 2.12. Call-Clear-Request . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 2.14. WAN-Error-Notify . . . . . . . . . . . . . . . . . . . . . . 34 | 2.13. Call-Disconnect-Notify . . . . . . . . . . . . . . . . . . . 32 | |||
| 2.15. Set-Link-Info . . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 2.16. General Error Codes . . . . . . . . . . . . . . . . . . . . . 37 | 2.14. WAN-Error-Notify . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 2.15. Set-Link-Info . . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 3. Control Connection Protocol Operation . . . . . . . . . . . . . 37 | 2.16. General Error Codes . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 3.1. Control Connection States . . . . . . . . . . . . . . . . . . 38 | 3. Control Connection Protocol Operation . . . . . . . . . . . . . 37 | |||
| 3.1.1. Control Connection Originator (may be PAC or PNS) . . . . . 38 | 3.1. Control Connection States . . . . . . . . . . . . . . . . . . 38 | |||
| 3.1.2. Control connection Receiver (may be PAC or PNS) . . . . . . 39 | 3.1.1. Control Connection Originator (may be PAC or PNS) . . . . . 38 | |||
| 3.1.3. Start Control Connection Initiation Request Collision . . . 40 | 3.1.2. Control connection Receiver (may be PAC or PNS) . . . . . . 39 | |||
| 3.1.4. Keep Alives and Timers . . . . . . . . . . . . . . . . . . . 41 | 3.1.3. Start Control Connection Initiation Request Collision . . . 40 | |||
| 3.2. Call States . . . . . . . . . . . . . . . . . . . . . . . . . 41 | 3.1.4. Keep Alives and Timers . . . . . . . . . . . . . . . . . . . 41 | |||
| 3.2.1. Timing considerations . . . . . . . . . . . . . . . . . . . 41 | 3.2. Call States . . . . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 3.2.2. Call ID Values . . . . . . . . . . . . . . . . . . . . . . . 42 | 3.2.1. Timing considerations . . . . . . . . . . . . . . . . . . . 41 | |||
| 3.2.3. Incoming Calls . . . . . . . . . . . . . . . . . . . . . . . 42 | 3.2.2. Call ID Values . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 3.2.3.1. PAC Incoming Call States . . . . . . . . . . . . . . . . . 43 | 3.2.3. Incoming Calls . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 3.2.3.2. PNS Incoming Call States . . . . . . . . . . . . . . . . . 44 | 3.2.3.1. PAC Incoming Call States . . . . . . . . . . . . . . . . . 43 | |||
| 3.2.4. Outgoing Calls . . . . . . . . . . . . . . . . . . . . . . . 45 | 3.2.3.2. PNS Incoming Call States . . . . . . . . . . . . . . . . . 44 | |||
| 3.2.4.1. PAC Outgoing Call States . . . . . . . . . . . . . . . . . 45 | 3.2.4. Outgoing Calls . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 3.2.4.2. PNS Outgoing Call States . . . . . . . . . . . . . . . . . 46 | 3.2.4.1. PAC Outgoing Call States . . . . . . . . . . . . . . . . . 45 | |||
| 4. Tunnel Protocol Operation . . . . . . . . . . . . . . . . . . . 47 | 3.2.4.2. PNS Outgoing Call States . . . . . . . . . . . . . . . . . 46 | |||
| 4.1. Enhanced GRE header . . . . . . . . . . . . . . . . . . . . . 48 | 4. Tunnel Protocol Operation . . . . . . . . . . . . . . . . . . . 47 | |||
| 4.2. Sliding Window Protocol . . . . . . . . . . . . . . . . . . . 50 | 4.1. Enhanced GRE header . . . . . . . . . . . . . . . . . . . . . 48 | |||
| 4.2.1. Initial Window Size . . . . . . . . . . . . . . . . . . . . 50 | 4.2. Sliding Window Protocol . . . . . . . . . . . . . . . . . . . 50 | |||
| 4.2.2. Closing the Window . . . . . . . . . . . . . . . . . . . . . 50 | 4.2.1. Initial Window Size . . . . . . . . . . . . . . . . . . . . 50 | |||
| 4.2.3. Opening the Window . . . . . . . . . . . . . . . . . . . . . 50 | 4.2.2. Closing the Window . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 4.2.4. Window Overflow . . . . . . . . . . . . . . . . . . . . . . 51 | 4.2.3. Opening the Window . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 4.2.5. Multi-packet Acknowledgment . . . . . . . . . . . . . . . . 51 | ||||
| 4.3. Out-of-sequence Packets . . . . . . . . . . . . . . . . . . . 51 | 4.2.4. Window Overflow . . . . . . . . . . . . . . . . . . . . . . 51 | |||
| 4.2.5. Multi-packet Acknowledgment . . . . . . . . . . . . . . . . 51 | ||||
| 4.4. Acknowledgment Time-Outs . . . . . . . . . . . . . . . . . . . 52 | 4.3. Out-of-sequence Packets . . . . . . . . . . . . . . . . . . . 51 | |||
| 4.4.1. Calculating Adaptive Acknowledgment Time-Out . . . . . . . . 53 | 4.4. Acknowledgment Time-Outs . . . . . . . . . . . . . . . . . . . 52 | |||
| 4.4.2. Congestion Control: Adjusting for Time-Out . . . . . . . . . 54 | 4.4.1. Calculating Adaptive Acknowledgment Time-Out . . . . . . . . 53 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 55 | 4.4.2. Congestion Control: Adjusting for Time-Out . . . . . . . . . 54 | |||
| 6. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 55 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 | 6. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 8. Expiration Date . . . . . . . . . . . . . . . . . . . . . . . . 57 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 | |||
| 8. Expiration Date . . . . . . . . . . . . . . . . . . . . . . . . 57 | ||||
| 1. Introduction | 1. Introduction | |||
| PPTP allows existing Network Access Server (NAS) functions to be | PPTP allows existing Network Access Server (NAS) functions to be | |||
| separated using a client-server architecture. Traditionally, the | separated using a client-server architecture. Traditionally, the | |||
| following functions are implemented by a NAS: | following functions are implemented by a NAS: | |||
| 1) Physical native interfacing to PSTN or ISDN and control of | 1) Physical native interfacing to PSTN or ISDN and control of | |||
| external modems or terminal adapters. | external modems or terminal adapters. | |||
| A NAS may interface directly to a telco analog or digital circuit | A NAS may interface directly to a telco analog or digital circuit | |||
| skipping to change at page 57, line 10 ¶ | skipping to change at page 57, line 10 ¶ | |||
| (EAP)", RFC 2284, March 1998 | (EAP)", RFC 2284, March 1998 | |||
| [11] Stevens, R., "TCP/IP Illustrated, Volume 1", p. 300, Addison- | [11] Stevens, R., "TCP/IP Illustrated, Volume 1", p. 300, Addison- | |||
| Wesley, 1994 | Wesley, 1994 | |||
| [12] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [12] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
| Levels", BCP 14, RFC 2119, March 1997 | Levels", BCP 14, RFC 2119, March 1997 | |||
| 8. Expiration Date | 8. Expiration Date | |||
| This memo is filed as <draft-ietf-pppext-pptp-09.txt> and expires | This memo is filed as <draft-ietf-pppext-pptp-10.txt> and expires | |||
| October 27, 1999. | October 30, 1999. | |||
| ------- End of Forwarded Message | ||||
| End of changes. 57 change blocks. | ||||
| 59 lines changed or deleted | 58 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||