По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Разработка и тестирование (QA). Это безусловно крутое и востребованное направление, а спецов по ним на рынке разбирают как горячие пирожки. Но есть аспекты . без которых вся история с мобильными приложениями, сервисами в интернете, размещенными в облаках и продаваемая по модели SaaS/PaaS или любое другая программная сущность, к которой так или иначе подключаются удаленные пользователи - не заработает. Поговорим про роль человека, который разбирается в принципах построения сетей, коммутации, маршрутизации данных, о серверных инженерах, спецам по контактным центрам и так далее. Эти ребята не пишут код в IDE и не имеют тимлида. Но именно от их работы зависит то, будет ли "хрипеть" разговор в трубке телефона в компании, как быстро будут передаваться чувствительные к задержкам данные, и именно они спасут сеть на 10 000 человек от петли маршрутизации и широковещательного шторма. Цена ошибки таких людей - высока, от этого и ценность шарящего сетевика также высокая. В статье я расскажу об этом направлении, как в него попасть, сколько получают "сетевики", и за кем будущее в этой отрасли. МТУСИ Итак, свою историю я начну с прекрасного университета - МТУСИ (Московский технический университет связи и информатики). И именно этот университет посчастливилось закончить мне и большой части нашей команды. Вообще, как написано в википедии "Московский технический университет связи и информатики - российский отраслевой университет в области информационных технологий, телекоммуникаций, информационной безопасности и радиотехники." Теоретически, да и практически, львиную долю кадров будущих инженеров связи готовят именно тут. В какой компании не бывал, с кем не общался, будь то провайдер, банк или интегратор - мтусишники везде. Занимаются сетями передачи данных, телефонией, архитектурой систем передачи или информационной безопасностью. Университет - прекрасный. Преподавательский состав - прекрасный. Но материал, которому нас учили на 5 курсе университета в 2015 году был о том, как работает декадно шаговая АТС. Чтобы вы понимали, декадно шаговые АТС появились в СССР сразу после второй мировой войны. Забавно, но это была в прямом смысле громкая станция - там щетки скользили по специальным ламелям и издавали звуки. И вот спустя 70 лет, выпускаясь из университета, мы изучаем декадно - шаговый искатель. Кстати, вот он: Тогда как телефонные системы, которые на тот момент существовали в энтерпрайзе, с которыми нам реально предстояло работать выглядели вот так: В формате гибких программных приложений, в которых работают цифровые стандарты на базе IP протокола. Они имеют графический интерфейс на английском языке, а также программную консоль для более хардового управления, если хочется действительно залезть под капот. Само собой, проблема известная и касается не только университета связи. Вы смотрели интервью Юрия Дудя с экономистом Сергеем Гуриевым? Вы наверное помните, что там Дудь приводит цитату Гуриева, что он как - то сказал, что, "Российских студентов учат непонятно чему". На что Гуриев сказал, что рынок труда и российская система образования не связана, что плохо. И это правда. Выходя из стен университета, ты имеешь отличный разговорный навык, но не актуальный знания, которые ждет от тебя работодатель и рынок. Тут мы получили вывод №1: Курсы Cisco CCNA Я стал осознавать это примерно в конце второго курса, когда немного поработал в технической поддержке одного из интернет - провайдеров, который оказывал услуги для юридических лиц - это были каналы связи, услуги виртуальных частных сетей (VPN), телефонные номера. Это был клевый опыт, а особенно, я помню одного из ведущих инженеров - это был дядька, который также закончил МТУСИ. На 70 - 75% он состоял из русского мата, но привыкнув, из его поучительных речей, когда он заходил к нам в поддержку, я понял главное - знания, полученные уже, и те, которые предстоит получить в ближайшие 3 года обучения - мне не пригодятся. Кстати, здесь хорошо подходит старый мем (они даже немного похожи): Уже на стартовой позиции сотрудника технической поддержки меня окружали вендорные решения, то есть решения конкретных производителей: мультиплексоры Eltex, биллинговые системы, SFP модули, коммутаторы доступа, софт свичи, вендор Cisco. И тут к нам плавно пришло осознание: Что чтобы попасть во флоу, в рынок и в тренды, нужно учиться работать решениями, которые есть на рынке - то есть с решениями конкретных производителей. Причем не просто уметь кнопки нажимать и давать команды в консоли - а знать теория и глубоко понимать логику их работы. Вообще, учеба в МТУСИ проходит в двух зданиях - первые 2 года мы учились на октябрьском поле, а оставшееся время на Авиамоторной. Так вот, переехав на новую территорию к третьему году обучения, мы стали обращать внимание - в здании есть несколько учебных центров. Там был вендор Alcatel и Cisco. Решение учиться решениям вендора было принято сразу, вопрос был лишь в том - куда пойти - тут включились ассоциации: Алькатель ассоциировался с: А Cisco с городом Сан - Франциско: Через год обучения мы закончили курс Cisco CCNA (Cisco Certified Network Associate) по маршрутизации и коммутации - это наиболее распространённый сертификат из всей линейки сертификации Cisco. Еще через 2 месяца мы подтвердили свои знания и сдали экзамен на получение сертификата и к концу 3 курса уже смогли трудоустроиться на работу в системные интеграторы на полставки на базовые инженерные позиции. На самом деле, как я говорил раньше, наши ассоциации при выборе учебного центра нас не подвели. В энтерпрайзе (корпоративных ИТ инфраструктурах) решения на базе Cisco встречаются часто. Да и сама циска один из самых крупных вендоров телеком отрасли, а годных специалистов в России, которые могли бы работать с линейкой продуктов не так много. Тут мы получили вывод №2: Подвиды Поговорим про то, какие бывают ребята из отрасли обслуживания инфраструктур: Инженер по обслуживанию корпоративных систем связи - он же VoIP инженер. Этот человек хорошо разбирается в IP - телефонии, протоколах, знает стеку стека протоколов TCP/IP - зарплата от 50к на старте Инженер по обслуживанию инфраструктуры информационных систем - он же серверный инженер. Этот человек хорошо разбирается в серверной начинке, знает наизусть Linux Based и Windows системы, отличит первый рейд массив от пятого, знаком с Chef, Ansible и Puppet, и докером - зарплата от 65 - 70 тыр. на старте Инженер по обслуживанию корпоративной сетевой инфраструктуры - он же сетевик. Разбудив его ночью, он расскажет вам все про модель OSI, знает, как работают коммутаторы и маршрутизаторы нескольких вендоров, а на обеде расскажет вам все о протоколах маршрутизации трафика - от 50к на старте Это три основные направления в отрасли - безусловно их больше и всех перечислить не получится - обслуживание информационных систем (ПО, разный софт), филд инженер, который работает руками и монтирует железо, инженеры поддержки пользователей и так далее. С сетевиками и в целом, с этой категорией ребят все хорошо и они в тренде. Есть и будут еще долго. Но предлагаю смотреть дальше. DevOPS инженер Будущее за кросс-функциональными ребятами, которые не "заточены" под один продукт, а имеют широкий кругозор и знания. Именно тут появляется методология DevOps, которая является акронимом от development и operations - то есть от разработка и эксплуатация. Девопс инженер сочетает в себе множество знаний из смежных отраслей, которые особенно актуальны для компаний, занимающихся разработкой софта и управлением большим количество серверов. Дело в том, что при разработке, могут возникать случаи, когда что-то не работает, или работает не так, как хотелось бы: В таком случае разработчик говорит: Сетевик говорит: И понеслась. Вообще, системные администраторы или сетевые инженеры в одно время базово научились программировать, подарив миру такие продукты как Chef, Puppet или Ansible, которые служат для автоматизации работы серверов. Но так случилось не со всеми - кто то остаётся хардовым сетевым инженером, который на пальцах объяснит вам как работает протокол BGP, но совершенно не понимает в программировании. Решив проблему понимания между разработчиком и инфраструктурщиком. Тем самым, при достижении уровня понимания между этими ролями, компании могут достичь таких метрик как: Сокращение времени для выхода на рынок; Снижение частоты отказов новых релизов; Сокращение времени выполнения исправлений; Уменьшение количества времени на восстановления (в случае сбоя новой версии или иного отключения текущей системы). Итак, попробую сформулировать, по пунктам, что же должен уметь прекрасный DevOps инженер будущего: Легко ориентируется в Windows и Linux based системах. Знает инструменты для управления конфигурацией и автоматизации серверов Chef, Puppet, Ansible. Умеет писать скрипты. Минимум - на пайтоне Знает сетевые технологии на уровне Cisco CCNA Этого достаточно, чтобы уже получать в среднем по РФ 100-200 тысяч рублей. Что забавно: есть город, и это не Москва, где девопс получает получает 160-360 тысяч рублей в месяц. Как думаете какой? Правильный ответ - Питер. Именно там девопс оценивается больше всего. Связано ли это с климатом, подвернутыми штанами или очками с Толстой черной оправой - ответить сложно. Итоги Итак, мы поговорили о пути инженера по телекоммуникациями, сетевой инфраструктуре, системам связи и инфраструктуры информационных систем. Затронули наиболее быстрые пути развития, обсудили зарплаты на старте и поговорили о том, как стать прекрасным DevOps инженером будущего. Мы поняли, что ни один вуз не сделает из вас готового к рынку спеца, а чтобы быть таковым - нужно уметь работать с решениями конкретных вендоров, а проще всего это сделать с помощью авторизованных учебных центров. Задавайте вопросы в комментариях - помогу :)
img
Сегодня мы подробно поговорим и модификациях протокола SIP, разработанных специально для взаимодействия телефонных сетей VoIP с сетями PSTN – Public Switched Telephone Network (ТфОП), использующих сигнализацию ОКС-7. С развитием IP - сетей , преимущества VoIP телефонии становились всё более очевидными, однако подавляющая часть АТС всё ещё имеет дело с сигнализацией ОКС-7, которая используется в таких сетях как ISDN - Integrated Services Digital Network (Цифровая Сеть с Интеграцией Служб), ТфОП – Телефонная Сеть Общего Пользования, а также в Сетях Подвижной Сотовой Связи (СПСС). В качестве подсистемы, обеспечивающей межстанционную сигнализацию, в данных сетях применяется подсистема ISUP – ISDN User Part. ISUP решает задачи транспортировки сигнальной информации от офисной телефонной станции до станции назначения без обработки данной информации в промежуточных пунктах сигнализации. Прежде всего ISUP необходим для управления установлением соединения. Протокол ISUP имеет множество типов сообщений, каждое из которых применяется на определенном этапе установления соединения. Запомнить назначение всех этих сообщений не представляется возможным. Мы не будем описывать каждое сообщение в отдельности, а лишь приведём примеры основных, встречающихся в трассировках любого вызова по протоколу ISUP. IAM (Initial Address Message) - Самое первое сообщение. Служит для информирования АТС об установлении соединения. Содержит такие параметры как: номер вызывающего и вызываемого абонента, тип данных (данные, голос и другие). ACM (Address Complete Message) - Сообщение о приеме полного номера. Отправляется вызываемой АТС, когда был найден необходимый для установления соединения абонент. В этот момент телефонный аппарат вызываемого абонента начинает звонить, а вызывающий абонент слышит КПВ (Контроль Посылки Вызова) ANM (Answer Message) - Отправляется вызываемой АТС, когда вызывающий абонент снимает трубку. Занимаются двухсторонние разговорные каналы. REL (Release) - Отправляется одной из АТС, когда абонент инициирует завершение соединения (кладёт трубку). RLC (Release complete) - Подтверждение разрыва соединения. Отправляя данное сообщение, АТС уведомляет о том, что разговорный канал свободен и может вновь быть использован. Очевидно, что для сопряжения сетей VoIP с сетями, работающими по сигнализации ОКС-7, необходимо реализовать механизмы прозрачной передачи сообщений ISUP по IP. Для решения данной задачи ITU-T и IETF независимо разработали модификации к протоколу SIP - SIP- I (Internetworking) и SIP – T (Telephony)( RFC 3372) соответственно. При разработке данных модификаций, были учтены следующие требования: Возможность прозрачной передачи сообщений протокола ISUP Возможность маршрутизации сообщения протокола SIP на основе параметров ISUP Возможность передачи транспортной информации при установлении соединения. Выполнение данных условий осуществляется путем инкапсуляции сигнальных сообщений ISUP в SIP, а также трансляцией параметров ISUP в заголовках SIP. Итак, от теории к практике. Рассмотрим простейший пример установления соединения в сети с разнотипной сигнализацией. Допустим, что а Абонент A - пользователь ТфОП, его телефонный аппарат находится за неким узлом связи, Абонент B использует IP Phone, работающий по протоколу SIP. За трансляцию сообщений ISUP в SIP будет отвечать некий многофункциональный шлюз IMG (Integrated Media Gateway) Задержки в сети Как видно из рисунка инициатором вызова выступает Абонент A, на шлюз отправляется сообщение IAM, содержащее номера телефонов, а также дополнительные параметры соединения, IMG в свою очередь инкапсулирует сообщение IAM протокола ISUP, в уже известное нам INVITE протокола SIP. Далее легко проследить каким ещё сообщениям протокола SIP соответствуют некоторые запросы ISUP. Стоит также заметить, что протокол ISUP на этапе разговора открывает некий двухсторонний разговорный канал, идентификатор которого находится в сообщении IAM и называется CIC (Circuit Identification Code). Таким образом, благодаря модификациям протокола SIP на сегодняшний день имеется возможность связать абонентов сетей разных типов, использующих разную сигнализацию для управления установлением соединения.
img
Команды Linux могут показаться пугающими на первый взгляд, если вы не привыкли использовать терминал. Для выполнения операций и процессов в вашей системе Linux существует огромное количество команд. Независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, полезно иметь список общих команд под рукой. В этом руководстве вы найдете часто используемые команды Linux, а также загружаемую шпаргалку (так называемый cheatsheet) с синтаксисом и примерами. Скачать PDF Список команд Linux Важное замечание: В зависимости от настроек вашей системы для выполнения некоторых из приведенных ниже команд может потребоваться запуск sudo. Информация об оборудовании Показать сообщения, которые выводило ядро во время загрузки: dmesg Показать информацию о процессоре: cat /proc/cpuinfo Показать свободную и использованную память с: free -h Список информации о конфигурации оборудования: lshw Показать информацию о блочных устройствах: lsblk Показать устройства PCI в древовидной схеме: lspci -tv Отображение USB-устройств в виде древовидной диаграммы: lsusb -tv Показать информацию об оборудовании из BIOS: dmidecode Показать информацию о диске: hdparm -i /dev/disk Провести тест скорости чтения на устройстве/диске: hdparm -tT /dev/[device] Проверка на нечитаемые блоки на устройстве/диске: badblocks -s /dev/[device] Поиск Поиск определенного паттерна в файле: grep [pattern] [file_name] Рекурсивно искать паттерн в каталоге: grep -r [pattern] [directory_name] Найти все файлы и каталоги, связанные с конкретным именем: locate [name] Вывести список имен, начинающиеся с указанного символа a в указанном месте /folder/location, с помощью команды find: find [/folder/location] -name [a] Просмотр файлов, размер которых превышает указанный размер + 100M в папке: find [/folder/location] -size [+100M] Файлы Список файлов в каталоге: ls Список всех файлов (включая скрытые): ls -a Показать каталог, в котором вы сейчас работаете: pwd Создать новый каталог: mkdir [directory] Удалить файл: rm [file_name] Удалить каталог рекурсивно: rm -r [directory_name] Рекурсивно удалить каталог без подтверждения: rm -rf [directory_name] Скопировать содержимое одного файла в другой файл: cp [file_name1] [file_name2] Рекурсивно скопировать содержимое одного файла во второй файл: cp -r [directory_name1] [directory_name2] Переименовать имя_файла1 в имя_файла2: mv [file_name1] [file_name2] Создать символическую ссылку на файл: ln -s /path/to/[file_name] [link_name] Создать новый файл: touch [file_name] Показать содержимое файла: more [file_name] Показать первые 10 строк файла: head [file_name] Показать последние 10 строк файла: tail [file_name] Зашифровать файл: gpg -c [file_name] Расшифровать файл: gpg [file_name.gpg] Показать количество слов, строк и байтов в файле: wc Навигация Подняться на один уровень вверх в структуре дерева каталогов: cd .. Перейти в каталог $ HOME: cd Изменить местоположение на указанный каталог: cd /chosen/directory Сжатие файлов Заархивировать существующий файл: tar cf [compressed_file.tar] [file_name] Извлечь заархивированный файл: tar xf [compressed_file.tar] Создайте сжатый gzip tar-файл: tar czf [compressed_file.tar.gz] Сжать файл с расширением .gz: gzip [file_name] Передача файлов Скопировать файл в каталог сервера через ssh: scp [file_name.txt] [server/tmp] Синхронизировать содержимое каталога с резервным каталогом: rsync -a [/your/directory] [/backup/] Пользователи Показать подробности об активных пользователях: id Показать последние системные логины: last Показать, кто в данный момент вошел в систему: who Показать, какие пользователи вошли в систему и их активность: w Добавить новую группу: groupadd [group_name] Добавить нового пользователя: adduser [user_name] Добавить пользователя в группу: usermod -aG [group_name] [user_name] Удалить пользователя: userdel [user_name] Изменить информацию о пользователе: usermod Установка пакета Список всех установленных пакетов с yum: yum list installed Найти пакет по связанному ключевому слову: yum search [keyword] Показать информацию и краткую сводку о пакете: yum info [package_name] Установить пакет с помощью менеджера пакетов >YUM: yum install [package_name.rpm] Установить пакет с помощью менеджера пакетов >DNF: dnf install [package_name.rpm] Установить пакет с помощью менеджера пакетов >APT: apt-get install [package_name] Установить пакет .rpm из локального файла: rpm -i [package_name.rpm] Удалить пакет .rpm: rpm -e [package_name.rpm] Установить программное обеспечение из исходного кода: tar zxvf [source_code.tar.gz] cd [source_code] ./configure make make install Процессы Показать снимок активных процессов: ps Показать процессы в древовидной диаграмме: pstree Показать карту использования памяти процессами: pmap Показать все запущенные процессы: top Завершить процесс Linux с заданным идентификатором: kill [process_id] Завершить процесс с определенным именем: pkill [proc_name] Завершите все процессы, помеченные как proc: killall [proc_name] Список и сводка остановленных заданий в фоновом режиме: bg Перевод последней фоновой задачи в активный режим: fg Перевод конкретной задачи в активный режим: fg [job] Список файлов, открытых запущенными процессами: lsof Системная информация Показать информацию о системе: uname -r Показать информацию о релизе ядра: uname -a Показать, как долго работает система, включая среднюю нагрузку: uptime Показать имя хоста системы: hostname Показать IP-адрес системы: hostname -i История перезагрузки системы: last reboot Показать текущее время и дату: date Запрос и изменение системных часов: timedatectl Показать текущий календарь (месяц и день): cal Список залогиненых пользователей: w Показать текущего пользователя: whoami Показать информацию о конкретном пользователе: finger [username] Использование диска Показать свободное и использованное пространство на смонтированных системах: df -h Показать свободные иноды (inode) на смонтированных файловых системах: df -i Показать разделы диска, размеры и типы: fdisk -l Показать использование диска для всех файлов и каталогов: du -ah Показать использование диска в каталоге, в котором вы находитесь: du -sh Показать целевую точку монтирования для всей файловой системы: findmnt Смонтировать устройство: mount [device_path] [mount_point] SSH Подключиться к хосту как пользователь: ssh user@host Подключиться к хосту через SSH порт по умолчанию 22: ssh host Подключиться к хосту, используя определенный порт: ssh -p [port] user@host Подключиться к хосту через telnet порт по умолчанию 23: telnet host Разрешение файлов Назначить права на чтение, запись и выполнение всем: chmod 777 [file_name] Дать владельцу право на чтение, запись и выполнение, а также разрешение на чтение и выполнение для группы и других пользователей: chmod 755 [file_name] Назначить полное разрешение владельцу, а также разрешение на чтение и запись для группы и других пользователей: chmod 766 [file_name] Изменить владельца файла: chown [user] [file_name] Изменить владельца и групповое владение файлом: chown [user]:[group] [file_name] Сеть Список IP-адресов и сетевых интерфейсов: ip addr show Назначить IP-адрес интерфейсу eth0: ip address add [IP_address] Отображение IP-адресов всех сетевых интерфейсов: ifconfig Показать активные (прослушиваемые) порты: netstat -pnltu Показать порты tcp и udp и их программы: netstat -nutlp Показать больше информации о домене: whois [domain] Показать DNS информацию о домене: dig [domain] Обратный поиск по домену: dig -x host Обратный поиск IP-адреса: dig -x [ip_address] Поиск IP для домена: host [domain] Показать локальный IP-адрес: hostname -I Скачать файл из домена с помощью команды wget: wget [file_name] Сочетания клавиш Linux Убить процесс, запущенный в терминале: Ctrl + C Остановить текущий процесс: Ctrl + Z Вырезать одно слово перед курсором и добавить его в буфер обмена: Ctrl + W Вырезать часть строки перед курсором и добавить ее в буфер обмена: Ctrl + U Вырезать часть строки после курсора и добавить ее в буфер обмена: Ctrl + K Вставить из буфера обмена: Ctrl + Y Вызвать последнюю команду, которая соответствует предоставленным символам: Ctrl + R Запустите ранее вызванную команду: Ctrl + O Выйти из истории команд без выполнения команды: Ctrl + G Запустить последнюю команду еще раз: !! Выйти из текущей сессии: exit Заключение Чем чаще вы используете команды Linux, тем лучше вы их запомните. Не переживайте о запоминании их синтаксиса - используйте наш шпаргалку. А больше материалов про Linux можно найти в нашем разделе.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59