IP-план

Принципиально, нам нужно выделить адреса для следующих подключений:

  1. Адреса сети Underlay между ToR и машиной. Они должны быть уникальны в пределах всей сети, чтобы любая машина могла связаться с любой другой. Отлично подходит 10/8. На каждую стойку по /26 с запасом. Будем выделять по /19 на ДЦ и /17 на регион.

  2. Линковые адреса между Leaf/Tor и Spine.
    Их хотелось бы назначать алгоритмически, то есть вычислять из имён устройств, которые нужно подключить.
    Пусть это будет… 169.254.0.0/16.
    А именно 169.254.00X.Y/31, где X - номер Spine, Y - P2P-сеть /31.
    Это позволит запускать до 128 стоек, и до 10 Spine в ДЦ. Линковые адреса могут (и будут) повторяться из ДЦ в ДЦ.
  3. Cтык Spine - Edge-Leaf организуем на подсетях 169.254.10X.Y/31, где точно так же X - номер Spine, Y - P2P-сеть /31.

  4. Линковые адреса из Edge-Leaf в MPLS-магистраль. Здесь ситуация несколько иная - место соединения всех кусков в один пирог, поэтому переиспользовать те же самые адреса не получится - нужно выбирать следующую свободную подсеть. Поэтому за основу возьмём 192.168.0.0/16 и будем из неё выгребать свободные.

  5. Адреса Loopback. Отдадим под них весь диапазон 172.16.0.0/12.
    • Leaf - по /25 на ДЦ - те же 128 стоек. Выделим по /23 на регион.
    • Spine - по /28 на ДЦ - до 16 Spine. Выделим по /26 на регион.
    • Edge-Leaf - по /29 на ДЦ - до 8 коробок. Выделим по /27 на регион.

Если в ДЦ нам не будет хватать выделенных диапазонов (а их не будет - мы же претендуем на гиперскейлероство), просто выделяем следующий блок.

Вот такая картина с IP-адресацией.

https://fs.linkmeup.ru/images/adsm/2/ip_plan.png
Loopback’и:
 +------------------+-------+--------+-----+
 | Префикс          | Роль  | Регион | ДЦ  |
 +==================+=======+========+=====+
 | 172.16.0.0/23    |       |        |     |
 +------------------+       +--------+-----+
 | 172.16.0.0/27    |       |        | ru  |
 | 172.16.0.0/29    |       |   ru   | msk |
 | 172.16.0.8/29    |       |        | kzn |
 +------------------+       +--------+-----+
 | 172.16.0.32/27   | edge  |        | sp  |
 | 172.16.0.32/29   |       |   sp   | bcn |
 | 172.16.0.40/29   |       |        | mlg |
 +------------------+       +--------+-----+
 | 172.16.0.64/27   |       |        | cn  |
 | 172.16.0.64/29   |       |   cn   | sha |
 | 172.16.0.72/29   |       |        | sia |
 +------------------+-------+--------+-----+
 | 172.16.2.0/23    |       |        |     |
 +------------------+       +--------+-----+
 | 172.16.2.0/26    |       |        |     |
 | 172.16.2.0/28    |       |   ru   | msk |
 | 172.16.2.16/28   |       |        | kzn |
 +------------------+       +--------+-----+
 | 172.16.2.64/26   | spine |        |     |
 | 172.16.2.64/28   |       |   sp   | bcn |
 | 172.16.2.80/28   |       |        | kzn |
 +------------------+       +--------+-----+
 | 172.16.2.128/26  |       |        |     |
 | 172.16.2.128/28  |       |   cn   | sha |
 | 172.16.2.144/28  |       |        | sia |
 +------------------+-------+--------+-----+
 | 172.16.8.0/21    |       |        |     |
 +------------------+       +--------+-----+
 | 172.16.8.0/23    |       |        |     |
 | 172.16.8.0/25    |       |   ru   | msk |
 | 172.16.8.128/25  |       |        | kzn |
 +------------------+       +--------+-----+
 | 172.16.10.0/23   | leaf  |        |     |
 | 172.16.10.0/25   |       |   sp   | bcn |
 | 172.16.10.128/25 |       |        | mlg |
 +------------------+       +--------+-----+
 | 172.16.12.0/23   |       |        |     |
 | 172.16.12.0/25   |       |   cn   | sha |
 | 172.16.12.128/25 |       |        | sia |
 +------------------+-------+--------+-----+
Underlay:
 +------------------+--------+-----+
 | Префикс          | Регион | ДЦ  |
 +==================+========+=====+
 | 10.0.0.0/17      |        |     |
 | 10.0.0.0/19      |   ru   | msk |
 | 10.0.32.0/19     |        | kzn |
 +------------------+--------+-----+
 | 10.0.128.0/17    |        |     |
 | 10.0.128.0/19    |   sp   | bcn |
 | 10.0.160.0/19    |        | mlg |
 +------------------+--------+-----+
 | 10.1.0.0/17      |        |     |
 | 10.1.0.0/19      |   cn   | sha |
 | 10.1.32.0/19     |        | sia |
 +------------------+--------+-----+