Користувальницькькі налаштування

Налаштування сайту


traffic

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Both sides previous revision Попередня ревізія
traffic [2013/01/06 01:37]
wombat [Исходящий поток] command strings synchronized with the complete script at the bottom
traffic [2013/01/06 01:39] (поточний)
wombat [Входящий поток]
Рядок 1: Рядок 1:
 +Приёмы экономии Интернет-трафика
  
 +====== Браузер ======
 +
 +  * Отключение изображений
 +  * Отключение JavaScript (некоторые сайты могут не отображаться или не все элементы будут доступны)
 +  * Использование прокси-серверов для сжатия трафика
 +
 +===== Отправка SMS =====
 +
 +==== Life:) ====
 +
 +https://​www.life.com.ua/​sms/​smsFree.html
 +
 +В отдельной вкладке открываем адрес: https://​www.life.com.ua/​sms/​antiBot.html?​type=sms
 +
 +==== Kyivstar ====
 +
 +http://​www.kyivstar.ua/​sms/​
 +
 +Разрешаем загрузку изображений с домена smsgate.kyivstar.ua
 +
 +В Firefox: Правка -- Настройки -- Содержимое -- Автоматически загружать изображения (кнопка "​Исключения"​)
 +
 +
 +==== MTS ====
 +
 +http://​www.mts.com.ua/​ukr/​sendsms.php
 +
 +
 +====== Сетевые службы ======
 +
 +  * Отключить в iftop разрешение сетевых имён
 +<file txt /​root/​.iftoprc>​
 +dns-resolution:​ no
 +show-totals:​ yes 
 +</​file>​
 +
 +  * lsof посылает DNS-запросы
 +
 +====== Skype ======
 +
 +===== Запрет входящих подключений =====
 +
 +Скайп известен тем, что порождает паразитный трафик на компьютерах с реальным (внешним) IP-адресом.
 +Бороться предлагается при помощи файрвола.
 +
 +  iptables -P INPUT DROP
 +  iptables -A INPUT -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +  iptables -A INPUT -i '​lo'​ -j ACCEPT
 +
 +===== Ограничение скорости =====
 +
 +==== Исходящий поток ====
 +
 +FIXME
 +
 +http://​opennet.ru/​openforum/​vsluhforumID10/​2128.html?​n=art
 +
 +http://​gazette.linux.ru.net/​rus/​articles/​lartc/​x1075.html
 +
 +  tc qdisc add dev ppp0 root handle 1: htb default 20
 +  ​
 +  tc class add dev ppp0 parent 1: classid 1:1 htb rate 300kbit burst 15k
 +  tc class add dev ppp0 parent 1:1 classid 1:10 htb rate 24kbit burst 1k prio 1
 +  tc class add dev ppp0 parent 1:1 classid 1:20 htb rate 1kbit ceil 270kbit burst 4k prio 2
 +
 +  tc qdisc add dev ppp0 parent 1:10 handle 10: sfq perturb 10
 +  tc qdisc add dev ppp0 parent 1:20 handle 20: sfq perturb 10
 +
 +  tc filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip sport 34184 0xffff flowid 1:10
 +
 +==== Входящий поток ====
 +
 +Специфика регулирования входящего потока состоит в том, что физически невозможно как-либо ограничить скорость,​ с которой удалённый компьютер передаёт данные на наш компьютер. Однако,​ протокол TCP работает таким образом,​ что если часть данных начинает "​теряться",​ удалённый компьютер автоматически уменьшает скорость передачи данных,​ пока передача снова не станет стабильной. Именно эта уловка и используется здесь. Этот фильтр отбрасывает (//drop//) "​лишние"​ пакеты,​ т.е. пакеты,​ пришедшие сверх указанного потока (в настоящем примере //24 кбит/​с//​),​ что должно приводить к тому, что удалённый компьютер начнёт снижать скорость передачи данных.
 +
 +  tc qdisc add dev ppp0 handle ffff: ingress
 +  tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip dport 34184 0xffff \
 +      police rate 24kbit burst 1k drop flowid :1
 +
 +Полный скрипт для установки контроля скорости исходящего и входящего трафика как для Skype, так и для других приложений может выглядеть примерно так (за основу настоящего скрипта положен пример,​ взятый [[http://​linux.die.net/​HOWTO/​Adv-Routing-HOWTO/​lartc.cookbook.ultimate-tc.html#​AEN1998 | отсюда]]):​
 +
 +<file bash /​etc/​ppp/​ip-up.d/​20tc-skype>​
 +#!/bin/bash
 +
 +DEV=$1
 +LINKSPEED=$3
 +echo $LINKSPEED
 +
 +# Установите эти значения несколько ниже реальных скоростей для входящего (DOWNLINK)
 +# и исходящего (UPLINK) трафика. В килобитах в секунду
 +DOWNLINK=300
 +UPLINK=300
 +
 +# Очистка существующих дисциплин для исходящего и входящего трафика соответственно
 +tc qdisc del dev $DEV root    2> /dev/null > /dev/null
 +tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null
 +
 +###### Исходящий трафик
 +
 +# Установка корневой дисциплины HTB с направлением трафика по умолчанию в дисциплину 1:20:
 +/sbin/tc qdisc add dev $DEV root handle 1: htb default 20
 +
 +# Ограничение суммарной скорости исходящих данных. Это предотвратит создание очереди ​
 +# в модеме которая может создавать неуправляемые задержки:​
 +/sbin/tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 15k
 +
 +# Класс данных с высоким приоритетом 1:10:
 +# с ограничением скорости для Skype в 24кбит/​с и начальным всплеском в 1 кбайт
 +/sbin/tc class add dev $DEV parent 1:1 classid 1:10 htb rate 24kbit burst 1k prio 1
 +
 +# Класс данных по умолчанию. Получает скорость чуть меньше максимальной
 +# и имеет ниже приоритет:​
 +/sbin/tc class add dev $DEV parent 1:1 classid 1:20 htb rate 1kbit \
 +    ceil $[9*$UPLINK/​10]kbit burst 4k prio 2
 +
 +
 +# Установка дисциплины Stochastic Fairness для обоих классов:​
 +/sbin/tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
 +/sbin/tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
 +
 +# Ограничение скорости исходящего трафика для Skype (порт 34184)
 +/sbin/tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip sport 34184 0xffff flowid 1:10
 +
 +# Остальные данные попадают в класс по умолчанию,​ т.е. в 1:20
 +
 +
 +########## Входящий трафик #############​
 +# Замедлим скорость загрузки до значения,​ несколько меньшего реальной скорости загрузки
 +# с тем, чтобы предотвратить создание очереди у провайдера. ​
 +# Можно попробовать разные значения,​ чтобы узнать,​ какое ограничение подойдёт лучше
 +# Обычно провайдеры устанавливают *огромные* очереди, ​
 +# чтобы гарантировать высокую скорость больших загрузок.
 +#
 +# Установка дисциплины для входящих данных:​
 +/sbin/tc qdisc add dev $DEV handle ffff: ingress
 +
 +# Ограничение скорости входящего трафика для Skype (порт 34184)
 +/sbin/tc filter add dev $DEV protocol ip parent ffff: prio 50 u32 match ip dport 34184 0xffff \
 +    police rate 24kbit burst 1k drop flowid :1
 +
 +# Фильтруем *всё*, что приходит (0.0.0.0/​0),​ отбрасываем то, 
 +# что приходит слишком быстро
 +/sbin/tc filter add dev $DEV protocol ip parent ffff: prio 51 u32 match ip src \
 +   ​0.0.0.0/​0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1
 +</​file>​
 +===== Шумоподавитель =====
 +
 +Поскольку Скайп передаёт данные только тогда, когда пользователь что-то говорит (ибо тишину передавать незачем),​ лишний трафик может расходоваться из-за тихого фонового шума (шум вентилятора в ноутбуке,​ звуки работающего телевизора в комнате,​ сетевые наводки и даже дыхание в микрофон). Чтобы предотвратить расход трафика на передачу ненужных фоновых шумов, предлагается использовать пороговый [[alsa/#​шумоподавитель|шумоподавитель]],​ который будет приглушать все звуки, тише некоторого заданного уровня,​ и пропускать громкие звуки (как, например,​ голос пользователя).
traffic.txt · В останнє змінено: 2013/01/06 01:39 by wombat