Tôi có một bộ định tuyến linux có giao diện 10GBe ở bên ngoài và giao diện Gigabit ethernet ngoại quan ở bên trong.
Chúng tôi hiện có ngân sách cho 2GBit / s. Nếu chúng tôi vượt quá tỷ lệ đó trung bình hơn 5% trong một tháng thì chúng tôi sẽ bị tính phí cho toàn bộ công suất 10Gbit / s. Khá là một bước lên về đồng đô la.
Vì vậy, tôi muốn giới hạn ở mức 2GBit / giây trên giao diện 10GBe.
Bộ lọc TBF có thể là lý tưởng, nhưng nhận xét này là mối quan tâm.
Trên tất cả các nền tảng ngoại trừ Alpha, nó có thể định hình lưu lượng truy cập bình thường lên tới 1mbit / giây với độ bùng nổ tối thiểu lý tưởng, gửi dữ liệu chính xác theo tỷ lệ được định cấu hình.
Tôi có nên sử dụng TBF hoặc một số bộ lọc khác để áp dụng tỷ lệ này cho giao diện không và tôi sẽ thực hiện như thế nào. Tôi không hiểu ví dụ được đưa ra ở đây: Kiểm soát giao thông HOWTO
Cụ thể là "Ví dụ 9. Tạo TBF 256kbit / s"
tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0
tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps
Tốc độ 256K bit / s được tính như thế nào? Trong ví dụ này, 32000bps = 32k byte mỗi giây. Vì tc sử dụng bps = byte mỗi giây. Tôi đoán sự bùng nổ và giới hạn phát huy tác dụng nhưng làm thế nào bạn sẽ chọn về những con số hợp lý để đạt được tỷ lệ mong muốn?
Đây không phải là một sai lầm. Tôi đã thử nghiệm điều này và nó đã cho một tỷ lệ gần 256K nhưng không chính xác.
BIÊN TẬP
Sau khi đọc và kiểm tra rất nhiều, tôi đã đi đến kết luận rằng TBF không phù hợp vì băng thông liên quan. Bất cứ cài đặt nào tôi đã thử, tôi không thể lấy TBF để cung cấp băng thông> ~ 50Mbit / s. Theo lartc.org/lartc.pdf, phương pháp RED tốt hơn cho việc định hình băng thông> 100Mbit / s nên tôi sẽ cố gắng sử dụng phương pháp đó.
Tuy nhiên, việc chọn giá trị cho min (tức là kích thước hàng đợi trung bình mà tại đó việc đánh dấu trở thành khả năng). Ví dụ được đưa ra là:
Bạn nên đặt min bằng cách tính độ trễ hàng đợi cơ sở cao nhất có thể chấp nhận mà bạn muốn và nhân nó với băng thông của bạn. Chẳng hạn, trên liên kết ISDN 64kbit / s của tôi, tôi có thể muốn độ trễ hàng đợi cơ sở là 200ms vì vậy tôi đặt min thành 1600 byte.
Làm thế nào bạn sẽ chọn độ trễ hàng đợi cơ sở cao nhất có thể chấp nhận? Ví dụ là cho 64kbit / s.
Điều gì sẽ được chấp nhận cho 2Gbit / s?