Анализ протокола RIP-1
В протоколе RIP-1 в действительности применяется метод сужения обзора с обратным исправлением (split horizon with poisoned reverse). По сути, он означает возврат к тому, что было раньше. Маршрутизаторы рассылают обновления всем своим соседям, даже тем, от которых была получена эта информация. Разница вот в чем. Обратимся к сценарию 3. Маршрутизатор Phys сообщает маршрутизатору Hum о том, что узел Arts вновь заработав и стоимость перехода до него равна единице. Маршрутизатор Hum оповещает об этом узлы Emerald и Chem, одновременно информируя узел Phys о том, что стоимость перехода от Hum до Arts через Phys равна 16, т.е. бесконечность.
Непонятно? Давайте проанализируем эту ситуацию пошагово.
1. Соединение маршрутизатора Arts с сетью восстанавливается.
2. К этому времени все машины перестали работать с маршрутизатором Arts, а тот пометил как недоступные всех своих соседей.
3. Администратор маршрутизатора Phys узнает о том, что узел Arts заработал, и вручную восстанавливает в таблице маршрутизации прежнюю стоимость перехода к узлу Arts (1).
4. Тридцать секунд спустя маршрутизатор Phys посылает обновления узлам Hum и Arts, сообщая первому о том, что узел Arts заработал, а второму — что у него появились соседи.
5. Чтобы не усложнять пример, мы оставим в покое маршрутизатор Arts и посмотрим, что происходит на узле Hum.
Используя метод сужения обзора с обратным исправлением, маршрутизатор Hum посылает следующее обновление узлам Emerald, Phys, Arts и Chem, но данные для узла Phys отличаются от остальных. Маршрутизатор Hum сообщает узлу Phys о всех своих маршрутах, но тем из них, которые проходят через узел Phys, назначается стоимость 16. 6. Обновления распространяются до тех пор, пока все маршрутизаторы не узнают о появлении узла Arts. Данный вариант метода позволяет немедленно разорвать петлю между двумя маршрутизаторами, если она существует.
Как видите, протокол RIP-1 относительно прост. В нем есть базовые средства определения того, какие машины доступны, но он оказывается слишком ненадежным в сетях с часто изменяемой топологией. В Linux этот протокол реализован в демоне routed. Можно также применять мультипротокольные демоны gated и zebra.