По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В обычной корпоративной сети доступ к серверам из филиалов организации может осуществляться, чаще всего, подключением к серверам, расположенным в центральном офисе. Но при расположении серверной инфраструктуры в облаке параметры связи рабочих станций с серверами будут зависеть уже не от канала связи от каждого конкретного филиала до центрального офиса, а от канала связи всех отделений организации с ЦОД облачного провайдера, чьими услугами пользуется организация для формирования облачной инфраструктуры. Переход в облака поставил перед разработчиками ПО и сетевыми инженерами ряд новых условий, вызывающих задержку сигнала, которые им приходится учитывать для формирования качественного доступа к данным в облаке. Например, задержка длительностью 500мс приводит к снижению трафика Google на 20%, а задержка в 100мс сокращает продажи Amazon на 1%. Время задержки может быть очень важным аспектом во время работы с виртуальными рабочими столами (VDI), потоковым вещанием, трейдингом, передовыми web-сервисами, базами данных, терминальными приложениями. Но задержка не столь критична для таких сервисов как электронная почта или работа с документами. QoS и SLA Существует проблема обеспечения необходимого качества обслуживания (QoS). Разные виды трафика имеют различные требования к рабочим характеристикам сети. Чувствительность видов трафика была взята из и показана в таблице 1 Таблица 1. Чувствительность различных приложений сетевым характеристикам Тип трафика Уровень чувствительности к сетевым характеристикам Полоса пропускания Потери Задержка Джиттер Голос Очень низкий Средний Высокий Высокий Электронная коммерция Низкий Высокий Высокий Низкий Транзакции Низкий Высокий Высокий Низкий Электронная почта Низкий Высокий Низкий Низкий Telnet Низкий Высокий Средний Низкий Поиск в сети "от случая к случаю" Низкий Средний Средний Низкий Постоянный поиск в сети Средний Высокий Высокий Низкий Пересылка файлов Высокий Средний Низкий Низкий Видеоконференция Высокий Средний Высокий Высокий Мультикастинг Высокий Высокий Высокий Высокий Рекомендации МСЭ-Т по обеспечению QoS для сетей описываются в рекомендациях Y.1540 - стандартные сетевые характеристики для передачи пакетов в сетях IP, и Y.1541 нормы для параметров, определенных в Y.1540. Данные рекомендации важны для всех участников сети: провайдеров и операторов, пользователей и производителей оборудования. При создании оборудования, планировании развертывания и оценке сетей IP, оценка качества функционирования сети все будут опираться на соответствие характеристик требованиям потребителей. Основные характеристики, рассматриваемые в рекомендации Y.1540: производительность сети; надежность сети/сетевых элементов; задержка; вариация задержки (jitter); потери пакетов. Подробнее о данных характеристиках следует прочитать в вышеназванных рекомендациях. В таблице 2 указаны нормы на определенными в Y.1540 характеристики и распределены по классам качества обслуживания (QoS). Таблица 2 - Нормы для характеристик сетей IP с распределением по классам QoS Сетевые характеристики Классы QoS 0 1 2 3 4 5 Задержка доставки пакета IP, IPTD 100 мс 400 мс 100 мс 400 мс 1 с Н Вариация задержки пакета IP, IPDV 50 мс 50 мс Н Н Н Н Коэффициент потери пакетов IP, IPLR 1х10 3 1х10 3 1х10 3 1х10 3 1х10 3 Н Коэффициент ошибок пакетов IP, IPER 1х10 4 1х10 4 1х10 4 1х10 4 1х10 4 Н Примечание: Н не нормировано. Рекомендация Y.1541 устанавливает соответствие между классами QoS и приложениями: Класс 0 приложения реального времени, чувствительные к джиттеру, характеризуемые высоким уровнем интерактивности (VoIP, видеоконференции); Класс 1 приложения реального времени, чувствительные к джиттеру, интерактивные (VoIP, видеоконференции); Класс 2 транзакции данных, характеризуемые высоким уровнем интерактивности (например, сигнализация); Класс 3 транзакции данных, интерактивные; Класс 4 приложения, допускающие низкий уровень потерь (короткие транзакции, массивы данных, потоковое видео) Класс 5 традиционные применения сетей IP. Таким образом некоторые из облачных сервисов вполне могут попадать в классы 0 и 1, а значит следует учитывать время задержки и стараться сделать так, чтобы она не превышала 100 мс. Задержки в сетях Подключение к облаку через VPN аналогично подключению к центральному офису организации по VPN, за исключением лишь того, что если в обычной корпоративной сети все филиалы организации подключались к центральному офису, то теперь подключение филиалов и центрального офиса в том числе будет осуществляться к ЦОД облачного провайдера. Для проверки задержки в большинстве ОС используется команда ping, а для проверки пути прохождения пакета команда tracert, которые подробнее рассмотрим ниже. Предположим, что домашняя сеть является подобием корпоративной сети малого предприятия. В таблице в приложении А собраны данные из статьи с указанием расположения ЦОД. Воспользуемся этими данными чтобы проверить задержку сигнала от текущей домашней сети, расположенной в городе Москва, без учета VPN, до web-сервера некоторых компаний, владеющих, ЦОД, расположенных в разных городах, тем самым проверяя разницу в задержке в зависимости от расположения ЦОД облачного провайдера. Для проверки задержки воспользуемся "Командной строкой" Windows и командами ping и tracert. Команда ping используется для проверки целостности и качества соединения в сети на основе протоколов TCP/IP. Команда tracert строит маршрут через коммутационные узлы между компьютером и конечным сервером и выводит их IP-адреса и время задержки. На рисунках 1 и 2 представлена системная справка по командам, соответственно, tracert и ping. Проведем тест проверки задержки до домена DataLine dtln.ru, расположенного ближе всего к домашней сети (рисунки 3 и 4). Как видно из результатов на рисунке 5.3, было передано и получено 4 пакета объемом 32 байта. Время обмена одним пакетом составило 1 миллисекунду. Команда tracert вывела следующие данные: 1, 2, 3 - номер перехода; <1 мс <1 мс <1 мс время ответа для 3-х попыток (в данном случае все попытки менее 1 мс); 185.3.141.232 IP-адреса (в данном случае IP-адрес домена dtln.ru) Согласно проверке данного IP на сайте 2ip.ru, данный домен базируется по тому же адресу на карте, что и указано в таблице в приложении Б. Таким образом можно сделать вывод, что web-сервер большинства компаний из списка вероятнее всего находится на территории одного из их ЦОД, но даже если и нет, то позволяет сделать выводы о доступности ресурса. Аналогично проверим ping для остальных компаний, результаты представим на рисунке 5.5. В качестве опорного времени задержки будет использовано среднее и максимальное время приема-передачи. Из данных рисунка 5 можно сделать вывод, что среднее значение времени задержки в пределах Москвы из сети, также находящейся в пределах Москвы, чаще всего не превышает 10мс. Можно сравнить данные значения с ping до серверов Amazon Web Services в разных регионах с сайта cloudping.info (рисунок 6). VPN без шифрования теоретически позволил бы сократить эту задержку в связи с использованием "прямого туннеля" между "офисом" и ЦОД. Шифрование будет вносить уже свою задержку, проверить которую в данных условиях нет возможности. В локальных сетях корпоративной сети и сети ЦОД задержка исчисляется в микросекундах. В сети ЦОД предъявляются высокие требования к быстродействию сети, современные решения Ethernet для ЦОД должны быть широкополосными и поддерживать скорости 10, 25, 40, 50, 100 Гбит/с, обеспечивать низкие задержки до 1-2 мкс для связи серверов (через три коммутатора), и многие другие. Скорость интернет-канала Передача видео через сети связи, будь то видео с камер наблюдения или же видеоконференции, являются одними из самых требовательных с скорости передачи данных. Если для работы с документами может быт достаточно скорости в 100 Кбит/с, то для передачи видео понадобится уже примерно 2 Мбит/с. Для некоторых приложений, таких как IP-телефония, желательно, чтобы уровень задержек был низким, а мгновенная пропускная способность канала была больше определенного порогового значения: не ниже 24 Кбит/с для ряда приложений IP-телефонии, не ниже 256 Кбит/с для приложений, обрабатывающих видеопоток в реальном времени. Для некоторых приложений задержки не так критичны, но, с другой стороны, желательна высокая пропускная способность, например, для передачи файлов. Например, компания Ivideon предлагает услуги облачного видеонаблюдения, и у них на сайте даются следующие требования к интернет-каналу для разного качества видеопотока. Данные представлены в таблице 3. Таблица 3 Требования к интернет-каналу для одной камеры видеонаблюдения при разных разрешения при частоте 25 кадров/сек Разрешение Качество изображения Рекомендуемая скорость 1280х720 (1Mpx) /25к/с 1 Мбит/с 1920x1080 (2Mpx) /25к/с 2 Мбит/с 2048x1536 (3Mpx) /25к/с 2 Мбит/с 2592x1728 (4Mpx) /25к/с 2 Мбит/с Но для работы с терминальными сессиями достаточно канала в 128-256 Кбит/с на пользователя. Для 50 пользователей понадобится 6.25 Мбит/с. Компания 1cloud.ru при выборе ширины канала связи предлагает скорость соединения в диапазоне от 10 до 100 Мбит/с для доступа к виртуальному серверу. Внутри облака сетевые соединения между виртуальными машинами имеют пропускную способность в 1 Гбит/с. RDP-сессия Для теста потребления трафика при использовании удаленного подключения RDP был проведен эксперимент. Два персональных компьютера находятся в одной локальной сети и подключены к интернету. Один выступает сервером удаленного доступа, второй подключается к нему посредством встроенной в Windows программы "Подключение к удаленному рабочему столу" по протоколу RDP. На сервере запускается видео в интернете. Для захвата трафика и анализа используется ПО Wireshark Параметры подключения: размер удаленного рабочего стола 1920х1080 глубина цвета 15 бит выбранная скорость соединения 56 Кбит/с дополнительные возможности отключены (рисунок 7) Wireshark программа для захвата и анализа сетевого трафика. Данная программа работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс, и мощнейшую систему фильтров. Во время подключения к удаленному рабочему столу программа замеряла отправленные и поступившие пакеты данных. Эти пакеты были отфильтрованы по IP-адресу сервера, а также по протоколу RDP. Интерфейс программы представлен на рисунке 8. График ввода/вывода данных по IP-адресу сервера по протоколу RDP представлен на рисунке 9. На графике на рисунке 9 видно два "всплеска" данных, т.е. две сессии подключения к серверу. Во время первой сессии проводилась работа с тяжеловесным графическим приложением. Во время второй сессии было включено видео, затем производился web-серфинг в браузере машины с некоторыми графическими материалами на странице. Как видно по графику, в пиковый момент была передача данных 5.5 Мбит/с. В последние моменты web-серфинга 0,65 Мбит/с. Таким образом можем сделать вывод, что протокол RDP не укладывается в ранее заявленный диапазон до 128 Кбит/с. Однако стоит учитывать, что RDP-сессия изначально очень требовательна к сети и является, по сути, передачей видеотрафика. Общедоступной информации в сети для анализа влияния облачной инфраструктуры на сеть, по крайней мере в русскоязычном сегменте интернета, чрезвычайно мало. Исследований по теме облачных вычислений недостаточно для заключения результата, и, в основном, это анализы финансовых затрат или производительности серверов. Наиболее подходящей темой для дискуссий на тему влияния облачной инфраструктуры на сеть могут служить только качество обслуживания (QoS) и договор о предоставлении услуг SLA, но данные темы слишком обширны и требует более углубленного внимания, а вопросы, связанные с ними, требуют внимания соответствующих специалистов.
img
В сегодняшней статье расскажем, как организовать функцию прослушивания телефонных разговоров, как входящих, так и исходящих, которые проходят в реальном времени на нашем сервере IP-АТС Asterisk. Для этих целей будем использовать стандартное приложение Asterisk - ChanSpy(). Данная задача часто встречается при организации call-центров, когда есть группа агентов, принимающих или совершающих вызовы и группа супервайзеров, контролирующих их взаимодействие с клиентами КЦ. Для того, чтобы научить агентов грамотно общаться с клиентами, супервайзерам необходимо иметь доступ не только к записям разговоров агентов, но и к разговорам в реальном времени, в том числе, с возможностью прямо во время разговора подсказать агенту какую-либо информацию и не быть услышанным клиентом. Здесь то нам и приходит на помощь ChanSpy – своеобразный “шпионский” канал. Работа в FreePBX По умолчанию, данная функция доступна в графической оболочке FreePBX по средствам набора специального кода Feature Code Feature Code, а именно -комбинации цифр 555 То есть, мы можем, набрав 555, подключиться к случайному разговору, который в настоящий момент проходит на IP-АТС и прослушивать его. Если разговоров несколько, то переключаться между ними можно с помощью *. Согласитесь, это слегка неудобно. Вдруг нам нужен конкретный агент, который в настоящий момент разговаривает с конкретным клиентом? Не перебирать же все разговоры и пытаться по голосу определить нужного нам агента! Работа в Asterisk CLI Чтобы упростить задачу супервайзерам и расширить стандартный функционал ChanSpy на FreePBX, мы немного отредактируем конфигурационные файлы Asterisk. Для начала давайте обратимся к синтаксису ChanSpy(). ChanSpy([chanprefix,[options]]), где: chanprefix - специальный префикс канала. Например мы можем указать шаблон для внутренних номеров, разговоры которых мы хотим прослушивать; options - буквенные обозначения опций с учётом регистра и параметров прослушивания канала. Рассмотрим наиболее полезные: b – позволяет подключаться к каналам, задействованным в конференц-звонке; d – позволяет вручную управлять режимом прослушивания канала: 4 – только прослушивание, 5 – только подсказки (шёпот), 6 – и подслушивание и подсказки; E – отключается от прослушиваемого канала, когда тот кладёт трубку; q – тихий режим. Не проигрывает никаких звуков, когда происходит подключение к прослушиваемому каналу; v – позволяет настроить начальный уровень громкости от -4 до 4; w – позволяет говорить в подслушиваемый канал. Функция подсказок или “шёпота”; Все остальные опции, доступные в ChanSpy можно узнать из командной строки Asterisk, используя команду: core show application chanspy Для того, чтобы настроить новое правило ChanSpy, нужно открыть файл extension_custom.conf, который лежит в /etc/asterisk/ и открыть его любым удобным текстовым редактором, например nano: nano /etc/asterisk/extension_custom.conf И внесём туда следующий контекст: [app-custom-chanspy] exten => 555.,1,Authenticate(48151623) //48151623 – это пароль для доступа к функционалу прослушивания; exten => 555.,n,Answer exten => 555.,n,Wait(1) exten => 555.,n,ChanSpy(SIP/${EXTEN:3},qw) exten => 555.,n,Hangup Давайте разберём что получилось: пользователь, например, супервайзер набирает комбинацию 555115, где 555 – доступ к ChanSpy, а 115 – внутренний номер агента, к разговору которого хочет подключиться супервайзер. При наборе “555” пользователя попросят ввести пароль (в нашем случае 48151623), это поможет ограничить доступ к функционалу прослушивания разговоров на нашей IP-АТС. После подтверждения пароля, пользователю будет доступен функционал прослушивания разговора и “шёпота”, причем при подключении к разговору никаких уведомлений проигрываться не будет, так как включен тихий режим.
img
В предыдущем материале мы рассмотрели, как работает Интернет на базовом уровне, включая взаимодействие между клиентом (вашим компьютером) и сервером (другим компьютером, который отвечает на запросы клиента о веб-сайтах). В этой же части рассмотрим, как устроены клиент, сервер и веб-приложение, что мы можем удобно серфить в Интернете. Модель клиент-сервер Эта идея взаимодействия клиента и сервера по сети называется моделью «клиент-сервер». Это делает возможным просмотр веб-сайтов (например, сайт wiki.merionet.ru) и взаимодействие с веб-приложением (как Gmail). На самом деле, модель клиент-сервер - это ни что иное, как способ описать отношения между клиентом и сервером в веб-приложении. Это детали того, как информация переходит от одного конца к другому, где картина усложняется. Базовая конфигурация веб-приложения Существует сотни способов настройки веб-приложения. При этом большинство из них следуют одной и той же базовой структуре: клиент, сервер, база данных. Клиент Клиент - это то, с чем взаимодействует пользователь. Так что «клиентский» код отвечает за большую часть того, что на самом деле видит пользователь. Это включает в себя: Определение структуры веб-страницы Настройка внешнего вида веб-страницы Реализация механизма пользовательского взаимодействия (нажатие кнопок, ввод текста и т.д.) Структура: Макет и содержимое веб-страницы определяются с помощью HTML (обычно HTML 5, если речь идет о современных веб-приложениях, но это другая история.) HTML означает язык гипертекстовой разметки (Hypertext Markup Language). Он позволяет описать основную физическую структуру документа с помощью HTML-тэгов. Каждый HTML-тэг описывает определенный элемент документа. Например: Содержимое тега «<h1>» описывает заголовок. Содержимое тега «<p>» описывает абзац. Содержимое тега «<button>» описывает кнопку. И так далее... Веб-браузер использует эти HTML-тэги для определения способа отображения документа. Look and Feel: Чтобы определить внешний вид веб-страницы, веб-разработчики используют CSS, который расшифровывается как каскадные таблицы стилей (Cascading Style Sheets). CSS - это язык, который позволяет описать стиль элементов, определенных в HTML, позволяя изменять шрифт, цвет, макет, простые анимации и другие поверхностные элементы. Стили для указанной выше HTML-страницы можно задать следующим образом: Взаимодействие с пользователем: Наконец, для реализации механизма взаимодействия с пользователем, на сцену выходит JavaScript. Например, если вы хотите что-то сделать, когда пользователь нажимает кнопку, вы можете сделать что-то подобное: Иногда взаимодействие с пользователем, может быть реализовано без необходимости обращения к вашему серверу - отсюда и термин "JavaScript на стороне клиента". Другие типы взаимодействия требуют отправки запросов на сервер для обработки. Например, если пользователь публикует комментарий в потоке, может потребоваться сохранить этот комментарий в базе данных, чтобы весь материал был структурирован и собран в одном месте. Таким образом, вы отправляете запрос на сервер с новым комментарием и идентификатором пользователя, а сервер прослушивает эти запросы и обрабатывает их соответствующим образом. Сервер Сервер в веб-приложении прослушивает запросы, поступающие от клиента. При настройке HTTP-сервера он должен прослушивать конкретный номер порта. Номер порта всегда связан с IP-адресом компьютера. Вы можете рассматривать порты как отдельные каналы на каждом компьютере, которые можно использовать для выполнения различных задач: один порт может быть использован для серфинга на wiki.merionet.ru, в то время как через другой получаете электронную почту. Это возможно, поскольку каждое из приложений (веб-браузер и клиент электронной почты) использует разные номера портов. После настройки HTTP-сервера для прослушивания определенного порта сервер ожидает клиентские запросов, поступающие на этот порт, выполняет все действия, указанные в запросе, и отправляет все запрошенные данные через HTTP-ответ. База данных Базы данных – это подвалы веб-архитектуры - большинство из нас боятся туда спускаться, но они критически важны для прочного фундамента. База данных - это место для хранения информации, чтобы к ней можно было легко обращаться, управлять и обновлять. Например, при создании сайта в социальных сетях можно использовать базу данных для хранения сведений о пользователях, публикациях и комментариях. Когда посетитель запрашивает страницу, данные, вставленные на страницу, поступают из базы данных сайта, что позволяет нам воспринимать взаимодействие пользователей в реальном времени как должное на таких сайтах, как Facebook или в таких приложениях, как Gmail. Как масштабировать простое веб-приложение Вышеописанная конфигурация отлично подходит для простых приложений. Но по мере роста приложения один сервер не сможет обрабатывать тысячи - если не миллионы - одновременных запросов от посетителей. Чтобы выполнить масштабирование в соответствии с этими большими объемами, можно распределить входящий трафик между группой внутренних серверов. Здесь все становится интересно. Имеется несколько серверов, каждый из которых имеет собственный IP-адрес. Итак, как сервер доменных имен (DNS) определяет, на какой экземпляр вашего приложения отправить трафик? Ответ очевиден - никак. Управление всеми этими отдельными экземплярами приложения происходит через средство балансировки нагрузки. Подсистема балансировки нагрузки действует как гаишник, который маршрутизирует клиентские запросы по серверам как можно быстрее и эффективнее, насколько это возможно. Поскольку вы не можете транслировать IP-адреса всех экземпляров сервера, вы создаете виртуальный IP-адрес, который транслируется клиентам. Этот виртуальный IP-адрес указывает на подсистему балансировки нагрузки. Таким образом, когда DNS ищет ваш сайт, он указывает на балансировщик нагрузки. Затем подсистема балансировки нагрузки перескакивает для распределения трафика на различные внутренние серверы в реальном времени. Возможно, вам интересно, как подсистема балансировки нагрузки узнаёт, на какой сервер следует отправлять трафик. Ответ: алгоритмы. Один популярный алгоритм, Round Robin, включает равномерное распределение входящих запросов по ферме серверов (все доступные серверы). Вы обычно выбираете такой подход, если все ваши серверы имеют одинаковую скорость обработки и память. С помощью другого алгоритма, Least Connections, следующий запрос отправляется на сервер с наименьшим количеством активных соединений. Существует гораздо больше алгоритмов, которые вы можете реализовать, в зависимости от ваших потребностей. Теперь поток трафика выглядит следующим образом: Службы Итак, мы решили проблему трафика, создав пулы серверов и балансировщик нагрузки для управления ими. Но одной репликация серверов может быть недостаточно для обслуживания приложения по мере его роста. По мере добавления дополнительных функциональных возможностей в приложение необходимо поддерживать тот же монолитный сервер, пока он продолжает расти. Для решения этой проблемы нам нужен способ разобщить функциональные возможности сервера. Здесь и появляется идея служб. Служба является просто другим сервером, за исключением того, что она взаимодействует только с другими серверами, в отличие от традиционного веб-сервера, который взаимодействует с клиентами. Каждая служба имеет автономную единицу функциональности, такую как авторизация пользователей или предоставление функции поиска. Службы позволяют разбить один веб-сервер на несколько служб, каждая из которых выполняет отдельные функции. Основное преимущество разделения одного сервера на множество сервисов заключается в том, что он позволяет масштабировать сервисы полностью независимо. Другое преимущество здесь заключается в том, что он позволяет командам внутри компании работать независимо над конкретной услугой, а не иметь 10, 100 или даже 1000 инженеров, работающих на одном монолитном сервере, который быстро становится кошмаром для менеджера проекта. Краткое примечание: эта концепция балансировщиков нагрузки и пулов внутренних серверов и служб становится очень сложной, поскольку вы масштабируете все больше и больше серверов в вашем приложении. Это особенно сложно с такими вещами, как, например, сохранение сеанса, обработка отправки нескольких запросов от клиента на один и тот же сервер в течение сеанса, развертывания решения для балансировки нагрузки. Такие продвинутые темы не будет затрагивать в данном материале. Сети доставки контента (Conten Delivery Network – CDN) Все вышеперечисленное отлично подходит для масштабирования трафика, но приложение все еще централизовано в одном месте. Когда ваши пользователи начинают посещать ваш сайт из других концов страны или с другого конца мира, они могут столкнуться с длительной задержкой из-за увеличенного расстояния между клиентом и сервером. Ведь речь идет о "всемирной паутине" - не о "местной соседней паутине". Популярная тактика решения этой проблемы - использование сети доставки контента (CDN). CDN - это большая распределенная система «прокси» серверов, развернутая во многих центрах обработки данных. Прокси-сервер - это просто сервер, который действует как посредник между клиентом и сервером. Компании с большим объемом распределенного трафика могут платить CDN-компаниям за доставку контента конечным пользователям с помощью серверов CDN. CDN имеет тысячи серверов, расположенных в стратегических географических точках по всему миру. Давайте сравним, как веб-сайт работает с CDN и без него. Как мы уже говорили в разделе 1, для типичного веб-сайта доменное имя URL преобразуется в IP-адрес сервера хоста. Однако если клиент использует CDN, доменное имя URL преобразуется в IP-адрес пограничного сервера, принадлежащего CDN. Затем CDN доставляет веб-контент пользователям клиента, не затрагивая серверы клиента. CDN может сделать это, сохраняя копии часто используемых элементов, таких как HTML, CSS, загрузки программного обеспечения и медиаобъектов с серверов клиентов. Главная цель - расположить контент сайта как можно ближе к конечному пользователю. В итоге пользователь получает более быструю загрузку сайта.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59