Saya memiliki router linux yang memiliki antarmuka 10GBe di luar dan antarmuka ethernet Gigabit terikat di dalam.
Saat ini kami memiliki anggaran untuk 2GBit / s. Jika kami melebihi nilai tersebut dengan rata-rata lebih dari 5% selama sebulan maka kami akan dikenakan biaya untuk seluruh kapasitas 10Gbit / s. Cukup langkah dalam hal dolar.
Jadi, saya ingin membatasi ini hingga 2GBit / s pada antarmuka 10GBe.
Filter TBF mungkin ideal, tetapi komentar ini menjadi perhatian.
Pada semua platform kecuali untuk Alpha, mampu membentuk hingga 1mbit / s lalu lintas normal dengan burstiness minimal yang ideal, mengirimkan data dengan tepat pada tingkat yang dikonfigurasi.
Haruskah saya menggunakan TBF atau filter lain untuk menerapkan kecepatan ini ke antarmuka dan bagaimana saya melakukannya. Saya tidak mengerti contoh yang diberikan di sini: Traffic Control HOWTO
Khususnya "Contoh 9. Membuat 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
Bagaimana laju 256K bit / s dihitung? Dalam contoh ini, 32000bps = 32k byte per detik. Karena tc menggunakan bps = byte per detik. Saya kira burst dan limit ikut bermain, tetapi bagaimana Anda memilih angka yang masuk akal untuk mencapai tingkat yang diinginkan?
Ini bukan kesalahan. Saya menguji ini dan memberikan tingkat mendekati 256 ribu tetapi tidak persis seperti itu.
EDIT
Setelah melakukan banyak membaca dan menguji, saya sampai pada kesimpulan bahwa TBF tidak pantas karena bandwidth yang terlibat. Pengaturan apa pun yang saya coba, saya tidak bisa mendapatkan TBF untuk menyediakan bandwidth> ~ 50Mbit / s. Menurut lartc.org/lartc.pdf, metode RED lebih baik untuk membentuk bandwidth> 100Mbit / s jadi saya akan mencoba menggunakannya.
Namun, memilih nilai untuk min (yaitu ukuran antrian rata-rata di mana penandaan menjadi kemungkinan). Contoh yang diberikan adalah ini:
Anda harus mengatur min dengan menghitung latensi antrian dasar tertinggi yang dapat diterima yang Anda inginkan, dan mengalikannya dengan bandwidth Anda. Sebagai contoh, pada tautan ISDN 64kbit / s saya, saya mungkin menginginkan latensi dasar antrian 200 ms jadi saya menetapkan min menjadi 1600 byte.
bagaimana Anda memilih latensi antrian basis tertinggi yang dapat diterima? Contohnya adalah untuk 64kbit / s.
Apa yang bisa diterima untuk 2Gbit / s?
Dalam pengalaman saya, qdisc TBF dengan mudah dapat membatasi bandwidth hingga 1 Gbps jadi saya kira itu juga akan skala ke 2 Gbps. Namun, Anda mungkin membutuhkan CPU nyata untuk pekerjaan itu daripada router low-end edge. Sesuatu seperti 4 GHz i3 pasti akan cukup.
Coba sesuatu seperti
dimana
Perhatikan bahwa untuk menggunakan TBF latensi rendah Anda mungkin perlu menjalankan PREEMPT kernel (misalnya
linux-lowlatency-hwe-*
paket Ubuntu ) atau sistem mungkin gagal menangani semua paket itu.Lihat juga: https://networkengineering.stackexchange.com/a/54404/36597
sumber