Как алгоритм маршрутизации вектора расстояния обрабатывает отрицательные циклы веса?

StackOverflow https://stackoverflow.com/questions/19849384

Вопрос

Здесь довольно много вопросов в этом алгоритме, но я не смог найти, как бы он справился бы с негативными циклами веса? Предположим, что маршрутизатор x получает обновление с маршрутизатора y, что стоимость Y до z - 5. Позже, маршрутизатор X получает обновление с маршрутизатора y, что стоимость y до z - 2 сейчас. Что делает маршрутизатор x? Насколько я понимаю, алгоритм Bellman Ford утверждает, что в этом случае следует выразить ошибку. Но какой алгоритм маршрутизации вектора расстояния делает - просто обновите его или вынесите ошибку или что -то еще?

Это было полезно?

Решение

Не уверен, что я правильно читаю этот вопрос. Обновления с маршрутизаторов могут указать новую стоимость для пути, будь то выше или ниже, чем раньше. Если X получает обновление от Y для пути к Z с стоимостью 2 (первоначально 5), то X должен просто обновить свою таблицу пересылки с новым путем затрат и использовать этот путь, чтобы добраться до Z, если это наименьший путь.

Другие советы

У вас есть конфликт между более низкой стоимостью Bellman-Ford Algortihm и следующим обновлением стоимости ссылки, первое может быть сделано между двумя или более разными интерфейсами Чтобы получить более дешевую стоимость, для Exemple:

** Случай 1: ** Маршрутизатор A имеет 3 соседства N1, N2, N3 и N1, N2, N3 Имеют x в качестве соседа

|---2----N1-----4----|
A`--4----N2-----3----X
|---1----N3-----2----|

Для маршрутизатора у нас есть:

 X via N1 =6 
 X via N2=7            the lowest is :**X Via N3=3**
 X Via N3=3

-ГРА A выберет x через N3 (между N1, N2, N3), потому что это нижайший один Случай 2: Если стоимость канала между (x-n3 = 2) была изменена на (x-n3 = 8), мы полагаем, что из-за конфигурации ссылки (даже 8-более 2, но это обязательство), N3 должен информировать об этом и должен обновить стоимость от (X через n3 = 3) до (x через n3 = 9), следовательно, мы возвращаемся к случаю (1): выберите самую низкую стоимость, которая будет через n1

     X via N1 =6 
     X via N2=7            ****the lowest is :**X Via N1=6******
     X Via N3=9  
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top