RFC 2637:Point-to-Point Tunneling Protocol (PPTP)
RFC-Ref

PaC


Click on the red underlined text to get to the source

... PPTP divides these functions between the PAC and PNS. The PAC is responsible for functions 1, 2, and possibly 3. The PNS may be ...
... PPTP divides these functions between the PAC and PNS. The PAC is responsible for functions 1, 2, and possibly 3. The PNS may be responsible for function 3 and is responsible for functions 4, 5, and ...
... protocol data units (PDUs) between the PAC and PNS, as well as call control and management is addressed by PPTP ...
... an IP-only provider. The PAC need not be capable of processing these protocols. ...
... The PPTP protocol is implemented only by the PAC and PNS. No other systems need to be aware of PPTP. Dial networks ...
... PPTP. Dial networks may be connected to a PAC without being aware of PPTP. Standard PPP client software ...
... It is envisioned that there will be a many-to-many relationship between PACs and PNSs. A PAC may provide service to many PNSs. For example, an Internet service provider ...
... provided on the tunnels used to carry user data between PAC and PNS. This mechanism allows for efficient use of the bandwidth available ...
... A control connection is created for each PAC, PNS pair and operates over TCP [4 ...
... PPTP Access Concentrator (PAC) A device attached to one or more PSTN ...
... PPP operation and of handling the PPTP protocol. The PAC need only implement TCP/IP to pass traffic ...
... PPTP is connection-oriented. The PNS and PAC maintain state for each user that is attached to a PAC ...
... PAC maintain state for each user that is attached to a PAC. A session is created when ...
... session are sent over the tunnel between the PAC and PNS. Tunnel ...
... A tunnel is defined by a PNS-PAC pair. The tunnel protocol is defined by a modified version ...
... PPP datagrams between the PAC and the PNS. Many sessions are multiplexed on a single tunnel ...
... PPTP: 1) a Control Connection between each PAC-PNS pair operating over TCP and 2) an IP tunnel ...
... TCP and 2) an IP tunnel operating between the same PAC-PNS pair which is used to transport GRE ...
... Before PPP tunneling can occur between a PAC and PNS, a control connection must be established between them. The control connection ...
... PPTP tunnel. For each PAC-PNS pair both a tunnel and a control connection ...
... the means by which a PNS is notified of an incoming call at an associated PAC, as well as the means by which a PAC is instructed to place an outgoing dial call. ...
... incoming call at an associated PAC, as well as the means by which a PAC is instructed to place an outgoing dial call. ...
... A control connection can be established by either the PNS or the PAC. Following the establishment of the required TCP connection, the PNS ...
... Following the establishment of the required TCP connection, the PNS and PAC establish the control connection using the Start-Control- ...
... Connection-Request and -Reply messages. These messages are also used to exchange information about basic operating capabilities of the PAC and PNS. Once the control connection is established, the PAC ...
... PAC and PNS. Once the control connection is established, the PAC or PNS may initiate sessions by requesting outbound calls or responding to ...
... Link-Info message. Individual sessions may be released by either the PAC or PNS, also through Control Connection messages. ...
... echo messages. This ensures that a connectivity failure between the PNS and the PAC can be detected in a timely manner. Other failures can be reported via the ...
... management related messages in the future, such as a message allowing the PNS to request the status of a given PAC; these message types have not yet been defined. ...
... PPTP requires the establishment of a tunnel for each communicating PNS-PAC pair. This tunnel is used to carry all user session PPP ...
... PPP packets for sessions involving a given PNS-PAC pair. A key which is present in the GRE header ...
... PPP packets are multiplexed and demultiplexed over a single tunnel between a given PNS-PAC pair. The value to use in the key field is established by the call establishment procedure which takes place on the control connection ...
... PPTP defines a set of messages sent as TCP data on the control connection between a PNS and a given PAC. The TCP session for the control connection ...


... control connection itself. The control connection is initiated by either the PNS or PAC after they establish the underlying TCP connection. The procedure and configuration information ...
... user data on the established TCP connection between a given PNS-PAC pair. Note that care has been taken to ensure that all word (2 octet) and ...
... control message used to establish the control connection between a PNS and a PAC. Each PNS-PAC pair requires a dedicated control connection ...
... control connection between a PNS and a PAC. Each PNS-PAC pair requires a dedicated control connection to be established. A control connection ...
... other PPTP messages can be issued. The establishment of the control connection can be initiated by either the PNS or PAC. A procedure which handles the occurrence of a collision between PNS and PAC ...
... control connection can be initiated by either the PNS or PAC. A procedure which handles the occurrence of a collision between PNS and PAC Start-Control-Connection ...
... PPP sessions this PAC can support. In Start-Control- Connection ...
... Connection-Requests issued by the PNS, this value SHOULD be set to 0. It MUST be ignored by the PAC. Firmware Revision This field contains the firmware revision ...
... Firmware Revision This field contains the firmware revision number of the issuing PAC, when issued by the PAC, or the version ...
... number of the issuing PAC, when issued by the PAC, or the version of the PNS PPTP ...
... 64 octet field containing the DNS name of the issuing PAC or PNS. If less than 64 octets in length, the remainder of this field SHOULD be filled with octets of value ...
... 64 octet field containing a vendor specific string describing the type of PAC being used, or the type of PNS software being used if this request is issued by the ...
... PPP sessions this PAC can support. In a Start-Control- Connection ...
... Connection-Reply issued by the PNS, this value SHOULD be set to 0 and it must be ignored by the PAC. The PNS MUST NOT use this value to try to track the remaining number of PPP ...
... number of PPP sessions that the PAC will allow. ...
... Firmware Revision This field contains the firmware revision number of the issuing PAC, or the version of the PNS PPTP ...
... 64 octet field containing the DNS name of the issuing PAC or PNS. If less than 64 octets in length, the remainder of this field SHOULD be filled with octets of value ...
... 64 octet field containing a vendor specific string describing the type of PAC being used, or the type of PNS software being used if this request is issued by the ...
... PPTP control message sent by one peer of a PAC-PNS control connection to inform the other peer that the control connection ...
... PPTP control message sent by one peer of a PAC-PNS control connection upon receipt of a Stop- Control-Connection ...
... PPTP control message sent by either peer of a PAC-PNS control connection. This control message is used as a "keep- ...
... PPTP control message sent by either peer of a PAC-PNS control connection in response to the receipt of an Echo- ...
... PPTP control message sent by the PNS to the PAC to indicate that an outbound call from the PAC is to be established. This request provides the PAC ...
... control message sent by the PNS to the PAC to indicate that an outbound call from the PAC is to be established. This request provides the PAC with information required ...
... PAC to indicate that an outbound call from the PAC is to be established. This request provides the PAC with information required to make the call. It also provides information to the PAC that is ...
... established. This request provides the PAC with information required to make the call. It also provides information to the PAC that is used to regulate the transmission of data to the PNS for this session ...
... Call ID A unique identifier, unique to a particular PAC-PNS pair assigned by the PNS to this session. It is used to multiplex and ...
... demultiplex data sent over the tunnel between the PNS and PAC involved in this session. ...
... session in logged session information. Unlike the Call ID, both the PNS and PAC associate the same Call Serial Number with a given session. The combination ...
... packet processing delay that might be imposed on data sent to the PNS from the PAC. This value is specified in units of 1/10 seconds. For the PNS this number should be very small. See section ...
... The Outgoing-Call-Reply is a PPTP control message sent by the PAC to the PNS in response to a received Outgoing-Call-Request message. The ...
... provides information to the PNS about particular parameters used for the call. It provides information to allow the PNS to regulate the transmission of data to the PAC for this session. ...
... unique identifier for the tunnel, assigned by the PAC to this session. It is used to multiplex and demultiplex data sent over the ...
... multiplex and demultiplex data sent over the tunnel between the PNS and PAC involved in this session. ...
... Outgoing Call was not established within time allotted by PAC 7 (Do Not Accept) - Outgoing Call ...
... Packet Recv. Window Size The number of received data packets the PAC will buffer for this session ...
... packet processing delay that might be imposed on data sent to the PAC from the PNS. This value is specified in units of 1/10 seconds. For the PAC, this ...
... PAC from the PNS. This value is specified in units of 1/10 seconds. For the PAC, this number is related to the size of the buffer ...
... client. This value should be set to the maximum delay that can normally occur between the time a packet arrives at the PAC and is delivered to the client. See section ...
... Physical Channel ID This field is set by the PAC in a vendor- specific manner to the physical channel ...
... The Incoming-Call-Request is a PPTP control message sent by the PAC to the PNS to indicate that an inbound call is to be established from the PAC ...
... PAC to the PNS to indicate that an inbound call is to be established from the PAC. This request provides the PNS with parameter information for the incoming call. ...
... PPTP for establishing incoming calls. The PAC may defer answering the call until it has received an Incoming-Call-Reply from the PNS indicating that the call should be established. This mechanism allows ...
... unique identifier for this tunnel, assigned by the PAC to this session. It is used to multiplex and demultiplex data sent ...
... used to multiplex and demultiplex data sent over the tunnel between the PNS and PAC involved in this session. ...
... Call Serial Number An identifier assigned by the PAC to this session for the purpose of identifying this ...
... session in logged session information. Unlike the Call ID, both the PNS and PAC associate the same Call Serial Number to a given session. The combination ...
... Physical Channel ID This field is set by the PAC in a vendor- specific manner to the number of the physical ...
... PPTP control message sent by the PNS to the PAC in response to a received Incoming-Call-Request message. The reply indicates the result of the incoming call ...
... reply indicates the result of the incoming call attempt. It also provides information to allow the PAC to regulate the transmission of data to the PNS for this session. ...
... PPTP for establishing incoming calls. It indicates to the PAC whether the call should be answered or not. ...
... multiplex and demultiplex data sent over the tunnel between the PNS and PAC involved in this session. ...
... Request message. It is used by the PAC to match the Incoming-Call-Reply with the Incoming-Call-Request it issued. This value is included in the GRE ...
... Result Code values are: 1 (Connect) - The PAC should answer the incoming call ...
... Error Code 3 (Do Not Accept) - The PAC should not accept the incoming call. It should ...
... Packet Recv. Window Size The number of received data packets the PAC will buffer for this session ...
... packet processing delay that might be imposed on data sent to the PAC from the PNS. This value is specified in units of 1/10 seconds. ...
... PPTP control message sent by the PAC to the PNS in response to a received Incoming-Call-Reply. It provides information to the PNS about particular parameters used for the call. It also provides information to allow the PNS to regulate ...
... provides information to the PNS about particular parameters used for the call. It also provides information to allow the PNS to regulate the transmission of data to the PAC for this session. ...
... the PNS with additional information about the call that cannot, in general, be obtained at the time the Incoming-Call-Request is issued by the PAC. 0 1 2 3 ...
... Packet Recv. Window Size The number of received data packets the PAC will buffer for this session ...
... packet processing delay that might be imposed on data sent to the PAC from the PNS. This value is specified in units of 1/10 seconds. ...
... PPTP control message sent by the PNS to the PAC indicating that a particular call is to be disconnected. The call being cleared can be either an incoming or outgoing call, in any ...
... outgoing call, in any state. The PAC responds to this message with a Call-Disconnect- Notify message. ...
... PPTP control message sent by the PAC to the PNS. It is issued whenever a call is disconnected, due to the receipt by the PAC of a Call-Clear-Request or for any ...
... the PAC to the PNS. It is issued whenever a call is disconnected, due to the receipt by the PAC of a Call-Clear-Request or for any other reason. Its purpose is to inform the PNS of both the disconnection and the reason for it. ...
... Reserved0 This field MUST be 0. Call ID The value of the Call ID assigned by the PAC to this call. This value is used instead of the Peer's Call ID because the latter may ...
... PPTP control message sent by the PAC to the PNS to indicate WAN error conditions (conditions that ...
... PPTP control message sent by the PNS to the PAC to set PPP-negotiated options. Because these options can change at any time during the life of the call, the PAC ...
... PAC to set PPP-negotiated options. Because these options can change at any time during the life of the call, the PAC must be able to update its internal call ...
... Reserved0 This field MUST be 0. Peer's Call ID The value of the Call ID assigned by the PAC to this call. ...
... 1 (Not-Connected) - No control connection exists yet for this PAC-PNS pair 2 (Bad-Format) - Length is wrong or Magic Cookie ...
... context 6 (PAC-Error) - A generic vendor-specific error occurred in the PAC ...
... PAC-Error) - A generic vendor-specific error occurred in the PAC ...


... PPTP control connection protocol is not distinguishable between the PNS and PAC, but is distinguishable between the originator and receiver. The originating peer is the one which first ...
... receiver. The originating peer is the one which first attempts the TCP open. Since either PAC or PNS may originate a connection, it is possible for a TCP ...
... Control Connection Originator (may be PAC or PNS) ...
... Control connection Receiver (may be PAC or PNS) ...
... A PAC and PNS must have only one control connection between them. It is possible, however, for a PNS and a PAC ...
... PAC and PNS must have only one control connection between them. It is possible, however, for a PNS and a PAC to simultaneously attempt to establish a control connection to each other. When a Start ...
... telephone signaling, both the PNS and PAC should be implemented with multi-threaded architectures such that messages related to multiple calls are not serialized and ...
... architectures such that messages related to multiple calls are not serialized and blocked. The transit delay between the PAC and PNS should not exceed one second. The call and connection state ...
... accepts. This Call ID value MUST be unique for the tunnel between the PNS and PAC to which it belongs. Tunnels to other peers can use the same Call ID number so the receiver ...
... A session is defined by the triple (PAC, PNS, Call ID). ...
... An Incoming-Call-Request message is generated by the PAC when an associated telephone line rings. The PAC ...
... PAC when an associated telephone line rings. The PAC selects a Call ID and serial number and indicates the call bearer type. Modems should always ...
... telephone network. Once the PAC sends the Incoming-Call-Request, it waits for a response from the PNS but does not answer the call from the telephone network. ...
... If the PNS chooses to accept the call, it responds with an Incoming- Call-Reply which also indicates window sizes (see section 4.2). When the PAC receives the Outgoing-Call-Reply, it attempts to connect the call, assuming the calling party has not hung up. A final call connected message from the PAC ...
... PAC receives the Outgoing-Call-Reply, it attempts to connect the call, assuming the calling party has not hung up. A final call connected message from the PAC to the PNS indicates that the call states for both the PAC and the PNS should enter the established ...
... connected message from the PAC to the PNS indicates that the call states for both the PAC and the PNS should enter the established state. ...
... When the dialed-in client hangs up, the call is cleared normally and the PAC sends a Call-Disconnect-Notify message. If the PNS wishes to clear a call, it sends a Call-Clear-Request message and then waits ...
... PAC Incoming Call States ...
... /Send Call Disconnect Notify The states associated with the PAC for incoming calls are: ...
... idle The PAC detects an incoming call on one of its telco interfaces. ...
... TE has detected an incoming Q.931 SETUP message. The PAC sends an Incoming-Call-Request message and moves to the wait_reply state ...
... wait_reply The PAC receives an Incoming-Call-Reply message indicating non- willingness to accept the call (general error or don't accept) and ...
... idle state. If the reply message indicates that the call is accepted, the PAC sends an Incoming-Call- Connected message and enters the established state. ...
... An event on the telco connection. The PAC sends a Call-Disconnect-Notify message ...
... Call-Disconnect-Notify message Receipt of a Call-Clear-Request. The PAC sends a Call-Disconnect-Notify message ...
... Call-Disconnect-Notify message A local reason. The PAC sends a Call-Disconnect-Notify message. ...
... An Incoming-Call-Request message is received. If the request is not acceptable, an Incoming-Call-Reply is sent back to the PAC and the PNS remains in the idle state. If the Incoming-Call-Request message ...
... wait_connect If the session is connected on the PAC, the PAC sends an incoming call connect message to the PNS which then moves into established ...
... If the session is connected on the PAC, the PAC sends an incoming call connect message to the PNS which then moves into established state ...
... incoming call connect message to the PNS which then moves into established state. The PAC may send a Call-Disconnect-Notify to indicate that the incoming caller could not be connected. This could happen, ...
... telephone user accidently places a standard voice call to a PAC resulting in a handshake failure on the called modem ...
... The session is terminated either by receipt of a Call-Disconnect- Notify message from the PAC or by sending a Call-Clear-Request. Once a Call-Clear-Request has been sent, the session enters the ...
... Outgoing messages are initiated by a PNS and instruct a PAC to place a call on a telco interface. There are only two messages for outgoing calls ...
... an Outgoing-Call-Request specifying the dialed party phone number and subaddress as well as speed and window parameters. The PAC MUST respond to the Outgoing-Call-Request message with an Outgoing-Call- ...
... Request message with an Outgoing-Call- Reply message once the PAC determines that: The call has been successfully connected ...
... PAC Outgoing Call States ...
... Call Disconnect Notify The states associated with the PAC for outgoing calls are: ...
... idle An Outgoing-Call-Request message is sent to the PAC and the session moves into the wait_reply state ...
... idle state. If the PNS chooses to terminate the session, it sends a Call-Clear-Request to the PAC and then enters the wait_disconnect state. ...
... wait_disconnect A session disconnection is waiting to be confirmed by the PAC. Once the PNS receives the Call-Disconnect-Notify message, the session ...


... data packets. PPP packets are carried between the PAC and PNS, encapsulated in GRE ...
... tunnel. The IP packets transmitted over the tunnels between a PAC and PNS has the following general structure: ...
... overhead of the adaptive time-out algorithm is reduced. The PAC is not required to transmit multi-packet acknowledgments; it can instead acknowledge each packet individually as it is delivered to the PPP ...
... Occasionally packets lose their sequencing across a complicated internetwork. Say, for example that a PNS sends packets 0 to 5 to a PAC. Because of rerouting in the internetwork, packet 4 arrives at the PAC ...
... PAC. Because of rerouting in the internetwork, packet 4 arrives at the PAC before packet 3. The PAC acknowledges packet 4, and may assume packet 3 is lost. This acknowledgment grants window credit ...
... rerouting in the internetwork, packet 4 arrives at the PAC before packet 3. The PAC acknowledges packet 4, and may assume packet 3 is lost. This acknowledgment grants window credit beyond packet 4. ...
... beyond packet 4. When the PAC does receive packet 3, it MUST not attempt to transmit it to the corresponding PPP client ...
... PPP does properly deal with the loss of packets, but not with reordering so out of sequence packets between the PNS and PAC MUST be silently discarded, or they may be reordered by the receiver. When packet 5 comes in, it is acknowledged by the PAC ...
... PAC MUST be silently discarded, or they may be reordered by the receiver. When packet 5 comes in, it is acknowledged by the PAC since it has a higher sequence number than 4, which was the last ...
... since it has a higher sequence number than 4, which was the last highest packet acknowledged by the PAC. Packets with duplicate sequence numbers should never occur since the PAC ...
... PAC. Packets with duplicate sequence numbers should never occur since the PAC and PNS never retransmit GRE packets. A robust implementation will silently discard ...
... flow-control across the internetwork and to perform efficient data buffering to keep the PAC-PNS data channels full without causing receive buffer ...
... Independent time-outs for each session. A device (PAC or PNS) will have to maintain and calculate time-outs for every active session ...
... each side to process the maximum amount of data buffered in their receive packet sliding window. The PPD is the value exchanged between the PAC and PNS when a call is established. For the PNS, this number should be small. For a PAC making modem ...
... between the PAC and PNS when a call is established. For the PNS, this number should be small. For a PAC making modem connections, ...
... MTU is the overall MTU for the internetwork link between the PAC and PNS. WindowSize represents the number of packets in the sliding window, and is implementation-dependent. The latency ...
... in bytes per second, omit the 8. PACFudge is not required but can be used to take overall processing overhead of the PAC into account. The value of PPD is used to seed the adaptive algorithm ...



Google
Web
RFC-Ref