Memperbaiki bufferbloat di jaringan rumah

9

Di jaringan rumah kami, dengan IO jaringan terus-menerus, latensi menjadi konyol. Tidak masalah dengan beban yang ringan tetapi dengan cepat menjadi tidak dapat digunakan jika saya, katakanlah, melakukan sinkronisasi sejumlah besar file kecil, - transfer lain pada dasarnya berhenti. Ping hanya bisa lewat.

Topologi sederhana - modem broadband / router WIFI dalam satu kotak, dengan beberapa klien nirkabel dan beberapa kabel.

Saya sudah mencoba pengaturan ifconfig wlan0/eth0 txqueuelen 1pada semua klien, ini tampaknya sedikit membantu tetapi tidak banyak.

Tips diterima: bagaimana saya harus mendiagnosis dan menghilangkan masalah latensi? Apakah ada lebih banyak pengaturan konfigurasi yang dapat saya atur pada klien, atau mungkin router WIFI yang lebih baik dapat membantu?

cuu508
sumber

Jawaban:

3

Yang Anda butuhkan adalah Kualitas Layanan dan Algoritma Antrian yang dapat disesuaikan. Saya akan merekomendasikan pengaturan seperti ini jika Anda senang bermain dengan Linux / FreeBSD internal dan memiliki uang tunai:

+------+     +--------+      +------+<----> Wireless Access Point
|Router|<--->|Firewall|<---->|Switch|
+------+     +--------+      +------+<----> Wired computers

Di mana Firewall adalah Linux atau FreeBSD atau mesin serupa dengan 2 kartu jaringan yang dapat memaksakan beberapa aturan antrian lanjutan dan Kualitas Layanan pada lalu lintas.

Saya harus melakukan sesuatu yang mirip untuk menghentikan waktu pencarian DNS ketika melakukan transfer data berat melalui koneksi internet yang lebih lambat.

Pilihan lainnya adalah untuk mendapatkan router yang lebih baik - yang bisa Anda instal dd-wrt atau open-wrt karena saya yakin kedua firmware ini menyediakan lebih banyak cara QoS dll daripada router rumah standar rawa.

Majenko
sumber
2

Saya sudah mencoba mengatur ifconfig wlan0/eth0 txqueuelen 1semua klien ...

Perintah itu mengurangi ukuran buffer menjadi 1 paket pada mesin itu. Mesin penting untuk menjalankan perintah ini adalah hambatan untuk jaringan Anda - yaitu, mesin yang memiliki koneksi gigabit di satu sisi, dan koneksi yang jauh lebih lambat ke Internet di sisi lain. Jadi, itu router yang ingin Anda jalankan perintah itu, bukan klien!
Pastikan Anda menjalankan perintah pada antarmuka yang benar (hanya antarmuka LAN keluar) .

Ini tentu saja hanya akan berfungsi jika router Anda menjalankan Linux, dan memungkinkan Anda untuk menjalankan perintah. Untungnya, sebagian besar firmware kustom untuk router rumah (DD-WRT, OpenWRT, Tomat) dapat digunakan.


Perlu dicatat bahwa mengurangi ukuran buffer seperti ini dapat mengacaukan QoS, jadi jika Anda menggunakan QoS pada router Anda, Anda mungkin lebih baik meninggalkan ukuran buffer sendirian dan hanya menggunakan QoS untuk membatasi kecepatan unggah / unduh dari setiap klien untuk secara signifikan di bawah unggah / unduh maks koneksi ... meskipun ini jelas memiliki kerugian memiliki bandwidth yang tidak terpakai ketika hanya satu orang yang terhubung.

BlueRaja - Danny Pflughoeft
sumber
1

QoS atau Quality of Service adalah semacam pengaturan dan penetapan prioritas untuk paket-paket yang akan diproses oleh router ... Inilah yang sebenarnya harus diperhatikan ketika Anda memiliki masalah seperti itu ... Coba cari di panel konfigurasi router Anda dan aktifkan QoS ... Lebih baik menggunakan pengaturan manual dalam kasus Anda, tetapi Anda harus mengetahui urutan prioritas paket yang ingin Anda proses terlebih dahulu hingga terakhir.

lebih
sumber
0

Saya menggunakan Windows dan Mac alih-alih Linux, tetapi solusi bagi saya adalah beralih dari router Netgear di bagian hilir kotak ISP ke router Edge, dan mengatur routing cerdas (yang berasal dari Linux)

George Marengo
sumber