Я работаю в среде, состоящей из 4 маршрутизаторов OpenWrt, каждый из которых обслуживает несколько клиентов через Wi-Fi и содержит. Каждый из них предоставляет клиентам доступ в Интернет.
У меня есть 3 вопроса относительно этого сценария, и я был бы признателен, если бы кто-нибудь из вас ответил на любой из этих вопросов (вы можете ответить только на 1, и я все равно буду очень благодарен):
1) Когда я нахожусь внутри маршрутизатора (через ssh или другой механизм), какую команду или пакет я могу использовать, чтобы узнать IP-адрес и имя хоста других маршрутизаторов? Бы Avahi помогите мне с этим, или мне нужно будет заранее узнать IP других маршрутизаторов? Что, если я добавлю в эту среду новый маршрутизатор, придется ли мне вручную настраивать каждый маршрутизатор для распознавания нового?
2) Учитывая, что я собираю измерения задержки и отбрасывания пакетов на каждом маршрутизаторе, когда клиенты перестают иметь доступ к Интернет-службам, как я могу узнать, перегружен ли каждый маршрутизатор / сеть или у меня просто нет доступа в Интернет? Потому что в обоих случаях команда ping, скорее всего, не сработает, и пакеты также будут отброшены.
3) Принимая во внимание, что маршрутизаторы будут подключены через высокоскоростной беспроводной канал, какой протокол или программное обеспечение следует использовать, чтобы они могли общаться между собой, например, пинговать друг друга (учитывая, что они уже знают друг друга - вопрос 1)?
Примечание: Эти вопросы не относятся к маршрутизаторам OpenWrt.
[РЕДАКТИРОВАТЬ] Каждый маршрутизатор находится в отдельной комнате, поэтому в каждой комнате создается сеть, например, 10.0.1.0/24, а в следующей комнате 10.0.2.0/24 и так далее.
Каждый маршрутизатор содержит SIM-карту, которая позволяет ему подключаться к сотовой сети и, таким образом, предоставлять клиентам комнаты доступ в Интернет. Итак, у маршрутизаторов нет общей подсети, каждая связана с другой сетью.
Кроме того, мне нужно измерить задержку и отбрасывание пакетов с маршрутизатора, потому что я установлю порог, после которого маршрутизатор должен передать часть своего трафика другому менее загруженному маршрутизатору. Однако я не уверен, подходят ли эти два показателя для измерения нагрузки на канал в маршрутизаторе.
Итак, информация, которую маршрутизаторы OpenWrt будут передавать между собой (каждую 1 секунду), - это пропускная способность, задержка, отбрасывание пакетов и загрузка ЦП. Это для того, чтобы они осознавали загруженность друг друга. И для того, чтобы это было возможно, каждый маршрутизатор должен знать, какие маршрутизаторы находятся в среде (следовательно, обнаружение), вручную или автоматически, чтобы кто-то не мог попытаться действовать как один из маршрутизаторов (MiTM).
Вы не описали свою топологию, но я предполагаю, что все маршрутизаторы имеют общую подсеть, которая соединяет их с маршрутизатором вашего интернет-провайдера.
1) Когда я нахожусь внутри маршрутизатора (через ssh или другой механизм), какую команду или пакет я могу использовать для определения IP-адреса и имени хоста других маршрутизаторов?
Маршрутизаторы OpenWrt не используют протоколы маршрутизации, такие как OSPF, поэтому механизма обнаружения нет. Вам просто нужно знать, что у вас есть. Другие маршрутизаторы, использующие протоколы маршрутизации, создают таблицы своих узлов, которые вы можете изучить.
2) Учитывая, что я собираю измерения задержки и отбрасывания пакетов на каждом маршрутизаторе, когда клиенты перестают иметь доступ к Интернет-службам, как я могу узнать, перегружен ли каждый маршрутизатор / сеть или у меня просто нет доступа в Интернет (ISP ?
Маршрутизаторы могут запускать SNMP, поэтому вы можете использовать его из отдельной системы мониторинга (сервера) для сбора базовой статистики. С его помощью вы можете определить капли. Задержку следует измерять с конечных хостов, а не с маршрутизатора.
3) Принимая во внимание, что маршрутизаторы будут подключены через высокоскоростной беспроводной канал, какой протокол или программное обеспечение следует использовать, чтобы они могли общаться между собой, например, пинговать друг друга?
Маршрутизаторы используют протоколы маршрутизации (OSPF, BGP, EIGRP) для объявления маршрутов в известные им сети. Но что касается OpenWrt, я не уверен, какой информацией, по вашему мнению, они будут делиться между собой.
РЕДАКТИРОВАТЬ
Судя по вашему изменению, вы, кажется, хотите, чтобы маршрутизаторы распределяли между собой нагрузку и клиентов-клиентов при изменении нагрузки.
К сожалению, сделать это сложно. Во-первых, клиент Wi-Fi решает, когда переходить от одной точки доступа (маршрутизатора) к другой, а не точку доступа. Так что вы во власти каждого устройства Wi-Fi. Во-вторых, OpenWrt не имеет функций для обмена рабочими параметрами и изменения поведения на их основе. Даже коммерческие системы Wi-Fi на базе контроллеров добиваются в этом лишь частичного успеха. В этом случае есть центральный контроллер, который контролирует все точки доступа и контролирует их работу.