Я знаю, что существуют управляемые коммутаторы, которые позволяют жестко задавать скорость их портов до 10/100/1000 Мбайт в секунду. Но что, если я хочу установить скорость только 1 Мб в секунду или, возможно, даже 500 Кб в секунду. Есть ли переключатели, поддерживающие такую настройку? Если нет, есть ли другие решения этой проблемы?
Обновить:
Проблема, с которой я столкнулся, заключается в том, что я хочу запустить дома небольшой веб-сервер, которым будет пользоваться очень мало людей. Поскольку у меня относительно низкая скорость интернета - 20 Мбайт в секунду, я не хочу, чтобы он слишком сильно перегружал пропускную способность, поэтому я хотел бы ограничить скорость загрузки, скажем, 1 Мбайт в секунду, поэтому я знаю, что мой домашний Интернет будет работать в значительной степени хорошо. Я думаю, что наличие коммутатора, который пропускает только 1 Мбит / с через один из своих портов, будет идеальным решением этой проблемы.
Если вы используете Linux, вы можете использовать программное формирование трафика вместо ограничения сервера на уровне коммутатора.
Очевидно, это будет дешевле, проще и гибче. Вы можете добавить качество обслуживания (QoS) поверх него, чтобы ограничить / установить приоритеты для разных портов, а значит, и для разных приложений.
У Arch Linux есть хороший документ Вот. Взгляните, если хотите.
Нет. Как указал Гарри, 10, 100 и 1000 Мбит / с - это разные протоколы Ethernet (на витой паре, то есть 10BASE-T, 100BASE-TX, 1000BASE-T). В зависимости от оборудования вы можете принудительно установить определенный протокол или ограничить автосогласование TP до определенных скоростей, но между ними нет произвольных скоростей).
Будьте осторожны при отключении автосогласования и форсировании скорости, вы также деактивируете полудуплексное / дуплексное согласование, заставляя узел вернуться в полудуплекс, когда он все еще пытается автосогласование. Вам нужно либо использовать что-то вроде Auto-10/100
чтобы ограничить согласованную скорость на коммутаторе или настроить обе стороны (коммутатор и хост), например, 100BASE-TX/FDX
. Ваши точные параметры зависят от вашего оборудования.
Помимо скорости соединения, вы можете настроить некоторые коммутаторы, чтобы ограничить эффективный входящий или исходящий трафик на порт определенной пропускной способностью - избыточный трафик просто отбрасывается. Хотя это имитирует более медленное соединение, это не совсем то же самое. Узел, связанный с 100BASE-TX, может отправлять по каналу трафик на 100 Мбит / с, но когда коммутатор ограничивает вход до 20 Мбит / с, 80% кадров будут отброшены.
Некоторые протоколы транспортного уровня могут обрабатывать эту ситуацию автоматически и регулировать поток (например, TCP), а некоторые не могут (например, UDP). Когда на прикладном уровне нет подтверждения, трафик просто исчезнет.
Проблема перегрузки вашего сервера - или, скорее, восходящего канала - лучше всего решается путем реализации QoS на маршрутизаторе. Вы должны определить класс трафика (IP-адрес источника сервера, TCP-порт источника сервера) и ограничить максимальную пропускную способность, которая транспортируется. В качестве альтернативы вы можете просто присвоить ему низкий приоритет, чтобы он просто отбрасывался, когда (или немного раньше) начинается перегрузка.
Если вы ограничите пропускную способность порта восходящей связи сервера на коммутаторе, у вас также будет ограниченная скорость в вашей сети.