Understanding the VPN Connection Negotiation Process
When a client running Windows 7 tries to establish a connection with a remote VPN server, the tunneling protocol, authentication protocol, data encryption algorithm, and integritychecking algorithm used depend on several factors:
- The enabled authentication protocols and crypto algorithms on the client side
- The remote access policy on the server side
- The available network transports (IPv4 and/or IPv6)
By default, if Type Of VPN is set to Automatic on the client side, the client running Windows 7 attempts to establish a connection with the remote VPN server in the following order:
- IKEv2
- SSTP
- PPTP
- L2TP
The VPN client typically resolves the name of the VPN server using DNS. If the DNS lookup provides only an IPv4 or IPv6 address to the client, the connection attempts using the various tunneling protocols use only IPv4 or IPv6. If the DNS lookup provides the client with both the IPv4 and IPv6 addresses of the server, then IPv6 is preferred and the following tunnel connections are attempted, in this order:
- IKEv2 over IPv6
- SSTP over IPv6
- PPTP over IPv4 (because PPTP doesn't support IPv6)
- L2TP over IPv6
After a tunneling protocol has been selected for the connection, the authentication and crypto algorithms are then negotiated between the client and the server.
Note You can reduce connection time by explicitly specifying the tunneling protocol you want your client to use (provided that the remote server also supports this protocol) instead of selecting the Automatic type of VPN on the Networking tab of the connection's properties. Note that doing so means that if the connection attempt using the specified tunneling protocol fails then VPN connectivity cannot be established.
In this tutorial:
- Connecting Remote Users and Networks
- Enhancements for Connecting Remote Users and Networks in Windows 7
- Understanding IKEv2
- Understanding MOBIKE
- Understanding VPN Reconnect
- Protocols and Features of VPN Reconnect
- How VPN Reconnect Works
- Understanding DirectAccess
- Benefits of DirectAccess
- How DirectAccess Works
- Windows 7 and Windows Server 2008 R2
- Ipv6
- IPsec
- Perimeter Firewall Exceptions
- Implementing DirectAccess
- Understanding BranchCache
- Benefits of BranchCache
- How BranchCache Works
- Protocols Supported by BranchCache
- Implementing BranchCache
- Supported Connection Types
- Outgoing Connection Types
- Incoming Connection Types
- Deprecated Connection Types
- Supported Tunneling Protocols
- Comparing the Different Tunneling Protocols
- Understanding Cryptographic Enhancements
- Support for AES
- Weak Cryptography Removal from PP TP/L2TP
- Supported Authentication Protocols
- Understanding the VPN Connection Negotiation Process
- Creating and Configuring VPN Connection
- Creating a VPN Connection
- Initiating a Connection
- Terminating a Connection
- Viewing Connection Details
- Configuring a VPN Connection
- Configuring Security Settings for a VPN Connection
- Configuring the Tunneling Protocol (s) Used
- Configuring Advanced Connection Settings
- Configuring the Data Encryption Level
- Configuring the Authentication Method Used
- Configuring Authentication for IKEv2 connections
- Configuring Mobility for IKEv2 Connections
- Configuring Dial-Up Connections
- Creating a Dial-Up Connection
- Advanced Connection Settings
- Configuring Incoming Connections
- Managing Connections Using Group Policy
- Using Remote Desktop
- Understanding Remote Desktop
- Versions of RDP
- RDP 6.1 Features and Enhancements
- RDP 7.0 new features and enhancements
- RemoteApp and Desktop Connection
- Understanding RDC
- Understanding Remote Desktop Services Terminology
- Configuring and Using Remote Desktop
- Enabling Remote Desktop and Authorizing Users on a Single Computer
- Enabling Remote Desktop Using Group Policy
- Configuring and Deploying Remote Desktop Connection
- Configuring Remote Desktop Connection from the Command Line
- Configuring Remote Desktop Connection Using Notepad
- Configuring Remote Desktop Using Group Policy
- Establishing a Remote Desktop Session
- Improving Remote Desktop Performance
- Troubleshooting Remote Desktop Sessions
- Configuring and Using RemoteApp and Desktop Connection