Протокол OSPF (Open Shortest Path First) принят в 1991 году. Он ориентирован на применение в больших распределенных сетях. Основан на алгоритме состояния канала. Суть этого алгоритма состоит в том, что он должен вычислить кратчайший путь. Под «кратчайшим» имеется в виду не физическая длина, а время передачи информации.
Маршрутизатор отправляет запросы своим соседям, находящимся в одном домене маршрутизации, для выявления состояния каналов до них и далее от них. Состояние канала при этом характеризуется несколькими параметрами, называемыми «метрикой». Это может быть:
¨ пропускная способность канала;
¨ загрузка канала на текущий момент;
¨ задержка информации при прохождении по этому каналу и т.д.
Обобщив полученные сведения, маршрутизатор сообщает их всем соседям. После этого им строится ориентированный граф топологии домена маршрутизации. Каждому ребру графа назначается оценочный параметр (метрика)(рис.7.3.).
![]() |
Рис.7.3.
Затем используется алгоритм Дейкстры, который по двум заданным узлам находит набор ребер с наименьшей суммарной стоимостью, т.е. выбирается оптимальный маршрут. В соответствии с этим строится таблица маршрутизации.
Протокол OSPF относится к классу IGP-протоколов и заменяет протокол RIP в больших и сложных сетях. Рассылка информации о состоянии каналов производится каждые 30 минут. На основе этих сообщений на каждом из маршрутизаторов создается база данных состояния каналов (Link-State Datadase). Эта база одинакова на всех маршрутизаторах домена.
На основе этой базы данных маршрутизатор формирует карту сетевой топологии и дерево кратчайших путей ко всем возможным получателям (см. рис.). Затем формируется таблица маршрутизации (табл.7.1.). Для сетей, подключенных к маршрутизатору напрямую указывается метрика, равная нулю.
Таблица 7.1.
| Сеть | Следующий маршрутизатор пути | Метрика маршрута |
| Сеть 1 | Маршрутизатор 5 | |
| Сеть 2 | Подключена напрямую | |
| Сеть 3 | Подключена напрямую | |
| Сеть 4 | Маршрутизатор 2 | |
| Сеть 5 | Маршрутизатор 2 | |
| Сеть 6 | Маршрутизатор 4 |
При изменении состояния хотя бы одного подключенного канала, маршрутизатор рассылает сообщения своим соседям. Производится корректировка базы данных каналов, вычисляются кратчайшие пути, формируется заново таблица маршрутизации.
В больших сетях (с сотнями маршрутизаторов) протокол порождает очень много маршрутной информации, а база данных состояния каналов может достигать нескольких Мбайт.







