Từ trang chủ, hạn chế duy nhất burst
là nó phải đủ cao để cho phép tốc độ được cấu hình của bạn: nó phải ở mức tối thiểu / HZ. HZ là một tham số cấu hình kernel; bạn có thể tìm ra nó là gì trên hệ thống của bạn bằng cách kiểm tra cấu hình kernel của bạn. Ví dụ: trên Debian, bạn có thể:
$ egrep '^CONFIG_HZ_[0-9]+' /boot/config-`uname -r`
CONFIG_HZ_250=y
vì vậy HZ trên hệ thống của tôi là 250. Để đạt tốc độ 10mbps, do đó tôi cần burst
ít nhất 10.000.000 bit / giây ÷ 250 Hz = 40.000 bit = 5000 byte. (Lưu ý giá trị cao hơn trong trang chủ là từ khi HZ = 100 là mặc định).
Nhưng ngoài điều này, burst
cũng là một công cụ chính sách. Nó cấu hình mức độ mà bạn có thể sử dụng ít băng thông hơn bây giờ để "lưu" nó để sử dụng trong tương lai. Một điều phổ biến ở đây là bạn có thể muốn cho phép tải xuống nhỏ (giả sử, một trang web) đi rất nhanh, trong khi điều chỉnh các lượt tải lớn. Bạn làm điều này bằng cách tăng burst
lên kích thước bạn xem xét tải xuống nhỏ. (Mặc dù, bạn thường chuyển sang một qdisc đẳng cấp như htb, vì vậy bạn có thể phân đoạn các loại lưu lượng khác nhau.)
Vì vậy: bạn định cấu hình cụm để ít nhất đủ lớn để đạt được mong muốn rate
. Ngoài ra, bạn có thể tăng thêm, tùy thuộc vào những gì bạn đang cố gắng đạt được.
Mô hình khái niệm của bộ lọc mã thông báo
Một "cái xô" là một đối tượng ẩn dụ. Thuộc tính quan trọng của nó là nó có thể chứa mã thông báo và số lượng mã thông báo có thể giữ bị hạn chế nếu bạn cố thêm, nó "tràn" và mất thêm mã thông báo (giống như cố gắng cho quá nhiều nước vào xô thực tế). Kích thước của xô được gọi burst
.
Để thực sự truyền một gói lên mạng, gói đó phải có được các mã thông báo bằng kích thước của nó tính bằng byte hoặc mpu
(tùy theo giá trị nào lớn hơn).
Có (hoặc có thể) một dòng (hàng đợi) các gói đang chờ mã thông báo. Điều này xảy ra khi thùng rỗng hoặc thay thế có ít mã thông báo hơn kích thước của gói. Chỉ có rất nhiều phòng trên vỉa hè phía trước xô và số lượng phòng (tính bằng byte) được đặt trực tiếp bởi limit
. Ngoài ra, nó có thể được đặt gián tiếp với latency
(trong một thế giới lý tưởng, phép tính sẽ là rate
× latency
).
Khi kernel muốn gửi một gói ra khỏi giao diện được lọc, nó sẽ cố gắng đặt gói ở cuối dòng. Nếu không có bất kỳ phòng nào trên vỉa hè, điều đó thật không may cho gói tin, bởi vì ở cuối vỉa hè là một cái hố không đáy và hạt nhân làm rơi gói tin.
Phần cuối cùng là một máy tạo mã thông báo có thêm rate
/ HZ
mã thông báo vào nhóm mỗi lần đánh dấu. (Đây là lý do tại sao xô của bạn ít nhất phải lớn như vậy, nếu không, một số mã thông báo mới được đúc sẽ bị loại bỏ ngay lập tức).
tbf
là một phần của khung kiểm soát lưu lượng Linux.man tbf
hoặcman tc-tbf
nên đưa lên tài liệu.