Мне было интересно, может ли небольшое устройство типа Raspberry Pi использовать алгоритмы управления перегрузкой Linux при любом подключении к Интернету на другом компьютере с Windows / Linux. Достаточно ли превратить устройство Linux в маршрутизатор (потому что маршрутизаторы AFAIK работают только с трафиком уровня 3 OSI, а операции управления перегрузкой TCP находятся только на уровне 4) или мне нужно настроить его как обратный прокси?
Устройство будет между маршрутизатором и компьютером. Будет настроен кабель LAN от ПК к устройству, после чего устройство будет подключено к модему через другой кабель.
В некоторой степени, но вам, вероятно, понадобится устройство с двумя портами Ethernet, иначе это будет серьезный взлом (например, у меня это работало, но у него были интересные проблемы).
Что вы можете сделать на маршрутизаторе, так это ограничить пропускную способность восходящего потока ~ 95% от того, что действительно доступно, чтобы пакеты выстраивались в очередь в маршрутизаторе, а не в модеме, где их все еще можно перегруппировать.
В установке, которой я был весьма доволен, было только два приоритета: «высокий» для маленьких пакетов и «низкий» для больших, при этом 80% доступной полосы пропускания приходилось на небольшие пакеты, если на обоих уровнях есть данные в очереди, потому что это позволяет подтверждать для полученные данные идут впереди, позволяя другой стороне отправить вам больше данных.
В общем, формирование трафика должно выполняться до медленного соединения, поэтому формирование вашего нисходящего потока должно происходить на стороне провайдера. Существует «входящая политика», при которой вы применяете формирователь трафика к входящему трафику, но последствия этого намного менее выражены, потому что все это влияет на механизмы обратной связи (т.е. мы делаем вид, что ссылка хуже, чем она есть на самом деле, что приводит к индивидуальному соединения, чтобы отключить, что дает лучшую общую производительность).