Для построения таблиц маршрутизации существует два метода: статический и динамический. Статический метод заключается в том, что администратор вручную создает и удаляет записи в таблице. В состав операционной системы Windows Server 2003 входит утилита route. Она может использоваться с четырьмя командами:
• print – печать текущего содержимого таблицы;
• add – добавление новой записи;
• delete – удаление устаревшей записи;
• change – редактирование существующей записи.
Запись должна определяться следующим образом:
<destination> MASK <netmask> <gateway> METRIC <metric> IF <interface>
Например:
route add 160.95.1.0 mask 255.255.255.0 160.95.1.1 metric 20 IF 1
Кроме того, можно использовать два ключа:
-f – удаление из таблицы всех записей, кроме записей по умолчанию;
-р – создание постоянной записи (т. е. не исчезающей после перезагрузки). По умолчанию создаются временные записи.
Достоинством статического метода является простота. С другой стороны, для сетей с быстро меняющейся конфигурацией этот метод не подходит, так как администратор может не успевать отслеживать все изменения. В этом случае применяют динамический метод построения таблицы маршрутизации, основанный на протоколах маршрутизации. В Windows Server 2003 реализовано два таких протокола – RIP и OSPF.
Маршрутизаторы, работающие по протоколу RIP (Routing Information Protocol – протокол маршрутной информации), обмениваются содержимым своих таблиц путем групповых рассылок через каждые 30 секунд. Если за 3 минуты не получено никаких сообщений от соседнего маршрутизатора, линия связи между маршрутизаторами считается недоступной. Максимальное число маршрутизаторов, определенное в протоколе RIP, – 15. Узлы, находящиеся на большем расстоянии, считаются недоступными. Так как обмен происходит целыми таблицами, при увеличении числа маршрутизаторов объем трафика сильно возрастает. Поэтому протокол RIP не применяется в крупных сетях.
Протокол OSPF (Open Shortest Path First – первыми открываются кратчайшие маршруты, описан в RFC 2328) в отличие от RIP может применяться в крупных сетях, так как, во-первых, в процессе обмена информацией о маршрутах передаются не таблицы маршрутизации целиком, а лишь их изменения. Во-вторых, в таблице содержится информация не о всей сети, а лишь о некоторой её области. Если адрес назначения отсутствует в таблице, пакет направляется на специальный пограничный маршрутизатор, находящийся между областями. Своё название протокол OSPF получил по алгоритму Дейкстры, лежащему в основе протокола и позволяющему найти наиболее короткий маршрут между двумя узлами сети.
Все OSPF-сообщения имеют одинаковый заголовок содержащий следующие поля:
• версия — соответствует версии протокола;
• тип — характеризует тип сообщения;
• длина пакета — содержит длину всего сообщения в байтах;
• идентификатор маршрутизатора — определяет маршрутизатор, отправивший это сообщение;
• идентификатор области — определяет область, к которой относится это сообщение;
• контрольная сумма — контрольная сумма, вычисленная для всего сообщения целиком;
• тип аутентификации — соответственно тип аутентификации этого сообщения (0 — аутентификация отсутствует, 1 — используется пароль);
• аутентификация — данные для аутентификации (например,пароль).
Существует пять типов OSPF-сообщений:
1) hello;
2) описание базы данных (Database Description);
3) запрос о состоянии связей (Link State Request);
4) обновление состояния связей (Link State Update);
5) подтверждение состояния связей (Link State Acknowledgment).
Формат тела сообщений различается в зависимости от типа сообщения, т. е. от выполняемых этим сообщением функций