"Thưởng" băng thông theo kiểu Burst

"Thưởng" băng thông theo kiểu Burst

Ngày nay, khi sự phát triển công nghệ rầm rộ dẫn theo xu hướng các dịch vụ trực tuyến trở nên đa đạng và phủ sóng rộng khắp. Người ta có thể sử dụng các dịch vụ video trực tuyến từ chất lượng HD sang FullHD và có thể nói chất lượng 2K đang là xu hướng hiện nay trên các dòng điện thoại tiêu chuẩn. Chất lượng các dịch vụ trực tuyến càng tăng cao hơn là để đáp ứng các nhu cầu các thiết bị phần cứng người dùng cuối. Chính vì điều này, băng thông đáp ứng cho mỗi người dùng ngày càng trở nên cao hơn so với trước đây. Chưa kể, việc tải lên đám mây các dữ liệu trở nên thường xuyên hơn khi người dùng lựa chọn các công cụ lưu trữ trực tuyến hơn là sử dụng thiết bị lưu trữ vật lý nội bộ.
Chính vì điều này, băng thông để phục vụ cho các khách hàng càng ngày càng cao, trong khi đó băng thông kết nối Internet là có giới hạn.
Trong Mikrotik, có một tính năng quản lý băng thông có thể giới hạn băng thông của mỗi người dùng. Một trong số đó là HTB hay Hierarchical Token Bucket, là một phương pháp tạo một hàng đợi có chức năng kiểm soát các lưu lượng truy cập khác nhau.
Trong bài viết này, chúng ta sẽ thảo luận về các tính năng có trong hàng đợi, đó là Burst và Token Bucket ( bài viết đề cập trước đó tại liên kết này ). Tính năng Token Bucket mới có thể được sử dụng trong phiên bản 6.35 trở lên. Trên thực tế, hai tính năng này có thể được sử dụng để cung cấp băng thông thưởng tạm thời cho các máy khách. Tại một số thời điểm nhất định, khách hàng có thể nhận được băng thông vượt quá băng thông đã được phân bổ trước đó (giới hạn tối đa). Điều này có thể giúp cải thiện dịch vụ cho những khách hàng hiếm khi tải xuống nhưng thường truy cập vào các trang web hoặc email có dung lượng lớn trong thời gian ngắn. Dĩ nhiên, phần thưởng băng thông sẽ chỉ xuất hiện nếu mức sử dụng trung bình của người dùng không nhiều hơn giá trị được chỉ định trước đó.

1./ Burst (N).

Trong cấu hình Burst, có 3 tham số phải được thiết lập, đó là
- Ngưỡng Nổ (Burst Threshold),
- Giới hạn Nổ (Burst Limit)
- và Thời gian Nổ (Burst Time).
Ba tham số này kết hợp sẽ xác định thời gian khách hàng nhận được phần thưởng băng thông bổ sung và phần thưởng băng thông tối đa được đưa ra.


Cách thức hoạt động của Nổ là khi máy khách tải xuống, bộ định tuyến sẽ tính toán mức sử dụng băng thông trung bình của người dùng trong 16 giây trôi qua qua. Nếu kết quả trung bình vẫn nhỏ hơn Ngưỡng Nổ (Burst Threshold), khách hàng sẽ nhận được băng thông thưởng lên đến Giới hạn Nổ (Giới hạn Nổ). Nếu mức băng thông trung bình sử dụng bằng hoặc lớn hơn Ngưỡng Nổ (Burst Threshold), máy khách không thể sử dụng phần thưởng băng thông và băng thông sẽ bị giới hạn theo Giới hạn tối đa (Max Limit).

Ví dụ: Với giá trị giới hạn lần lượt là: Limit-at=1M , Max-limit=2M , Burst Threshold=1500k , Burst Limit=4M, Burst Time = 16s và máy tính khách sẽ cố gắng tải xuống hai tệp dữ liệu có dung lượng 4MB (32Mb), quá trình tải xuống sẽ bắt đầu từ giây thứ 0, tải xuống tệp thứ hai sẽ bắt đầu từ giây thứ 17. Và đây là lưu lượng được thể hiện.

Như chúng ta có thể thấy ngay sau khi máy tính khách hàng tải tệp (yêu cầu băng thông để tải xuống), nó sẽ nhận được ngay băng thông thưởng là 4Mpbs trong 6 giây. Đây là cụm từ dài nhất có thể xảy ra với các giá trị đã cho (thời gian liên tục dài nhất = ngưỡng liên tục * thời gian liên tục / giới hạn liên tục) . Ngay khi hết loạt dữ liệu, phần còn lại của dữ liệu sẽ được tải xuống với tốc độ 2Mbps. Theo cách này, tệp tin được tải xuống trong 9 giây - nếu không tải liên tục sẽ mất 16 giây. Burst có 7 giây để tính toán lại trước khi quá trình tải xuống tiếp theo sẽ bắt đầu.
* Công thức để tính thời gian nổ lâu nhất (Longest-burst-time ) = Burst-Threshold (Ngưỡng Nổ) * Burst-Time (Thời gian nổ) / Burst-Limit (Giới hạn nổ).
* Công thức để tính mức độ sử dụng băng thông trung bình của Khách hàng sử dụng là (Tổng của 16 giây cuối cùng / Thời gian Nổ) = "Kết quả". "Kết quả" là sử dụng để tham chiếu với giá trị Ngưỡng Nổ cho trước.
Phép so sánh kết quả có dạng:
- Nếu "Kết quả" nhỏ hơn () Ngưỡng Nổ, khách hàng được phép sử dụng băng thông thưởng.
- Nếu "Kết quả" bằng hoặc lớn hơn Ngưỡng Nổ, Khách hàng chỉ được phép sử dụng băng thông giới hạn tối đa.
- Suy ra, tổng thời gian nổ lâu nhất trong lần đầu tiên tải tệp của khách hàng = 1.5*16/4 = 6s. Khách hàng được thưởng ở mức băng thông tối đa là 4M cho tới giây thứ 6. Kể từ giây thứ 6 trở đi, băng thông kéo về mức 2Mbps.


Tính theo cách này, tệp tin sẽ tải hoàn tất vào giây thứ 9.
* Nếu tính toán các giá trị trên giấy, nó sẽ trông như thế này:
#0 (Khách hàng chưa tải tệp - không sử dụng) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 16 = 0Kbps. Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps
#1 (Giây đầu tiên - Khách hàng bắt đầu tải tệp) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4) / 16 = 250Kbps Nhỏ hơn ngưỡng bùng nổ, người dùng vẫn được phép nổ. 4 Mbps
#2 (Giây thứ 2) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4) / 16 = 500Kbps Vẫn nhỏ hơn ngưỡng bùng nổ. 4 Mbps
#3 (Giây thứ 3) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4) / 16 = 750Kbps Vẫn nhỏ hơn ngưỡng bùng nổ. 4 Mbps
#4 (Giây thứ 4) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4) / 16 = 1000Kbps Vẫn nhỏ hơn ngưỡng bùng nổ. 4 Mbps
#5 (Giây thứ 5) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4) / 16 = 1250Kbps Vẫn nhỏ hơn ngưỡng bùng nổ. 4 Mbps
#6 (Giây thứ 6) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps
#7 (Giây thứ 7) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2) / 16 = 1625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#8 (Giây thứ 8) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2) / 16 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#9 (Giây thứ 9) (0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2) / 16 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#10 (Giây thứ 10) (0 + 0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#11 (0 + 0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#12 (0 + 0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#13 (0 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#14 (0 + 0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#15 (0 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#16 (4 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0) / 16 = 2Mbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#17 (Giây thứ 17 - Khách hàng bắt đầu tải tệp mới) (4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 16 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#18 (4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#19 (4 + 4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2) / 16 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps
#20 (4 + 4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4) / 16 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps
#21 (4 + 2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4) / 16 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps
#22 (2 + 2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4) / 16 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps
#23 (2 + 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#24 (2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#25 (2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#26 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2) / 16 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#27 (0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2) / 16 = 1625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#28 (0 + 0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2) / 16 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2 Mbps
#29 (0 + 0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 2) / 16 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#30 (Giây thứ 30) (0 + 0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 2 + 0) / 16 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
#31 (Giây thứ 31) (0 + 0 + 2 + 2 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 0) / 16 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0 Mbps
Vì vậy, với ví dụ này, chúng tôi đã chứng minh rằng sự bùng nổ có thể xảy ra ở giữa quá trình tải xuống. Bùng nổ xảy ra ở ~ 4 giây đầu của tệp tin thứ hai, sau đó không xảy ra quá trình bùng nổ. Băng thông trung bình được tính sau mỗi 1/16 của thời gian nổ, trong trường hợp này là 1 giây

Ví dụ tiếp theo: Với giá trị giới hạn lần lượt là: Limit-at=1M , Max-limit=2M , Burst Threshold=1500k , Burst Limit=4M, Burst Time = 8s thì sao nhỉ?

Chúng tôi thấy rằng, nếu giảm thời gian bùng nổ xuống còn 8 giây - chúng ta - trong trường hợp này, các đợt bùng nổ xảy ra ngay khi bắt đầu tải xuống tệp tin.
Mặc định, băng thông sử dụng được tính theo chu kỳ 1/16 của thời gian nổ, vì vậy trong trường hợp này là cứ 0,5 giây một lần tính.
0,0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 8 = 0Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
0,5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2) / 8 = 250Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
1,0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2) / 8 = 500Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
1,5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2) / 8 = 750Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
2.0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2) / 8 = 1000Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s
2,5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2) / 8 = 1250Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
3.0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2) / 8 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
3.5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1) / 8 = 1625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
4.0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1) / 8 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
4,5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1) / 8 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
5.0 (0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
5.5 (0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1) / 8 = 2125Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
6.0 (0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2250Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
6,5 (0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2375Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
7.0 (0 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2500Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
7,5 (0 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
8.0 (2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
8.5 (2 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
9.0 (2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2500Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
9.5 (2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2375Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
10.0 (2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2250Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
10,5 (2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2125Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
11.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
11,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
12.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
12,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
13.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
13,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0) / 8 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
14.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0) / 8 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
14,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0) / 8 = 1625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
15.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0) / 8 = 1500Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
15,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0) / 8 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 0Mbps (0Mb trên 0,5s)
16.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0) / 8 = 1250Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 0Mbps (0Mb trên 0,5s)
16,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 8 = 1125Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 0Mbps (0Mb trên 0,5s)
17.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 8 = 1000Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 2Mbps (1Mb trên 0,5s)
17,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1) / 8 = 1000Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
18.0 (1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2) / 8 = 1125Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
18,5 (1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2) / 8 = 1250Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
19.0 (1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2) / 8 = 1375Kbps Băng thông sử dụng Nhỏ hơn ngưỡng bùng nổ, cho phép bùng nổ lên đến 4 Mbps 4Mbps (2Mb trên 0,5s)
19,5 (1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2) / 8 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
20.0 (1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1) / 8 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
20,5 (1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1) / 8 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
21.0 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1) / 8 = 1500Kbps Băng thông sử dụng = ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
21,5 (0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1) / 8 = 1625Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
22.0 (0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1) / 8 = 1750Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
22,5 (0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
23.0 (0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
23,5 (0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2125Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
24.0 (0 + 0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2250Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
24,5 (0 + 1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2375Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
25.0 (1 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2500Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
25,5 (2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2500Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
26.0 (2 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2375Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
26,5 (2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2250Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
27.0 (2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2125Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
27,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
28.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
28,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
29.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
29,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
30.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 2Mbps (1Mb trên 0,5s)
30,5 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) / 8 = 2000Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)
31.0 (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0) / 8 = 1875Kbps Băng thông sử dụng > ngưỡng bùng nổ, máy khách chỉ nhận tối đa 2 Mbps 0Mbps (0Mb trên 0,5s)

Với quy tắc này, áp dụng trong thực tế sẽ như thế nào?
Ví dụ: Chúng tôi muốn các máy khách có giới hạn tối đa là 5Mbps, giới hạn nổ là 20Mbps, ngưỡng nổ là 1M, thời gian nổ là 32.

Bằng cách tính toán trên giấy:
# 0 (Khách hàng chưa sử dụng) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 32 = 0 kbps. Nhỏ hơn ngưỡng bùng nổ, cho phép khách hàng bùng nổ lên đến giới hạn bùng nổ là 20 Mbps.
# 1 (Giây đầu tiên) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5) / 32 = 156 kbps. Nhỏ hơn ngưỡng bùng nổ, người dùng vẫn được phép nổ.
# 2 (giây thứ hai) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5) / 32 = 312kbps. Vẫn nhỏ hơn ngưỡng bùng nổ.
# 3 (Giây thứ ba) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5 + 5) / 32 = 468 kbps. Vẫn nhỏ hơn ngưỡng bùng nổ.
# 4 (Giây thứ tư) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5 + 5 + 5) / 32 = 625 kbps. Vẫn nhỏ hơn ngưỡng bùng nổ.
# 5 (Giây thứ năm) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5 + 5 + 5 + 5) / 32 = 781 kbps. Vẫn nhỏ hơn ngưỡng bùng nổ.
# 6 (Giây thứ sáu) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5 + 5 + 5 + 5 + 5) / 32 = 937 kbps. Vẫn nhỏ hơn ngưỡng bùng nổ.
# 7 (Giây thứ bảy) = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 5 + 5 + 5 + 5 + 5 + 5) / 32 = 1.1 Mbps. Lớn hơn ngưỡng bùng nổ.
Kết quả giống như ngưỡng bùng nổ, vì vậy máy khách sẽ chỉ nhận được giới hạn tối đa là 5 Mbps.

Tóm lại
Về cơ bản, Burst và Token Bucket có chức năng giống nhau, được sử dụng để cung cấp phần thưởng băng thông tạm thời cho khách hàng. Nhưng trong Token Bucket, lại không có giới hạn tối đa về băng thông thưởng được đưa ra. Băng thông thưởng mà khách hàng nhận được càng lớn thì thời gian bùng nổ càng ngắn. Nếu việc sử dụng hợp lý, thì khách hàng có thể nhận được một đợt bùng nổ lâu hơn. Nếu bạn muốn thưởng với một giới hạn nhất định, bạn có thể sử dụng Burst bằng cách chỉ định thuộc tính Burst-Limit.
Về quy trình, Token Bucket sử dụng quy trình đơn giản hơn nên không yêu cầu tài nguyên bộ định tuyến quá lớn, thích hợp áp dụng cho các bộ định tuyến có thông số phần cứng không quá lớn.

  • Bài viết này được khởi tạo vào ngày 25 tháng 10, 2021
  • Phát hành vào 30 tháng 1, 2022.