
- •Назначение адресов узлам сети. Протоколы bootp и dhcp.
- •Доставка пакетов. Маршрутизация. Rip, ospf.
- •Типы алгоритмов маршрутизации.
- •Показатели алгоритмов (метрики)
- •Протоколы маршрутизации на основе алгоритма вектора расстояния
- •Распространение "хорошей" новости в сети.
- •Проблема возрастания до бесконечности.
- •Пример ситуации, когда правило расщепления горизонта не действует.
- •Протоколы маршрутизации на основе алгоритма состояния канала
Пример ситуации, когда правило расщепления горизонта не действует.
В начальный момент времени А и B знают, что расстояние до узла D равно "2". После выхода D из строя маршрутизатор C, не получив от D сообщения, определяет, что узел D недоступен. А и В продолжают считать D доступным, но правило расщепления горизонта запрещает им сообщать эту ложную информацию маршрутизатору С. При следующем обмене C уведомляет A и B о недоступности D. Но одновременно с этим узел А получает от В сообщение о пути до D стоимостью "2", а узел В получает аналогичное сообщение от А.
Информация об аварии на D не будет услышана. Проблема возрастания до бесконечности возникла вновь.
Временные задержки изменений
В рассмотренном выше примере маршрутизаторы A и B не смогли корректно определить отказ узла D. Не помогло и правило расщепления горизонта. Подобную проблему помогает решить метод временного отказа от приема сообщений (hold-down), используемый современными протоколами вектора расстояний.
Правило отказа от приема запрещает маршрутизатору, получившему сообщение об отказе узла, принимать объявления маршрута до этого узла в течение некоторого времени. Получив от C уведомление о недоступности D, маршрутизатор А не должен доверять сообщению узла B, так как в момент обмена тот не имел достоверной информации о D. Лишь спустя некоторое время, когда можно быть уверенным, что информация об отказе D распространилась по всей сети, маршрутизатор A может вновь начинать принимать объявления о путях до D. (За это время и А и B сотрут информацию о маршруте до D, так как оно превышает время хранения записи в таблице маршрутизации).
Корректировки отмены маршрута
В то время как целью расщепления горизонта является предотвращение образования маршрутных петель между соседними роутерами, корректировки отмены преданазначены для устранения более крупных маршрутных петель. Этот метод основан на допущении о том, что увеличение расстояния до сети назначения обычно указывает на наличие маршрутных петель. В этом случае отправляются корректировки отмены для временной блокировки и последующего удаления данного маршрута из таблиц.
В RIP сообщения инкапсулируются в udp-дейтограммы, при этом передача осуществляется через порт 520. В качестве метрики RIP использует число шагов до цели. Если между отправителем и приемником расположено три маршрутизатора (gateway), считается, что между ними 4 шага. Такой вид метрики не учитывает различий в пропускной способности или загруженности отдельных сегментов сети. Применение вектора расстояния не может гарантировать оптимальность выбора маршрута, ведь, например, два шага по сегментам сети ethernet обеспечат большую пропускную способность, чем один шаг через последовательный канал на основе интерфейса RS-232.
Маршрут по умолчанию имеет адрес 0.0.0.0 .
Как и другие протоколы маршрутизации, RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP (routing update timer) обычно устанавливается на 30 сек., что гарантирует отправку каждым роутером полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов (route invalid timer) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой- нибудь маршрут признан недействительным, то соседи уведомяются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута (route flush timer). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров- 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.
Протокол RIP-2 (RFC-1388, 1993 год) является новой версией RIP, которая в дополнение к широковещательному режиму поддерживает мультикастинг; позволяет работать с масками подсетей.
Формат сообщения протокола RIP-2 имеет вид, показанный на рис.
Поле команда определяет выбор согласно следующей таблице:
Команда |
Значение |
1 |
Запрос на получение частичной или полной маршрутной информации; |
2 |
Отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя; |
3 |
Включение режима трассировки (устарело); |
4 |
Выключение режима трассировки (устарело); |
5-6 |
Зарезервированы |
Поле версия для RIP равно 1 (для RIP-2 двум). Поле набор протоколов сети i определяет набор протоколов, которые используются в соответствующей сети (для Интернет это поле имеет значение 2). Поле расстояние до сети i содержит целое число шагов (от 1 до 15) до данной сети. В одном сообщении может присутствовать информация о 25 маршрутах.
Поле маршрутный демон является идентификатором резидентной программы-маршрутизатора. Для RIP-1 =0. Поле метка маршрута используется для поддержки внешних протоколов маршрутизации, сюда записываются коды автономных систем. Для RIP-1 =0 При необходимости управления доступом можно использовать первые 20 байт с кодом набора протоколов сети 0xFFFF и меткой маршрута =2. Тогда в остальные 16 байт можно записать пароль.
Поля маски и адреса следующего маршрутизатора в версии 1 равны 0.
При реализации RIP можно выделить следующие режимы:
Инициализация, определение всех "живых" интерфейсов путем посылки запросов, получение таблиц маршрутизации от других маршрутизаторов. Часто используются широковещательные запросы.
Получен запрос. В зависимости от типа запроса высылается адресату полная таблица маршрутизации, или проводится индивидуальная обработка.
Получен отклик. Проводится коррекция таблицы маршрутизации (удаление, исправление, добавление).