Извините за вопрос новичка по OSPF. Я изучаю протокол и кое-что не понимаю. В OSPF маршрутизация основана на идентификаторе маршрутизатора, который обычно является одним из его IP-адресов. Однако, что нас действительно интересует, так это префиксы всех сетей, к которым маршрутизатор напрямую подключен (это ключ к таблицам маршрутизации RIP, если я не ошибаюсь - и это действительно имеет смысл). Итак, я совершенно не понимаю, как, учитывая IP-адрес пакета назначения, мы определяем маршрутизатор назначения (даже до вычисления кратчайшего пути к нему), не зная сетевых префиксов всех сетей, к которым подключены все маршрутизаторы в таблице?
Эта ссылка была очень полезной: - https://supportforums.cisco.com/document/133976/reading-and-understanding-ospf-database
не зная сетевых префиксов всех сетей, к которым подключены все маршрутизаторы в таблице?
Что заставляет задуматься, таблицы всех сетей нет? OSPF - это протокол маршрутизации состояния канала. Так что надо знать. (По крайней мере, для сетей внутри области. Есть различия в маршрутизации между областями.)
И, кстати, обычно (я уверен, что это верно для реализаций на основе Linux / Unix, но могут быть и другие проприетарные способы его реализации) кратчайший путь не рассчитывается, когда пакет должен быть маршрутизирован, а скорее когда топология изменяется и распространяется в таблицу маршрутизации.
Разница между RIP и OSPF с этой точки зрения заключается в том, что RIP периодически отправляет всю таблицу маршрутизации всем соседям (что, если оно велико, является пустой тратой). OSPF сообщает только об изменениях топологии.
Есть довольно хороший описание содержимого пакетов OSPF.
LSA - это структура данных, описывающая сеть - она передается в пакетах типов 2 и 4 (DBD и LSU). Тип пакета 3 (LSR) используется для запроса LSU от маршрутизатора.
Это содержит достаточно информации, чтобы восстановить топологию всей сети.