Обойти ограничение диаметра сети невозможно. Небольшие значения метрик - насущная необходимость, позволяющая сократить воздействие счета до бесконечности. Однако ограниченный размер сети - наименьший из недостатков протокола RIP. Настоящая задача по улучшению RIP связана с решением двух других проблем - медленной сходимости и классовой маршрутизации.
RIP были добавлены возможности, позволяющие бороться с медленной сходимостью. Прежде чем перейти к изучению этих возможностей, мы должны понять, как возникает проблема «счета до бесконечности». На рис. 7.2 отражена сеть, в которой может возникнуть такая проблема.
111
Пример сети
Узел crab обращается к подсети 3 через horseshoe и далее через узел ога. Подсеть 3 удалена на два транзитных участка от узла crab и на один транзитный участок от узла horseshoe. Следовательно, horseshoe афиширует стоимость 1 для подсети 3, a crab - стоимость 2, и маршрутизация трафика через horseshoe продолжается. До тех пор пока не возникнут проблемы. Если неожиданно перестает работать узел ога, horseshoe ожидает обновлений от ога в течение 180 секунд. В процессе ожидания horseshoe продолжает посылать узлу crab обновления, и маршрут в подсеть 3 сохраняется в таблице маршрутизации crab. Когда интервал ожидания horseshoe наконец истекает, horseshoe удаляет все маршруты, пролегающие через ога, из своей таблицы маршрутизации, включая и маршрут в сеть 3. Затем horseshoe получает от узла crab обновление, уведомляющее, что crab находится в двух транзитных участках от подсети 3. horseshoe создает этот маршрут и объявляет, что находится в трех транзитных участках от подсети 3. crab получает это обновление, создает маршрут и объявляет, что находится в четырех транзитных участках от подсети 3. И так по кругу, пока стоимость маршрута в подсеть 3 не достигнет 16 в обеих таблицах маршрутизации. Если интервал обновления равен 30 секундам, процесс может затянуться надолго!
Механизмы Split horizon (Расщепленные горизонты) и Poison reverse (Отравленный обратный путь) - вот те две технологии, которые позволяют во многих случаях избежать счета до бесконечности: