IGRP использует комбинацию (вектор) показателей. Задержка объединенной сети (internetwork delay), ширина полосы (bandwidth), надежность (reliability) и нагрузка (load) - все эти показатели учитываются в виде коэффициентов при принятии маршрутного решения. Администраторы сети могут устанавливать факторы весомости для каждого из этих показателей. IGRP использует либо установленные администратором, либо устанавливаемые по умолчанию весомости для автоматического расчета оптимальных маршрутов.
IGRP предусматривает широкий диапазон значений для своих показателей. Например, надежность и нагрузка могут принимать любое значение в интервале от 1 до 255, ширина полосы может принимать значения, отражающие скорости пропускания от 1200 до 10 гигабит в секунду, в то время как задержка может принимать любое значение от 1-2 до 24-го порядка. Широкие диапазоны значений показателей позволяют производить удовлетворительную регулировку показателя в объединенной сети с большим диапазоном изменения характеристик производительности. Компоненты показателей объединяются по алгоритму, который определяет администратор.
Для обеспечения дополнительной гибкости IGRP разрешает многотрактовую маршрутизацию. Дублированные линии с одинаковой шириной полосы могут пропускать отдельный поток трафика циклическим способом с автоматическим переключением на вторую линию, если первая линия выходит из строя. Несколько трактов могут также использоваться даже в том случае, если показатели этих трактов различны. Только маршруты с показателями, которые находятся в пределах определенного диапазона показателей наилучшего маршрута, используются для многотрактовой маршрутизации.
Первое поле пакета IGRP содержит номер версии (version number). Этот номер версии указывает на используемую версию IGRP и сигнализирует о различных, потенциально несовместимых реализациях.
За полем версии идет поле операционного кода (opcode), обозначающее тип пакета. Операционный код, равный 1, обозначает пакет корректировки; равный 2-пакет запроса. Пакеты запроса используются источником для запроса маршрутной таблицы из другого роутера. Эти пакеты состоят только из заголовка, содержащего версию, операционный код и поля номера AS. Пакеты корректировки содержат заголовок, за которым сразу же идут записи данных маршрутной таблицы. На записи данных маршрутной таблицы не накладывается никаких ограничений, за исключением того, что пакет не может превышать 1500 байтов, вместе с заголовком IP. Если этого недостаточно для того, чтобы охватить весь объем маршрутной таблицы, то используются несколько пакетов.
Поле выпуска (edition) содержит последовательный номер, который инкрементируется, когда маршрутная таблица каким-либо образом изменяется. Это значение используется для того, чтобы позволить роутерам избежать обработки корректировок, содержащих информацию, которую они уже видели.
Затем идет поле, содержащее номер AS (AS number). Это поле необходимо по той причине, что маршрутизаторы Cisco могут перекрывать несколько AS. Несколько AS (или процессов IGRP) в одном роутере хранят информацию маршрутизации AS отдельно.
Следующие три поля обозначают номер подсетей, номер главных сетей и номер внешних сетей в пакете корректировки. Эти поля присутствуют потому, что сообщения корректировки IGRP состоят из трех частей: внутренней для данной подсети, внутренней для текущей AS и внешней для текущей AS. Сюда включаются только подсети сети, связанной с тем адресом, в который отправляется данная корректировка. Главные сети (т.е. не подсети) помещаются во "внутреннюю для текущей AS" часть пакета, если только они не помечены четко как внешние. Сети помечаются как внешние, если информация о них поступает во внешней части сообщения из другого роутера.
Последним полем в заголовке IGRP является поле контрольной суммы (checksum). Оно содержит какую-нибудь контрольную сумму для заголовка IGRP и любую информацию корректировки, содержащуюся в данном пакете. Её вычисление позволяет принимающему роутеру проверять достоверность входящего пакета.
Сообщения о корректировке содержат последовательность из семи полей данных для каждой записи данных маршрутной таблицы. Первое из этих полей содержит три значащих байта адреса (address) (в случае адреса IP). Следующие пять полей содержат значения показателей. Первое из них обозначает задержку (delay), выраженную в десятках микросекунд. Диапазон перекрывает значения от 10 мксек. до 167 сек. За полем задержки следует поле ширины полосы (bandwidth). Ширина полосы выражена в единицах 1 Кбит/сек и перекрывает диапазон от линии с шириной полосы 1200 бит/сек до 10 Гбит/сек. Затем идет поле MTU, которое обеспечивет размер MTU в байтах. За полем MTU идет поле надежности (reliability), указывающее процент успешно переданных и принятых пакетов. Далее идет поле нагрузки (load), которое обозначает занятую часть канала в процентном отношении. Последним полем в каждой записи данных маршрутизации является поле числа пересылок (hop count), обеспечивая использование подсчета пересылок для предотвращения петель.
IGRP обладает рядом характеристик, предназначенных для повышения своей стабильности. В их число входят временное удерживание изменений, расщепленные горизонты и корректировки отмены. Они полностью аналогичны реализации в RIP, только в IGRP корректировки отмены отправляются в том случае, если показатель маршрута увеличивается на коэффициент 1.1 или более.
Как и RIP, IGRP обеспечивает ряд таймеров и переменных, содержащих временные интервалы. Для IGRP значение таймера корректировки по умолчанию равно 90 сек, таймер недействующих маршрутов в три раза превышает период корректировки. Переменная величина времени удерживания определяет промежуток времени удерживания, время по умолчанию которой в три раза больше периода таймера корректировки, плюс 10 сек. И наконец, время таймера отключения в семь раз превышает период корректировки маршрутизации.
Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt - OSPF) является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol – IGP).
OSPF имеет две основных характеристики. Во-первых протокол является открытым, т.е. его спецификация является общественным достоянием (опубликована в форме Запроса для Комментария (RFC) 1247), во-вторых он базируется на алгоритме SPF (алгоритм Dijkstra).
OSPF является протоколом маршрутизации с объявлением состояния о канале (link-state). Он требует отправки объявлений о состоянии канала (link-state advertisement - LSA) во все маршрутизаторы, которые находятся в пределах одной и той же иерархической области. В oбъявления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных. По мере накопления роутерами OSPF информации о состоянии канала, они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу. В отличие от RIP и IGRP, OSPF является алгоритмом с объявлением состояния канала.
В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система (Autonomous System – AS). OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS. Любая AS может быть разделена на ряд областей (area). Область - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких областях. Такие маршрутизаторы, которые называются роутерами границы областей (area border routers), поддерживают отдельные топологические базы данных для каждой области.
Топологическая база (topological database) данных фактически представляет собой общую картину сети по отношению к роутерам. Она содержит набор LSA, полученных от всех роутеров, находящихся в одной области. Маршрутизаторы одной области имеют идентичные топологические базы данных.
Термин "домен" (domain) используется для описания части сети, в которой все роутеры имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.
Топология области является невидимой для объектов, находящихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области. Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях.
Стержневая часть OSPF (backbone) отвечает за распределение маршрутной информации между областями. Она включает в себя все маршрутизаторы границы области, сети, которые не принадлежат полностью какой-либо из областей, и подключенные к ним маршрутизаторы.