Не так давно я собрал сеть 40G, используя Микротик CRS354-48G-4S+2Q+RM
коммутатор в качестве основы этого. Я очень быстро столкнулся с проблемой использования этого коммутатора: передача данных с порта с большей пропускной способностью, чем порт назначения, вызывает очень большое падение пропускной способности. Например, моя личная машина с Windows оснащена 10G; У меня полноценный гигабитный интернет подключен через 1G. Выполнение теста скорости даст мне ожидаемые ~ 900 Мбит / с вниз, но только ~ 350 Мбит / с вверх. Поднимите мою карту 10G и переключите порт на 1G - она работает на полной скорости. Точно так же передача 40G на порт 10G приводит к значительному снижению пропускной способности.
Мое решение с тех пор, как я собрал сеть, заключалось в настройке маршрутизации для каждого подключенного устройства с использованием либо 40G, либо 10G. В этой маршрутизации устройство использует встроенный 1G для интернет-трафика и 40G/10G для локального трафика. Так как именно здесь происходит большинство случаев. Однако это было не очень надежно.
Мне нужно решение, которое содержится в коммутаторе, предпочтительно. Этот конкретный коммутатор может работать под управлением RouterOS или SwitchOS (я обновил и протестировал обе перед публикацией здесь). Мне сказали, что это, скорее всего, невозможно из-за аппаратных ограничений. В этом случае мне нужно более надежное решение для маршрутизации.
я использовал сетевые инструменты
' команда route для настройки правил маршрутизации. Мой маршрут -n
выглядит так;
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 192.168.0.1 0.0.0.0 УГ 1 0 0 вмбр0
0.0.0.0 192.168.0.1 0.0.0.0 UG 1000 0 0 вмбр1
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 вмбр1
192.168.0.0 0.0.0.0 255.255.255.0 U 1000 0 0 vmbr0
Где vmbr0 = 1G и vmbr1 = 40G
Этот обходной путь обычно работает только для одного локального устройства за раз. Это не было большой проблемой до недавнего времени, когда я поставил второй сервер. У двух серверов, подключенных через 40G, не будет проблем с маршрутизацией, даже если используется IP-адрес сетевой карты 1G. Однако, когда я подключаю свой клиент 10G, он будет перенаправляться на 1G независимо от IP-адреса или интерфейса/IP-адреса, к которому привязана серверная программа. Если я перезапущу сеть на одном из серверов 40G, я временно смогу отправить полные 10G со своего клиента. К сожалению, это непоследовательно, и в любой момент вы снова переключитесь на использование 1G.
Если я правильно использую маршрутизацию, и она по-прежнему упряма, идеальным может быть какой-то сетевой ограничитель, основанный на адресах IPv4.
Подробную информацию об устройствах в моей сети можно найти здесь.
Любая помощь в этом вопросе будет принята с благодарностью.