По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если Вы не раз сталкивались с большими списками доступа и/или входящими в них object-группами, то наверняка уже задавались вопросом, существует ли инструмент, позволяющий определить, пропустит ли access-лист некий заданный трафик и вообще, какие строки имеют к этому отношение. Конечно, такие инструменты существуют и полностью или частично решают перечисленные задачи. Однако, эти инструменты как правило являются частью функционала больших "комбайнов" управления сетью, 90% функционала которых Вас не интересует. Чтобы продолжить, необходимо скачать утилиту ACL check Безусловно, никто не запрещает использовать регулярные выражения для поиска определённых строк списка доступа прямо в консоли сетевого устройства. Но данный метод предоставит очень поверхностный результат. Например, он не отобразит доступ хоста, попадающего в сетевую маску или порт, попадающий под диапазон. Тем более, таким образом нельзя отобразить все существующие доступы между двумя заданными узлами/сетями. Знающий сетевой администратор осведомлён о безрезультативности метода простого парсинга access-листа в таких ситуациях. Данная небольшая утилита создана именно для этого - найти строки access-листа, разрешающие или запрещающие определённый сетевой трафик. И даже более - выявить все строки, имеющие отношение к доступам между интересующими узлами или сетями. Идея использования проста: Вы задаёте критерий, а программа находит строки access-листа, которые ему удовлетворяют. При этом, сам критерий выглядит как строка access-листа, но без использования оператора "permit" или "deny". Если регулярно добавлять сетевые правила в access-лист без должной проверки их существования, то списки доступа могут содержать большое количество избыточных правил. Чтобы навести порядок в таких access-листах, в данной программе реализован функционал анализа списков доступа на избыточность. Вы можете выявить ненужные строки и освободить ресурсы оборудования. Для анализа ACL с object-группами программе необходимо указать состав object-групп. Вывод ACL будет предоставлен в развёрнутом виде. У нас есть нужные для изучения листов доступа статьи: Стандартные листы контроля доступа (ACL) Расширенные листы контроля доступа (Extended ACL) Интерфейс программы Поле ввода access-листа Поле ввода object-групп Кнопка распознавания access-листа Поле вывода access-листа в детальном виде Однострочное поле ввода условия Многострочный список ввода условий Кнопка прямой проверки Кнопка обратной проверки Поле результата проверки Шкала позиционирования поля детальных результатов (11) по отношению ко всему ACL Поле просмотра детальных результатов проверки Кнопка анализа ACL на конфликты и избыточность Кнопка сортировки строк ACL по различным критериям Маркер текущего активного условия в многострочном списке (6) Шкала сокращённого обозначения результатов проверки условий многострочного списка Переключатель типа маски для различного типа сетевого устройства Переключатель алгоритма проверки адресов источника и назначения Активация режима игнорирования строк ACL с ICMP протоколом в режиме частичного совпадения адресов Меню выбора вариантов CLI команд в составе с именем ACL Вывод object-групп, используемых в распознанном ACL Вывод списка известных программе именованных протоколов, а также типов и кодов ICMP Поле вывода ошибок, возникающих в процессе распознавания ACL Основные шаги Исходный access-list необходимо скопировать в поле 1. Если он содержит object-группы, то их состав необходимо скопировать в поле 2. ACL и object-группы можно копировать как с конфигурации устройства (“show running-config”, “show startup-config”), так и по прямым командам “show access-lists”, “show object”. Ниже приведён пример результата команды “show running-config”, допустимого для использования в поле 1: ip access-list extended ACL permit icmp host 172.16.0.6 host 172.21.0.6 permit ip host 172.16.0.6 host 172.21.0.1 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1 Тот же access-list по команде “show access-lists”: Extended IP access list ACL 10 permit icmp host 172.16.0.6 host 172.21.0.6 20 permit ip host 172.16.0.6 host 172.21.0.1 (32 matches) 30 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 40 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD (1 match) 50 permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1 Пример результата команды “show running-config”, допустимого для использования в поле 2: object-group ip address ADMIN_BSD host-info 10.237.92.131 host-info 10.22.145.132 host-info 10.22.145.136 host-info 10.22.145.141 Содержимое вывода команды “show object-group”: IP address object group ADMIN_BSD host 10.237.92.131 host 10.22.145.132 host 10.22.145.136 host 10.22.145.141 Также допустимы и другие форматы object-групп. Пример допустимого фрагмента команды “show running-config”: object-group network Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 object-group service Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151 Пример того же фрагмента команды “show object-group”: Network object group Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 Service object group Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151 После копирования ACL и object-групп необходимо нажать кнопку 3. В результате access-list будет распознан и отображён в развёрнутом виде (в случае использования object-групп) в поле 4. Если на этапе распознавания возникли ошибки, то они будут отображены в поле 22. Если номер строки конечного access-листа дополнен ‘0’, это означает, что данная строка получена из object-группы. Если access-лист скопирован вместе с его заголовком, то активируется кнопка 19, позволяющая использовать команды конфигурирования, содержащие имя access-листа. После распознавания ACL необходимо в поле 5 ввести условие для поиска интересуемого нас доступа и нажать кнопку 7. Результат поиска доступа отобразится в поле 9. В случае наличия доступа более детальная информация появится в поле 11. Вызов контекстного меню “Показать результат” по правой кнопке мыши на поле 11 позволит отобразить строки ACL, удовлетворяющие условию поиска. Проверка существования доступа между заданными узлами по определённому порту Предположим, нас интересует существование доступа с хоста 192.168.1.2 по порту TCP 1521 на сервер 192.168.2.2 в следующем списке доступа: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp host 192.168.1.2 any 30 permit tcp host 192.168.1.3 any eq 1521 Копируем access-лист в поле 1 и нажимаем кнопку 3. В поле 5 вводим следующее условие: tcp host 192.168.1.2 gt 1023 host 192.168.2.2 eq 1521 Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат: Разрешено в строке 1: 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 Имеются ещё совпадения Здесь значение “1:” является результатом сквозной нумерации всех строк конечного (распознанного) ACL, а “10” – номер строки в исходном ACL. Надпись “Имеются ещё совпадения” означает, что в ACL присутствуют и другие строки, в которых теоретически может сработать наше условие. Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Определение узлов заданной сети, к которым имеется доступ по определённому порту Рассмотрим ситуацию, когда требуется выяснить, к каким серверам сети 192.168.2.0 /24 открыт доступ по SSH (TCP 22). Список доступа следующий: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. Алгоритм будет учитывать строки ACL, в которых IP-адреса источника и назначения полностью или частично попадают в диапазон адресов, указанный в условии. В поле 5 вводим следующее условие: tcp any gt 1023 any eq 22 Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат Блок Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам. Определение доступов, открытых между определёнными узлами Выясним, какие доступы открыты от узла 192.168.1.10 к узлу 192.168.2.254 в следующем ACL: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. В поле 5 вводим следующее условие: ip host 192.168.1.10 host 192.168.2.254 Метод состоит в том, что заданное условие рассматривается как access-лист, а каждая строка исходного ACL как отдельное условие. Другими словами, условие и ACL меняются ролями. Кнопка (8), решающая эту задачу, называется “Обратная проверка”. Нажимаем кнопку 8 или комбинацию “Ctrl-Enter”. В поле 9 отобразится результат: Блок Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам. Важным требованием при такой проверке является необходимость установки переключателя 17 в среднее положение. Многострочный список условий (поле 6) Список условий (6) предназначен для ввода нескольких условий и последовательной их проверки. Для ввода каждого следующего условия (новой строки) предусмотрена комбинация “Shift-Enter”. Для проверки условия из списка необходимо установить на него курсор и нажать кнопку 7 (Enter) или 8 (Ctrl-Enter). На шкале 15 напротив строки запрошенного условия отобразится соответствующий символ результата. Он сохранится до изменения условия в этой строке списка. Сортировка (кнопка 13) Распознанный access-list, выведенный в развёрнутом виде в поле 4, можно упорядочить по различным критериям и их комбинации. При нажатии на кнопку сортировки (13) открывается дополнительное окно. 1-7 – Кнопки включения элементов в цепь сортировки 8 – Отображение исходных номеров строк 9 – Режим группирования результатов сортировки Каждый следующий критерий в цепочке выбирается соответствующей кнопкой. Рассмотрим следующий список доступа: 1 permit udp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq syslog 2 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 1514 3 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq 1514 4 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 4041 5 permit tcp 192.168.8.0 0.0.0.255 host 192.168.12.26 6 permit ip 192.168.8.0 0.0.0.255 192.168.41.0 0.0.0.255 7 permit ip 192.168.8.0 0.0.0.255 host 192.168.41.31 Чтобы упорядочить эти строки сначала по IP адресу назначения, а затем по протоколу, необходимо нажать последовательно кнопки 5 и 1: Цифры в круглых скобках на соответствующих кнопках указывают позицию элемента в цепочке сортировки. При отключении элемента из цепочки также исключаются все элементы с номерами выше отключенного. Анализ на конфликты и избыточность (кнопка 12) Кнопка “Анализ” (12) становится активной после распознания access-листа. Её нажатие запускает процесс анализа строк access-листа на конфликты и избыточность. Конфликтующей является строка access-листа, которая никогда не сработает из-за вышестоящего правила противоположного значения (“deny” после “permit” или наоборот). К примеру, загрузим следующий ACL: 10 permit icmp any any 20 permit tcp host 10.15.2.11 eq 1521 host 10.15.1.10 30 deny tcp 10.15.2.0 0.0.0.255 10.15.0.0 0.0.31.255 40 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.232 50 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.120 eq syslog 60 permit tcp host 10.15.2.11 eq 1521 host 10.15.7.11 Распознаем его (кнопка 3) и нажмём кнопку “Анализ” (12). Программа предупредит нас о имеющихся конфликтах: Кнопка “Да” откроет окно с результатами анализа, включающими только конфликты: Если нажать кнопку ‘Нет’, то откроется окно, включающее как конфликтующие, так и избыточные правила. Рассмотрим следующий access-list: 10 permit icmp any any 20 permit tcp host 192.168.1.10 host 192.168.2.20 eq 22 30 permit tcp host 192.168.1.10 host 192.168.2.20 40 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 Анализ такого ACL отобразит следующие результаты: Здесь жирным шрифтом выделены строки, если имеются другие правила, попадающие под их действие. Остальные строки (обычный шрифт) являются производными правилами. Установив курсор на определённой строке, удерживая нажатой клавишу “Ctrl”, получим детальную информацию в нижней части окна: Поле результатов Поле детализации выбранного правила Иерархический вид детализации В данном случае правило 2 является производным от правила 3. В свою очередь, правило 3 входит в правило 4. Визуально уровень такой вложенности можно определить по отступам строки вправо или выбрать иерархический вид (3). При иерархическом виде производные правила будут выведены ниже строк, в которые они входят. Можно выделить диапазон интересуемых строк в поле 1 и вызвать контекстное меню правой кнопкой мыши, в котором выбрать варианты удаления избыточных строк. Следует учитывать намеренное чередование операторов “permit” и “deny” в одном ACL для его упрощения. В таких случаях следует анализировать ACL частями. Например, до и после операторов “deny”. Либо анализировать полностью, но дополнительно обращать внимание на порядок следования конфликтующих строк в ACL и не удалять такие производные строки из исходного ACL. Опции запуска программы Предусмотрены следующие опции запуска exe-файла: /h, /?, /help – вызов справки параметров запуска /l (rus) – выбор языка /nm – включение режима “netmask” /pm (and,or) – выбор режима совпадения адресов /skipicmp – включение режима “игнорировать ICMP при частичном совпадении”.
img
Сталкивались ли вы когда-нибудь с ситуацией, когда вы включаете компьютер, но Windows не загружается? Очень обидно, когда это случается, особенно в самый неподходящий момент, например, за полчаса до начала Zoom сессии. Но сегодня мы расскажем, как решить проблему с загрузкой. Правда, к онлайн совещанию придется подключаться через смартфон. Прежде всего нужно подумать о возможной причине, по которой возникла эта проблема. Придется вспомнить не внесли ли какие-либо изменения в аппаратную или программную часть компьютера за последние дни, не устанавливались ли какие-либо обновления. Особенно это касается последнего релиза Windows 10. Давайте рассмотрим некоторые причины и сценарии. Компьютер не включается и не загружается Если компьютер вообще не включается, первое, что вам нужно проверить - это штекер и блок питания. В случае с настольным ПК, посмотрите в задней части корпуса и проверьте индикатор включения на блоке питания. Если там все в порядке, а компьютер по-прежнему не включает питание, есть вероятность что питание не поступает на материнскую плату. В таком случае, вам нужны прямые руки, мультиметр и базовые знания в области электроники, а лучше обратиться к специалисту. Если компьютер запускается, но на мониторе отсутствует изображение, проверьте все кабели, которые идут от корпуса к монитору, заодно проверьте есть ли питание на самом мониторе. Загрузочный носитель не найден При включении питания устройства и появлении сообщения об ошибке, вроде "disk error" или "no bootable device", необходимо проверить настройки BIOS компьютера. Проверьте параметры загрузки, чтобы убедиться, что в качестве загрузочного диска выбрано правильное устройство. Если в списке доступных устройств жесткий диск не отображается, возможно придется потратиться на покупку нового. После проверки BIOS setup и обнаружения проблемы с загрузкой попробуйте выполнить операцию восстановления при запуске, вставив установочный или восстановительный носитель Windows. Первое, что нужно проверить - это BIOS; как и в большинстве случаев, вы обнаружите, что ваша проблема решается сама по себе. Ошибка загрузки Windows Причиной сбоя или зависания Windows во время загрузки может быть проблема с программным обеспечением или оборудованием. Устранить неполадку программного обеспечения можно с помощью операции восстановления при запуске или переустановки Windows. Но если после операции восстановления системы компьютер продолжает долго грузиться, вероятно, проблемы с оборудованием. Если все указанное не помогло, то вам нужно программное обеспечение, которое может исправить ошибки и ускорить загрузку. Познакомьтесь с гением загрузки - Windows Tenorshare. Она может помочь с решением многих проблемах, связанных с загрузкой Windows. Ниже приведены некоторые из популярных функций. 1. Boot any computer Мощная функция, которая создает загрузочный диск CD/DVD/USB на любом компьютере для эффективной загрузки поврежденных Windows. Возможность загрузки любого ноутбука или настольного ПК; Компьютер запускается с высокой скоростью благодаря технологии Windows PE; Совместимость со всеми версиями Windows. 2. Rescue from Crash Функция восстановления Windows обеспечивает точное восстановление компьютера во время различных системных сбоев, таких как сбой системы или повреждение жесткого диска. Эта функция решает различные проблемы, которые могут возникнуть в системе. Исправление сбоя системы во время завершения работы или запуска; Исправление ошибок системы, устранение зависания или беспричинного перезапуска; Восстановление поврежденного загрузочного файла; Устранить проблемы с загрузкой Windows; Переустановка системы Windows без потери данных; Восстановление поврежденных или отсутствующих загрузочных секторов. 3. Windows backup restore Функция резервного копирования и восстановления системы Windows обеспечивает простой и надежный способ предотвращения потери данных. Ваши данные останутся в безопасности даже в том случае, если Windows не загружается по какой-либо причине. Резервное копирование одним щелчком мыши; Резервное копирование данных тома за считанные минуты с технологией ускорения; Возможность резервного копирования основных компонентов Windows, таких как MBR, реестр и DPT (Disk Parameter Table); Восстановление системы в соответствии с требованиями. Также есть возможность регулярное резервного копирования в облачное хранилище. 4. Windows password reset Существует расширенное средство сброса пароля Windows для эффективного сброса или удаления локального и доменного пароля системы Windows. Если вы забыли пароль, не стоит беспокоиться. Сброс и удаление пароля администратора Windows; Создание диска сброса пароля одним щелчком мыши с загрузочным DVD/CD/USB диском; Позволяет создать новую учетную запись администратора. 5. Product key finder Вы устали тратить дополнительные средства на ключи Windows и Microsoft Office? Не нужно беспокоиться, так как встроенный поисковик будет искать все потерянные ключи. Это самый простой способ вернуть все ключи продукта. 6. Data recovery Ваш компьютер полностью поврежден? Не нужно беспокоиться о ваших важных данных. Вы можете извлечь все драгоценные данные из неработоспособной Windows с помощью функции "Восстановление данных". Восстановление всех удаленных фотографий, видео, электронных писем, документов и т.д; Извлечение всех файлов с отформатированного жесткого диска или разделов; Поиск недоступных разделов и восстановление всех данные с него; Восстановление всех файлов, которые были потеряны по причине любых вирусных атак или ошибок; Сканирование файлов перед восстановлением; Выборочное восстановление файлов в соответствии с требованиями; 7. Wipe sensitive data Вы решили избавиться от компьютера из-за нескольких проблем, возникающих одна за другой? Перед этим необходимо уничтожить все данные. Tenorshare позволяет стирать все конфиденциальные файлы, такие как старые документы, личные фотографии или дневники. 3 специальных опций очистки: удаление файлов, удаление определенных папок или удаление разделов; Удаление всех конфиденциальных данных без возможности восстановления; Удаление всех вирусных файлов для защиты устройства; Данные после удаления не могут быть восстановлены в дальнейшем каким-либо программным обеспечением; Выше перечислены наиболее важные них возможностей, которые предоставляет данная программа. Если начнете пользоваться данным программное обеспечение, вы найдете несколько других полезных функций. Надеюсь, это поможет вам справиться с проблемой загрузки Windows.
img
В этой статье мы расскажем про самые популярные и полезные паттерны архитектуры программного обеспечения. Многоуровневая архитектура (n-уровневая) Многоуровневая архитектура является одной из самых распространенных. Ее идея заключается в том, что компоненты с одинаковыми функциями организованы в горизонтальные слои, или уровни. В результате чего каждый уровень выполняет определенную роль в приложении. В таком варианте архитектуры нет ограничения на количество уровней, которое может иметь приложение. При этом здесь также продвигается концепция разграничения полномочий. Многоуровневая архитектура абстрагирует представление о программном обеспечении как о едином целом; предоставляя достаточно информации для понимания ролей каждого уровня и взаимосвязи между ними. Стандартной реализацией такой модели может быть: Пользовательский интерфейс/уровень представления: отображение и запуск пользовательского интерфейса, отправка запросов серверному приложению. Уровень приложений: содержит уровень представления, уровень приложения, уровень предметной области и уровень хранения и управления данными. Уровень предметной области: этот уровень содержит всю логику предметной области, сущности, события и другие типы объектов, которые содержат логику предметной области. Уровень базы данных: это уровень данных, который используется для сохранения данных, которые будут использоваться сервером приложений. Пример: десктоп приложение, электронная коммерция или веб-приложения и т.д. Клиент-сервер Это наипростейшая архитектура, состоящая из сервера и нескольких клиентов. Она представляет собой распределенную структуру, которая распределяет задачи или рабочую нагрузку между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. При такой архитектуре, когда клиент отправляет запрос данных на сервер, сервер принимает этот запрос и отвечает клиенту, предоставляя требуемые данные. Клиенты своими ресурсами не делятся. Пример: электронная почта, обмен документами, банковские операции и т.д. Event-Bus (событийно-ориентированная архитектура) Это распределенная асинхронная архитектура для создания быстро масштабируемых реактивных приложений. Такая архитектура подходит для стека приложений любого уровня, от маленьких до сложных. Основная идея – асинхронная доставка и обработка событий. Эта модель состоит из четырех основных компонентов: Источник события Получатель события Канал Шина событий Источник публикует сообщение в определенный канал на шине событий. Получатель подписывается на определенный канал и получает сообщения, которые публикуются на канале, на который они подписаны. Пример: электронная коммерция, разработка мобильных приложений, службы уведомлений и т.д. Шаблон брокера Этот шаблон можно использовать для структурирования распределенных систем с несвязанными компонентами, взаимодействующими посредством удаленных вызовов служб. Компонент брокер отвечает за координацию обмена данными между компонентами; таких как переадресация запросов, а также передача результатов и исключений. Серверы публикуют свои возможности (услуги и характеристики) брокеру. Клиенты запрашивает услугу у брокера, и затем брокер перенаправляет клиента к подходящей услуге из своего реестра. Пример: ПО брокера сообщений, Apache ActiveMQ, Apache Kafka, RabbitMQ, JBoss Messaging и т.д. Микросервисный шаблон В данной модели службы взаимодействуют с использованием синхронных протоколов, таких как HTTP/REST, или асинхронных протоколов, таких как AMQP (Advanced Message Queuing Protocol - расширенный протокол организации очереди сообщений). Службы можно разрабатывать и разворачивать независимо, и каждая служба будет иметь собственную базу данных. Согласованность данных между службами поддерживается с помощью шаблона Saga (последовательность локальных транзакций). Пример: может быть реализован в различных вариантах использования, особенно в обширном конвейере данных Одноранговая модель (Peer-to-Peer) Здесь, как и в обычной клиент-серверной архитектуре, несколько клиентов взаимодействуют с центральным сервером. Но модель одноранговой сети (Р2Р) состоит из децентралированной сети одноранговых узлов. В этом шаблоне узлы ведут себя и как клиенты, и как серверы. Одноранговые узлы могут функционировать как клиент, запрашивающий услуги у других одноранговых узлов, и как сервер, предоставляющий услуги другим одноранговым узлам. Сети Р2Р распределяют рабочую нагрузку между одноранговыми узлами, и все они вносят и потребляют ресурсы внутри сети без необходимости использования централизованного сервера. Одноранговый узел может динамически менять свою роль с течением времени Пример: файлообменные сети, мультимедийные протоколы PDTP, P2PTV, биткоин, блокчен и т.д. Blackboard (доска объявлений) Данный паттерн полезен при решении задач, для которых не известны детерминированные стратегии решения. Все компоненты имеют доступ к «доске объявлений». Компоненты могут создавать новые объекты данных, которые в последствие будут добавлены на эту доску. Компоненты ищут определенные типы данных на доске и находят их по образцу, совпадающему с существующим источником знаний. Этот шаблон состоит из трех основных компонентов: Доска объявлений: структурированная глобальная память, которая содержит объекты из пространства решений. Источник знаний: специализированные модули с собственным представлением решения Компонент управления: выбирает, настраивает и выполняет модули Пример: быстрое распознавание, идентификация структуры белка, интерпретация сигналов звуколокатора, программы машинного обучения и т.д.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59