Hiện nay có nhiều giải pháp để giải quyết hai vấn đề về đóng gói dữ liệu và an toàn dữ liệu trong VPN, dựa trên nền tảng là các giao thức đường hầm. Một giao thức đường hầm sẽ thực hiện đóng gói dữ liệu với phần Header (và có thể cả Trailer) tương ứng để truyền qua Internet. Giao thức đường hầm là cốt lõi của giải pháp VPN.
1. Giao thức định hướng lớp 2 – L2F (Layer 2 Forwarding)
1.1. Định nghĩa
Giao thức định hướng lớp 2 L2F do Cisco phát triển độc lập và được phát triển dựa trên giao thức PPP (Point-to-Point Protocol). L2F cung cấp giải pháp cho dịch vụ quay số ảo bằng cách thiết lập một đường hầm bảo mật thông qua cơ sở hạ tầng công cộng như Internet. L2F là giao thức được phát triển sớm nhất, là phương pháp truyền thống để cho những người sử dụng ở xa truy cập vào một mạng công ty thông qua thiết bị truy cập từ xa.
L2F cho phép đóng gói các gói PPP trong L2F, định đường hầm ở lớp liên kết dữ liệu.
1.2. Cấu trúc của gói L2F
Trong đó:
F: Trường “Offset” có mặt nếu bit này được thiết lập.
K: Trường “Key” có mặt nếu bit này được thiết lập.
P (Priority): Gói này là một gói ưu tiên nếu bit này được thiết lập
S: Trường “Sequence” có mặt nếu bit này được thiết lập
Reserved: luôn được đặt là 00000000
Version: Phiên bản chính của L2F dùng để tạo gói. 3 bit luôn là 111
Protocol: Xác định giao thức đóng gói L2F
Sequence: Số chuỗi được đưa ra nếu trong L2F Header bit S=1
Multiplex ID: nhận dạng một kết nối riêng trong một đường hầm (tunnel)
Client ID: Giúp tách đường hầm tại những điểm cuối
Length: chiều dài của gói (tính bằng byte) không bao gồm phần checksum
Offset: Xác định số byte trước L2F header, tại đó dữ liệu tải tin được bắt đầu.
Trường này có khi bit F=1
Key: Trường này được trình bày nếu bit K được thiết lập. Đây là một phần của quá trình nhận xác thực
Checksum: Kiểm tra tổng của gói. Trường checksum có nếu bit C=1
2. Giao thức đường hầm điểm-điểm PPTP (Point to Point Tunneling protocol)
2.1. Định nghĩa
Giao thức đường hầm điểm–điểm PPTP được đưa ra đầu tiên bởi một nhóm các công ty được gọi là PPTP Forum. Nhóm này bao gồm 3 công ty: Ascend comm., Microsoft, ECI Telematicsunication và US Robotic. Ý tưởng cơ sở của giao thức này là tách các chức năng chung và riêng của truy cập từ xa, lợi dụng cơ sở hạ tầng Internet sẵn có để tạo kết nối bảo mật giữa người dùng ở xa (client) và mạng riêng. Người dùng ở xa chỉ việc quay số tới nhà cung cấp dịch vụ Internet địa phương là có thể tạo đường hầm bảo mật tới mạng riêng của họ.
Giao thức PPTP được xây dựng dựa trên chức năng của PPP, cung cấp khả năng quay số truy cập tạo ra một đường hầm bảo mật thông qua Internet đến site đích. PPTP sử dụng giao thức bọc gói định tuyến chung GRE (Generic Routing Encapsulation) được mô tả lại để đóng gói và tách gói PPP, giao thức này cho phép PPTP mềm dẻo xử lý các giao thức khác không phải IP như: IPX, NETBEUI. Do PPTP dựa trên PPP nên nó cũng sử dụng PAP, CHAP để xác thực. PPTP có thể sử dụng PPP để mã hoá dữ liệu nhưng Microsoft đã đưa ra phương thức mã hoá khác mạnh hơn đó là mã hoá điểm – điểm MPPE (Microsoft Point- to- Point Encryption) để sử dụng cho PPTP.Một ưu điểm của PPTP là được thiết kế để hoạt động ở lớp 2 (lớp liên kết dữ liệu) trong khi IPSec chạy ở lớp 3 của mô hình OSI. Bằng cách hỗ trợ việc truyền dữ liệu ở lớp thứ 2, PPTP có thể truyền trong đường hầm bằng các giao thức khác IP trong khi IPSec chỉ có thể truyền các gói IP trong đường hầm.
2.2. Cấu trúc của gói PPTP
+ Đóng gói khung PPP
Phần tải PPP ban đầu được mật mã và đóng gói với phần tiêu đề PPP để tạo ra khung PPP. Sau đó, khung PPP được đóng gói với phần tiêu đề của phiên bản sửa đổi giao thức GRE.
Đối với PPTP, phần tiêu đề của GRE được sử đổi một số điểm sau:
– Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác nhận 32 bit.
– Trường Key được thay thế bằng trường độ dài Payload 16bit và trường nhận dạng cuộc gọi 16 bit. Trường nhận dạng cuộc goi Call ID được thiết lập bởi PPTP client trong quá trình khởi tạo đường hầm PPTP.
– Một trường xác nhận dài 32 bit được thêm vào.
GRE là giao thức cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua mạng IP.
+ Đóng gói các gói GRE
Tiếp đó, phần tải PPP đã được mã hoá và phần tiêu đề GRE được đóng gói với một tiêu đề IP chứa thông tin địa chỉ nguồn và đích cho PPTP client và PPTP server.
+ Đóng gói lớp liên kết dữ liệu
Do đường hầm của PPTP hoạt động ở lớp 2 – Lớp liên kết dữ liệu trong mô hình OSI nên lược đồ dữ liệu IP sẽ được đóng gói với phần tiêu đề (Header) và phần kết thúc (Trailer) của lớp liên kết dữ liệu. Ví dụ, Nếu IP datagram được gửi qua giao diện Ethernet thì sẽ được đóng gói với phần Header và Trailer Ethernet. Nếu IP datagram được gửi thông qua đường truyền WAN điểm tới điểm thì sẽ được đóng gói với phần Header và Trailer của giao thức PPP.
Trần Huỳnh Hiệp – VnPro
1. Giao thức định hướng lớp 2 – L2F (Layer 2 Forwarding)
1.1. Định nghĩa
Giao thức định hướng lớp 2 L2F do Cisco phát triển độc lập và được phát triển dựa trên giao thức PPP (Point-to-Point Protocol). L2F cung cấp giải pháp cho dịch vụ quay số ảo bằng cách thiết lập một đường hầm bảo mật thông qua cơ sở hạ tầng công cộng như Internet. L2F là giao thức được phát triển sớm nhất, là phương pháp truyền thống để cho những người sử dụng ở xa truy cập vào một mạng công ty thông qua thiết bị truy cập từ xa.
L2F cho phép đóng gói các gói PPP trong L2F, định đường hầm ở lớp liên kết dữ liệu.
1.2. Cấu trúc của gói L2F
Cấu trúc của gói L2F
Trong đó:
F: Trường “Offset” có mặt nếu bit này được thiết lập.
K: Trường “Key” có mặt nếu bit này được thiết lập.
P (Priority): Gói này là một gói ưu tiên nếu bit này được thiết lập
S: Trường “Sequence” có mặt nếu bit này được thiết lập
Reserved: luôn được đặt là 00000000
Version: Phiên bản chính của L2F dùng để tạo gói. 3 bit luôn là 111
Protocol: Xác định giao thức đóng gói L2F
Sequence: Số chuỗi được đưa ra nếu trong L2F Header bit S=1
Multiplex ID: nhận dạng một kết nối riêng trong một đường hầm (tunnel)
Client ID: Giúp tách đường hầm tại những điểm cuối
Length: chiều dài của gói (tính bằng byte) không bao gồm phần checksum
Offset: Xác định số byte trước L2F header, tại đó dữ liệu tải tin được bắt đầu.
Trường này có khi bit F=1
Key: Trường này được trình bày nếu bit K được thiết lập. Đây là một phần của quá trình nhận xác thực
Checksum: Kiểm tra tổng của gói. Trường checksum có nếu bit C=1
2. Giao thức đường hầm điểm-điểm PPTP (Point to Point Tunneling protocol)
2.1. Định nghĩa
Giao thức đường hầm điểm–điểm PPTP được đưa ra đầu tiên bởi một nhóm các công ty được gọi là PPTP Forum. Nhóm này bao gồm 3 công ty: Ascend comm., Microsoft, ECI Telematicsunication và US Robotic. Ý tưởng cơ sở của giao thức này là tách các chức năng chung và riêng của truy cập từ xa, lợi dụng cơ sở hạ tầng Internet sẵn có để tạo kết nối bảo mật giữa người dùng ở xa (client) và mạng riêng. Người dùng ở xa chỉ việc quay số tới nhà cung cấp dịch vụ Internet địa phương là có thể tạo đường hầm bảo mật tới mạng riêng của họ.
Giao thức PPTP được xây dựng dựa trên chức năng của PPP, cung cấp khả năng quay số truy cập tạo ra một đường hầm bảo mật thông qua Internet đến site đích. PPTP sử dụng giao thức bọc gói định tuyến chung GRE (Generic Routing Encapsulation) được mô tả lại để đóng gói và tách gói PPP, giao thức này cho phép PPTP mềm dẻo xử lý các giao thức khác không phải IP như: IPX, NETBEUI. Do PPTP dựa trên PPP nên nó cũng sử dụng PAP, CHAP để xác thực. PPTP có thể sử dụng PPP để mã hoá dữ liệu nhưng Microsoft đã đưa ra phương thức mã hoá khác mạnh hơn đó là mã hoá điểm – điểm MPPE (Microsoft Point- to- Point Encryption) để sử dụng cho PPTP.Một ưu điểm của PPTP là được thiết kế để hoạt động ở lớp 2 (lớp liên kết dữ liệu) trong khi IPSec chạy ở lớp 3 của mô hình OSI. Bằng cách hỗ trợ việc truyền dữ liệu ở lớp thứ 2, PPTP có thể truyền trong đường hầm bằng các giao thức khác IP trong khi IPSec chỉ có thể truyền các gói IP trong đường hầm.
2.2. Cấu trúc của gói PPTP
Cấu trúc gói PPTP
+ Đóng gói khung PPP
Phần tải PPP ban đầu được mật mã và đóng gói với phần tiêu đề PPP để tạo ra khung PPP. Sau đó, khung PPP được đóng gói với phần tiêu đề của phiên bản sửa đổi giao thức GRE.
Đối với PPTP, phần tiêu đề của GRE được sử đổi một số điểm sau:
– Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác nhận 32 bit.
– Trường Key được thay thế bằng trường độ dài Payload 16bit và trường nhận dạng cuộc gọi 16 bit. Trường nhận dạng cuộc goi Call ID được thiết lập bởi PPTP client trong quá trình khởi tạo đường hầm PPTP.
– Một trường xác nhận dài 32 bit được thêm vào.
GRE là giao thức cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua mạng IP.
+ Đóng gói các gói GRE
Tiếp đó, phần tải PPP đã được mã hoá và phần tiêu đề GRE được đóng gói với một tiêu đề IP chứa thông tin địa chỉ nguồn và đích cho PPTP client và PPTP server.
+ Đóng gói lớp liên kết dữ liệu
Do đường hầm của PPTP hoạt động ở lớp 2 – Lớp liên kết dữ liệu trong mô hình OSI nên lược đồ dữ liệu IP sẽ được đóng gói với phần tiêu đề (Header) và phần kết thúc (Trailer) của lớp liên kết dữ liệu. Ví dụ, Nếu IP datagram được gửi qua giao diện Ethernet thì sẽ được đóng gói với phần Header và Trailer Ethernet. Nếu IP datagram được gửi thông qua đường truyền WAN điểm tới điểm thì sẽ được đóng gói với phần Header và Trailer của giao thức PPP.
Trần Huỳnh Hiệp – VnPro