Point-to-Point Tunneling Protocol
A group of manufacturers, including Microsoft and Ascend (now part of Lucent), formed the Point-to Point Protocol Tunneling (PPTP) Forum and developed a tunneling protocol. The protocol is defined in informational RFC 2637.
PPTP is used to tunnel PPP messages over an IP network internetwork. Since the PPP provides full Layer 3 support for multiprotocol operation, the PPTP can support multiple protocol communications across a single protocol backbone (e.g., the Internet). PPTP specifies a modified form of GRE for transporting data across the tunnel; GRE mechanisms are also used to provide acknowledgments and flow control functions across the VPN tunnel.
PPTP has two components. It uses a control connection to establish, maintain, and terminate the tunnels, and it uses a data tunnel to transport user data. The control connection is supported via a TCP connection between the tunnel endpoints and an IP tunnel between the same endpoints used to transport PPP messages encapsulated via GRE. Multiple tunnel connections are supported by a single control connection between a PPTP access concentrator (PAC) and PPTP network server (PNS) pair. PPTP is implemented in a client/server fashion; the client is the PAC while the server entity is the PNS. As mentioned above, PPTP operates between a paired PAC and PNS.
PPTP was not universally accepted. Even though a group of manufacturers formed the PPTP forum, Microsoft was seen as the main player. Cisco pushed L2F, its own protocol. The battle between Cisco and Microsoft was hurting the market (and therefore both companies). This motivated both companies to collaborate on the development of a new protocol—the Layer 2 Tunneling Protocol (L2TP).