По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Отчетность. Важная штука, не правда ли? Особенно в крупном контакт - центре, где контроль за SLA и работой тысяч операторов является критическим бизнес - узлом.
Ранее, мы рассказывали про UCCE. Это такой большой контакт - центр от Cisco для больших компаний. А сегодня мы поговорим Cisco Unified Intelligence Center (CUIC), как его еще называют “куик". Обзор возможностей, архитектура и термины продукта в статье.
Зачем нужен?
CUIC позволяет работать с историческими данными и данными реального времени. “Куик" можно установить по модели standalone, когда у вас будет только 1 сервер, или кластеризовать это решение, добавив в него до 8 серверов.
В CUIC можно добавлять различные отчеты, в том числе кастомизированные, править отображение отчетов, делать его в формате диаграмм, чартов, делать “пермалинки" (ссылки по web на отчет), дашборды и многие другие функции.
Архитектура
С точки зрения высокоуровневой архитектуры, CUIC работает вот так:
Итак, с точки зрения высокоуровневой архитектуры:
Пользователь (супервайзер) через браузер делает обращение в CUIC для генерации отчета;
Веб запрос обрабатывается web - сервером в кластере серверов Unified Intelligence Center;
Данные “парсятся" черед Data source (датасорс, источник данных);
Датасорс предоставляет отчеты реального времени или исторические с UCCE или CVP сервера отчетности;
Кстати, подключить CUIC можно и к данным UCCX
При подключении к UCCE (в CUIC есть отдельный пункт настройки Data Sources), мы указываем подключение серверу AWDB (Administrative Workstation DB). По факту, это просто SQL - плечо по 1433 порту (если не меняли).
Как мы сказали ранее, по факту, CUIC - визуализатор данных из БД источников. Предварительная настройка его в этом и заключается - настроить источники данных (data sources).
Разобрались с архитектурой. Теперь давайте посмотрим, как выглядит CUIC.
Как выглядит CUIC?
Давайте быстро пробежимся по UI интеледженс центра. Форма авторизации весьма стандартная:
Чуть раньше в статье мы говорили про создание Data Source для CUIC - источников данных. Вот как этот конфигуратор выглядит в реальности:
Тут совершенно ничего сложного. Просто плечо в БД.
Теперь про отчеты. Вот так выглядит дашборд в системе. Обратите внимание, на нем преднастроены отчеты, стикеры (позволяющие запинить важные данные, например), фреймы на нужные веб - ресурсы:
CUIC начиная с 12 версии
В 12 версии Cisco прокачала свои интерфейсы в контакт - центровых продуктах (ну или купила компанию, которая это делает, сами понимаете). Изменения в плоскости интерфейса коснулись так же и агентского рабочего места Finesse. Посмотрите еще раз на скриншот выше. А теперь посмотреть, как изменился UI интерфейс CUIC:
Что такое хэш-функция?
Хэш-функция принимает входное значение, например, строку данных, и возвращает какое-то значение фиксированной длины. Идеальная хэш-функция должна обладать следующими свойствами:
она должна быть очень быстрой;
она должна иметь возможность возвращать огромный диапазон хэш-значений;
она должна генерировать уникальный хэш для каждого входного значения (без коллизий);
она должна генерировать различные хэш-значения для одинаковых входных значений;
сгенерированные ей хэш-значения не должны иметь ярко выраженной закономерности в своем распределении.
Разумеется, идеальных хэш-функций не бывает, однако каждая хэш-функция максимально старается приблизится к идеалу. Учитывая тот факт, что большинство хэш-функций возвращают значения фиксированной длины и из-за этого диапазон значений ограничен, в принципе это ограничение можно игнорировать. Например, количество возможных значений, которые может вернуть 256-битная хэш-функция, соразмерно количеству атомов во Вселенной.
В идеале хэш-функция должна работать без коллизий, иными словами ни одна пара различных входных значений не должна генерировать одно и то же значение хэш-функции. Это является важным условием особенно для криптографических хэш-функций, поскольку коллизии хэшей рассматриваются как уязвимости.
И наконец, хэш-функция должна генерировать различные хэш-значения для любого входного значения без возможности их прогнозирования. Например, возьмем следующие два очень похожих предложения:
1. "The quick brown fox."
2. "The quick brown fax."
А теперь сравним хэш-значения MD5, сгенерированные для каждого предложения:
1. 2e87284d245c2aae1c74fa4c50a74c77
2. c17b6e9b160cda0cf583e89ec7b7fc22
Для двух похожих предложений были сгенерированы два мало похожих хэша. Такое свойство является полезным как для проверки, так и для криптографии. Это и есть закон распределения: хэш-значения всех входных данных должны быть равномерно распределены без возможности прогнозирования по всему диапазону возможных хэш-значений.
Популярные хэш-функции
Существует несколько широко используемых хэш-функций. Все они были разработаны математиками и программистами. В процессе их дальнейшего изучения было выявлено, что некоторые из них имеют недостатки, однако все они считаются приемлемыми для не криптографических приложений.
MD5
Хэш-функция MD5 генерирует 128-битное хэш-значение. Изначально она была разработана для использования в криптографии, однако со временем в ней были обнаружены уязвимости, вследствие чего для этой цели она больше не подходит. И тем не менее, она по-прежнему используется для разбиения базы данных и вычисления контрольных сумм для проверки передачи файлов.
SHA-1
SHA расшифровывается как Secure Hash Algorithm. SHA-1 – это первая версия алгоритма, за которой в дальнейшем последовала SHA-2.
В то время как MD5 генерирует 128-битный хэш, SHA-1 создает 160-битный (20 байт). Если представить это число в шестнадцатеричном формате, то это целое число длиной в 40 символов. Подобно MD5, этот алгоритм был разработан для криптографических приложений, но вскоре в нем также были найдены уязвимости. На сегодняшний день он считается более устойчивым к атакам в сравнении с MD5.
SHA-2
Вторая версия алгоритма, SHA-2, имеет множество разновидностей. Пожалуй, наиболее часто используемая – SHA-256, которую Национальный институт стандартов и технологий (NIST) рекомендует использовать вместо MD5 и SHA-1.
Алгоритм SHA-256 возвращает 256-битное хэш-значение, что представляет собой шестнадцатеричное значение из 64 символов. Хоть это и не самый идеальный вариант, то текущие исследования показывают, что этот алгоритм значительно превосходит в безопасности MD5 и SHA-1.
Если рассматривать этот алгоритм с точки зрения производительности, то вычисление хэша с его помощью происходит на 20-30% медленнее, чем с использованием MD5 или SHA-1.
SHA-3
Этот алгоритм хэширования был разработан в конце 2015 года и до сих пор еще не получил широкого применения. Этот алгоритм не имеет отношения к тому, что использовался его предшественником, SHA-2.
Алгоритм SHA3-256 – это алгоритм с эквивалентной применимостью более раннего алгоритма SHA-256, причем вычисления первого алгоритма занимают немного больше времени, чем вычисления второго.
Использование хэш-значений для проверки
Как правило, хэш-функции используются для проверки правильности передачи данных. Одним из таких применений является проверка сжатых коллекций файлов, таких как архивные файлы .zip или .tar.
Имея архив и его ожидаемое хэш-значение (обычно называемое контрольной суммой), можно выполнить собственное вычисление хэш-функции, чтобы убедиться в целостности полученного вами архива.
Например, можно сгенерировать контрольную сумму MD5 для tar-файла в Unix, используя следующие команды:
tar cf - files | tee tarfile.tar | md5sum -
Чтобы получить хэш MD5 для файла в Windows, используйте команду PowerShell Get-FileHash:
Get-FileHash tarfile.tar -Algorithm MD5
Сгенерированную контрольную сумму можно разместить на сайте загрузки рядом со ссылкой на скачивание архива. Получатель, скачав архив, может проверить правильность его получения, выполнив следующую команду:
echo '2e87284d245c2aae1c74fa4c50a74c77 tarfile.tar' | md5sum -c
где 2e87284d245c2aae1c74fa4c50a74c77 - сгенерированная контрольная сумма, которая была размещена. При успешном выполнении вышеуказанной команды появится статус OK, как показано ниже:
echo '2e87284d245c2aae1c74fa4c50a74c77 tarfile.tar' | md5sum -ctarfile.tar: OK
В программно-конфигурируемой сети (SDN) происходит разделение плоскости передачи и управления данными, позволяющее осуществить программное управление плоскостью передачи, которое может быть физически или логически отделено от аппаратных коммутаторов и маршрутизаторов. Подобный подход дает большое количество плюсов:
Возможность видеть топологию всей сети;
Возможность конфигурации всей сети в целом, а не отдельных единиц оборудования;
Возможность производить независимое обновление оборудования в сети;
Возможность контролировать всей сети из высокоуровневого приложения.
SDN сети
То есть, основное отличие программно-конфигурируемых сетей - делегация задачи вычисления маршрутов контроллеру (плоскость управления) и оставить функцию передачи пакетов (плоскость передачи данных) на отдельных устройствах (коммутаторы OpenFlow) , что снизит нагрузку на маршрутизатор и увеличит его производительность.
Для оценки функциональности SDN-сети с элементами NFV можно использовать два основных подхода, со своими достоинствами и недостатками:
Метод
Достоинства
Недостатки
Эмуляция
Высокая точность, возможность использования настоящего ПО
Возможная несовместимость конфигурации с реальным оборудованием
Построение сети на реальном оборудовании
Высокая точность результатов
Высокая стоимость
С началом развития в сфере SDN-сетей появилось два эмулятора SDN-сетей, которые в добавок поддерживают симуляцию (возможность тестирования сети, часть оборудования в которой реальна и часть - эмулирована).
Рассмотрим эмуляторы подробнее.
Mininet
Эмулятор, находящийся в свободном доступе, большая часть которого написана на языке Python. Работает с “легковесной” виртуализацией, то есть вся эмулируемая сеть реальна, в том числе и конечные виртуальные машины. Есть возможность подключения любых виртуальных коммутаторов и контроллеров.
Достоинства
Недостатки
Открытый код, бесплатность, быстродействие, поддержка всех контроллеров SDN и протоколов OpenFlow вплоть до 1.3, большое количество обучающих видео
Высокая сложность, необходимо знание Python и Linux, отсутствие полноценного графического интерфейса
Estinet
Эмулятор, все права на который имеет компания Estinet, но для студентов и всех желающих попробовать есть свободный доступ на месяц. Есть удобный графический интерфейс для построения топологии сети, редакции свойств оборудования и запуска эмуляции.
Достоинства
Недостатки
Наглядность, простота настройки и установки, возможность эмуляции LTE и Wi-Fi сетей
Закрытость, малое количество обучающих статей и видео, низкая производительность работы, более высокая сложность настройки при использовании не встроенного контроллера
Ниже приведена часть программного кода на языке Python для построения сети в эмуляторе Mininet:
# Инициализация топологии
Topo.__init__( self, **opts )
# Добавление узлов, первые - коммутаторы
S1 = self.addSwitch( 's0' )
S2 = self.addSwitch( 's1' )
S3 = self.addSwitch( 's2' )
S4 = self.addSwitch( 's3' )
S5 = self.addSwitch( 's4' )
S6 = self.addSwitch( 's5' )
S7 = self.addSwitch( 's6' )
S8 = self.addSwitch( 's7' )
S9 = self.addSwitch( 's8' )
S10= self.addSwitch( 's9' )
S11= self.addSwitch( 's10')
# Далее - рабочие станции(виртуальные машины)
H1= self.addHost( 'h0' )
H2 = self.addHost( 'h1' )
H3 = self.addHost( 'h2' )
H4 = self.addHost( 'h3' )
H6 = self.addHost( 'h5' )
H7 = self.addHost( 'h6' )
H8 = self.addHost( 'h7' )
H9 = self.addHost( 'h8' )
H10 = self.addHost( 'h9' )
H11 = self.addHost( 'h10' )
# Добавление каналов связи между коммутатором и рабочей станцией
self.addLink( S1 , H1 )
self.addLink( S2 , H2 )
self.addLink( S3 , H3 )
self.addLink( S4 , H4 )
self.addLink( S7 , H7 )
self.addLink( S8 , H8)
self.addLink( S9 , H9)
self.addLink( S10 , H10)
self.addLink( S11 , H11)
# Добавление каналов связи между коммутаторами
self.addLink( S1 , S2, bw=1, delay='0.806374975652ms')
self.addLink( S1 , S3, bw=1, delay='0.605826192092ms')
self.addLink( S2 , S11, bw=1000, delay='1.362717203ms')
self.addLink( S3 , S10, bw=1000, delay='0.557936322ms')
self.addLink( S4 , S5, bw=1000, delay='1.288738ms')
self.addLink( S4 , S7, bw=1000, delay='1.1116865ms')
self.addLink( S5 , S6, bw=1000, delay='0.590828707ms')
self.addLink( S5 , S7, bw=1000, delay='0.9982281ms')
self.addLink( S6 , S10, bw=1000, delay='1.203263ms')
self.addLink( S7 , S8, bw=1000, delay='0.2233403ms')
self.addLink( S8 , S9, bw=1000, delay='1.71322726ms')
self.addLink( S8 , S11, bw=1000, delay='0.2409477ms')
self.addLink( S9 , S10, bw=1000, delay='1.343440256ms')
self.addLink( S10 , S11, bw=1000, delay='0.544934977ms')
Сравнение контроллеров для построения сети
В данный момент, существует большое количество платных и бесплатных(открытых) контроллеров. Все нижеперечисленные можно скачать и установить на домашнюю систему или виртуальную машину. Рассмотрим самые популярные открытые контроллеры и их плюсы и минусы:
NOX - один из первых контроллеров, написан на языке C++;
POX - контроллер, похожий на NOX и написанный на языке Python;
OpenDayLight- контроллер, поддерживаемый многими корпорациями, написан на языке Java и постоянно развивающийся;
RunOS- российская разработка от Центра Прикладного Исследования Компьютерных Сетей (ЦПИКС), имеет графический интерфейс, подробную документацию и заявлена самая высокая производительность.
В таблице ниже рассмотрим плюсы и минусы каждого из контроллеров:
Название контроллера
Достоинства
Недостатки
NOX
Скорость работы
Низкое количество документации, необходимость знания C++
POX
Проще обучиться, много документации
Низкая скорость работы, необходимость знания Python, сложная реализация совместимости с NFV
OpenDayLight
Наличие графического интерфейса, поддержка VTN-сетей(NFV), наличие коммерческих продуктов на базе данного контроллера(Cisco XNC)
Сложность в использовании, сложная установка
RunOS
Высокая производительность, Российская разработка, Открытый код, Наличие графического интерфейса
Ранняя версия, возможные проблемы в эксплуатации по причине сырости продукта.