По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой серии статей мы рассмотрим поиск и устранение неисправностей NAT (трансляции сетевых адресов) / PAT (трансляции адресов портов), DHCP и FHRP (протоколы избыточности при первом переходе). NAT/PAT может быть проблемным, и не потому, что настройка несколько сложна (хотя и в этом тоже могут быть проблемы). Но в основном потому, что мы можем столкнуться с проблемами маршрутизации, так как мы периодически меняем IP-адреса. Во второй части этой серии мы рассмотрим наиболее распространенные проблемы DHCP и, наконец, закончим серию статей некоторыми проблемами FHRP. Урок 1 В этом сценарии у нас есть 3 устройства. Маршрутизатор с левой стороны называется "Хост", и он представляет компьютер из нашей локальной сети. Предполагается, что устройство с правой стороны - это какой-то веб-сервер - это то, что мы пытаемся найти в Интернете. В середине мы видим наш маршрутизатор, который настроен для NAT и/или PAT. Пользователи из нашей локальной сети жалуются на то, что они ничего не могут найти в Интернете. Они подтвердили, что их IP-адрес и шлюз по умолчанию в порядке. Давайте изучим маршрутизатор NAT: Хорошая идея, чтобы проверить, может ли маршрутизатор NAT достичь веб-сервера, попробовав простой пинг. Если это не работает, вы, по крайней мере, знаете, что у вас есть проблемы с маршрутизацией или, что веб-сервер не работает (или, возможно, просто блокирует ICMP-трафик). Поскольку это веб-сервер, лучше попробовать подключиться к TCP-порту 80. Вы видите, что это работает, так что маршрутизация между маршрутизатором NAT и веб-сервером + подключение к TCP-порту не является проблемой. Мы можем использовать команду show ip nat translations, чтобы увидеть, происходит ли что-нибудь. Мы видим, что NAT-маршрутизатор что-то транслирует, но если вы посмотрите внимательно, то увидите, что это выглядит не совсем правильно. Внешние локальные и глобальные IP-адреса ссылаются ко внутреннему IP-адресу. Давайте посмотрим на конфигурацию ... show ip nat statistics - хорошая команда для проверки вашей конфигурации. Вы можете видеть, что внутренние и внешние интерфейсы поменялись местами. FastEthernet 0/0 должен быть inside, а FastEthernet 1/0 должен быть outside. NAT(config)#interface fastEthernet 0/0 NAT(config-if)#ip nat inside NAT(config)#interface fastEthernet 1/0 NAT(config-if)#ip nat outside Введем команды, которые позволяют исправить настройки, чтобы у нас были правильные внутренние и внешние интерфейсы. Трафик с хоста на веб-сервер теперь работает! Вот как должна выглядеть таблица трансляции NAT. Внутренний локальный IP-адрес - наш внутренний хост. Внутренний глобальный IP-адрес - это то, что мы настроили на внешней стороне нашего маршрутизатора NAT (FastEthernet 1/0). Внешний локальный и глобальный IP-адрес - наш веб-сервер ... проблема решена! Итог урока: убедитесь, что у вас имеются правильные внутренние и внешние интерфейсы. Урок 2 Та же топология, другая проблема! Опять пользователи нашей локальной сети жалуются, что они не могут связаться с веб-сервером. Давайте проверим наш маршрутизатор NAT: NAT#show ip nat translations Сначала мы проверим, транслирует ли маршрутизатор что-либо. Как видите, тихо ничего не происходит! Мы убедились, что внутренний и внешний интерфейсы были настроены правильно. Однако никаких трансляций не происходит. Внутренний источник был определен с помощью списка доступа 1. Давайте поближе рассмотрим этот ACL: Ааа, смотрите ... кажется, кто-то испортил ACL! Устраним эту неполадку: NAT(config)#no access-list 1 NAT(config)#access-list 1 permit 192.168.12.0 0.0.0.255 Мы создадим ACL так, чтобы он соответствовал 192.168.12.0/24. Теперь мы можем связаться с веб-сервером с нашего хоста. Мы видим Hits, если просмотреть NAT statistics. И я вижу трансляцию ... проблема решена! Итог урока: убедитесь, что вы используете правильный список доступа, соответствующий вашим внутренним хостам. Теперь почитатей продожение статьи про устранение неисправностей с DHCP.
img
Поскольку многие люди и устройства подключаются к Интернету, и мы все обмениваемся данными, конфиденциальность является серьезной проблемой для всех. Представьте себе, что вы отправляете конфиденциальный файл другу через Интернет, но вас беспокоит, не перехватывает ли злоумышленник ваши сообщения и не просматривает ли он их. Для обеспечения безопасности ваших данных используется криптография, гарантирующая, что доступ к данным имеет только уполномоченное лицо. С помощью криптографии мы можем шифровать наши сообщения, чтобы сохранить их в тайне от несанкционированных сторон, таких как злоумышленники. Даже если злоумышленник сможет перехватить наши зашифрованные данные, он не сможет просмотреть содержимое зашифрованного сообщения. В этой статье вы узнаете о различных стандартах и алгоритмах шифрования и о том, как они используются для обеспечения конфиденциальности данных в сети. Кроме того, вы узнаете о методах, которые злоумышленники используют для получения секретного ключа и дешифрования. Кроме того, вы узнаете о различных методах хеширования, которые используются для проверки целостности данных. Затем вы изучите как симметричные, так и асимметричные алгоритмы, а также инфраструктуру открытых ключей (Public Key Infrastructure - PKI). Понимание необходимости криптографии В мире информационной безопасности конфиденциальность данных - очень актуальная тема. Все обеспокоены тем, как используются их данные и какие меры безопасности используются для защиты их данных в системах и сетях. В компьютерном мире криптография применяется для защиты наших данных от посторонних лиц. Что такое криптография? Это методы кодирования чувствительной информации с помощью математических алгоритмов, которые затрудняют понимание результата другими людьми, кроме тех, кто уполномочен. Криптография уже много лет используется различными военными организациями для защиты их связи. Сегодня, в эпоху цифровых технологий, мы используем криптографию, чтобы защитить коммуникации между источником и получателем. Чтобы лучше понять, представьте, что вы создаете документ на своем компьютере. Если кто-либо получит доступ к документу, он сможет прочитать его содержимое, и для этого документа нет никакого уровня конфиденциальности. Для защиты данных может применяться процесс шифрования для преобразования данных в формат, доступный для чтения только вам и тем, кто имеет соответствующие полномочия. Это означает, что, если злоумышленник получит зашифрованный файл, то не сможет прочитать фактическое содержимое файла, но увидит зашифрованное сообщение. Любые данные (сообщения), которые не зашифрованы, называются открытым текстом. Если кто-то получит доступ к открытому тексту, он сможет прочитать его содержимое. Чтобы зашифровать сообщение, открытый текст обрабатывается специальным алгоритмом, который преобразует сообщение с открытым текстом в нечитаемый формат. Этот алгоритм называется шифром. Шифр также использует ключ для выполнения процесса шифрования, чтобы преобразовать сообщение в зашифрованный текст. Зашифрованный текст - это зашифрованный формат открытого текста, который не может прочитать никто, кроме тех, кто имеет к нему доступ. Ключ используется в процессе шифрования, поскольку он добавляет дополнительный уровень безопасности к зашифрованному тексту. Без ключа злоумышленник не сможет выполнить криптоанализ, который представляет собой метод, используемый для дешифровки, взлома или шифрования данных. На следующем рисунке показан процесс криптографии: Шифрование данных и криптография играют важную роль в современном мире. Мы используем криптографию для защиты данных в состоянии покоя и данных в движении (при передаче). Данные в состоянии покоя - это терминология, используемая для описания данных, которые хранятся на носителе без доступа приложения или пользователя, в то время как данные в движении - это данные, которые передаются от источника к месту назначения, например, по сети. Существует множество технологий шифрования, таких как Microsoft BitLocker, Apple FileVault и Linux Unified Key Setup (LUKS), которые встроены в их собственные операционные системы. Эти собственные технологии шифрования позволяют пользователю создать логический зашифрованный контейнер хранения в своей операционной системе. Пользователи могут помещать файлы в контейнер и шифровать их, блокируя контейнер. Этот метод позволяет пользователям защитить свои данные в состоянии покоя от любых злоумышленников, которые могут поставить под угрозу компьютер жертвы. Существует множество безопасных и небезопасных сетевых протоколов, которые передают ваши данные по сети. Небезопасные сетевые протоколы не шифруют ваши данные и передают их в виде открытого текста. Если злоумышленник сможет перехватить сетевые пакеты, злоумышленник сможет увидеть все ваши сообщения в виде открытого текста. В следующем рисунке показан захват пакета, содержащего трафик Telnet внутри Wireshark: Представьте, что вы являетесь злоумышленником. Вы можете использовать такой инструмент, как Wireshark, для повторной сборки всех пакетов, показанных на предыдущем рисунке, между исходным и конечным хостами. Это позволит вам увидеть весь сетевой диалог между источником (192.168.0.2) и получателем (192.168.0.1) следующим образом: Как показано на предыдущем скриншоте, мы можем видеть диалог между клиентом и сервером Telnet. Содержимое, красного цвета, - это то, что отправляется от клиента на сервер, в то время как содержимое, синего цвета, - это то, что отправляется с сервера обратно клиенту. Wireshark имеет функцию отслеживания потока пакетов и представления информации в виде преобразования для нас в удобочитаемом формате. На скриншоте обратите внимание, что мы можем видеть логин и пароль пользователя для входа, который отправляется по сети с помощью Telnet. Элементы криптографии Многие думают, что криптография используется для шифрования данных в компьютерном мире. Это утверждение верно, но криптография также имеет дополнительные ключевые преимущества для защиты данных, такие как: Конфиденциальность Целостность Аутентификация источника Невозможность отказа от отвественности Конфиденциальность определяется как сохранение чего-либо, например, объекта или данных, в тайне от посторонних лиц. В вычислительном мире этого можно достичь с помощью алгоритмов шифрования данных, просто зашифровав текстовое сообщение с помощью шифра и ключа. Если неавторизованное лицо или злоумышленник получает зашифрованные данные (зашифрованный текст) без ключа, то он не сможет расшифровать зашифрованное сообщение. Конфиденциальность позволяет нам отправлять защищенные сообщения (данные) между источником и получателем без необходимости беспокоиться о том, перехватывает ли кто-то наши логины и пароли во время их передачи по сети. Шифрование данных позволяет нам защитить наши данные от различных типов атак, таких как Man in the Middle (MiTM). Как только данные будут зашифрованы, злоумышленник не сможет просматривать содержимое фактических данных. Целостность играет жизненно важную роль в области информационной безопасности. Это помогает нам определить, изменяются ли данные или нет, когда они передаются от источника к месту назначения. В эпоху цифровых технологий пользователи всегда отправляют сообщения определенного типа между одним устройством и другим. Даже операционная система на хост-устройствах всегда обменивается информацией в сети. Представьте, что вы отправляете сообщение другу через мессенджер на вашем смартфоне. Как ваш друг узнает, что сообщение не было изменено неавторизованным лицом в процессе передачи? Это серьезная проблема, и, к счастью, существует метод, известный как хеширование, который позволяет устройству проверять целостность входящего сообщения (данных) от источника. Аутентификация - это процесс подтверждения вашей личности в системе. Без аутентификации любой человек сможет получить доступ к устройству и выполнять любые действия без какой-либо ответственности. В криптографии аутентификация используется для того, чтобы помочь нам проверить и подтвердить источник или отправителя сообщения, что называется аутентификацией источника. Сообщение может быть подписано цифровой подписью с помощью цифрового сертификата, принадлежащего отправителю. Когда адресат получает сообщение, получатель может использовать информацию, содержащуюся в цифровом сертификате источника, для проверки подлинности сообщения. Другими словами, чтобы определить, действительно ли сообщение исходило от отправителя, а не от злоумышленника. Невозможность отказа от ответственности (Non-repudiation) используется для предотвращения отрицания пользователем того, что он выполнили какое-либо действие. Типичный пример: представьте, что во время обеда вы посещаете местную кофейню, чтобы выпить напиток. В кассе вы создаете заказ, производите оплату и получаете счет с заказанными вами товарами. Вся информация о транзакции, которую вы только что завершили, печатается в квитанции (счете), такая как время и дата, количество и тип товаров, имя кассира и местонахождение отделения. Эта информация также записывается в базе данных кофейни, поэтому вы не сможете отрицать свое посещение и покупку в этом магазине. Теперь немного обсудим характеристики различных типов шифров, которые используются в алгоритмах шифрования данных. Шифр подстановки В каждом типе алгоритма шифрования (шифра) используется секретный ключ, обеспечивающий конфиденциальность сообщения. В шифре подстановки секретный ключ - это смещение буквы в исходном сообщении. Это означает, что количество букв в текстовом сообщении не изменяется после того, как оно проходит через шифр и становится зашифрованным текстом. Чтобы лучше понять, как работает шифр подстановки, давайте взглянем на очень известный шифр, шифр Цезаря, который существует уже довольно давно. Его методы шифрования просто сдвигают букву алфавита. Шифрование с использованием ключа k = 3. Буква «Е» «сдвигается» на три буквы вперёд и становится буквой «З». Твёрдый знак, перемещенный на три буквы вперёд, становится буквой «Э», и так далее: Исходный алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ Шифрованный: ГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВ Оригинальный текст: Съешь же ещё этих мягких французских булок, да выпей чаю. Шифрованный текст получается путем замены каждой буквы оригинального текста соответствующей буквой шифрованного алфавита: Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб. Поэтому, если злоумышленник перехватит зашифрованный текст во время передачи по сети, не зная секретного ключа, то сообщение останется в безопасности. Перестановочный шифр Другой тип шифра - перестановочный шифр. Этот шифр не сдвигает ни одной буквы сообщения. Он просто переставляет буквы в каждом слове. Один тип перестановочного шифра известен как столбчатый шифр транспонирования. Этот шифр сохраняет одни и те же буквы каждого слова на месте, но создает столбец фиксированного размера. Рассмотрим простой текст hello world, и давайте применим технику простого столбчатого преобразования, как показано ниже Символы простого текста располагаются горизонтально, а зашифрованный текст создается в вертикальном формате: holewdlolr. Теперь получатель должен использовать ту же таблицу, чтобы расшифровать зашифрованный текст в обычный текст. Другой разновидностью перестановочного шифра является шифр рельсового ограждения. Этот шифр записывает выходные данные в зигзагообразном формате. Например, результат записывается по диагонали, начиная слева направо. Используя наш пример предложения, thequickbrownfoxjumpsoverthelazydog (без пробелов), еще раз в качестве нашего открытого текста и ключа в виде трех рельсов, мы получим следующий результат в данном типе шифрования: На предыдущем рисунке, показано, как слова написаны по диагонали. Чтобы создать зашифрованный текст, сообщение читается от верхней строки до последней строки. Это создаст следующий зашифрованный текст: tubnjsrldhqikrwfxupoeteayoecoomvhzg И снова, если злоумышленник перехватит зашифрованный текст, сообщение останется в безопасности до тех пор, пока злоумышленник не узнает (получит) секретный ключ.
img
В предыдущих лекциях обсуждалось правило кратчайшего пути и два алгоритма (или, возможно, системы) для поиска путей без петель через сеть. Существует широкий спектр таких систем—их слишком много, чтобы охватить их в отведенное время для изучения, - но для сетевых администраторв важно быть знакомыми хотя бы с некоторыми из этих систем. В этих лекциях сначала рассматривается алгоритм поиска кратчайшего пути Дейкстры, вектор пути и два различных алгоритма непересекающихся путей: Suurballe и Maximally Redundant Trees (MRTs). Наконец, в этих лекциях будет рассмотрена еще одна проблема, которую должны решить управляющие плоскости: обеспечение двусторонней связи через сеть. Алгоритм Дейкстры Shortest Path First. Алгоритм Дейкстры Shortest Path First (SPF), возможно, является наиболее широко известной и понятной системой для обнаружения Loop-Free путей в сети. Он используется двумя широко распространенными протоколами маршрутизации и во многих других повседневных системах, таких как программное обеспечение, предназначенное для поиска кратчайшего пути через дорожную сеть или для обнаружения соединений и паттернов соединений в социальных сетях. Алгоритм Дейкстры в псевдокоде использует две структуры данных. Первый - это предварительный список или TENT; этот список содержит набор узлов, рассматриваемых для включения в дерево кратчайшего пути (Shortest Path Tree). Второй - PATH; этот список содержит набор узлов (а следовательно, и каналы), которые находятся в дереве кратчайшего пути. 01 move "me" to the TENT 02 while TENT is not empty { 03 sort TENT 04 selected == first node on TENT 05 if selected is in PATH { 06 *do nothing* 07 } 08 else { 09 add selected to PATH 10 for each node connected to selected in TOPO 11 v = find node in TENT 12 if (!v) 13 move node to TENT 14 else if node.cost < v.cost 15 replace v with node on TENT 16 else 17 remove node from TOPO 18 } 19 } Как всегда, алгоритм менее сложен, чем кажется на первый взгляд; ключом является сортировка двух списков и порядок, в котором узлы обрабатываются вне списка TENT. Вот несколько примечаний к псевдокоду перед рассмотрением примера: Процесс начинается с копии базы данных топологии, называемой здесь TOPO; это будет яснее в примере, но это просто структура, содержащая исходные узлы, целевые узлы и стоимость связи между ними. TENT - это список узлов, которые можно условно считать кратчайшим путем к любому конкретному узлу. PATH - это дерево кратчайшего пути (SPT), структура, содержащая loop-free путь к каждому узлу и следующий переход от «меня» к этому узлу. Первым важным моментом в этом алгоритме является сохранение только узлов, уже каким-то образом связанных с узлом в списке PATH в TENT; это означает, что кратчайший путь в TENT - это следующий кратчайший путь в сети. Второй важный момент в этом алгоритме - это сравнение между любыми существующими узлами TENT, которые подключаются к одному и тому же узлу; это, в сочетании с сортировкой TENT и отделением TENT от PATH, выполняет правило кратчайшего пути. Имея в виду эти моменты, рисунки с 1 по 9 используются для иллюстрации работы алгоритма SPF Дейкстры. На каждой из следующих иллюстраций вместе с сопроводительным описанием показан один шаг алгоритма SPF в этой сети, начиная с рисунка 2. В точке, показанной на рисунке 2, A был перемещен из TOPO в TENT, а затем в PATH. Стоимость исходного узла всегда равна 0; эта линия включена для начала расчета SPF. Это представляет строки с 01 по 09 в псевдокоде, показанном ранее. На рисунке 3 показан второй этап расчета SPF. На рисунке 3 каждый узел, подключенный к A, был перемещен из TOPO в TENT; это строки с 10 по 17 в псевдокоде, показанном ранее. Когда этот шаг начался, в TENT была только A, поэтому в TENT нет существующих узлов, которые могли бы вызвать какие-либо сравнения метрик. Теперь TENT отсортирован, и выполнение продолжается со строки 03 в псевдокоде. Рисунок 4 демонстрирует это. На рисунке 4 один из двух путей с кратчайшей стоимостью - к B и F, каждый со стоимостью 1 - был выбран и перемещен в PATH (строки 05–09 в псевдокоде, показанном ранее). Когда B перемещается из TENT в PATH, любые узлы с началом B в TOPO перемещаются в TENT (строки 10-17 в псевдокоде). Обратите внимание, что C еще не был в TENT, прежде чем он был задействован посредством перехода B к PATH, поэтому сравнение показателей не выполняется. Стоимость для C - это сумма стоимости его предшественника в PATH (который равен B со стоимостью 1) и связи между двумя узлами; следовательно, C добавляется к TENT со стоимостью 2. TENT сортируется (строка 3 псевдокода), поэтому процесс готов к повторному запуску. На рисунке 5 показан следующий шаг в этом процессе. На рисунке 5 был выбран кратчайший путь к TENT, и F переместился от TENT к PATH. Между F и E существует связь (показанная на предыдущих иллюстрациях как [E, F]), но путь через F к E имеет ту же стоимость, что и путь [A, E], поэтому эта линия не добавляется в TENT. Скорее он остается неактивным, поскольку не рассматривается для включения в SPT, и удаляется из TOPO. На рисунке 6 показан следующий шаг в процессе, который переместит один из путей метрики 2 в PATH. Примечание. Большинство реальных реализаций поддерживают перенос нескольких путей с одинаковой стоимостью из TENT в PATH, поэтому они могут пересылать трафик по всем каналам с одинаковой метрикой. Это называется многолучевым распространением с равной стоимостью или ECMP. Для этого есть несколько различных способов, но они в этих лекциях не рассматриваются. На рисунке 6 путь к C через B со стоимостью 2 был перемещен в PATH, а путь к D через [A, B, C, D] перемещен в TENT. Однако при перемещении этого пути к TENT строка 11 в псевдокоде находит существующий путь к D в TENT, путь [A, D], со стоимостью 5. Метрика нового пути, 3, ниже чем метрика существующего пути, 5, поэтому путь [A, D] удаляется из TENT, когда добавляется путь [A, B, C, D] (строка 15 в псевдокоде). На рисунке 7 показан следующий шаг, на котором линия оставшейся стоимости 2 перемещается из TENT в PATH. На рисунке 7 путь к E стоимостью 2 был перемещен из TENT в PATH. G был перемещен в TENT стоимостью 4 (сумма [A, E] и [E, G]). Другой сосед E, F, исследуется, но он уже находится в PATH, поэтому не рассматривается для включения в TENT. На рисунке 8 показан следующий шаг, который перемещает D в PATH. На рисунке 8 D общей стоимостью 3 перемещен из TENT в PATH. Это учитывает соседа D, G, последнюю запись в TOPO, для TENT. Однако уже существует путь к G с общей стоимостью 4 через [A, E, G], поэтому строка 14 в псевдокоде завершается ошибкой, и путь [D, G] удаляется из TOPO. Это последний SPT. Основная трудность в понимании алгоритма Дейкстры заключается в том, что правило кратчайшего пути не выполняется в одном месте (или на одном маршрутизаторе), как это происходит с Bellman-Ford или Diffusing Update Algorithm (DUAL). Кратчайший путь (по-видимому) проверяется только при перемещении узлов из TOPO в TENT - но на самом деле сортировка самого TENT выполняет другую часть правила кратчайшего пути, и проверка по PATH для существующих узлов составляет еще один шаг в процесс, делающий процесс трехступенчатым: Если путь к узлу длиннее, чем любой из TENT, то путь к TENT является более коротким путем по всей сети. Путь, который поднялся к вершине TENT через сортировку, является самым коротким к этому узлу в сети. Если путь перемещается к PATH от вершины TENT, это кратчайший путь к этому узлу в сети, и любые другие записи в TOPO к этому узлу следует отбросить. При наличии базового алгоритма полезно рассмотреть некоторые оптимизации и расчет Loop-Free Alternates (LFAs) и remote Loop-Free Alternates (rLFAs). Частичный и инкрементный SPF Нет особой причины, по которой весь SPT должен перестраиваться каждый раз, когда происходит изменение топологии сети или информации о доступности. Рассмотрим рисунок 9 для объяснения. Предположим, G теряет связь с 2001: db8: 3e8: 100 :: / 64. Устройству A не требуется пересчитывать свой путь к любому из узлов сети. Доступный пункт назначения - это просто лист дерева, даже если это набор хостов, подключенных к одному проводу (например, Ethernet). Нет причин пересчитывать весь SPT, когда один лист (или любой набор листьев) отключается от сети. В этом случае только лист (IP-адрес Интернет-протокола или доступный пункт назначения) должен быть удален из сети (или, скорее, пункт назначения может быть удален из базы данных без каких-либо изменений в сети). Это частичный пересчет SPT. Предположим, что канал [C, E] не работает. Что делает А в этом случае? Опять же, топология C, B и D не изменилась, поэтому у A нет причин пересчитывать все дерево. В этом случае A может удалить все дерево за пределами E. Чтобы вычислить только измененную часть графа, выполните следующие действия: Удалите отказавший узел и все узлы, которые нужно достичь через точку E. Пересчитайте дерево только от предшественника C (в данном случае A), чтобы определить, есть ли альтернативные пути для достижения узлов, ранее доступных через E до того, как канал [C, E] не доступен. Это называется инкрементным SPF. Расчет LFA и rLFA. Bellman-Ford не вычисляет ни соседей ниже по потоку, ни LFA, и, похоже, не располагает необходимой для этого информацией. DUAL по умолчанию вычисляет нисходящих соседей и использует их во время конвергенции. А как насчет протоколов на основе Дейкстры (и, соответственно, аналогичных алгоритмов SPF)? На рисунке 10 показан простой механизм, который эти протоколы могут использовать для поиска LFA и соседних узлов ниже по потоку. Определение нисходящего соседа - это такое, при котором стоимость достижения соседом пункта назначения меньше, чем локальная стоимость достижения пункта назначения. С точки зрения А: A знает местную стоимость проезда к месту назначения на основе SPT, созданного с помощью SPF Дейкстры. A знает стоимость B и C, чтобы добраться до места назначения, вычитая стоимость каналов [A, B] и [A, C] из рассчитанной на местном уровне стоимости. Следовательно, A может сравнивать локальную стоимость со стоимостью от каждого соседа, чтобы определить, находится ли какой-либо сосед в нисходящем направлении по отношению к любому конкретному месту назначения. Определение LFA: Если затраты соседа для «меня» плюс затраты соседа на достижение пункта назначения ниже, чем местные затраты, соседом является LFA. Вернее, учитывая: NC - это стоимость соседа до пункта назначения. BC - это стоимость соседа для меня. LC - местная стоимость до места назначения. Если NC + BC меньше LC, то соседом является LFA. В этом случае A знает стоимость каналов [B, A] и [C, A] с точки зрения соседа (она будет содержаться в таблице топологии, хотя не используется при вычислении SPT с использованием алгоритма Дейкстры). Таким образом, LFA и нисходящие соседи требуют очень небольшой дополнительной работы для расчета, но как насчет удаленных LFA? Модель P/Q Space обеспечивает простейший способ для алгоритмов на основе Дейкстры вычисления соседних узлов и LFA. Рисунок 11 используется для иллюстрации изнутри P/Q Space. Определение пространства P - это набор узлов, доступных с одного конца защищенного соединения, а определение пространства Q - это набор узлов, достижимых без пересечения защищенного канала. Это должно предложить довольно простой способ вычисления этих двух пространств с помощью Дейкстры: Рассчитайте SPT с точки зрения устройства, подключенного к одному концу линии связи; удалить линию связи без пересчета SPT. Остальные узлы доступны с этого конца линии. На рисунке 11 E может: Вычислите пространство Q, удалив линию [E, D] из копии локального SPT и всех узлов, для достижения которых E использует D. Вычислите пространство P, вычислив SPT с точки зрения D (используя D в качестве корня дерева), удалив линию [D, E], а затем все узлы, для достижения которых D использует E. Найдите ближайший узел, достижимый как из E, так и из D, с удаленной линией [E, D]. SPF Дейкстры - это универсальный, широко используемый алгоритм для вычисления Shortest Path Trees через сеть.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59