Xác định mã nguồn giải thuật QoS trong kernel VyOS

Một phần của tài liệu (LUẬN văn THẠC sĩ) thử nghiệm các giải pháp đảm bảo chất lượng dịch vụ trên các thiết bị định tuyến sử dụng hệ điều hành nguồn mở VyOS001 (Trang 39 - 44)

CHƯƠNG 2 CÁC CƠ CHẾ QOS VÀ CẤU TRÚC TRONG VYOS

2.5. Xác định mã nguồn giải thuật QoS trong kernel VyOS

Như đã trình bày ở mục 2.4, các module QoS .pm chỉ thực hiện thay đổi trạng thái qdisc của interface qua các câu lệnh “tc” theo các giải thuật đã được

định nghĩa sẵn. Do đó để có thể can thiệp vào các giải thuật quản lý hàng đợi để có thể chống tấn công trong các thiết bị mạng ta sẽ tiếp tục tìm hiểu trong kernel của VyOS. VyOS sử dụng kernel của linux và được chia sẻ ở trang

https://github.com/vyos/vyos-kernel. Hiện tại phiên bản mới nhất 1.2 của VyOS đang sử dụng kernel linux phiên bản 4.19.32 (hình 23) còn phiên bản 1.1.x cũ VyOS thì sử dụng kernel phiên bản 3.13.xx (phiên bản 1.1.x của VyOS không còn được hỗ trợ nữa).

Hình 23: Thông tin phiên bản kernel VyOS 1.2

Trong các cơ chế QoS thì cơ chế Random Early Detection (RED) trên thực tế có rất nhiều phiên bản cải tiến, do đó trong phạm vi luận văn tập trung vào xác định mã nguồn giải thuật của RED. Sau khi tìm hiểu, tôi đã xác định được nơi chứa mã nguồn cho giải thuật RED và giải thuật Adaptive-RED trong kernel hệ điều hành (hình 24, 25, 26) và giải thuật sẽ được thực hiện với id qdisc=“red” trong thư mục net/sched. Đây cũng là nơi chúng ta có thể chỉnh sửa giải thuật cải tiến hoặc viết thêm các giải thuật của các cơ chế quản lý dịch vụ khác như mục tiêu lâu dài của luận văn đề ra.

Hình 25: Mô tả giải thuậtRED trong mã nguồn kernel

Hình 26: Mô tả giải thuật AdaptiveRED (A-RED) trong mã nguồn kernel

Các module QoS .pm tạo ra một cơ chế chính sách QoS cụ thể và sau đó là chính sách tạo danh sách các lệnh “tc” thay đổi trạng thái của qdisc (queue disciplines) cho QoS tương ứng và trên interface được thiết lập áp dụng chính sách QoS. Vì VyOS sử dụng kernel của linux nên câu lệnh “tc” đối với riêng cơ chế RED , được định nghĩa như sau [12] :

tc qdisc ... red limit bytes [ min bytes ] [ max bytes ] avpkt

bytes [ burst packets ] [ ecn ] [ harddrop] [ bandwidth rate ]

[probability chance ] [ adaptive ]

Trong đó chi tiết các tham số được mô tả ở dưới:

 Kích thước hàng đợi tối thiểu (Min) tính bằng byte, ở đây có thể có xác suất đánh dấu – marking (có thể có khả năng là bị drop). Mặc định là = max/3

 Kích thước hàng đợi tối đa (Max) tính bằng byte, ở đây xác suất đánh dấu là tối đa và ít nhất phải gấp 2 lần min. Mặc định là = limit/4

 Giới hạn (Limit) là giới hạn cứng đối với kích thước hàng đợi thực (không phải kích thước hàng đợi trung bình) và tính bằng byte. Khi vượt qua giới hạn cứng đó thì các gói tiếp theo sẽ được bỏ.

 Xác suất tối đa (Probability) được chỉ định là số dấu phẩy động từ 0,0 đến 1,0. Giá trị đề xuất là 0,01 hoặc 0,02 (tương ứng 1 hoặc 2%). Mặc định là: 0,02

 Kích thước hàng đợi trung bình (Avpkt – average packet size) được tính bằng byte. Được sử dụng để xác định hằng số thời gian cho các tính toán kích thước hàng đợi trung bình. Thường cấu hình = 1000.

 Lưu lượng bùng nổ (Burst) được sử dụng để xác định kích thước hàng đợi trung bình bị ảnh hưởng bởi kích thước hàng đợi thực nhanh như thế nào. Các giá trị lớn hơn làm cho phép tính chậm chạp hơn, cho phép các luồng lưu lượng bùng nổ dài hơn trước khi bắt đầu đánh dấu. Các thí nghiệm thực tế chỉ ra burst nên được tính = (min + min + max) / (3 * avpkt)

 Thông báo tắc nghẽn tường minh – ECN (Explicit Congestion Notification) : RED có thể lựa chọn 'đánh dấu' hoặc 'loại bỏ'. Khi vượt quá lượng băng thông có sẵn, nếu không cấu hình ECN thì chỉ có thể thực hiện là loại bỏ gói tin. Nếu tham số này được chỉ định, các gói sẽ được đánh dấu và không bị loại bỏ, trừ khi kích thước hàng đợi đạt byte giới hạn. Khuyến nghị nên cấu hình ECN.

 Băng thông (Bandwidth): Nên được cấu hình băng thông trên interface. Mặc định: 10Mbit

 Adaptive: Mục tiêu của A-RED là tạo ra giá trị động Probability trong khoảng từ 1% đến 50% để đạt được hàng đợi trung bình của mục tiêu: (max - min) / 2

2.6. Kết chương

Trong chương này luận văn đã tìm hiểu được cấu trúc phân cấp hệ thống, cách thức thực hiện gọi các hàm, module khi thực hiện cấu hình các cơ chế QoS trên VyOS, xác định được nơi chứa mã nguồn các giải thuật về QoS trong nhân hệ điều hành VyOS cũng như phân tích những nơi có thể can thiệp để cài đặt thêm những tính năng mới và mô tả cơ chế RED được gọi ra như thế nào và các tham số của RED được định nghĩa ra sao, từ đó ta có thể áp dụng cài đặt các giải pháp tăng chất lượng dịch vụ chống tắc nghẽn vì mã nguồn của thiết bị định tuyến có thể truy cập vào, thì việc đưa thêm các tính năng mới hỗ trợ cho việc cài đặt giải thuật là hoàn toàn có thể.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thử nghiệm các giải pháp đảm bảo chất lượng dịch vụ trên các thiết bị định tuyến sử dụng hệ điều hành nguồn mở VyOS001 (Trang 39 - 44)

Tải bản đầy đủ (PDF)

(55 trang)