Обеспечение уникальной адресации
Наиболее важным аспектом межсетевой адресации является уникальность. За исключением IPv6, любой сетевой протокол требует, чтобы одновременно существовала только одна конечная точка с указанным адресом. Избыточная межсетевая адресация приводит к возникновению ошибок маршрутизации и нарушает согласованность сетевых операций.
Протокол IPv6 предлагает новую схему адресации с так называемыми общими адресами (anycast). Общие адреса создаются автоматически, когда один и тот же адрес присваивается нескольким устройствам. Устройство маршрутизации при получении пакетов, передаваемых по общему адресу, просто направляет эти пакеты ближайшему устройству с таким адресом. Следовательно, устройства с общим адресом должны быть полностью взаимозаменяемыми на функциональном и конструктивном уровне.
Теоретически можно допустить, что в том случае, если глобальная сеть не будет непосредственно подключена к Internet, присвоение произвольных адресов никоим образом не скажется на ее функционировании. Вообще говоря, присвоение произвольных адресов Internet является недальновидным поступком и рано или поздно системный администратор будет вынужден заменить их. В мае 1993 года вышел документ RFC #1597, который определил и зарезервировал три диапазона адресов (по одному диапазону для классов адресов А, В и С протокола IPv4), которые можно использовать для внутренних нужд сети:
• 10.0.0.0-10.255.255.255
• 172.16.0.0-172.31.255.255
• 192.168.0.0-192.168.255.255
Эти диапазоны для использования в частных сетях резервирует соглашение о присвоении адресов Internet (Internet Assigned Numbers Authority — IANA). Один пункт документа RFC #1597 оговаривает, что эти адреса нельзя использовать при прямом доступе к Internet. Компании, уже использующие эти адреса и впоследствии сталкивающиеся с необходимостью подключения к Internet, могут воспользоваться в качестве посредника про-кси-сервером (proxy server) с уникальным и зарегистрированным IP-адресом. В качестве альтернативы можно использовать методики трансляции сетевых адресов (Network Address Translation — NAT).
При использовании зарезервированных документом RFC #1597 адресов необходимо строго следить за уникальностью адреса каждого устройства в пределах домена локальной сети. Адреса могут повторяться в глобальной сети, но в локальной сети они должны быть уникальными.
Использование протоколов маршрутизации
Протоколы динамической маршрутизации используются маршрутизаторами для выполнения трех основных функций:
• Открытия новых маршрутов
• Уведомления других маршрутизаторов об открытых маршрутах
• Пересылки пакетов по этим маршрутам
Существует три основных типа протоколов динамической маршрутизации: дистанционно-векторные, с анализом состояния канала и гибридные. Основное их различие заключается в способе выполнения первых двух из трех вышеупомянутых функций. Единственной альтернативой динамической маршрутизации является статическая.
Дистанционно-векторная маршрутизация
В соответствии с алгоритмом дистанционно-векторной маршрутизации Бельмона-Форда (Bellman-Ford) непосредственным соседям по сети периодически пересылаются копии маршрутных таблиц. Каждый получатель, в свою очередь, добавляет собственный вектор расстояния к таблице и отсылает ее своим соседям. Таблицы распространяются между соседствующими маршрутизаторами по всем возможным направлениям.
Описанный итерационный процесс предоставляет каждому маршрутизатору возможность получать информацию от всех остальных и постепенно накапливать данные о сетевых расстояниях. Например, одним из самых распространенных протоколов дистанционно-векторной маршрутизации является протокол обмена маршрутной информацией RIP. Для определения оптимального пути протокол использует две основные размерности. В первом случае анализируется предполагаемое время прохождения пакета, измеренное в тактах, во втором — та же величина, но уже измеренная в пролетах.
Маршрутизаторы могут использовать большое количество размерностей для определения оптимальных маршрутов между отправителем и получателем. Эфемерно эти размерности можно назвать "сетевыми расстояниями". Такие расстояния могут быть представлены интервалом времени, количеством пролетов маршрутизаторов и т.п. и не ограничены физическими расстояниями.
Для обновления таблиц всех маршрутизаторов используется общая таблица расстояний. После заполнения общей таблицы каждый маршрутизатор располагает весьма смутными сведениями о расстояниях до сетевых ресурсов и не имеет данных об особенностях соседних устройств и действительной топологии сети.
В определенных ситуациях такой подход создает реальные проблемы для дистанционно-векторных протоколов. Например, после возникновения сбоя маршрутизаторы тратят некоторое время на "осмысление" новой сетевой топологии. Во время таких переходных процессов в таблицы могут попасть противоречивые сведения, что отрицательно скажется на своевременности доставки данных.
Существует множество различных способов защиты от таких ситуаций, но факт остается фактом — во время переходного процесса производительность сети находится под угрозой. Следовательно, старые протоколы, которые дольше "осмысливают" изменения, не должны использоваться в больших и сложных глобальных сетях.