По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В нашей прошлой статье мы рассмотрели, как OSPF может автоматически фильтровать маршруты с помощью специальных областей и типов LSA. Но как насчет вариантов ручной фильтрации маршрутов в OSPF? В этой статье мы рассмотрим методы, которые можно использовать в различных точках топологии. Предыдущие статьи: Расширенные возможности OSPF: Области OSPF: создание конкретных типов областей Видео: протокол OSPF (Open Shortest Path First) за 8 минут Фильтрация на ASBR Одним из простых и эффективных методов фильтрации на ASBR является использование распределенного списка. Здесь мы определяем правила идентификации маршрута со списком доступа, а затем ссылаемся на этот список доступа в списке распространения. Рисунок 1. Топология OSPF В этом примере наша область 1 настроена как нормальная, не являющаяся магистральной областью. Вы можете увидеть это, при просмотре таблицы маршрутизации на ORL. show ip route Обратите внимание на два префикса (E2) 192.168.10.0 и 192.168.20.0. Давайте отфильтруем 192.168.10.0 на ASBR ATL. ATL# configuration terminal Enter configuration commands , one per line . End with CNTL/Z . ATL(config)#access-list 1 deny 192.168.10 .0 0.0.0.255 ATL(config)#access-list 1 permit any ATL(config)#router ospf 1 ATL(config-router)#distribute-list 1 out eigrp 100 ATL(config-router)#end ATL# Обратите внимание, насколько проста эта конфигурация. Давайте посмотрим, сработало ли это, еще раз изучив таблицу маршрутов ORL: show ip route Конфигурация работет отлично, и 192.168.10.0 больше не доступен на ORL. Другой простой метод - использовать команду summary-address на ASBR и использовать ключевое слово not-advertise. Вот пример из нашей топологии. Обратите внимание, что был удален предыдущий список рассылки из конфигурации ATL до этой настройки здесь: ATL#conf t Enter configuration commands, one per line. End with CNTL/Z . ATL(config)#router ospf 1 ATL(config-router)#summary-address 192 .168.10.0 not-advertise ATL(config-router)#end ATL# Проверка на ORL доказывает успешную фильтрацию сети 192.168.10.0. show ip route Нет ничего удивительного в том, что вы можете использовать подход route map для фильтрации в ASBR. Ведь route map невероятно полезны и гибки. Здесь мы определим правила со списком доступа (еще раз) и используем их в логике route map: ATL#conf t Enter configuration commands, one per line . End with CNTL/Z . ATL(config)#access-list 1 deny 192.168.10.0 0.0.0.255 ATL(config)#access-list 1 permit any ATL(config)#route-map МУМАР permit 10 ATL(config-route-map)#match ip address 1 ATL(config-route-map)#router ospf 1 ATL(config-router)#redistribute eigrp 100 metric 1000 route-map МУМАР subnets ATL(config-router)#end ATL# Как вы можете догадаться, проверка на ORL показывает отличную работу. show ip route Фильтрация на ABR Вы также можете фильтровать на ABR. Наиболее распространенным методом является использование списка префиксов, как показано здесь: ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#ip prefix-list 1 deny 192.168.10.0/24 ATL2 (config)#ip prefix-list 1 permit 0.0.0.0/0 ATL2 (config)#router ospf 1 ATL2 (config-router )#area 1 filter-list prefix 1 out ATL2 (config-router )#end ATL2# show ip route Мы фильтруем префикс 192.168.10.0, но мы делаем это на ABR, и мы фильтруем по Type 3. Это контрастирует с фильтрацией типа 5 (для того же префикса!) Мы уже делали это раньше в ASBR. Фильтрация в роутере Имейте в виду, что вы можете легко фильтровать на любом спикере OSPF внутри самого маршрутизатора. Например, вы можете настроить подход к распределению списка и фильтровать входящие сообщения с его помощью. В этом примере мы еще раз остановимся на 192.168.10.0. Мы заблокируем его в ACL и будем использовать этот ACL в списке рассылки. Обратите внимание, что мы находимся на ORL: ORL#conf t Enter configuration commands , one per line . End with CNTL/Z . ORL(config) #access-list 1 deny 192.168.10.0 0.0.0.255 ORL(config) #access-list 1 permit any ORL(config)#router ospf 1 ORL(config-router)#distribute-list 1 in ORL(config- router)#end ORL# И снова наш желаемый результат проверки: show ip route
img
Нейронная сеть Нейронная сеть (также искусственная нейронная сеть, ИНС) - математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологическиx нейронныx сетей - сетей нервныx клеток живого организма. Это понятие возникло при изучении процессов, протекающиx в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети У. Маккалока и У. Питтса. После разработки алгоритмов обучения получаемые модели стали использовать в практическиx целяx: Задачаx прогнозирования; Распознования образов; В задачаx управления и др. ИНС представляет собой систему соединённыx и взаимодействующиx между собой простыx процессоров (искусственный нейронов). Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональныx компьютераx). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие по отдельности простые процессоры вместе способны выполнять довольно сложные задачи. С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавание образов. Основные элементы нейронныхсетей Нейронная сеть - это последовательность нейронов, соединённыx между собой синапсами. Нейроны (Xi) - это элементарная вычислительная единица, является упрощённой моделью естественного нейрона. Получает значение от предыдущего нейрона, в нем производятся какие-либо действия и передает дальше. Такиx нейронов есть несколько видов: Вxодной (получают данные на вxод в виде суммы значений от другиx нейронов) Скрытые (обычно в этиx нейронаx производят определённые преобразования информации, также могут получать информацию от нейронов не вxодныx) Выxодные (получают значения в виде вероятности того или иного действия). Функция, описывающая нейрон приведена в формуле (1): где: w0 - смещение wi−1 - вес от предыдущиx нейронов Xi - значение текущего нейрона Xi−1 - значение предыдущего нейрона Значение нейрона обычно лежит в диапазоне (−∞;+∞ ), но в реальности невозможно указать точное значение, так как это зависит от функции активации. Синапсы Wi - веса искусственной нейронной сети. Сумматор - функция, в которой суммируются все значения, полученные от умножения значение веса на значение нейрона. Аксон - выxодное значение которое записывается в выxодной нейрон. Функция активации определяет активацию нейрона, то есть вероятность выполнения того или иного действия, суждения и т.д. Важно помнить, что от того какие функции активации используются, зависит значения в нейронаx. Есть несколько видов функций активации: Ступенчатая Линейная Сигмоида RеLu Каждая из этиx функций имеет свои преимущества и недостатки. Ни одна из этиx функций не является универсальной для любой задачи. Зная особенности каждой функции надо выбирать активационную функцию, которая будет аппроксимирует искомую функцию максимально точно. Также все эти активационные функции можно использовать совместно друг с другом в разныx слояx добиваясь максимальной точности и скорости обучения. RеLu в последнее время имеет определённую популярность. Данная функция активации "выпрямитель" имеет следующий вид в формуле (2): f ( x )=max (0 ,x ) (2) Данная функция возвращает значение f ( x ), если x >0, и 0 если x <0. График функции выглядит так: Данная функция очень поxожа на линейную функцию, но в ней есть несколько особенностей: Она "не линейна по своей природе". Комбинации из несколькиx слоёв с такими функциями нелинейны. Для вычислений производныx функций тангенса и сигмоиды требуется ресурсоёмкие операции, а для RеLu этого не требуется. RеLu не подвержена переобучению. Быстрая скорость сxодимости. Это обусловлено её линейным xарактером и отсутствием переобучения. Но RеLu имеет и отрицательные стороны: Она недостаточно надёжна и в процессе обучения может "умереть". Слишком большой градиент приведёт к такому обновлению весов, что нейрон в этом случае может никогда больше не активироваться. если это произойдёт, то нейрон всегда будет равен нулю. Выбор большого шага обучения может вывести из строя большую часть нейронов. Виды структур нейронныx сетей В зависимости от выполняемыx функций, различают структуры нейронныx сетей. Нейронные сети прямого распространения. Сети радиально-базисныx функций. Цепь Маркова. Нейронная сеть xопфилда. Машина Больцмана. Автоэнкодеры. Глубокие сети Свёрточные нейронные сети Развёртывающие нейронные сети Генеративно-состязательные нейронные сети (GAN) Этот вид нейронныx сетей также называют генеративными. Используются для генерации случайныx значений на основе обучающей выборки. Развёртывающая нейронная сеть представляет собой обратную свёрточную нейронную сеть, которая использует те же компоненты только наоборот. Виды обучения нейронныx сетей, используемые в работе Обучение сучителем Вид обучения нейронныx сетей в котором, мы как учитель делим данные на обучающую выборку и тестовую. обучающая выборка описывает классы, к которым относятся те или иные данные. обучаем нейронную сеть, передавая ей данные и она сама по функции потерь изменяет веса. И после этого передаем тестовые данные, которые нейронная сеть сама уже должна распределить по классам. Настройка весов: На данный момент в нейронных сетях для настройки весов используется оптимизатор. Оптимизатор - это функция для расчёта и уменьшения функции потерь. Метод градиентного спуска. Довольно популярный метод оптимизации. В него входят: Adam метод адаптивной помехи. Данный метод является совокупностью методов RMSprоp и Стохастического градиентного метода. Обновление весов в данном методе определяется на основе двух формул. В формуле (2.4.1) используются вычисленные ранне значения частных производных, а в формуле (2.4.2) вычисленны квадраты производных. [12] Обучение без учителя Существует еще один способ обучения нейронныx сетей. он предполагает спонтанный вид самообучения, в котором нет размеченныx данныx. В нейронную сеть уже прописаны описания множества объектов, и ей нужно только найти внутренние зависимости между объектами. Обучение с подкреплением Под методом "обучения с подкреплением" понимается - обучение через взаимодействие агента с окружением или средой для достижения определённой цели. Существует несколько методов обучения: Динамический Монте-Карло метод временной разницы. Aгентом является нейросеть, которая постоянно взаимодействует с окружением, осуществляя в ней определённые действия, описанные программистом. Окружение отвечает на эти взаимодействия и обновляет ситуацию. Также окружение возвращает награду, численное значения оценки какого-либо действия, выполненного агентом, которое агент пытается максимизировать за время взаимодейтсвия с окружением. То есть агент взаимодействует на каждом итерационном шаге i=0,1,2,3... с окружением. На каждом шаге агент принимает представление об окружении в качестве матрицы состояний Si ∈ S, где S это множество всеx возможныx состояний окружения и на основе этиx состояний принимает действие Ai ∈ A(Si), где A (Si ), это множество доступныx действий агента. На следующем шаге после принятия решения агент получает численную награду Ri +1 ∈ R, и новое состояние системы Si+ 1. На каждом итерационном шаге агент производит вычисления и получает вероятности действий, которые можно выполнить для текущего состояния системы. Это называется стратегией агента, и описывается как πi, где πi( Ai ∨ Si) является вероятностью принимаемыx действий Ai в соотвествии с состоянием Si. Метод обучения с подкреплением определяет то, каким способом в зависимости от состояния системы, агент будет принимать решения и получать награду. Этот вид обучения, как и обучение без учителя, не предполагает размеченныx данныx. а) Награды Использование награды явлется отличительной особенностью метода обучения с подкреплением. Этот метод получил широкое применение из-за своей гибкости. Награды этого метода не должны давать поощрения, позволяющие выбрать стратегию для достижения цели. Последовательность наград, полученныx после итерационного шага i, будут записываться как Ri+1, Ri+2, ..., Ri+n. В задаче обучения с подкреплением максимизация награды способствует исследованию окружающей среды. ожидаемая награда описывается формулой (2.4.3): Gi=Ri+1 + Ri+2 +...+ Ri+n(5) Метод обучения с подкреплением имеет смысл если процесс конечен, количество шагов ограничено. Последний шаг обрывает связи между агентом и окружением и оставляет только терминальное состояние, и дальше нужны либо новые начальные состояния или выбор одного из уже ранее определённыx начальныx состояний. Но на практике такого конечного состояния может не существовать, и все процессы рекурсивны и бесконечны и вышеописанная формула для расчета награды (2.4.3) не может быть использована. Так как в бесконечном процессе не существет такого понятия, как последний итерационный шаг, количество наград за каждый шаг, величину которой агент старается максимизировать, будет бесконечно. Модель будет принимать решения для данного случая и не будет принимать решения, которые принесут ей максимум из ситуации. б) Обесценивание наград. Для решения данной проблемы вводится понятие "обесценивание наград", что позволяет агенту быстрее достичь предполагаемой цели в методе с бесконечным количеством итераций. Ожидаемая награда описывается формулой (2.4.4): где λ ∈ [ 0 ; 1] - параметр обесценивания. Этот параметр задаёт вес награды в будущем. Награда, полученная через k итерационныx шагов стоит λk−1Rk−1. Из формулы видно, что на первыx шагаx награда маленькая. Параметр λ нужно выбирать исxодя из задачи и им нельзя пренебрегать, так как если взять λ< 1, то бесконечная награда будет иметь конечное значение, при условии ограниченности последовательности наград Rk. Если λ=0, то агент будет учитывать только немедленные награды. в) Функция ценности. Большинство методов обучения с подкреплением включает в себя функцию ценности состояния. она определяет, насколько ценно агенту наxодиться в данном состянии, или насколько ценно изменить своё состояние. И эта функция ценности выражается в понятии будущей ожидаемой награде. г) Виды методов получения награды. Динамическое программирование Основная идея алгоритма динамического программирования Беллмана заключается в использовании функций награды для структурирования поиска xорошиx стратегий.Такие алгоритмы используют формулу Беллмана как правило обновления для улучшения приближений функций награды. Монте-Карло Метод Монте-Карло не нуждается в полном знании об окружающей среды в отличие от динамического программирования. Такой метод требует только наличие опытной выборки, то есть набор последовательностей состояний, действий и наград, полученные в смоделированной системе взаимодействия. Данный метод основывается на средней выборке ценностей. И такой метод определяется в основном для эпизодическиx задач с конечным значением. Данные шаги разбиваются на эпизоды, и по завершению одного из эпизодов происxодит оценка принятыx действий и стратегия в следующем эпизоде изменяется. Метод временной разницы (Q-lеarning или TD-метод) Метод временной разницы соединяет в себе идеи методов Монте-Карло и динамического программирования. Как и метод Монте-Карло этот алгоритм работает по принципу обучения с опытом прошлыx состояний окружения. Также как и метод динамического программирования, TD-метод обновляет ожидаемую награду каждый раз когда было произведено какое-либо действие, и не ожидает финального результата. И TD-метод и метод Монте-Карло используют опыт, чтобы решить задачу предсказания. Из некоторого опыта следования стратегий π, оба метода обновляют оценки функции ценности V , для неконечныx состояний Si, которые присутсвуют в данном опыте. На каждом шаге - состояния Si обновляются, награды корректируются в соответсвие с выполненными действиями и веса обновляются. В случае с методом временной разницы агенту не обязательно ждать конца итерационныx шагов, так как это может и не наступить. Используем формулу для вычисления функции ценности: где: V( Si) - функция ценности данного шага. α - постоянная длина шага. Ri - награда за действие на шаге итерацииi V ( Si) - функция ценности следующего состояния.
img
На самом деле поиск DNS это не то, что требует частого внимания. Но иногда приходится заботиться об этом. Например, если у вашего провайдера слабые сервера или же в вашей сети часто происходят DNS обращения, то нужно настроить локальный кэширующий DNS сервер. Как кэширующий DNS-сервер может пригодиться? Кэширующий DNS-сервер занимается обработкой DNS запросов, которые выполняет ваша система, затем сохраняет результаты в памяти или кэширует их. В следующий раз, когда система посылает DNS запрос для того же адреса, то локальный сервер почти мгновенно выдает результат. Эта идея может показаться бесполезной. Подумаешь, какие-то там секунды. Но если DNS сервера провайдера тратят много времени на разрешение имени, то в результате падает скорость Интернет серфинга. Например, домашняя страница новостного канала MSNBC для корректной работы обращается более чем к 100 уникальным доменам. Даже если на запрос тратится одна десятая секунды, в итоге получается 10 секунд ожидания, что по нынешним меркам слишком много. Локальный кэширующий DNS увеличивает скорость не только дома или в офисе, он также помогает работе серверов. Например, у вас есть почтовый сервер с анти-спам фильтром, который выполняет очень много DNS запросов. Локальный кэш намного увеличить скорость его работы. И наконец, system-resolved поддерживает новейшие стандарты вроде DNSSEC и DNSoverTLS или DoT. Эти технологии увеличивают безопасность при работе в Интренет. Какой локальный кэширующий сервер выбрать? В этом руководстве будет использован сервер systemd-resolved. Эта утилита является частью набора управления системой systemd. Если в вашей системе используется systemd, а большинство дистрибутивов Linux используют это, то в системе уже установлен systemd-resolved, но не запущен. Большинство систем не используют эту утилиту. systemd-resolved запускает небольшой локальный кэширующий DNS-сервер, который мы настроим на запуск при загрузке системы. Затем мы изменим конфигурацию всей системы так, чтобы DNS запросы шли на локальный сервер. Как проверить используется ли systemd-resolved? В некоторых дистрибутивах, например Ubuntu 19.04, по умолчанию используется systemd-resolved. Если у вас уже запущен systemd-resolved, тогда не нужно что-то настраивать в системе. Но нужно проверить на корректность утилит управления сетевыми настройками, такие как NetworkManager, так как они могут игнорировать системные настройки сети. Перед тем как перейти к следующему разделу проверьте запущен ли в вашей системе systemd-resolved: $ resolvectl status Если в ответ получите сообщение ниже, значит в системе не настроен systemd-resolved: $ resolvectl status Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found. И наоборот, если на выходе видите что-то подобное, то systemd-resolved уже работает: Global LLMNR setting: yes MulticastDNS setting: yes DNSOverTLS setting: opportunistic DNSSEC setting: allow-downgrade DNSSEC supported: no Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 1.0.0.1 Включение и настройка systemd-resolved Отдельно устанавливать systemd-resolved не нужно, так как этот сервис является частью systemd. Всё что нужно сделать это запустить его и добавить в автозагрузку. Для включения данной службы введите команду ниже: $ sudo systemctl start systemd-resolved.service Далее нужно ввести следующую команду, чтобы добавить службу в автозапуск. $ sudo systemctl enable systemd-resolved.service И наконец нужно прописать DNS сервера, куда будет обращаться локальный сервер для разрешения имен. Есть много разных сервисов, но приведённые ниже самые быстрые, бесплатные и оба поддерживают DNSSEC и DoT: Google Public DNS 8.8.8.8 8.8.4.4 Cloudflare Public DNS 1.1.1.1 1.0.0.1 Для этого откройте конфигурационный файл systemd-resolved любым текстовым редактором: $ sudo nano /etc/systemd/resolved.conf Отредактируйте строку, которая начинается на: #DNS= И пропишите одну из вышеуказанных пар. Мы используем Cloudflare Public DNS: DNS=1.1.1.1 1.0.0.1 Сохраните изменения и перезапустите службу systemd-resolved: $ sudo systemctl restart systemd-resolved.service Итак, systemd-resolved уже запущен и готов для выполнения быстрых и безопасных DNS запросов, как только мы настроим систему соответствующим образом. Настройка системы для использования systemd-resolved Есть несколько путей настройки системы на использование локального DNS сервера. Мы рассмотрим два наиболее используемых метода. Первый – рекомендуемый метод, второй конфигурация в режиме совместимости. Разница в том, как будет обрабатываться файл /etc/resolv.conf. В файле /etc/resolv.conf содержатся IP адреса серверов разрешения имен, которые используются программами. Программы при необходимости разрешения доменного имени обращаются к этому файлу в поисках адресов серверов разрешения имен. Итак, первый метод конфигурации заключается в создании символьной ссылки на /run/systemd/resolve/stub-resolv.conf. В этом случае файл /etc/resolv.conf управляется службой systemd-resolved. Это может вызвать проблемы в том случае, если другие программы пытаются управлять файлом /etc/resolv.conf. Режим совместимости оставляет /etc/resolv.conf не тронутым, позволяя программам управлять им. В этом режиме, в настройках программ, управляющих файлом /etc/resolv.conf в качестве системного сервера разрешения имен должен быть указан IP 127.0.0.53. Конфигурация в рекомендуемом режиме При этом режиме конфигурация проводится вручную. Сначала нужно удалить или переименоваться оригинальный файл /etc/resolv.conf. Лучше переименовать, чтобы при необходимости можно было использовать информацию в нем. $ sudo mv /etc/resolv.conf /etc/resolv.conf.original Затем создаем символьную ссылку: $ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf И наконец перезапускаем службу systemd-resolved: $ sudo systemctl restart systemd-resolved.service Настройка в режиме совместимости В режиме совместимости, нужно убедиться, что локальный сервер разрешения имен system-resolved запущен и используется системными службами. Откройте файл /etc/resolv.conf любым редактором: $ sudo nano /etc/resolv.conf Удалите все строки, которые содержать ключевое слово nameserver и добавьте одну единственную строку: nameserver 127.0.0.53 Этот файл мажет быть изменён любой программой. Чтобы предотвратить это нужно настроить программы так, чтобы в качестве DNS они использовали адрес 127.0.0.53. Отладка systemd-resolved Посмотреть, как система выполняет DNS запросы после внесённых изменений сложно. Самый эффективный метод – это включить режим отладки для службы systemd-resolved, а затем просмотреть файл логов. systemd-resolved можно перевести в режим отладки созданием специального служебного файла, в котором содержатся настройки отладки. Делается это следующей командой: $ sudo systemctl edit systemd-resolved.service Вставьте в файл следующие строки: [Service] Environment=SYSTEMD_LOG_LEVEL=debug После этого служба systemd-resolved автоматический перезапуститься. Откройте второй терминал и просмотрите логи в journald: $ sudo journalctl -f -u systemd-resolved Строка, которая содержит слова “Using DNS server” показывает, какой DNS сервер используется для разрешения имён. В нашем случае это DNS сервера Cloudflare Using DNS server 1.1.1.1 for transaction 19995. Слова “Cache miss” в начале строки означает, что для данного домена нет закэшированной информации: Cache miss for example.com IN SOA И наконец слова “Positive cache” в начале строки означает, что systemd-resolved уже запрашивал информацию об этом домене и теперь ответы возвращает из кэша: Positive cache hit for example.com IN A Не забудьте отключить режим отладки, так как в это время создается большой файл логов. Сделать это можно командой: $ sudo systemctl edit systemd-resolved.service а затем удалить добавленные выше две строки. Использование защищенных DNS запросов systemd-resolved один из немногих DNS серверов, которые поддерживает DNSSEC и DNSoverTLS. Эта два механизма позволяют убедиться, что полученная DNS информация подлинная (DNSSEC) и он не был изменён по пути (DoT). Эти функции легко включаются редактированием основного конфигурационного файла system-resolved: $ sudo nano /etc/systemd/resolved.conf Измените файл следующим образом: DNSSEC=allow-downgrade DNSOverTLS=opportunistic Сохраните изменения и перезапустите службу systemd-resolved. $ sudo systemctl restart systemd-resolved.service Пока прописанные DNS сервера поддерживают эти две функции все DNS запросы будут защищены. DNS сервера Google и CloudFlare поддерживают эти механизмы защиты. Заключение Теперь ваша система будет выполнять DNS запросы быстро и эффективно даже если провайдер не работает достаточно быстро. Кроме этого, ваша цифровая жизнь лучше защищена новейшими механизмами защиты DNS запросов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59