По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Современные IP сети должны обеспечивать надежную передачу пакетов сети VoIP и других важных служб. Эти сервисы должны обеспечивать безопасную передачу, определенную долю предсказуемости поведения трафика на ключевых узлах и конечно гарантированный уровень доставки пакетов. Сетевые администраторы и инженеры обеспечивают гарантированную доставку пакетов путем изменения параметров задержки, джиттера, резервирования полосы пропускания и контроля за потерей пакетов с помощью Quality Of Service (QoS). Современные сети конвергентны. Это означает, что приходящей трафик в корпоративный сегмент сети, будь то VoIP, пакеты видеоконференцсвязи или обычный e-mail приходят по одному каналу передачу от Wide Area Network (WAN) . Каждый из указанных типов имеет свои собственные требования к передаче, например, для электронной почты задержка 700 мс некритична, но задержка 700 мс при обмене RTP пакетами телефонного разговора уже недопустима. Для этого и создаются механизмы QoS [описаны в рекомендации Y.1541]. Рассмотрим главные проблемы в корпоративных сетях: Размер полосы пропускания: Большие графические файлы, мультимедиа, растущее количество голосового и видео трафика создает определенные проблемы для сети передачи; Задержка пакетов (фиксированная и джиттер): Задержка – это время, которое проходит от момента передачи пакета до момента получения. Зачастую, такая задержка называется «end-to-end», что означает точка – точка. Она бывает двух типов: Фиксированная задержка: Данные вид задержки имеет так же два подтипа: задержка сериализации и распространения. Сериализация - это время затрачиваемое оборудованием на перемещение бит информации в канал передачи. Чем шире пропускная способность канала передачи, тем меньше время тратится на сериализацию. Задержка распространения это время, требуемое для передачи одного бита информации на другой конец канала передачи; Переменная сетевая задержка: Задержка пакета в очереди относится к категории переменной задержки. В частности, время, которое пакет проводит в буфере интерфейса, зависит от загрузки сети и относится так же к переменной сетевой задержке; Изменение задержки (джиттер): Джиттер это дельта, а именно, разница между задержками двух пакетов; Потеря пакетов: Потеря пакетов, как правило, вызывается превышением лимита пропускной способности, в результате чего теряются пакеты и происходят неудобства в процессе телефонного разговора. Размер полосы пропускания Рисунок иллюстрирует сети с четырьмя «хопами» - промежуточными узлами на пути следования пакета между сервером и клиентом. Каждый «хоп» соединен между собой своим типом среды передачи в разной пропускной способностью. В данном случае, максимальная доступная полоса для передачи равна полосе пропускания самого «узкого» места, то есть с самой низкой пропускной способностью. Расчет доступной пропускной способности - это неотъемлемая часть настройки QoS, которая является процессом, осложненным наличием множества потоков трафика проходящего через сеть передачи данных и их необходимо учесть. Расчет доступной полосы пропускания происходит приблизительно по следующей формуле: A=Bmax/F где A – доступная полоса пропускания, Bmax – максимальная полоса пропускания, а F – количество потоков. Наиболее правильным методом при расчете пропускной способности является расчет с запасом в 10-20% от расчетной величины. Однако, увеличение пропускной способности вызывает удорожание всей сети и занимает много времени на осуществление. Но современные механизмы QoS могут быть использованы для эффективного и оптимального увеличения доступной пропускной способности для приоритетных приложений. С помощью метода классификации трафика, алгоритм QoS может отдавать приоритет вызову в зависимости от важности, будь то голос или критически важные для бизнеса приложения. Алгоритмы QoS подразумевают предоставление эффективной полосы пропускания согласно требованиям подобных приложений; голосовой трафик должен получать приоритет отправки. Перечислим механизмы Cisco IOS для обеспечения необходимой полосы пропускания: Priority queuing (приоритетная очередь или - PQ) или Custom queuing (пользовательская или настраиваемая очередь - CQ); Modified deficit round robin - MDRR - Модифицированный циклический алгоритм с дополнительной очередью (маршрутизаторы Cisco 1200 серии); Распределенный тип обслуживания, или Type Of Service (ToS) и алгоритм взвешенных очередей (WFQ) (маршрутизаторы Cisco 7x00 серии); Class-Based Weighted Fair Queuing (CBWFQ) или алгоритм очередей, базирующийся на классах; Low latency queuing (LLQ) или очередь с малой задержкой. Оптимизация использования канала путем компрессии поля полезной нагрузки «фреймов» увеличивает пропускную способность канала. С другой стороны, компрессия может увеличить задержку по причине сложности алгоритмов сжатия. Методы Stacker (укладчик) и Predictor (предсказатель) - это два алгоритма сжатия, которые используются в Cisco IOS. Другой алгоритм эффективного использования канала передачи это компрессия заголовков. Сжатие заголовков особенно эффективно в тех сетях, где большинство пакетов имеют маленькое количество информационной нагрузки. Другими словами, если отношение вида (Полезная нагрузка)/(Размер заголовка) мало, то сжатие заголовков будет очень эффективно. Типичным примером компрессии заголовков может стать сжатие TCP и Real-time Transport Protocol (RTP) заголовков. Задержка пакетов из конца в конец и джиттер Рисунок ниже иллюстрирует воздействие сети передачи на такие параметры как задержка пакетов проходящих из одной части сетевого сегмента в другой. Кроме того, если задержка между пакетом с номером i и i + 1 есть величина, не равная нулю, то в добавок к задержке "end-to-end" возникает джиттер. Потеря пакетов в сети при передаче трафика происходит не по причине наличия джиттера, но важно понимать, что его высокое значение может привести к пробелам в телефонном разговоре. Каждый из узлов в сети вносит свою роль в общую задержку: Задержка распространения (propagation delay) появляется в результате ограничения скорости распространения фотонов или электронов в среде передачи (волоконно-оптический кабель или медная витая пара); Задержка сериализации (serialization delay) это время, которое необходимо интерфейсу чтобы переместить биты информации в канал передачи. Это фиксированное значение, которое является функцией от скорости интерфейса; Задержка обработки и очереди в рамках маршрутизатора. Рассмотрим пример, в котором маршрутизаторы корпоративной сети находятся в Иркутске и Москве, и каждый подключен через WAN каналом передачи 128 кбит/с. Расстояние между городами около 5000 км, что означает, что задержка распространения сигнала по оптическому волокну составит примерно 40 мс. Заказчик отправляет голосовой фрейм размером 66 байт (528 бит). Отправка данного фрейма займет фиксированное время на сериализацию, равное: tзс = 528/128000=0,004125с=4.125 мс. Также, необходимо прибавить 40 мс на распространение сигнала. Тогда суммарное время задержки составит 44.125 мс. Исходя из рисунка расчет задержки будет происходить следующим способом: D1+Q1+D2+Q2+D3+Q3+D4 Если канал передачи будет заменен на поток Е1, в таком случае, мы получим задержку серилизации, равную: tзс=528/2048000=0,00025781с=0,258 мс В этом случае, общая задержка передачи будет равнять 40,258 мс.
img
Управление компьютерными сетями - дело непростое. В последние годы всеобщая компьютеризация вызвала огромный скачок в расширении компьютерных сетей. Это добавило работы системному администратору. Ведь если ранее были распространены небольшие сети, то добавление и настройка новых устройств, либо обновление ПО на уже находящихся требовали ручной настройки операционной системы, а то и установки на каждом из них. Это требовало времени и нервов администратора. Сейчас же, когда сети насчитывают сотни, а то и тысячи машин, ручная настройка требует либо участия многих специалистов (а это порождает проблему плохой совместимости согласно человеческому фактору, каждый админ мыслит по-своему), либо очень долгого времени, если этим будет заниматься один специалист. Такая проблема, с учетом технического прогресса, породила решение об автоматизации. На сегодняшний день существует специализированное программное обеспечение, которое позволяет присоединиться к удаленным машинам, и в автоматическом режиме произвести настройки операционной системы для корректной работы сети. Однако, как быть, если на нужных компьютерах в рамках одной сети установлены разные операционные системы? Ведь сейчас компьютеры под Linux, FreeBSD и Windows, объединенные в одну сеть - далеко не редкость. Поэтому одним из требований к управляющей программе стала кроссплатформенность. В этом случае одним из самых эффективных решений является такая программа, как Puppet. Puppet это один из самых нужных инструментов сетевого администратора. Это приложение создано специально для управления конфигурацией операционных систем внутри одной сети. Оно имеет клиент-серверную архитектуру, то есть администратор, находящийся за сервером, может отправлять данные конфигурации на периферийные машины, на которых установлена клиентская часть. На этих рабочих станциях система в автоматическом режиме сконфигурирует себя в соответствии с присланными с сервера настройками. Важным моментом является кроссплатформенность. Простота настройки и управления самыми распространенными операционными системами делает Puppet одним из самых актуальных решений по управлению компьютерными сетями на сегодняшний день. Как же работает Puppet? Разберем подробнее. Для начала, на сервер нужно установить серверную часть программы. Поскольку приложение написано на Ruby, на серверной рабочей станции обязательно должна быть установлена нужная программная среда. Серверная часть программы создана для хранения манифестов так в программной терминологии Puppet называются файлы с настройками конфигурации. В процессе работы сервер принимает обращения с клиентских машин и автоматически отсылает им обновленные файлы конфигурирования ОС для работы в сети. На клиентских компьютерах также должно быть установлено программное обеспечение Puppet, уже в виде клиентской части. Как правило, данные установочные пакеты включаются в саму операционную систему, что позволяет быстро развертывать компьютерную сеть, однако, в случае их отсутствия, придется скачивать необходимую сборку с сайта разработчика. Дополнительное удобство данного решения в том, что один администратор с помощью сервера может осуществить настройку и управление сотен и тысяч машин, объединенных в сеть. Если возникнут какие-то проблемы, то отклик с мест позволит админу быстро поправить код и устранить их. Хотя в данном случае возрастают требования к внимательности админа - одна неверно написанная строка кода конфигурации может привести к неполадкам по всей сети. Хотя, если разобраться, в данном случае можно запустить работающий манифест предыдущей сборки и восстановить все достаточно оперативно.
img
Ansible один из двух (наряду с SaltStack) наиболее популярных программных комплексов третьей волны, которые позволяют удалённо управлять конфигурациями. Тем не менее, в сегменте сетевого оборудования лидирует наш сегодняшний герой (если о ПО можно так сказать). В первую очередь это вызвано тем, что Ansible не поставит перед пользователем задачи устанавливать агент на хостинги, требующие от него управления. Тем паче ежели Ваш аппарат взаимодействует с ними через CLI, то Ansible это то, что доктор прописал. Одним выстрелом три "электронных зайца" Вообще, прежде чем знакомить уважаемых читателей со сценарием работы в данном программном комплексе, позвольте перечислить несколько его достоинств: Ansible позволяет параллельно подключать по SSH к устройствам (пользователь может сам определить их число). Ansible может передавать задачи на подключённые машины. Ansible способен разбивать машины, входящих в систему, на подгруппы и передавать специальных задачи для каждой подгруппы. Конечно, указаны не все достоинства Ansible. Просто в данных 3 пунктах, как мне кажется, отражена основная суть работы в данной среде. Выполняя эти три задачи, система автоматически освобождает Вас от головной боли по делегированию задач и функций в компании. Время деньги, как говорится. Сценарии Ну и переходим к основному блюду нашего материала - сценариям (playbook). Они состоят из двух частей набора команд для выполнения (play) и конкретных команд (task). Они выполняются друг за другом. Все записи данных осуществляются с помощью YAMLа. К несомненным плюсам его использования следует отнести то, что он гораздо лучше воспринимается людьми, нежели тот же самый JSON. Ежели Вы больше привыкли Вы к Python, то тут у Вас не возникнет проблем с адаптацией, так как синтаксис у них схожий. А вот так происходит процесс написания сценария (комментарии даны построчно к выводу): Имя сценария обязательный элемент для любого сценария; Сценарий применяется к машинам в подгруппе cisco-routers; Выключение режима сбора событий в конкретной машине (если не выключить данный режим, то система потратит много времени на решение ненужных задач); В разделе task указывается список команд для каждого конкретного случая; После чего происходит выполнение команды: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] TASK [run sh ip route] **************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] PLAY [Run show commands on switches] ************************************************** TASK [run sh int status] ************************************************************** changed: [192.168.100.100] TASK [run sh vlans] ******************************************************************* changed: [192.168.100.100] PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.100 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=2 unreachable=0 failed=0 И запускаем проверку выполнения команд: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run s hip int br] *************************************************************** Changed: [192.168.100.1] => {“changed”: true, “rc”: 0, “stderr”: “Shared connection To 192.168.100.1 closed. ”, “stdout”: “ Interface IP-Address OK? Method Status Protocol Ethernet0/0 192. 168.100.1 YES NVRAM up up Ethernet0/1 192.168.200.1 YES NVRAM up up Loopback0 10.1.1.1 YES manual up up ”, “stdout_lines “: [“”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopaback0 10.1.1.1 YES manual up up “]} А что внутри? А теперь поговорим о начинке сценария. Основу составляют переменные. Это могут быть данные о машине, выводы команд, а также их можно вводить вручную. Главное не забывать правила написания имён. Их всего два: имена всегда должны состоять из букв, цифр и нижнего подчёркивания; имена всегда должны начинаться с буквы. Переменные могут быть определены разными способами: Инвентарным файлом [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 [cisco-routers:vars] ntp_server=192.168.255.100 log_server=10.255.100.1 PLAYBOOKом -name: Run show commands on router: hosts: cisco-routers gather_facts: false vars: ntp_server: 192.168.255.100 log_server: 10.255.100.1 tasks: -name: run sh ip int br raw: s hip int br | ex unass -name: run s hip route raw: sh ip route Специальными файлами, созданными для групп: [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 Или группами каталогов |– group_vars _ | |– all.yml | | |–cisco-routers.yml | Каталог с переменными для групп устройств | |–cisco-switches.yml _| | |–host vars _ | |–192.168.100.1 | | |–192.168.100.2 | | |–192.168.100.3 | Каталог с переменными для устройств | |–192.168.100.100 _| | |–myhosts | Инвертарный файл Команда register позволяет сохранять результаты выполнений модулей в переменные. После чего переменная может быть использована в шаблонах, принятиях решений о выполнении заданного сценария. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: s hip int br | ex unass register: sh_ip_int_br_result --- debug отображает информацию в стандартном потоке вывода в виде произвольной строки, переменной или фактах о машине. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: sh ip int br | ex unass register: sh_ip_int_br_result -name: Debug registered var debug: var=sh_ip_int_br_result.stdout_lines После чего результатом работы станет следующее: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.2] changed: [192.168.100.3] TASK [Debug registered var] *********************************************************** ok: [192.168.100.1] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.2] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.3] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.3 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “, “Loopback10 10.255.3.3 YES manual up up “ ] } PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=1 unreachable=0 failed=0 Вместо заключения Можно ещё долго приводить примеры работы в системе, но ещё один факт так сказать "вишенка на торте". К плюсам Ansible следует отнести и то, что заданную команду система может выполнять практически до бесконечности. Пока не наступит требуемый результат трансформации не прекратятся. Пользователю можно не беспокоиться - программа сама всё сделает за Вас, а Вы можете заниматься другими делами.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59