Tiến trình tạo kết nối VPN sử dụng PPTP được mở đầu bằng tiến trình bắt tay của giao thức TCP. Đầu tiên máy VPN Client sẽ mở port gửi gói tin TCP SYN đến port pptp (1723) của VPN Server yêu cầu mở kết nối dịch vụ VPN PPTP.
Hình 3.1 Gói tin Client gửi đến Server yêu cầu mở Port kết nối
Gói tin trên cho ta thấy thông số của Source Port (máy Client) và Destination port (máy Server). Lúc này chỉ có cờ SYN được bật bởi VPN Client với giá trị được gán là 1, tham số Sequence Number được sinh ra là 0. Gói tin này gửi thông điệp yêu cầu thành lập kết nối server port pptp [Message: Connection establish request (SYN): server port pptp].
Sau khi nhận được yêu cầu mở kết nối dịch vụ thì phía VPN Server sẽ tiến hành gửi lại gói tin TCP Acknowledge chấp nhận thiết lập kết nối.
Hình 3.2 Gói tin mở kết nối từ Server gửi vể cho Client.
Gói tin cho thấy cờ ACK và SYN được bật với tham số Sequence number được thiết lập là 0, Acknowledgement number là 1 (là số thứ tự gói tin tiếp theo máy nhận có thể nhận). Nội dung thông điệp gói tin: [Message: connection establish acknowledge ( SYN+ACK): server port pptp].
Khi kết nối dịch vụ được mở, phía Client gửi gói tin Control Messenger bằng giao thức PPTP với yêu cầu Start-Control-Connection-Request ( đây cũng được xem là hồi âm của VPN Client về việc bắt tay 3 bước TCP thành công).
Gói tin trên chứa thông tin về môi trường hoạt động của VPN là nhà cung cấp
Microsoft, Đồng thời là Framing Capabilities: Asynchronous Framing supported ( Hỗ trợ khung bất đồng bộ), Bearer Capabilities: Analog access supported ( Hỗ trợ truy cập tương tự).
Sau khi nhận được gói tín trên Server tiến hành Reply lại gói tin thông qua giao thức PPTP.
Hình 3.4 Gói tin Start-Control-Connection-Reply do VPN Server hồi âm.
Phía VPN Server trả về kết quả Result code: Successful channel establishment chấp nhận thiết lập kênh. Thông tin Framing capalities: Synchronous Framing Supported ( Hỗ trợ khung đồng bộ), Berer capabilities: Either access supported ( Hỗ trợ truy cập song công).
Phía VPN Client tiếp tục gởi gói tin Outgoing-Call-Request.
Hình 3.5 Gói tin Outgoing-Call-Request từ Client.
Thông tin gói tin chứa Call ID: 52445, giúp cho quá trình thiết lập kết nối được đảm bảo và chính xác.
Phía VPN Server khi nhận được gói tin yêu cầu từ VPN Client sẽ Reply lại VPN Client một gói tin thông báo đã thành lập được kết nối được yêu cầu từ VPN Client.
Hình 3.6 Gói tin Outgoing-Call-Reply từ VPN Server.
Gói tin chứa Call ID là 7554, và Peer Call ID là 52445 với kết quả trả về cho VPN Client Result Code: Connected.
Tiếp tục sau đó VPN Client và VPN Server sẽ tiến hành gửi gói Set-Link-Info sử dụng Call ID để thiết lập, kiểm tra đường truyền.
Hình 3.7 Gói tin thiết lập, kiểm tra liên kết
Sau quá trình đó Client tiến hành đóng gói gói tin Configuration Request bằng giao thức PPP LCP để mở đầu cho việc thành lập 1 liên kết với một cấu hình cụ thể.
Hình 3.8 Gói tin Configuration Request từ Client.
Ở gói tin cho thấy VPN Client yêu cầu cấu hình Protocol field compression, Address and Control field compression.
việc kết nối thì cần trao đổi và hợp nhất về cơ chế chứng thực cũng như thuật toán mã hóa.
Hình 3.9 Gói tin Configuration Request từ VPN Server
Trong gói tin trên, thông điệp gói tin cho thấy cờ Ack được bật, thể hiện việc VPN Server đã nhận được yêu cầu của gói tin từ VPN Client, đồng thời gói tin cũng chứa thông điệp của VPN Server về việc thực hiện thêm yêu cầu cấu hình mở giao thức chứng thực Authentication protocol: Challenge Handshake Authentication Protocol.
Sau khi nhận được gói tin yêu cầu thành lập kết nối cụ thể với việc bổ sung thêm
Authention protocol, phía VPN Client thông qua Call ID sẽ gởi cho VPN Server gói tin
Configuration ACK thể hiện việc bắt tay đã thành công và chuẩn bị cho quá trình thiết lập kết nối với cơ chế chứng thực CHAP, thuật toán MS-CHAP-V2.
Hình 3.10 Gói tin Configuration ACK từ Client
Tại VPN Server sau khi đã nhận được hồi âm từ phía VPN Client sẽ gửi gói tin
Challenge chứa Server Name, chuỗi Challenge ngẫu nhiên và Session Indentifier cho VPN Client.
Hình 3.11 Gói tin Challenge từ VPN Server
Sau khi có được thông số cần thiết VPN Client sẽ tạo ra một gói hồi âm Response. Chứa chuỗi băm mới, Chuỗi Challenge, Chuỗi Peer Challenge, Session Indentifier và
Hình 3.12 Gói tin Response của VPN Client
Từ những thông tin có được từ Client, Server sẽ tiến hành tạo mãng băm và thực hiện so sánh với mãng băm nhận được từ Client.
Nếu kết quả là bằng nhau thì Server sẽ gởi gói tin Success chứa thông điệp chứng thực thành công đến Client.
Hình 3.13 Gói tin Chứng Thực thành công gửi từ VPN Server
Nếu kết quả chứng thực không thành công Server sẽ gửi gói tin Failer chứa thông điệp thông báo chứng thực thất bại.
Hình 3.14 Gói tin Chứng Thực thất bại gửi từ VPN Server.
Sau quá trình chứng thực thành công VPN Server sẽ tiến hành cấp phát IP cho VPN Client. IP liên lạc giữa VPN Client và VPN Server sẽ trong phạm vi Range mà ta định nghĩa trong quá trình cài đặt VPN Server.
Hình 3.15 Địa chỉ IP ảo VPN Server
Hình 3.17 Thông số IP của Client nhận được từ Server. Đồng thời Server cũng sẽ thông báo IP ảo của nó cho Client.
Sau quá trình này thì kết nối VPN đã thành công.