Вот моя схема локальной сети:
[Laptop (Windows 10)] [Raspberry Pi (Ubuntu)]
\ /
(Layer 2 Switch)
|
(Wireless router w/ gigabit LAN)
|
(Wireless router w/ 100 Mbps LAN)
|
Internet
Я использую Raspberry Pi в качестве NAS-устройства, поэтому мне нужна гигабитная скорость между Pi и ноутбуком на базе Windows.
УстановкабылLAN-to-WAN между двумя маршрутизаторами, и яимелГигабитные скорости между Windows и Pi.
Я только что изменил его так, чтобы гигабитный маршрутизатор был в режиме LAN-to-LAN (ethernet подключен к порту LAN, DHCP отключен). Но теперь Pi и Windows общаются только на скорости 338 Мбит/с! Что с этим?
Насколько я понимаю, коммутатор будет направлять трафик напрямую с одного на другой, не задействуя маршрутизаторы. (Кроме того, pathping/tracert не показывает никаких других IP-адресов между ними.) Однако:
- Когда я запускаю iperf3, все три индикатора на коммутаторе лихорадочно мигают, включая тот, что на маршрутизаторе.
- Скорость составляет гигабит, когда я позволяю гигабитному маршрутизатору быть своим собственным хозяином (DHCP включен, подключение WAN-to-LAN).
- Скорость составляет ~338 Мбит/с, когда я устанавливаю гигабитный маршрутизатор в качестве вторичного маршрутизатора (DHCP выключен, LAN-to-LAN),икогда я удаляю гигабитный маршрутизатор, подключая коммутатор напрямую к маршрутизатору 100 Мбит/с. Скорость в обоих случаях одинаковая, так что медленный маршрутизатор явно участвует.
(Подробности: я измеряю с помощью iperf3. Машина с Windows использует iperf3 в WSL с адаптером Ethernet-USB 3.0. Коммутатор — D-Link DGS-105, гигабитный маршрутизатор — TP-Link Archer C2, маршрутизатор 100 Мбит/с — Fritz!Box 7430. Я измерял только с Windows в качестве клиента и Pi в качестве сервера; я не могу заставить его работать наоборот, даже при отключенных брандмауэрах.)
решение1
Проблема решена! Мне нужно было сделать сброс/обновление DHCP. (Отвечаю на свой собственный вопрос, чтобы отметить его как решенный.)
Для будущих читателей: в Windows это ipconfig /release
тогда ipconfig /renew
, а в Linux sudo dhclient -r eth0
это тогда sudo dhclient eth0
. ( eth0
— это интерфейс; проверьте с помощью , ip a
чтобы определить правильное имя для вашего интерфейса).
Если у кого-то найдется несколько минут, чтобы ответить на оставшиеся у меня вопросы, буду признателен! Пытаюсь извлечь из этого урок.
Вот хронология:
- iperf3 работает на скорости 338 Мбит/с и требует маршрутизатор FritzBox 100 Мбит/с.
- Прошло 12 часов. К сожалению, я не проверил iperf еще раз, прежде чем сделать следующее.
- В Windows я проверил,
arp -a
и Pi просто отсутствовал в списке. - Я немного поковырялся, включая ssh-подключение к Pi из Windows (используя имя хоста). Когда я проверил
arp -a
снова, Pi волшебным образом появился! (Я не сделал освобождение/обновление DHCP на этом этапе.) - iperf3 теперь выдавал гигабитную скорость, но когда я отключил коммутатор от маршрутизатора, Pi и Windows не смогли пинговать друг друга. Кроме того, порт коммутатора к маршрутизатору лихорадочно мигал во время работы iperf.
- Я сделал DHCP release/renew на Windows и Pi. Теперь я получаю ту же гигабитную скорость, но она работает даже когда я отключаю коммутатор от маршрутизатора. При подключении во время iperf порт к маршрутизатору все еще мигает, номеньшеотчаяннее, чем прежде.
Из этого я делаю вывод о следующем:
- Когда я получал 338 Мбит/с, коммутатору требовался маршрутизатор с поддержкой DHCP длячто-нибудь, но, вероятно, не для передачи трафика (потому что 338 Мбит/с > 100 Мбит/с). Возможно, он опрашивал маршрутизатор, чтобы определить пункт назначения каждого пакета?
- Используя SSH из Windows в Pi, я как-то улучшил ситуацию, но не дал коммутатору полной независимости от маршрутизатора(ов). Возможно, это заставило гигабитный маршрутизатор научиться отвечать на запросы коммутатора, не вовлекая более медленный маршрутизатор?
- С полным освобождением/обновлением DHCP коммутатор стал способен направлять трафик без маршрутизатора. Это произошло потому, что Windows и/или Pi узнали адрес друг друга, или освобождение/обновление DHCP также обновило таблицы маршрутизации коммутатора (или какой-то эквивалент коммутатора)?
- Теперь, когда переключательможетЕсли трафик передается без маршрутизатора, почему он все равно включает маршрутизатор (на что указывает мигающий индикатор), если он доступен?
Спасибо за то, что уделили время ответам на эти вопросы! И спасибо @user1686 за то, что направил меня на верный путь.