Сохранение медленной DSL-связи, реагирующей

418
Michael Lang

У меня есть окно Linux, служащее брандмауэром / маршрутизатором для нашей домашней сети. Я живу в домах, поэтому у меня относительно медленное широкополосное соединение:

Downstream Rate 7616 Kbps  Upstream Rate 512 Kbps  

Что более реалистично, примерно на 5000 Кбит / с вниз, на 300 Кбит / с вверх по данным speedtest.net.

Моим детям нравится играть в Steam, Skype и Minecraft, а также в многопользовательские игры на их Playstation 3. Нам нравится смотреть Hulu и Netflix.

Когда наши дети играют в игры, это часто приводит к потере потокового видео и вообще к интернет-отклику. Во время таких «отключений» я часто вижу сотни соединений, созданных их игровой деятельностью, и находил способ ограничить это для каждого хоста, что очень помогает. Очень простое правило IPTABLES, ограничивающее до 25 соединений на хост:

iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 25 -j REJECT 

С тех пор удалось облегчить целый ряд «инцидентов», но у нас все еще есть проблемы с просмотром Hulu и Netflix, когда дети скачивают какую-то новую игру или загружают свое последнее домашнее видео на YouTube, так что теперь я пытаюсь выяснить, как это сделать. некоторые основные движения трафика.

tc qdisc add dev eth0 root tbf rate 5000Kbit latency 50ms burst 1540 

Но это более или менее убило подключение к Интернету в целом. Я неправильно рассчитал свои цифры или это просто неправильный способ решить мою проблему? В качестве альтернативы, существуют ли другие / более эффективные методы, позволяющие нашему интернету реагировать на потоковую передачу Netflix / Hulu? Я все еще немного узнаю о QoS и формировании трафика, поэтому, пожалуйста, предоставьте ссылки, если вы знаете о некоторых хороших ресурсах, документирующих эту тему.

Я в основном работаю через этого бегемота: http://lartc.org/lartc.html#LARTC.IPROUTE2, чтобы попытаться разобраться.

2
Вы говорите о «отзывчивости», но netflix - это поток с высокой пропускной способностью, и поэтому не требует адаптивного соединения. Игровой OTOH обычно не должен быть требователен к пропускной способности, но должен быть отзывчивым, так как задержка + джиттер отрицательно влияют или ухудшают игровой процесс. Если страдает поток Netflix, я сомневаюсь, что это игра, я думаю, дети что-то скачивают. Я бы создал политику QoS, которая гарантирует пропускную способность netflix box, так что все остальные будут отброшены, пока netflix не получит, скажем, 5 Мбит / с. Для оперативности вы можете посмотреть http://blog.ip.fi/2012/03/silver-bullet-for-home-qos.html 10 лет назад 0

2 ответа на вопрос

1
Paul Gear

Установите Shorewall и используйте его простое руководство по формированию трафика . Он предоставляет простой интерфейс для iptables и различные средства формирования маршрутов и балансировки нагрузки.

1
Remi Letourneau

Unfortunately, QoS will only help you for OUTBOUND flows, as I really do not think your ISP, NETLIX and your son's gaming network (PSN, XBoxLiv...) will use/honor QoS on flows TOWARD you.

You can help a bit by shaping LOWER than your real inbound speed, but this will only work for TCP traffic (once over the BW limit you set, you'll drop some packets and TCP will act on those to lower traffic flows). UDP will still clog everything as it's mostly "Fire & Forget"

Since the bottleneck for your inbound connection is the last leg - your DSL link- your ISP will still drop some random traffic destined for you (since they surely do not have queue priority & shaping configured for regular users)

Это превосходное наблюдение, поэтому лучший способ действительно разрешить эту проблему - найти ADSL-модем, на котором я могу установить Linux, и, таким образом, также установить службы QoS для формирования трафика, чтобы помочь контролировать этот аспект входящего трафика. Я правильно понимаю? Я думаю, что на самом деле ранее я был на некотором правильном пути, добавив в свою конфигурацию IPTABLES правила ограничения скорости, которые просто отбрасывались и пакеты приходили для определенной цели после достижения определенного предела. Я не был уверен, было ли это действительно эффективно или нет в этом конкретном аспекте. Michael Lang 10 лет назад 0
Даже если вы найдете конечную точку DSL, где вы можете выполнять QoS, входящие данные уже заполнили вашу ссылку, даже не достигнув точки QoS. Ограничение скорости поможет вам, если у вас в основном TCP-трафик, все в порядке, так как TCP будет реагировать на отброшенные пакеты, уменьшая скорость потоков. Если ваш трафик в основном UDP или любой другой трафик без средств для регулирования потока, ваша ссылка все равно будет максимально использовать UDP и UDP-подобный трафик (видеоконференцсвязь, Skype, обычная VoIP и т. Д.) - Fire & Forget. на самом деле все равно, пропускаете ли вы пакет время от времени, и поэтому не адаптируете его скорость к ссылке. Remi Letourneau 10 лет назад 0