1, PPP là gì ?
PPP là một giao thức đóng gói làm cho khả năng vận chuyển lưu lượng của mạng qua một loạt các điểm liên kết được thực hiện một cách dễ dàng. Thuận lợi lớn nhất của PPP là nó có thể điều khiển bất kỳ DTE hoặc DCE nào bao gồm: EIA/TIA-232-C và ITU-T V.35. Một điểm độc đáo nữa của PPP là nó không hạn chế tỷ lệ truyền dữ liệu. Trong khi truyền dữ liệu bị hạn chế bởi giao diện DTE/DCE đang dung. Ngoài việc đóng gói các dữ liệu theo giao thức IP, không theo giao thức IP và việc truyền nó qua một loạt các điểm liên kết, PPP cũng chịu trách nhiệm về các chức năng sau: - Chỉ định và quản trị các gói IP thành các gói không IP.
- Cấu hình và kiểm tra các liên kết đã thiết lập.
- Đồng bộ và không đồng bộ việc đóng gói các gói dữ liệu. - Phát hiện lỗi trong khi truyền dữ liệu.
- Dồn kênh các giao thức mạng lớp hai.
- Thoả thuận các tham số không bắt buộc như nén dữ liệu và đánh địa chỉ. PPP thực hiện các chức năng này theo ba chuẩn:
- Chuẩn đóng gói dữ liệu qua liên kết điểm - điểm.
- Chuẩn thiết lập, cấu hình và kiểm tra kết nối điểm - điểm với sự hỗ trợ của giao thức kiểm soát liên kết(Link Control Protocol – LCP).
- Chuẩn thiết lập, cấu hình các giao thức mạng khác nhau và phát hiện lỗi trong khi truyền theo dạng của giao thức kiểm soát mạng (Network Control Protocol - NCP) thích hợp.
Giao thức PPP được sử dụng để đóng gói các gói tin thành các khung PPP và gửi dữ liệu trên các kết nối điểm - điểm. Có năm bước cần tiến hành trong quá trình thương lượng kết nối PPP, đó là:
+ Sau khi các gói dữ liệu đã được đóng gói, Node nguồn (hoặc khởi tạo) gửi khung LPC qua kết nối điểm - điểm tới Node đích.
+ Các tham số này thường được dùng để cấu hình liên kết bằng việc chỉ rõ các tham số và kiểm tra liên kết đã được thiết lập.
+ Sau khi Node đích chấp nhận yêu cầu kết nối và một liên kết được thiết lập thành công, các tham số lựa chọn được thương lượng nếu đã chỉ rõ bởi các LCP.
+ Node nguồn sau đó gửi khung NCP để lựa chọn và cấu hình giao thức tầng mạng.
+ Sau khi giao thức tầng mạng yêu cầu được cấu hình thì cả hai bắt đầu trao đối dữ liệu.
Hình 3.1 Thiết lập liên kết PPP và trao đổi dữ liệu
Khi một liên kết PPP đã được thiết lập, nó tồn tại cho đến khi LCP hoặc NCP ra hiệu kết thúc liên kết. Liên kết cũng có thể được kết thúc trong trường hợp nó bị lỗi hoặc người dùng can thiệp vào.
2.1, Định dạng gói PPP:
Hình 3.2 Định dạng của một Frame PPP điển hình
+ Flag: Trường này xác định điểm bắt đầu và kết thúc của một khung. Độ dài của trường này là 1 byte.
+ Address: Vì nó sử dụng các liên kết điểm - điểm. PPP không sử dụng các địa chỉ của các Node riêng lẻ. Vì thế, các trường này chứa chuỗi nhị phân là 11111111, đây là một địa chỉ Broadcast chuẩn. Độ dài của trường này là 1 byte.
+ Control: Trường này chứa chuỗi nhị phân là 00000011. Nó biểu thị rằng, Frame đang mang dữ liệu người dùng là một Frame không tuần tự. Độ dài của trường này là 1 byte.
+ Protocol: Trường này xác định giao thức mà dữ liệu được đóng gói trong trường dữ liệu của Frame. Giao thức trong trường này được chỉ rõ theo số đã gán trong RFC 3232. Độ dài của trường này là 2 byte. Tuy nhiên, trường này có thể thương lượng để là 1 byte nếu cả hai đồng ý.
+ Data: Trường này chứa thông tin đang được trao đổi giữa Node nguồn và đích. Độ dài của trường này có thay đổi, độ dài tối đa có thể lên đến 1500 byte.
+ FCS: Trường này chứa chuỗi kiểm tra giúp người nhận kiểm tra tính chính xác của thông tin đã nhận trong trường dữ liệu. Thông thường, độ dài của trường này là 2 byte. Tuy nhiên, việc thực thi PPP có thể thương lượng một FCS 4 byte để cải thiện việc phát hiện lỗi.
2.2, Kiểm soát liên kết PPP
Ngoài việc trao đổi thành công dữ liệu giữa hai Node, PPP cũng chịu trách nhiệm kiểm soát liên kết đã thiết lập giữa 2 thực thể truyền thông cuối. PPP sử dụng LCP cho chức năng này, trong đó LCP chịu trách nhiệm về các chức năng sau:
- Hỗ trợ việc thiết lập liên kết.
- Cấu hình liên kết đã thiết lập để thoả mãn các yêu cầu của các nhóm truyền thông.
- Duy trì hiệu suất của liên kết PPP đã thiết lập.
- Kết thúc liên kết nếu việc trao đổi dữ liệu giữa hai thực thể cuối đã hoàn tất. LCP dựa trên kiểm soát liên kết gồm bốn pha: Thoả thuận và khởi tạo liên kết; Xác định chuẩn liên kết; Thoả thuận giao thức tầng mạng. Sau đây ta sẽ mô tả chi tiết bốn pha trong kiểm soát liên kết.
- Thoả thuận và khởi tạo liên kết: Trước khi việc trao đổi dữ liệu dựa trên PPP giữa Node nguồn và đích được cho phép, LCP phải khởi tạo một kết nối giữa hai thực thể cuối và thoả thuận các tham số cấu hình. LCP sử dụng các Frame khởi tạo liên kết cho chức năng này. Khi mỗi thực thể cuối phản hồi lại bằng Frame cấu hình ACK của nó, pha này kết thúc.
- Xác định tiêu chuẩn liên kết: Đây là pha tuỳ chọn trong đó tiêu chuẩn của liên kết đã thiết lập được xác định cho các liên kết khác nhau đã sẵn sàng cho việc thoả thuận các giao thức tầng mạng.
- Thoả thuận giao thức tầng mạng: Trong pha này, ưu tiên giao thức tầng mạng của dữ liệu đã được đóng gói trong trường Protocol của Frame PPP được thoả thuận.
- Kết thúc liên kết: Đây là pha cuối cùng của LCP và Server để kết thúc liên kết đã thiết lập giữa hai thực thể cuối. Việc kết thúc liên kết có thể theo trình tự hoặc đột xuất. Kết thúc đúng trình tự là kết thúc sau khi việc trao đổi dữ liệu giữa hai thực thể cuối đã hoàn tất hay do yêu cầu của thực thể
cuối. Kết thúc liên kết đột xuất có thể làm mất dữ liệu. Frame kết thúc liên kết dữ liệu được trao đổi giữa các nhóm có liên quan trước khi liên kết được giải phóng. Ngoài Frame thiết lập và kết thúc liên kết, PPP sử dụng một loại Frame thứ ba gọi là Frame duy trì liên kết. Các Frame này như tên gọi của nó, được trao đổi trong trường hợp có vấn đề liên quan đến liên kết, thường được dùng để quản trị và debug các liên kết dựa trên PPP.
Mặc dù không được dùng trong VPN ngày nay, tuy nhiên công nghệ PPP là cơ sở của các giao thức đường hầm khác được dùng rộng khắp trong VPN. Thực tế, tất cả các giao thức đường hầm thông dụng đều dựa trên PPP và đóng gói Frame PPP vào trong gói IP hoặc các gói dữ liệu khác để truyền qua mạng không đồng nhất.