PPTP Control Connection

The PPTP protocol specifies a series of control messages sent between the PPTP-enabled client and the PPTP server. The control messages establish, maintain and end the PPTP tunnel. The following list presents the primary control messages used to establish and maintain the PPTP tunnel.

Message Type

Purpose

PPTP_START_SESSION_REQUEST Starts session
PPTP_START_SESSION_REPLY Replies to start session request
PPTP_ECHO_REQUEST Maintains session
PPTP_ECHO_REPLY Replies to maintain session request
PPTP_WAN_ERROR_NOTIFY Reports an error on the PPP connection
PPTP_SET_LINK_INFO Configures the connection between client and PPTP server
PPTP_STOP_SESSION_REQUEST Ends session
PPTP_STOP_SESSION_REPLY Replies to end session request

Table 1 - PPTP Control Message Types

Control messages are transmitted in control packets in a TCP datagram. One TCP connection is created between the PPTP client and the PPTP server. This connection is used to exchange control messages. A datagram contains an IP header, a TCP header, a PPTP control message, and appropriate trailers, similar to the following:

Figure 4 - PPTP TCP Datagram with Control Messages

The exchange of messages between the PPTP client and the PPTP server over the TCP connection are used to create and maintain a PPTP tunnel. This entire process is illustrated below:

Figure 5 - PPTP Control Connection to PPTP Server Over PPP Connection to ISP

Note that in this illustration, the control connection is for the scenario in which the remote access client is the PPTP client. In the scenario in which the remote access client is not PPTP-enabled and uses a PPTP-enabled ISP network access server, the PPTP control connection begins at the ISP server.