По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В процессе нашей работы, часто приходится сталкиваться с ситуациями, когда заказчик, при переходе от аналоговой телефонии (ТФОП – Телефонная Сеть Общего Пользования) к VoIP не может отказаться от имеющегося у него аналогового оборудования. Это могут быть как аналоговые телефоны, факсимильные и модемные устройства так и вся аналоговая АТС. Причины могут быть абсолютно разные, но решение всегда одно - поставить специальные шлюзы c FXS/FXO интерфейсами, с помощью которых можно "подружить" аналоговый мир и мир IP. Как можно догадаться FXS/FXO интерфейсы (или порты) - это аналоговый мир и одно не может существовать без другого. Что же это за интерфейсы и как они работают - читайте в этой статье. Предыстория Традиционная аналоговая телефонная сеть – это совокупность технических сооружений и аналоговых линий связи, обеспечивающих возможность осуществления телефонных соединений по средствам аналоговых телефонных аппаратов. Подключение к телефонной сети общего пользования (POTS – Plain Old Telephone Service) - это услуга, которую предоставляет местная телефонная компания из своих центральных офисов (CO – Central Office) для домашних или офисных абонентов. Подключение осуществляется с помощью электрических проводов, состоящих из двух медных жил. Чтобы увеличить расстояние, на которое может быть передан сигнал и уменьшить электромагнитные помехи, жилы скручиваются вместе, такой метод называется «витая пара». Интерфейс FXS Медные провода протягиваются до помещений конечных абонентов (квартиры и жилые дома – для домашних абонентов, офисные здания и комнаты – для офисных абонентов) и заканчиваются в виде телефонной розетки в стене, как правило, с разъёмом стандарта RJ-11 (У кого то может быть ещё остались советские РТШК). И это, дорогие друзья, и есть тот самый интерфейс или порт FXS – Foreign eXchange Subscriber / Station, по которому местная телефонная компания предоставляет сервис POTS. В данный порт должны подключаться оконечные абонентские устройства, такие как телефон, факс или модем. Буква ”S”- (Subscriber - абонент) в аббревиатуре FXS как бы подсказывает, что данный интерфейс будет ожидать подключения именно от абонентcкого устройства. Основные функции, которые обеспечивает FXS порт это: Зуммер - непрерывный сигнал, который Вы слышите, когда снимаете трубку, означающий, что телефонная станция готова принимать номер. В англоязычной литературе – Dial Tone; ток заряда батареи питания линии Напряжение линии - постоянное напряжение аналоговой телефонной линии, необходимое для осуществления звонка; Итак, запомните – к FXS всегда подключаем абонентские оконечные устройства, это то, что мы получаем от провайдера телефонной связи. Интерфейс FXO Устройства FXO – Foreign eXchange Office - это устройства, которые получают сервис POTS, то есть это оконечные устройства – телефоны, факсы модемы и так далее. Эти устройства также имеют разъём стандарта RJ-11 и ожидают подключения со стороны телефонной станции (CO – Central Office), о чем свидетельствует буква «O» - Office в аббревиатуре FXO. Данный интерфейс обеспечивает функции определения поднятия трубки (on-hook/off-hook), то есть факт замыкания цепи, которая в свою очередь вызывает отправку Dial Tone со стороны телефонной станции. Итак, запомните – к FXO всегда подключаем линию от провайдера телефонной связи. А теперь, закрепим усвоенное. FXS порт – это наша домашняя (или офисная) телефонная розетка, которую нам предоставляет провайдер телефонных услуг. К ней мы подключаем абонентские аппараты (телефоны, факсы и прочие) FXO порт – это разъем на нашем телефоне, его мы всегда подключаем к FXS, то есть к телефонной станции провайдера услуг POTS. Кстати, важно отметить, что нельзя подключить FXO устройство к другому FXO устройству, ну и FXS к FXS. Например, если вы напрямую соедините два телефона (FXO), то вы не сможете позвонить с одного на другой. Аналоговые УАТС и FXS/FXO Если в офисе используется старая аналоговая учрежденческая АТС (УАТС), то это немного меняет картину. УАТС должна иметь оба типа интерфейсов, как FXS, так и FXO. Линии от провайдера телефонных услуг (FXS), должны подключаться к FXO интерфейсам аналоговой УАТС, обеспечивая Dial Tone и напряжение линии, а сами оконечные устройства – телефонные аппараты, как устройства FXO, должны подключаться к FXS интерфейсам аналоговой УАТС и обеспечивать определения снятия трубки. VoIP и FXS/FXO Как я уже писал в начале статьи, для того, чтобы «подружить» аналоговый мир и мир IP, необходимо использовать VoIP шлюзы. Однако то, какой именно использовать шлюз FXO или FXS – зависит от ситуации. Как правило ситуаций всего две: Пример №1 У нас есть медные линии от местной телефонной компании, но отказываться мы от них не хотим. Планируем поставить в качестве офисной телефонной станции IP-АТС Asterisk. В этом случае нам нужен FXO шлюз. Медные линии от провайдера (FXS) мы подключаем в FXO порты шлюза, а к Ethernet портам шлюза подключается IP-АТС Asterisk. FXO шлюз производит преобразование аналоговых сигналов от аналоговой станции нашей местной телефонной компании в цифровые сигналы, которые понимает IP-АТС Asterisk. Схема такая: Пример №2 У нас есть аналоговые телефоны и факс, отказываться от них мы не хотим. Однако отказались от старой аналоговой АТС и перешли на IP-АТС Asterisk В этом случае, нам нужен FXS шлюз. Наши аналоговые телефоны – это аппараты FXO, поэтому их мы подключаем к FXS портам шлюза, а к Ethernet порту подключаем IP-АТС Asterisk. FXS шлюз осуществляет преобразование аналоговых сигналов от аналоговых телефонов в цифровые сигналы, которые понимает Asterisk. Схема примерно такая: На этом всё, друзья. Искренне надеюсь, что данная статья поможет вам разобраться в разнице между FXS и FXO интерфейсами и пригодится в ваших проектах :)
img
Привет, мир! Говорим о том, что такое IP - адрес. Вообще, IP расшифровывается как Internet Protocol, но поверьте нам, даже в профессиональной среде, аббревиатуру не расшифровывает никто. IPшник, адрес, АйПи, ИПЭ, как угодно, но не INTERNET PROTOCOL. Погнали разбираться - вот вам пример из реальной жизни: Если нам нужно отправить письмо, то на конверте нужно указать куда его нужно отправить и от кого, приклеить марки, сходить на почту и постоять в очереди - без этого ничего не выйдет. C IP адресом все так же - это адрес компьютера, сервера или любой другой активной сетевой железки. Чтобы общаться с другими компьютерами и серверами нужно чтобы у него был уникальный идентификатор, чтобы понять, куда нужно слать данные, и как их получить обратно. Например, мы хотим зайти на сайт. Для этого нам нужно отправить письмо сайту, и сказать, что нам нужна его главная страница. Сайт получит это письмо, и вышлет нам страничку по адресу, указанному на конверте в поле отправитель. Видеопособие Почему он так странно выглядит? Компьютеры общаются нулями и единицами, которые называются битами. И на самом деле этот адрес выглядит как строка из 32 нулей и единиц. Нет - нет, именно так. Представьте себе комбинацию нулей и единиц - это двоичная система. Двоичная, потому что есть значения 1 и 0. И все, больше никаких. Авторы адресации подумали и поняли, что ввод 32 единиц и нулей мог бы привести к панической атаке системного администратора, и было принято решение переводить его в десятичную систему. Так же решили разбить это длинное число на 4 части, поставив 3 точки и в итоге мы получили 4 числа от 0 до 255, с которыми гораздо проще работать. Возможно, вы где - то видели IP адреса, которые длиннее и содержат в себе буквы. Это что тоже айпи адрес? Да, это тоже адрес, только другой версии. То, что мы уже обсудили - называется IPv4. То есть IP 4ой версии (да - да, они еще и по версии отличаются). С этой версий есть одна проблема - всего может существовать 4 294 967 296 адресов, что не хватит для всех устройств, особенно сейчас, когда адрес может быть даже у холодильника. Здесь уже мы используем число из 128 бит которое делим на 8 частей при помощи двоеточий и переводим их в шестнадцатеричную систему счисления, опять же для удобства. Это IPv6, то есть IP 6 версии. Принцип работы остается тем же, а адресов теперь доступно 10 в 28 степени: 79 228 162 514 264 337 593 543 950 336 (cемьдесят девять окталионов двести двадцать восемь септилионов сто шестьдесят два секстилиона пятьсот четырнадцать квинтиллионов двести шестьдесят четыре квадриллиона триста тридцать семь триллионов пятьсот девяносто три миллиарда пятьсот сорок три миллиона девятьсот пятьдесят тысяч триста тридцать шесть. Этого пока должно хватить. В чем разница между статическим и динамическим адресом? Она вытекает из названия - статический адрес не меняется у компьютера и всегда остается одним и тем же, в то время как динамический назначается на определенное время, затем заменяется другим. Зачем это нужно? Дело в том, что если вам нужно попасть на сайт, вам нужно знать его адрес, и если он изменится, то мы не можем его найти. Для этого нужны статические адреса. А вам, как посетителю сайта статический адрес не нужен, подойдет динамический, который вы напишете на конверте в поле отправителя. Так же можно называть IP адреса внутренними и внешними. В чем тут дело. Как мы уже знаем, в IPv4 у нас ограниченное количество адресов - на всех не хватает. А так еще в интернете нельзя иметь два одинаковых адреса, ведь в таком случае нельзя будет однозначно понять кому передавать данные. Но как дать возможность выходить в интернет всем, кто захочет? Переходить на 6 версию? Можно, но это дорого и долго. Тут нам на помощь приходит технология NAT - Network Address Translation, а точнее ее надстройка PAT - Port address translation, суть которой в том, что много устройств могут выходить в интернет с одним и тем же адресом. Но как такое возможно, если мы сказали что нельзя иметь два одинаковых адреса? Суть в том, что у вас есть ваш внутренний адрес, который выдает провайдер, с которым вы находитесь внутри локальной сети, а есть внешний адрес, который провайдер вам дает для выхода в интернет. И основная идея заключается в том, что несмотря на то, что у вас и у других пользователей одинаковые адреса, их можно отличить, благодаря тому, что к адресу добавляется порт, это уникальное значение после двоеточия, которое присваивает провайдер и которое является дополнительным идентификатором, позволяющим различать адреса. Это позволяет решать проблему с нехваткой адресов, и является дополнительным слоем безопасности. Могут ли вас вычислить по IP? Так что насчет вычисления по айпи? Стоит ли беспокоиться по поводу высказываний вашего оппонента в онлайн игре, который уверяет что у него есть брат программист, который сможет вас идентифицировать и найти? Не стоит. Ведь этот айпи адрес нужно сначала найти, но это будет внешний адрес, который есть у тысяч других компьютеров, а сопоставить внешний и внутренний адрес может только провайдер. Кстати, знаешь какой у тебя IP - адрес? А мы знаем 😇 Кликай по ссылке ниже, чтобы тоже узнать 👇 Узнать мой IP
img
На данный момент Kubernetes является одной из самых интересных технологий в мире DevOps. В последнее время вокруг него образовалось очень много хайпа, по одной простой причине, и причина эта – всемогущие контейнеры. Компания Docker Inc. привлекла народное внимание к контейнерам с помощью маркетинговых компаний о своем прекрасном продукте (у нас есть статья о первоначальной настройке Docker). Но что интересно, Docker – не первопроходец в мире контейнеров, но они положили начало их победоносному походу по миру. Что же было в начале? А в начале были Linux контейнеры, внимание к которым также возросло после такого ажиотажа вокруг Docker контейнеров, при этом и повысив потребность к контейнерным оркестраторам. Давайте поближе познакомимся с Кормчим – он же Kubernetes. Первоначально это являлось разработкой Google, для управления их гигантской инфраструктурой, состоящей из миллионов контейнеров. В какой-то момент Google отдал Кормчего в люди, а именно - Cloud Native Computing Foundation. На данный момент, Docker добавил Kubernetes в свои сборки как один из вариантов оркестраторов наравне с Docker Swarm. Теперь Kubernetes также будет частью сборок Docker Community и Docker Enterprise Edition. Общий обзор Кормчего Пожалуй, тут нужно разъяснить: Kubernetes является греческим именем кормчего или управляющего кораблём В зарубежных коммьюнити Кормчий носит несколько названий – Kubernetes, k8s или kube и является платформой с открытым кодом. Данная платформа позволяет автоматизировать операции с контейнерами – запуск, масштабирование, управление контейнизированными приложениями и так далее. Kubernetes может помочь вам сохранить десятки часов жизни и бесценного времени. Kubernetes позволяет вам помещать в кластер группы хостов с контейнерами и управлять этими кластерами. Эти кластеры могут работать в публичных, частных и гибридных облаках – может, однажды, даже в Хогвартсе откажутся от сложных заклинаний в пользу Kubernetesа. Как я уже упомянул, Kubernetes изначально является разработкой Google, но будет также нелишним знать, что Kubernetes включен во многие облачные коммерческие предложения Корпорации Добра. Сам Google запускает более чем 2 миллиарда контейнеров в неделю. Это почти 300 миллионов контейнеров в день с помощью своей внутренней платформы Borg. Эта платформа – предшественник Kubernetes. Все ошибки Borg были учтены и исправлены в Кормчем./ Использование Kubernetes позволяет получать радость от управления и запуска контейнизированных приложений – он автоматизирует запуск и откаты сборок, мониторит запущенные сервисы – т.е вы можете узнать о том, что что-то пойдет не так еще до непосредственной инициации процесса. Кроме того, Kubernetes управляет ресурсами и может масштабировать необходимые ресурсы для приложений в зависимости от того, сколько им требуется, для того, чтобы избежать лишней траты ресурсов. Как работает Kubernetes? Посмотрите на схему с официального сайта (ссылка ниже): Как вы видите, Kubernetes это очень сложная система (особенно если сравнивать с нативным оркестратором Docker Swarm). Чтобы понять, как он работает, необходимо сначала понять его базовые принципы. Желаемое состояние Желаемое состоятие (Desired state) – это один из базовых концептов Kubernetes. Вы можете указать необходимое состояние для запуска контейнеров в т.н Подах. То есть, к примеру, если контейнер почему-то перестал работать, Kubernetes заново создаст Под основываясь на указанном желаемом состоянии. Kubernetes всегда проверяет состояние контейнеров в кластере, и этим занимается т.н Kubernetes Мастер, который является частью плоскости управления. Можно использовать объект kubectl – он напрямую взаимодействует с кластером для установки или изменения Desired State через Kubernetes API. Объекты Kubernetes Обратимся к официальной документации Kubernetes: объект в Kubernetes это «запись о намерениях» (record of intent) – после создания объекта, Kubernetes будет постоянно проверять наличие этого объекта. При создании объекта, вы сообщаете Кормчему как должна выглядеть загрузка вашего кластера, иначе говоря – каково его желаемое состояние. Состояние сущностей в системе в любой взятый момент времени представлено Kubernetes объектами. Кроме того, объекты также служат как дополнительный уровень абстракции над интерфейсом контейнеров. Вы можете напрямую взаимодействовать с сущностями объектов вместо взаимодействия с контейнерами. Ниже приведем список базовых объектов в Kubernetes. Под (Pod) – наименьшая запускаемая единица в ноде. Это группа контейнеров, которые должны работать вместе. Довольно часто (но не всегда) в поде находится только один контейнер; Сервис(Service) – данный объект используется для обозначения логической суммы подов и политик, используемых для доступа к подам; Раздел (Volume) – директория, которая доступна всем контейнерам внутри пода; Именные пространства (Namespaces) – виртуальные кластеры, поддерживаемые физическим кластером; Также в Kubernetes есть несколько контроллеров, которые построены на базовых объектах и они предоставляют дополнительные фичи. Ниже список данных контроллеров: ReplicaSet - проверяет что какое-то количество копий подов также все время запущено; Deployment - используется для смены текущего состояния на желаемое состояние; StatefulSet - используется для контроля над развертыванием и доступов к разделам; DaemonSet - используется для копирования пода на все ноды кластера или только на указанные ноды; Job - используется для реализации какой-то задачи и прекращения существования после завершения задачи или после указанного времени Плоскость управления в Kubernetes Плоскость управления в Kubernetes используется для установки кластера в желаемое состояние, и для этого Kubernetes выполняет множество задач автоматически – старт и перезагрузка контейнеров, изменение количества реплик приложения и так далее. Различные части плоскости управления, такие как Kubernetes Мастер и процесс kubelet задают тон тому, как Kubernetes взаимодействует с вашим кластером. Плоскость управления содержит записи о всех объектах Kubernetes в системе и запускает бесконечные петли управления для контроля состояния объектов. В каждый момент времени эти петли будут реагировать на изменения в кластере и будет приводить состояние всех объектов в системе из текущего состояния в желаемое. Представьте себе правительство страны, которое проверяет все ли работают и существуют в соответствии с законом. Kubernetes Мастер являются частью плоскости управления, и выполняет такую же задачу по сохранению желаемого состояния во всем вашем кластере. Команда kubectl является интерфейсом для взаимодействия с мастером в кластере через API. В документации написано: «мастер» - это группа процессов, управляющих состоянием кластера. Как правило, все эти процессы запущены одной ноде в кластере и эта нода также называется мастер-нодой. Мастер-нода также может быть реплицирована для избыточности и отказоустойчивости. Каждый мастер в кластере являет собой совокупность следующих процессов: kube-apiserver - единственная точка управления для целого кластера. Команда cubectl взаимодействует напрямую через API; kube-controller-manager - управляет состоянием кластера, управляя различными контроллерами; kube-scheduler - планирует задачи на всех доступных нодах в кластере; Ноды в Kubernetes Ноды в Kubernetes – это ваши «сервера» - виртуалки, физические и так далее, которые находятся в кластере и на которых запущены ваши приложения. Ноды также контролируются мастером и постоянно мониторятся для того, чтобы устанавливать желаемое состояние для приложений. Раньше они назывались «миньонами» - но не теми желтыми милахами из мультика. Каждая нода в кластере держит два процесса: kubelet– интерфейс между нодой и мастером; kube-proxy – сетевая прокси, через которую проходят сервисы, указанные в API на каждой ноде. Также эта прокси может совершать простой TCP и UDP проброс портов; Установка Kubernetes Теперь давайте посмотрим как это работает. Для этого необходимо установить Kubernetes у вас на сервере. Нужно скачать и установить Docker Community Edition версий 17.12.+ и затем для локального запуска нужно установить Minikube. Ссылка для скачивания Docker Community Edition - здесь; Ссылка для скачивания Minikube - тут (MiniKube) При использовании Minikube надо помнить, что создается локальная виртуальная машина и запускает кластер, состоящий из одной ноды. Но ни в коем случае не используйте его для продакшена – Minikube служит исключительно для тестирования и разработки. Для запуска однонодного кластера достаточно лишь выполнить команду minikube start. Бадумс, вы одновременно запустили виртуальную машину, кластер и сам Kubernetes. $minikube start Starting local Kubernetes v1.10.0 cluster... Starting VM... Getting VM IP address... Moving files into cluster... Setting up certs... Connecting to cluster... Setting up kubeconfig... Starting cluster components... Kubectl is now configured to use the cluster. Loading cached images from config file. Для проверки установки надо ввести команду kubectl version $ kubectl version Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.1", GitCommit:"3a1c9449a956b6026f075fa3134ff92f7d55f812", GitTreeState:"clean", BuildDate:"2018-01-04T20:00:41Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59