4.2 KẾT QUẢ THỰC HIỆN
4.2.2 Kết quả với Ngưỡng cứng (Hard thresholding)
Chương trình Định tuyến nâng cao (Advanced Routing) xây dựng khi sử dụng thuật tốn Ngưỡng cứng với các thơng tin đầu vào từ người dùng và các bước thực thi được mô tả trong Bảng 4.2.
Bảng 4.2: Các bước thực thi Advanced Routing với Ngưỡng cứng về latency/loss
Lệnh thực thi Mục đích
Bước 1 > py sd-wan.py hardthresholding -- span seconds --interval seconds
ví dụ:
> py sd-wan3.py hardthresholding -- span 10 --interval 5
Chạy chương trình Advanced Routing bằng Python với thuật toán Ngưỡng cứng tối ưu latency hoặc loss, trong đó: - span: Thời gian hệ thống khởi chạy ban đầu để thu thập thông tin của các hướng WAN1,2,3
- interval: Chu kỳ hệ thống tính tốn cập nhật chọn đường đi tốt nhất
Bước 2 Quality ( latency / loss ): latency Nhập thông tin cần tối ưu về độ trễ (latency) hay độ mất gói (loss)
tối ưu: lan1, lan2 hoặc all (xử lý đồng thời khách hàng: lan1, lan2)
Bước 4 For Destination ( DNS_Google / AWS /
Internal_Host ): Internal_Host
Nhập thơng tin Destination: lựa chọn đích cần đi đến để tối ưu chất lượng dịch vụ: DNS Google (8.8.8.8), AWS (web cloud amazon: aws.amazon.com), Internal_Host (1 địa chỉ IP giả lập tại nút mạng Internet)
Bước 5 If no WAN under Threshold? Using ... (
load-balance / smallest_wan ):
smallest_wan
Nhập thông tin thuật toán sẽ quyết định đường đi trong trường hợp khơng có WAN nào thỏa điều kiện ngưỡng: - load-balance: san tải lưu lượng trên tất cả hướng WAN
- smallest_wan: chọn hướng WAN có giá trị latency/loss nhỏ nhất
Trong phần kiểm nghiệm này, chúng tôi chọn thực hiện đo kiểm chung từ User_LAN1 về điểm đích Internal_Host này để đường truyền được đảm bảo ổn định do chỉ chạy trong mạng lab, không đo kiểm tới các đích ngồi Internet do khơng kiểm sốt được độ ổn định, vì mạng Internet ngồi thực tế chứa vơ vàn các tuyến đường đi tới đích, khó có sự ổn định về độ trễ hay độ mất gói xun suốt để đánh giá.
Hình 4.2: Chương trình hoạt động với thuật tốn Ngưỡng cứng về độ trễ
Trong Hình 4.2 thể hiện hoạt động chi tiết của chương trình Advanced Routing khi chạy với thuật toán Ngưỡng cứng khi điều khiển lưu lượng liên quan đến độ trễ (latency).
Khởi tạo chương trình Advanced Routing với TE Hard thresholding, để truy vấn tính giá trị ngưỡng hệ thống ta tùy chọn cấu hình thời gian thu thập giá trị độ trễ/độ mất gói của các hướng WAN và đưa ra giá trị ngưỡng tương ứng (span). Ví dụ với span = 10 và sau mỗi chu kỳ interval = 5s thì sẽ tính giá trị độ trễ của WAN và so sánh với ngưỡng để cập nhật lại tuyến đường đi. Nếu dành thời gian dài hơn cho việc thu thập dữ liệu (span) để tính ngưỡng thì giá trị ngưỡng phản ánh chính xác hơn giá trị độ trễ/độ mất gói từ các kết nối WAN. Tránh thiết lập những thời gian quá ngắn dẫn đến kết quả sai lệch do chưa bao hàm lượng thơng tin cần theo dõi hoặc nếu có kết nối WAN bị hiện tượng chập chờn (flapping). Đây cũng là hiện tượng thường xuyên gặp phải trong thực
tế ở các kết nối WAN khi mà bất chợt trong vài giây độ trễ của một kết nối tăng giảm liên tục do nhiều yếu tố về vật lý như chấn động cáp..., nhưng nó lại khơng thể hiện tồn bộ chất lượng của WAN đó nếu trong thời gian dài như 5 phút, 1 giờ, hay cả ngày.
Về thời gian interval, là tần suất thực hiện việc tính tốn và cập nhật tuyến đường tốt nhất, việc lựa chọn thời gian hợp lý cũng là vấn đề cần xem xét, có thể tham khảo dữ liệu kiểm nghiệm sơ bộ ở Bảng 4.3.
Bảng 4.3: So sánh thời gian interval trong thuật toán Ngưỡng cứng (span = 10)
interva l (s) Kết quả độ trễ Thời gian xử lý (s) Độ trễ trung bình trong 200s (ms) Độ trễ trung bình 100s đầu (ms) Độ trễ trung bình 100s sau (ms) Độ trễ của 3 WAN interva l = 1 389.0 5 19.1 7 23.9 5 14.3 9
interva l = 5 216.6 2 19.9 5 25.4 7 14.4 2 interva l = 30 216.3 1 28.3 9 39.6 17.1 7
Trong kết quả thực nghiệm ở Bảng 4.3, kết quả độ trễ của trường hợp interval = 30 là 28.39 giây, kém hơn nhiều so với interval = 5 hoặc 1. Do khi có một WAN đang được chọn làm tuyến đường đi nhưng nếu WAN này chất lượng kém đi và phải đợi một khoảng thời gian interval là 30 giây mới cập nhật lại tuyến đường tốt hơn thì chất lượng truyền tải cũng sẽ kém đi trong khoảng thời gian này. Với interval = 1, thời gian xử lý của chương trình là 389.05 giây, lâu hơn nhiều so với thời gian xử lý của interval = 5 là 216.62 giây, nghĩa là CPU phải xử lý nhiều hơn, trong khi giá trị độ trễ cải thiện không hơn nhiều, 19.17 ms so với 19.95 ms. Do đó, tùy theo nhu cầu sử dụng cho loại dịch vụ cần độ trễ ln tốt nhất hay khơng mà ta có thể cấu hình interval cho hợp lý với phần cứng hệ thống.
(c)
Hình 4.3: Độ trễ các kết nối WAN (a), Độ trễ khi dùng TE mặc định (b), Độ trễ khi dùng Hardthresholding span = 10, interval = 5 (c)
Hình 4.3a miêu tả độ trễ của các WAN thay đổi trong quá trình đo kiểm. Hình 4.3b chỉ rõ hệ thống mặc định quyết định lưu lượng người dùng được san tải đều trên các kết nối WAN hiện có nên kết quả kiểm tra độ trễ từ người dùng có kết quả dao động lớn tương ứng với ba hướng WAN.
Hình 4.3c thể hiện kết quả sau khi áp dụng thuật tốn Ngưỡng cứng. Trong đó, khoảng thời gian chờ 10 giây đầu tiên (span = 10) thì hệ thống sẽ tính giá trị ngưỡng nên các kết nối WAN đều được chọn làm tuyến đường đi, độ trễ lúc này dao động cao do đi qua cả ba hướng WAN. Nhưng sau khi đã có giá trị ngưỡng, đường đi tối ưu hơn đã được quyết định nên kết quả độ trễ đã được tối ưu. Sau mỗi 5 giây giá trị độ trễ đại diện cho mỗi WAN được tính tốn để so sánh với ngưỡng và tìm ra WAN tối ưu nhất để cập nhật lại tuyến đường tối ưu. Từ giây 31 đến 35, độ trễ người dùng tăng vọt do WAN1 (đang là tuyến đường được chọn) có độ trễ tăng cao tương ứng vào thời điểm đó, nhưng hệ thống chưa tính tốn chọn lại ngay WAN tốt hơn vì đang trong khoảng chờ interval = 5s để cập nhật lại tuyến đường đi tối ưu nhất. Các khoảng thời gian từ giây 100 về sau thì lưu lượng san tải đều qua hai WAN thỏa điều kiện ngưỡng hệ thống. Nội dung log ghi lại hoạt động chương trình ở Hình 4.3 có trong mục Phụ lục B.
(c)
Hình 4.4 Độ mất gói các kết nối WAN (a), Độ mất gói khi dùng TE mặc định của hệ thống (b), Độ mất gói khi dùng Ngưỡng cứng (c)
Tương tự ở Hình 4.4 đối với tỷ lệ mất gói, hệ thống sau khi áp dụng thuật toán Ngưỡng cứng cũng giúp giảm được tỷ lệ mất gói khi sử dụng hệ thống SD-WAN khi so sánh với hệ thống mặc định.
Ngồi ra, thuật tốn Ngưỡng cứng cịn có tùy chọn đưa ra tuyến đường tốt nhất có thể đối với WAN có độ trễ và độ mất gói tốt nhất. Chi tiết bước thực thi trong Bảng 4.4
Bảng 4.4: Các bước thực thi Advanced Routing với Ngưỡng cứng khi kết hợp latency và loss
Lệnh thực thi Mục đích
Bước 1 > py sd-wan.py hardthresholding-
loss-with-latency --span seconds -- interval seconds
ví dụ:
> py sd-wan.py hardthresholding-loss- with-latency --span 10 --interval 5
Chạy chương trình Advanced Routing bằng Python với thuật toán Ngưỡng cứng tối ưu latency kết hợp loss, trong đó:
- span: Thời gian hệ thống khởi chạy ban đầu để thu thập thông tin của các hướng WAN1,2,3
- interval: Chu kỳ hệ thống tính tốn cập nhật chọn đường đi tốt nhất
Bước 2 which quality is preferred? ( latency / loss ): latency
Nhập thông tin độ trễ (latency) hay độ mất gói (loss) được ưu tiên tối ưu hơn nếu khơng có kết nối WAN nào thỏa điều kiện vừa có độ trễ và độ mất gói thấp hơn ngưỡng
Bước 3 For Users ( lan1 / lan2 ): lan1 Nhập thông tin Users: Khách hàng cần
tối ưu: lan1, lan2
Bước 4 For Destination ( DNS_Google / AWS /
Internal_Host ): Internal_Host
Nhập thơng tin Destination: lựa chọn đích cần đi đến để tối ưu chất lượng dịch vụ: DNS Google (8.8.8.8), AWS
(web cloud amazon: aws.amazon.com), Internal_Host (1 địa chỉ IP giả lập tại nút mạng Internet)
(a) (b)
(c)
Hình 4.5 Độ trễ các kết nối WAN (a), Độ mất gói các kết nối WAN (b), Độ trễ (ưu tiên hơn) khi dùng Ngưỡng cứng (c)
(a) (b)
(c)
Hình 4.6 Độ mất gói các kết nối WAN (a), Độ trễ các kết nối WAN (b), Độ mất gói (ưu tiên hơn) khi dùng Ngưỡng cứng (c)
Với tùy chọn kết hợp giữa độ trễ (ưu tiên hơn) và độ mất gói của 3 WAN ở Hình 4.5a và Hình 4.5b, thì từ giây 91 khi độ trễ WAN1,3 thấp bằng nhau (vượt ngưỡng cứng), WAN1 được chọn do có độ mất gói thấp hơn WAN3 dẫn đến kết quả ping như Hình 6c. Tương tự, khi WAN1,3 có độ mất gói bằng nhau ở Hình 4.6a, khi đó độ trễ WAN1,3 đều vượt ngưỡng cứng ở Hình 4.6b, nên WAN3 được chọn và đạt được kết quả ping ở Hình 4.7c.
Chi tiết so sánh các tính năng của Cân bằng tải với thuật tốn Ngưỡng cứng trong Bảng 4.5
Bảng 4.5: So sánh tính năng Cân bằng tải và thuật toán Ngưỡng cứng
Default SD-WAN system Advanced Routing
All load-balancing Hard-thresholding
- Khơng có phân loại được chất
lượng kết nối WAN nào tốt hay kém.
- Tự động tính tốn ngưỡng độ trễ/độ mất
gói để chọn ra kết nối WAN có chất lượng tốt.
- Lưu lượng san tải đều tất cả các
hướng WAN mà khơng có đáp ứng điều kiện nào về độ trễ/độ mất gói.
- Lưu lượng san tải qua các WAN khi có
các giá trị độ trễ/độ mất gói thấp hơn (hoặc bằng) mức ngưỡng hệ thống.
- Nếu khơng có kết nối WAN nào thỏa điều
kiện trên, có thể tùy chọn san tải đều trên các kết nối WAN hoặc chọn WAN có độ trễ/độ mất gói thấp nhất.
- Khơng có kết hợp tùy chọn giữa
độ trễ/độ mất gói.
Kết hợp tùy chọn mức độ ưu tiên theo latency và loss: Lưu lượng san tải qua các WAN phải đồng thời vừa có độ mất gói nhỏ hơn (hoặc bằng) ngưỡng mất gói và có độ trễ nhỏ hơn (hoặc bằng) ngưỡng độ trễ của hệ thống. Nếu không có kết nối WAN nào thỏa điều kiện trên thì:
- Lựa chọn 1: (nếu độ mất gói được ưu tiên hơn) WAN có độ mất gói nhỏ nhất sẽ được chọn làm tuyến đường đi chính. Nếu có nhiều hơn một kết nối WAN cùng giá trị độ mất gói thì kết nối WAN nào có độ trễ nhỏ hơn sẽ được chọn
- Lựa chọn 2: (nếu độ trễ được ưu tiên
hơn) WAN có độ trễ nhỏ nhất sẽ được chọn. Nếu có nhiều hơn một kết nối WAN cùng giá trị độ trễ thì kết nối WAN nào có độ mất gói nhỏ hơn sẽ được chọn.
- Khơng có kết hợp tùy chọn thông
lượng (throughput).
- Thông lượng trên WAN được chọn đạt
tới mức nghẽn (mặc định cấu hình 90% băng thơng của WAN) thì lưu lượng được tự động san tải sang các kết nối còn lại.