Мене трохи бентежить наступні 2 RFC, що стосуються IPv6:
RFC 4862 заявляє:
Процес автоконфігурації, зазначений у цьому документі, стосується лише хостів, а не маршрутизаторів. Оскільки автоконфігурація хоста використовує інформацію, рекламовану маршрутизаторами, маршрутизатори повинні бути налаштовані якимись іншими способами.
RFC 7084 перераховує одну з вимог конфігурації на стороні WAN для призначення адреси як:
WAA-1: Маршрутизатор IPv6 CE ОБОВ'ЯЗКОВО підтримує автоконфігурацію адреси без стану (SLAAC) [RFC4862].
Чи є тут суперечність?
Чи повинен маршрутизатор мати можливість налаштувати IPv6-адресу для свого інтерфейсу WAN?
Чому пише RFC 4862
Оскільки автоконфігурація хоста використовує інформацію, рекламовану маршрутизаторами, маршрутизатори повинні бути налаштовані якимись іншими способами.
Якщо я використовую маршрутизатор, наприклад, для підключення своєї локальної мережі до Інтернет-провайдера, чи немає в мережі провайдера маршрутизатор, який розмовляє з моїм маршрутизатором?
Я б подумав, що цілком розумно мати 2 (або більше) маршрутизаторів, прикованих разом. У цьому випадку чому б не використовувати SLAAC на інтерфейсі WAN другого маршрутизатора?
Можливо, питання зводиться до штучного розрізнення хостів і маршрутизаторів? Від RFC 4862:
вузол - пристрій, що реалізує IP.
маршрутизатор - вузол, який пересилає IP-пакети, явно не адресовані собі.
хост - будь-який вузол, який не є маршрутизатором.
Але чи не може хост (тобто машина, на якій розміщені сервери чи програми) також не має таблиці маршрутизації та функціонувати як маршрутизатор? І ми знову знову з’єднуємо 2 маршрутизатора разом.
Редагувати : додаткову інформацію, яку я пізніше виявив ...
Ядро Linux обробляє SLAAC, і воно чітко слідує за RFC 4862. Відразу до розрізнення хостів і маршрутизаторів. Дивіться документацію на ядро на ip-sysctl :
- Поведінка HOST передбачається. Це означає, що маршрутизатори будуть відправлені, а рекламні маршрутизатори будуть використані для автоматичної конфігурації адреси.
- Тільки якщо ввімкнено переадресацію (
/proc/sys/net/ipv6/conf/all/forwarding
), пристрій вважається маршрутом . Що означає, що жодні розсилки маршрутизаторів не надсилатимуться, а реклами маршрутизаторів будуть ігноровані.
Виявляється, це відмінність відходить назад, до IPv6. Дивіться параметр /proc/sys/net/ipv4/ip_forward
:
Ця змінна особлива, її зміна скидає всі параметри конфігурації до їх стандартного стану ( RFC1122 для хостів, RFC1812 для маршрутизаторів)