Что происходит с пакетами, когда забит исходящий канал?

Изображении интернета и информации
Всем известно, что работа торрент-клиента при неправильной настройке сильно забивает канал. Про то, как это предотвратить, а именно ограничить количество соединений, написано уже не один десяток статей. Но что конкретно происходит с пакетами в этом время?…

Если у Вас настроен модем в режиме маршрутизатора, то при работе p2p клиентов (torrent, mule и т.п.) компьютер создает много соединений, которые посылаются через маршрутизатор (модем). Маршрутизатор немного меняет отправляемые пакеты, запоминая все пакеты в т.н. таблице NAT. Если пакетов очень много, то памяти под таблицу NAT не хватает. В лучшем случае, пакеты будут отброшены (хороший маршрутизатор), в самом плохом (очень плохой маршрутизатор) — модем перегрузится, часто (просто плохой маршрутизатор) модем просто начнет глючить. Соответственно, экономить на покупке хорошего сетевого устройства не стоит.

Последние деньги на маршрутизатор. Займи, но купи!

 

срочный микрозайм

 

Предположим torrent программа полностью забила исходящий канал…

Когда канал забит, то не все пакеты, которые отправляются доходят по назначению. Некоторые просто отбрасываются (на компе или модеме). Остальные долго ждут очереди на отправку. Теперь вы хотите нечто скачать (по протоколу TCP, есть еще UDP — там иначе). Скачивание по протоколу TCP подразумевает отправку маленьких пакетов подтверждений, что скачанные данные дошли. Эти пакеты подтверждения становятся в общую очередь с другими пакетами (которые уже забили исходящий канал). Часть пакетов отбрасывается, часть долго ждет в очереди.

Сервер, посылающий данные по TCP начинает посылать данные медленнее, некоторые, на которые не получил подтверждение, может послать повторно (это зависит от протокола верхнего уровня). Поток обратных (исходящих) данных при скачивании может достигать до 10% от входящих. Он может быть в 2 раза больше, если на компьютере выставлено неправильное значение MTU. В этом случае пакеты начинают дробится и подтверждений может потребоваться больше.

Безусловно пинги при загрузке канала немного по-другому себя ведут. Некорректируемые ошибки скорее всего увидите в web-конфигураторе модема. CRC Interleaved — и есть такие ошибки. Но у Вас проблема с upstream. Модем получает число ошибок на передачу со стороны DSLAM и часто показывает «погоду на Марсе». Числу ошибок на прием (RX) доверять можно, на передачу — лучше смотреть провайдеру.