По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы продолжаем постигать основы важнейшего протокола, использующегося в IP телефонии и в сегодняшней статье рассмотрим основные сценарии установления соединения, а также работу основных компонентов протокола SIP. Протокол SIP имеет 3 стандартных сценария установления соединения, которые отличаются наличием и участием тех или и иных устройств. Пример №1 Установление соединения между User Agent’ами, когда в сети отсутствуют всякого рода серверы. Простейшим примером является сеанс связи, в котором принимают участие только два пользователя. Терминальное оконечное оборудование называется UA (User Agent), когда одновременно совмещает в себе функции UAС (User Agent Client) - клиента и UAS (User Agent Server) - сервера. В данном случае сценарий установления соединения будет выглядеть так: . Абонент A снимает телефонную трубку и набирает номер Абонента B, тем самым генерируя запрос INVITE , который содержит описание сеанса связи. Устройство абонента B отвечает сообщением 100 Trying , которое означает, что запрос находится в обработке. После обработки запроса устройство абонента B уведомляет его о входящем вызове, а в сторону абонента A отвечает сообщением 180 Ringing, что соответствует контролю посылки вызова. Абонент B снимает телефонную трубку, отвечая сообщением 200 OK, означающее успешную обработку запроса. Устройство абонента A прекращает прием контроля посылки вызова и посылает подтверждение ACK, означающее прием ответа на запрос INVITE. Между абонентами устанавливается разговорная фаза. Происходит передача голосового трафика по протоколу RTP (Real-Time Transfer Protocol). Важно отметить, что SIP не участвует в непосредственной передаче голоса, а лишь предоставляет условия и способы согласования открытия неких каналов обмена на основе других протоколов, в данном случае - RTP. Абонент A кладет телефонную трубку, тем самым инициируя завершение передачи голосового потока. Устройство абонента A генерирует запрос Bye, в сторону устройства абонента B. Устройство абонента B отвечает сообщением 200 OK, означающем успешную обработку запроса Bye. Терминальное оконечное оборудование абонентов A и B возвращается в исходное состояние. Однако, данный сценарий установления соединения является самым примитивным, можно даже сказать частным. Обычно в сети присутствует SIP прокси сервер, который принимает и обрабатывает запросы от пользователей и выполняет, соответствующие этим запросам, действия. Пример №2 Рассмотрим сценарий установления соединения между двумя пользователями. В данном случае задачу поиска и приглашения абонента выполняет Прокси сервер, вызывающему пользователю необходимо знать только постоянный номер вызываемого абонента. Отметим, что функции прокси сервера выполняет офисная телефонная станция Как видно из рисунка, процесс установления и разъединения соединения происходит аналогично первому сценарию, только в качестве посредника при передаче сообщений протокола SIP выступает SIP Proxy. Пример №3 Допустим, что в сети имеется множество пользователей, число которых постоянно пополняется. Они могут менять свое фактическое положение, ставить переадресацию (redirection) на другой номер, проводить конференц – звонки и др. Для предоставления подобных сервисов требуется наличие в сети соответствующих серверов, поддерживающих ту или иную функцию. Сервер регистрации (Registration Server) для аутентификации и авторизации пользователей. Сервер определения местоположения (Allocation Server) для определения реального местонахождения пользователей. Сервер переадресации (Redirect Server) для перенаправления звонков на другие номера, в случае если пользователь настроил данную функцию. Сервер регистрации это логический элемент и обычно его функции выполняет SIP Proxy, такие совмещенные сервера называют Registar. SIP Proxy может также выполнять функции серверов определения местоположения и переадресации, такое совмещение полезно в плане масштабируемости сети. Приведем пример, когда сеть содержит некий комбинированный SIP Proxy, который поддерживает все функции, описанные выше. Допустим, что новый, еще не зарегистрированный пользователь A,вызывает пользователя B, который уже прошел процедуру авторизации. Новый User Agent A посылает серверу сообщение REGISTER , которое инициирует процесс регистрации. Т.к User Agent A ещё не зарегистрирован, то сервер Registar отвечает сообщением 401 Unauthorized Тогда User Agent A посылает серверу сообщение REGISTER + login, содержащее логин и пароль. Сервер Registar отвечает сообщением 200 OK, на этом процесс регистрации закончен. Теперь пользователь А авторизован на сервере и может совершать звонки. User Agent A инициирует установление связи с пользователем B сообщением INVITE. На данном этапе включаются функции серверов определения местоположения и переадресации, сервер отвечает сообщением 302 Moved Temporarily, означающее, что вызываемый абонент временно сменил местоположение и содержащее его новые данные для установления соединения. User Agent A отвечает сообщением ACK, которое означает прием ответа от Redirect сервера на запрос INVITE. Далее User Agent A инициирует новое установление соединения напрямую к пользователю B, в соответствии с полученными данными. Как видно из рисунка дальнейший процесс соединения происходит аналогично сценарию 1. В следующей статье мы подробно рассмотрим основные модификации протокола SIP для взаимодействия с традиционными телефонными сетями, использующими сигнализацию ОКС-7.
img
В одной из вышедших ранее статей мы знакомились с инструментарием Hadoop и рассматривали процедуру развертывания кластера на базе хадуп. Сегодня мы рассмотрим сценарии использования Hadoop, иными словами зачем он нужен и в чем его польза. Вспомним, что же такое Hadoop? Hadoop, если говорить простым языком это набор программных решений, позволяющих осуществлять работу с так называемыми "большими данными". Большие данные, в данном контексте это гигантские объемы данных (не обязательно имеющих структуру), которые наиболее эффективно обрабатываются горизонтально масштабируемыми программами. Такие программные решения позволяют разбивать большие объемы данных на части и использовать для работы с этими элементами множество отдельных аппаратных машин, выполняющих обработку данных параллельно. Собственно, одним из таких программных решений и является Hadoop. Благодаря широкому набору элементов для конфигурирования, Hadoop имеет очень большую гибкость, то есть этот инструмент можно настроить под множество различных задач. Стоит, однако, отметить, что наибольшую эффективность при обработке данных Hadoop имеет в сочетании с другими программными решениями (как пример можно привести SAP HANA) Разберем наиболее часто используемые сценарии работы Hadoop. Можно использовать эту технологию в качестве базы данных, хранилища данных, инструмента обработки и анализа данных. В качестве хранилища данных Hadoop привлекает тем, что может хранить разнородные данные из множества источников, без ограничения на типы анализа. Конкретные сценарии использования в данном случае будут таковы: Хранение больших объемов документов: Конкретный пример поликлиники. Медицинские данные населения вполне можно считать большими данными, поскольку они должны храниться долгое время и со временем эта информация пополняется. С учетом перехода системы здравоохранения на электронный документооборот, Hadoop будет являться очень эффективным решением. Архивы журналов электронной почты: С учетом законодательства, хранение переписки по электронной почте с последующим анализом требует эффективных решений для реализации. И здесь опять-таки Hadoop является одним из лучших вариантов. Справочные данные: В различных отраслях человеческой деятельности для изучения используется метод сбора данных и их анализа. Например, метеостанции собирают данные о погоде, затем отправляют их в единый центр, после чего данные анализируются и составляется полная картина для отдельного региона или для всей планеты. Hadoop, в данном случае, будет эффективен, если точек сбора данных достаточно много, и поступающие данные регулярны. Решение Hadoop позволяет довольно быстро собрать данные и длительное время хранить их на серверах для дальнейшего анализа. Социальные сети: Размещение больших данных в хранилищах Hadoop позволяет осуществить к ним быстрый доступ идеальное решение для социальных сетей. Непрерывный сбор данных в режиме реального времени: Информация, поступающая с датчиков, сенсоров, камер видеонаблюдения и т.п. имеет огромное значение для любого современного технически ориентированного предприятия. Хранилища Hadoop эффективны и для данного сценария использования. Также Hadoop может использоваться чисто как база данных для сторонних программных решений. В этом случае сценарии использования могут быть такими: Извлечение и адаптация данных из других систем: В данном случае, благодаря гибкости, Hadoop может отбирать необходимые данные и интегрировать их в свои базы, для дальнейшей обработки и анализа База данных для больших объемов информации в реальном времени: Эта возможность имеет серьезное значение для социальных сетей, где важно сохранять различные выборки данных Предоставление доступа к Hadoop другим системам: Hadoop может эффективно интегрироваться в качестве базы данных в другие программные решения. В виде инструмента обработки и анализа данных Hadoop так же проявляет себя очень эффективно. Анализ рисков предприятия: Благодаря собранным данным и параллельной обработке, программа позволяет быстро просчитать риски и выявить слабые места в деятельности организации Оперативное обновление данных: Hadoop позволяет вносить дополнительную информацию в имеющиеся данные, что позволяет устранить проблемы с нехваткой нужной информации. Быстрое выявление различий в больших объемах схожих данных: Здесь в качестве примера можно привести сравнение расшифровок генетического кода. Использование Hadoop в разы ускоряет этот процесс. Таким образом, можно сказать, что на текущий момент дистрибутивы Hadoop пожалуй, самый эффективный набор инструментов для обработки больших данных. А благодаря непрерывной работе над улучшением инструментария, в ближайшее время вряд ли появится что-то более эффективное.
img
Virtual Network Computing (VNC) - это графическая система общего доступа к рабочему столу, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером. В этой статье описываются шаги по установке и настройке VNC-сервера в CentOS 8. Мы также покажем, как безопасно подключаться к VNC-серверу через туннель SSH. Подготовка Чтобы следовать этому руководству, вам необходимо войти в систему как пользователь с привилегиями sudo на удаленном компьютере CentOS. Установка окружения рабочего стола Как правило, на серверах не установлена среда рабочего стола. Если машина, к которой вы хотите подключиться, не имеет графического интерфейса, сначала установите ее. В противном случае пропустите этот шаг. Выполните следующую команду, чтобы установить Gnome, среду рабочего стола по умолчанию в CentOS 8 на удаленной машине: sudo dnf groupinstall "Server with GUI" В зависимости от вашей системы загрузка и установка пакетов и зависимостей Gnome может занять некоторое время. Установка VNC-сервера В качестве сервера мы будем использовать TigerVNC - активно поддерживаемый высокопроизводительный VNC-сервер с открытым исходным кодом. Он доступен в репозиториях CentOS по умолчанию, для его установки введите: sudo dnf install tigervnc-server После установки VNC-сервера выполните команду vncserver, чтобы создать начальную конфигурацию и установить пароль. Не используйте sudo при выполнении следующей команды: vncserver Вам будет предложено ввести и подтвердить пароль и указать, следует ли устанавливать его в качестве пароля только для просмотра (view-only). Если вы решите установить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры. You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log При первом запуске команды vncserver она создаст и сохранит файл паролей в каталоге ~/.vnc, который будет создан, если его не будет. Обратите внимание, что : 1 после имени хоста в выводе выше. Это указывает номер порта дисплея, на котором работает сервер VNC. В нашем случае сервер работает по TCP-порту 5901 (5900 + 1) . Если вы создадите второй экземпляр, он будет работать на следующем свободном порту, то есть : 2, что означает, что сервер работает на порту 5902 (5900 + 2) . Важно помнить, что при работе с серверами VNC: X - это порт дисплея, который относится к 5900 + X. Прежде чем перейти к следующему шагу, сначала остановите экземпляр VNC, используя команду vncserver с параметром -kill и номером сервера в качестве аргумента. В нашем случае сервер работает в порту 5901 (: 1), поэтому, чтобы остановить его, запустите: vncserver -kill :1 Мы получим такой вывод: Killing Xvnc process ID 19681 Настройка VNC-сервера Теперь, когда и Gnome, и TigerVNC установлены на удаленной машине CentOS, следующим шагом является настройка TigerVNC для использования Gnome. Сервер VNC использует файл ~/.vnc/xstartup для запуска приложений при создании нового рабочего стола. Откройте файл: vim ~/.vnc/xstartup И отредактируйте его следующим образом: #!/bin/sh [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources vncconfig -iconic & dbus-launch --exit-with-session gnome-session & Сохраните и закройте файл (напоминаем, что в vim для этого нужно ввести :wq). Приведенный выше скрипт автоматически выполняется при каждом запуске или перезапуске сервера TigerVNC. Если вы хотите передать дополнительные параметры серверу VNC, откройте файл ~/.vnc/config и добавьте один параметр в каждой строке. Наиболее распространенные параметры перечислены в файле. Раскомментируйте и измените по своему вкусу. Вот пример: # securitytypes=vncauth,tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared Создание файла модуля Systemd Файлы модулей позволяют легко запускать, останавливать и перезапускать службы. Как правило, лучшим местом для хранения файлов пользовательских модулей является ~/.config/systemd/user. Создайте каталог при помощи команды mkdir: mkdir -p ~/.config/systemd/user Скопируйте дефолтный файл модуля vncserver: cp /usr/lib/systemd/user/vncserver@.service ~/.config/systemd/user/ Сообщите systemd, что существует новый файл пользовательского модуля: systemctl --user daemon-reload Запустите службу VNC и включите ее при загрузке: systemctl --user enable vncserver@:1.service --now Число 1 после @: определяет порт дисплея, который будет прослушивать служба VNC. Мы используем 1, что означает, что VNC-сервер будет прослушивать порт 5901, как мы обсуждали ранее. Включите задержку, чтобы служба пользователя запускалась при загрузке и продолжала работать, когда пользователь не в системе: loginctl enable-linger Убедитесь, что служба успешно запущена: systemctl --user status vncserver@:1.service Получим такой вывод: ? vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/home/linuxize/.config/systemd/user/vncserver@.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-01-30 22:14:08 UTC; 2s ago Process: 20813 ExecStart=/usr/bin/vncserver :1 (code=exited, status=0/SUCCESS) Process: 20807 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) CGroup: /user.slice/user-1000.slice/user@1000.service/vncserver.slice/vncserver@:1.service ... Подключение к серверу VNC VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход заключается в создании туннеля SSH для безопасной пересылки трафика с локального компьютера через порт 5901 на удаленный сервер с тем же портом. Настройка SSH-туннелирования в Linux и macOS Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель с помощью следующей команды ssh: ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip Вам будет предложено ввести пароль пользователя. Замените username и remote_server_ip своим именем пользователя и IP-адресом вашего сервера. Настройка SSH-туннелирования в Windows Пользователи Windows могут настроить SSH-туннелирование с помощью PuTTY. Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address. В меню «Connection» разверните пункт «SSH» и выберите «Tunnels» . Введите порт VNC-сервера 5901 в поле Source Port, введите адрес_сервера: 5901 в поле Destination и нажмите кнопку Add. Вернитесь на страницу ”Session”, чтобы сохранить настройки, чтобы вам не приходилось каждый раз вводить их. Чтобы войти на удаленный сервер, выберите сохраненный сеанс и нажмите кнопку «Open» . Подключение с помощью Vncviewer Чтобы подключиться к удаленному Серверу, откройте программу просмотра VNC и введите localhost: 5901. Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC Vinagre и VNC Viewer для Google Chrome. Мы будем использовать TigerVNC: При появлении запроса введите пароль, и вы увидите рабочий стол Gnome по умолчанию. Это должно выглядеть примерно так: Готово! Теперь вы можете начать работу на удаленном рабочем столе с локального компьютера, используя клавиатуру и мышь. Итоги Мы показали вам, как настроить VNC-сервер и подключиться к удаленной машине CentOS 8. Чтобы запустить отображение для более чем одного пользователя, повторите те же шаги. Создайте исходную конфигурацию, установите пароль с помощью команды vncserver и создайте новый файл службы, используя другой порт.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59