По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Продолжаем рассказывать про механизмы QoS (Quality of Service) . Мы уже рассказаывали про то, какие проблемы могут быть в сети и как на них может повлиять QoS. В этой статье мы поговорим про механизмы работы QoS. Механизмы QoS В связи с тем, что приложения могут требовать различные уровни QoS, возникает множество моделей и механизмов, чтобы удовлетворить эти нужды. Рассмотрим следующие модели: Best Effort –негарантированная доставка используется во всех сетях по умолчанию. Положительная сторона заключается в том, что эта модель не требует абсолютно никаких усилий для реализации. Не используются никакие механизмы QoS, весь трафик обслуживается по принципу “пришел первым – обслужили первым”. Такая модель не подходит для современных сетевых сред; Integrated Services (IntServ) – эта модель интегрированного обслуживания использует метод резервирования. Например, если пользователь хотел сделать VoIP вызов 80 Кбит/с по сети передачи данных, то сеть, разработанная исключительно для модели IntServ, зарезервировала бы 80 Кбит/с на каждом сетевом устройстве между двумя конечными точками VoIP, используя протокол резервирования ресурсов RSVP (Resource Reservation Protocol) . На протяжении звонка эти 80 Кбит/с будут недоступны для другого использования, кроме как для VoIP звонка. Хотя модель IntServ является единственной моделью, обеспечивающей гарантированную пропускную способность, она также имеет проблемы с масштабируемостью. Если сделано достаточное количество резервирований, то сеть просто исчерпает полосу пропускания; Differentiated Services (DiffServ) – модель дифференцированного обслуживания является самой популярной и гибкой моделью для использования QoS. В этой модели можно настроить каждое устройство так, чтобы оно могло использовать различные методы QoS, в зависимости от типа трафика. Можно указать какой трафик входит в определенный класс и как этот класс должен обрабатываться. В отличие от модели IntServ, трафик не является абсолютно гарантированным, поскольку сетевые устройства не полностью резервируют полосу пропускания. Однако DiffServ получает полосу, близкую к гарантированной полосе пропускания, в то же время решая проблемы масштабируемости IntServ. Это позволило этой модели стать стандартной моделью QoS; Инструменты QoS Сами механизмы QoS представляют собой ряд инструментов, которые объединяются для обеспечения уровня обслуживания, который необходим трафику. Каждый из этих инструментов вписывается в одну из следующих категорий: Классификация и разметка (Classification and Marking) - Эти инструменты позволяют идентифицировать и маркировать пакет, чтобы сетевые устройства могли легко идентифицировать его по мере пересечения сети. Обычно первое устройство, которое принимает пакет, идентифицирует его с помощью таких инструментов, как списки доступа (access-list), входящие интерфейсы или deep packet inspection (DPI), который рассматривает сами данные приложения. Эти инструменты могут быть требовательны к ресурсам процессора и добавлять задержку в пакет, поэтому после того как пакет изначально идентифицирован, он сразу помечается. Маркировка может быть в заголовке уровня 2 (data link), позволяя коммутаторам читать его и/или заголовке уровня 3 (network), чтобы маршрутизаторы могли его прочитать. Для второго уровня используется протокол 802.1P, а для третьего уровня используется поле Type of Service. Затем, когда пакет пересекает остальную сеть, сетевые устройства просто смотрят на маркировку, чтобы классифицировать ее, а не искать глубоко в пакете; Управление перегрузками (Congestion Management)– Перегрузки возникают, когда входной буфер устройства переполняется и из-за этого увеличивается время обработки пакета. Стратегии очередей определяют правила, которые маршрутизатор должен применять при возникновении перегрузки. Например, если интерфейс E1 WAN был полностью насыщен трафиком, маршрутизатор начнет удерживать пакеты в памяти (очереди), чтобы отправить их, когда станет доступна полоса пропускания. Все стратегии очередей направлены на то, чтобы ответить на один вопрос: “когда есть доступная пропускная способность, какой пакет идет первым?“; Избегание заторов (Congestion Avoidance) – Большинство QoS механизмов применяются только тогда, когда в сети происходит перегрузка. Целью инструментов избегания заторов является удаление достаточного количества пакетов несущественного (или не очень важного) трафика, чтобы избежать серьезных перегрузок, возникающих в первую очередь; Контроль и шейпинг (Policing and Shaping) – Этот механизм ограничивает пропускную способность определенного сетевого трафика. Это полезно для многих типичных «пожирателей полосы» в сети: p2p приложения, веб-серфинг, FTP и прочие. Шейпинг также можно использовать, чтобы ограничить пропускную способность определенного сетевого трафика. Это нужно для сетей, где допустимая фактическая скорость медленнее физической скорости интерфейса. Разница между этими двумя механизмами заключается в том, что shaping формирует очередь из избыточного трафика, чтобы выслать его позже, тогда как policing обычно сбрасывает избыточный трафик; Эффективность линков (Link Efficiency) – Эта группа инструментов сосредоточена на доставке трафика наиболее эффективным способом. Например, некоторые низкоскоростные линки могут работать лучше, если потратить время на сжатие сетевого трафика до его отправки (сжатие является одним из инструментов Link Efficiency); Механизмы Link Efficiency При использовании медленных интерфейсов возникают две основных проблемы: Недостаток полосы пропускания затрудняет своевременную отправку необходимого объема данных; Медленные скорости могут существенно повлиять на сквозную задержку из-за процесса сериализации (количество времени, которое маршрутизатору требуется на перенос пакета из буфера памяти в сеть). На этих медленных линках, чем больше пакет, тем дольше задержка сериализации; Чтобы побороть эти проблемы были разработаны следующие Link Efficiency механизмы: Сжатие полезной нагрузки (Payload Compression) – сжимает данные приложения, оправляемые по сети, поэтому маршрутизатор отправляет меньше данных, по медленной линии; Сжатие заголовка (Header Compression) – Некоторый трафик (например, такой как VoIP) может иметь небольшой объем данных приложения (RTP-аудио) в каждом пакете, но в целом отправлять много пакетов. В этом случае количество информации заголовка становится значимым фактором и часто потребляет больше полосы пропускания, чем данные. Сжатие заголовка решает эту проблему напрямую, устраняя многие избыточные поля в заголовке пакета. Удивительно, что сжатие заголовка RTP, также называемое сжатым транспортным протоколом реального времени (Compressed Real-time Transport Protocol - cRTP) уменьшает 40-байтовый заголовок до 2-4 байт!; Фрагментация и чередование (Link Fragmentation and Interleaving) - LFI решает проблему задержки сериализации путем измельчения больших пакетов на более мелкие части до их отправки. Это позволяет маршрутизатору перемещать критический VoIP-трафик между фрагментированными частями данных (которые называются «чередованием» голоса); Алгоритмы очередей Постановка в очереди (queuing) определяет правила, которые маршрутизатор должен применять при возникновении перегруженности. Большинство сетевых интерфейсов по умолчанию используют базовую инициализацию First-in, First-out (FIFO) . В этом методе сначала отправляется любой пакет, который приходит первым. Хотя это кажется справедливым, не весь сетевой трафик создается равным. Основная задача очереди - обеспечить, чтобы сетевой трафик, обслуживающий критически важные или зависящие от времени бизнес-приложения, отправлялся перед несущественным сетевым трафиком. Помимо очередности FIFO используются три первичных алгоритма очередности: Weighted Fair Queuing (WFQ)– WFQ пытается сбалансировать доступную полосу пропускания между всеми отправителями равномерно. Используя этот метод, отправитель с высокой пропускной способностью получает меньше приоритета, чем отправитель с низкой пропускной способностью; Class-Based Weighted Fair Queuing (CBWFQ) – этот метод массового обслуживания позволяет указать гарантированные уровни пропускной способности для различных классов трафика. Например, вы можете указать, что веб-трафик получает 20 процентов полосы пропускания, тогда как трафик Citrix получает 50 процентов пропускной способности (вы можете указать значения как процент или конкретную величину полосы пропускания). Затем WFQ используется для всего неуказанного трафика (остальные 30 процентов в примере); Low Latency Queuing (LLQ) - LLQ часто упоминается как PQ-CBWFQ, потому работает точно так же, как CBWFQ, но добавляется компонент приоритета очередей (Priority Queuing - PQ). Если вы указываете, что определенный сетевой трафик должен идти в приоритетную очередь, то маршрутизатор не только обеспечивает пропускную способность трафика, но и гарантирует ему первую полосу пропускания. Например, используя чистый CBWFQ, трафику Citrix может быть гарантированно 50% пропускной способности, но он может получить эту полосу пропускания после того, как маршрутизатор обеспечит некоторые другие гарантии трафика. При использовании LLQ приоритетный трафик всегда отправляется перед выполнением любых других гарантий. Это очень хорошо работает для VoIP, делая LLQ предпочтительным алгоритмом очередей для голоса; Существует много других алгоритмов для очередей, эти три охватывают методы, используемые большинством современных сетей
img
3-уровневая иерархическая модель Cisco нацелена на построение надежной, масштабируемой и высокопроизводительной сетевой конструкции. Этот высокоэффективный сетевой иерархический подход обеспечивает экономичный, модульный, структурированный и простой метод (обеспечивает несложный и единообразный проект) для удовлетворения существующих и будущих потребностей роста сети. Каждый из уровней имеет свои особенности и функциональность, что еще больше упрощает сети. Что же заставляет нас переходить к использованию 3-уровневневого иерархического подхода, представлены ниже - Масштабируемость (Scalability) - эффективно приспосабливается к будущему росту сети; Простота управления и устранения неполадок - эффективное управление и простота в устранении причины сбоя; Более простая и структурированная фильтрация и принудительное применение политик - проще создавать фильтры/политики и применять их в сети; Избыточность и отказоустойчивость - в сети могут происходить сбои/простои устройств, и она должна продолжать предоставлять услуги с той же производительностью, в случае выхода из строя основного устройства; Высокая производительность - иерархическая архитектура для поддержки высокой пропускной способности и высокой производительности базовой активной инфраструктуры; Модульность - обеспечивает гибкость в проектировании сети и облегчает простое внедрение и устранение неполадок. Уровень ядра (внутренний уровень) | Core layer Этот уровень также называется сетевым магистральным уровнем и отвечает за обеспечение быстрого транспорта между распределительными коммутаторами в пределах кампуса предприятия. Станциями внутреннего уровня являются коммутаторы высокого класса и высокопроизводительные коммутаторы, имеющие модульный форм-фактор. Это полностью резервные устройства, поддерживающие расширенные функции коммутации уровня 3 и протоколы динамической маршрутизации. Основным здесь является сохранение конфигурации как можно более минимальной на уровне ядра. Из-за очень высокой критичности этого слоя, проектирование его требует высокого уровня устойчивости для быстрого и плавного восстановления, после любого события сбоя сети в пределах блока ядра. Ниже приведены основные характеристики внутреннего уровня - Высокая производительность и сквозная коммутация; Обеспечение надежности и отказоустойчивости; Масштабируемый; Избегание интенсивных манипуляций с пакетами ЦП, вызванных безопасностью, инспекцией, классификацией качества обслуживания (QoS) или другими процессами. Вот некоторые модели коммутаторов Cisco, работающих на уровне ядра, являются Catalyst серии 9500/6800/6500 и nexus серии 7000. Распределительный уровень | Distribution layer Распределительный уровень расположен между уровнями доступа и ядра. Основная функция этого уровня - обеспечить маршрутизацию, фильтрацию и WAN-доступ, а также визуализировать связь между уровнями доступа и ядра. Кроме того, коммутаторы уровня распределения могут предоставлять восходящие службы для многих коммутаторов уровня доступа. Уровень распределения гарантирует, что пакеты маршрутизируются между подсетями и Inter/Intra VLAN в среде кампуса. Как стандартный подход, шлюзы по умолчанию для всех VLAN будут коммутаторами уровня распределения. На самом деле серверные устройства не должны быть напрямую подключены к распределительным коммутаторам. Этот подход обеспечивает экономию затрат на один порт за счет высокой плотности портов при менее дорогостоящих коммутаторах уровня доступа. Основные функции распределительного уровня перечислены ниже - Аккумулирование каналов LAN / WAN; Контроль доступа и фильтрация, такие как ACLs и PBR; Маршрутизация между локальными сетями и VLAN, а также между доменами маршрутизации; Избыточность и балансировка нагрузки; Суммирование подсетей и агрегирование маршрутов на границах / к уровню ядра; Управление широковещательным доменом. Устройство уровня распределения действует как демаркационная точка между широковещательными доменами. Основными моделями коммутаторов Cisco, работающих на распределительном уровне, являются Catalyst серии 6800/6500/4500/3850 Уровень доступа | Access layer Этот уровень включает в себя коммутаторы уровня 2 и точки доступа, обеспечивающие подключение к рабочим станциям и серверам. На восходящих линиях связи устройства уровня доступа подключаются к распределительным коммутаторам. Мы можем управлять контролем доступа и политикой, создавать отдельные коллизионные домены и обеспечивать безопасность портов на уровне доступа. Коммутаторы уровня доступа обеспечивают доставку пакетов на конечные устройства. Уровень доступа выполняет ряд функций, в том числе: Коммутация уровня 2; Высокая доступность; Безопасность портов; Классификация и маркировка QoS; Граница доверия; Списки контроля доступа (ACL); Остовное дерево. Основными моделями коммутаторов Cisco, работающих на уровне доступа, являются Catalyst серии 3850/3750/4500/3560/2960.
img
Данная тема важна так как позволяет изменять приоритет процессов в операционной системе Linux. Иногда возникает такая ситуация, что необходимо изменить приоритет процессов, какой - то процесс сделать более приоритетным, отдав побольше ресурсов, а какой-то менее приоритетным забрав часть ресурсов сервера. В данной теме мы рассмотрим следующие вопросы: Научимся определять приоритеты процессов; Рассмотрим, как запускать программы с повышенным приоритетом или с пониженным; Посмотрим, как изменять приоритет запущенных программы. В Linux любой процесс может иметь приоритет от -20 до +19. Во FreeBSD до +20. Максимальным приоритетом считается, тот процесс у которого минимальное число. Т.е. максимальный по приоритету процесс будет иметь число - 20, а минимальный -19 соответственно. Поэтому задача с приоритетом -20 будет выполняться в первую очередь с максимум ресурсов и наоборот задача с +19 будет выполняться в последнюю очередь и минимум ресурсов. Linux для установки приоритетов использует такую программу nice и renice. Для того, чтобы рассмотреть данную тему воспользуемся командой ps aux. Запуская данную команду мы получаем все сведения о запущенных процессах на данном сервере. Так же мы можем увидеть от какого пользователя данный процесс запущен. Теперь мы используем другой набор ключей для команды ps. Чтоб получить нам интересующий вывод данных используем команду ps alx. Мы можем видеть, что получили немного другую информацию. Появилась колонка, промаркированная "NI" и колонка "PRI". Мы можем видеть, что верхние процессы выполняются с nice 0, т.е. это авторитет по умолчанию, который присваивается если не сказано иного. Возьмем другой вариант команды ps, с другими ключами. ps -eo user,pid,pcpu,nice,comm -e - ключ показывать все -o - output т.е какая информация нужна, далее в команде перечисляется необходимая информация (колонки) После ввода данной команды, мы видим, что столбцов стало меньше. Только то, что мы запрашивали, пользователь, ID процесса, загрузка CPU, приоритет и какая команда. Для того, чтобы понять, что такое приоритет, попробуем использовать команду sleep, которая позволяет, остановить операционную систему на указанное число секунд. sleep 10000 & И выведем команду ps -eo user,pid,pcpu,nice,comm | grep sleep, используя pipline сортируем по названию процесса sleep. Вот, что у нас вышло. Видим наш запущенный процесс. Далее запустим какую-нибудь задачу с максимальным приоритетом. Это полезно если мы хотим запустить, какой ни будь серьезный процесс, чтобы он получил максимальный приоритет. Как пример, срочная переиндексация базы данных на сервере с максимальным приоритетом или программку, которая будет собирать информацию о системе с минимальным приоритетом. nice sleep 60000 И мы можем увидеть, что появился наш процесс со значение 10 по умолчанию. Десять - это приоритет по умолчанию, и он ниже, чем ноль. Чем выше значение, тем приоритет ниже. Т.е. получается если мы запускаем с командой niсе, то процесс запускает с приоритетом ниже в 2 раза, чем просто если бы запустили. Мы можем принудительно завершить процессы. killall sleep. Попробуем запустить задачу с минимальным приоритетом. Для этого воспользуемся параметром. Команда будет выглядеть следующим образом. nice -n 19 sleep 6000 Как мы видим все получилось. Процесс запущен с минимальным приоритетом. Аналогично запускается процесс с максимальным приоритетом. nice -n -20 sleep 6000 Тут нужно пояснить, что задачи с наивысшим приоритетом, могут пользователи только с правами root. Если мы бы попытались сделать из-под обычного пользователя, то ничего у нас бы не вышло. killall sleep, еще раз завершим принудительно процессы. Запустим еще раз процесс с наименьшим приоритетом. nice -n 19 sleep 60000. Теперь изменим приоритет текущего процесса. Для этого есть следующая команда: renice 5 -p 416802 - т.е 5 - новый приоритет , 416802 - id процесса. Как мы видим все успешно поменялось. Вот таким образом мы можем динамически менять приоритеты. В Операционной системе Windows мы так же можем менять приоритеты в менеджере задач, но если там пять уровней, то в Linux их получается 40. Мы можем так же менять приоритеты определенному пользователю. renice приоритет -u пользователь Данные команды, нам позволяют гибко управлять распределением ресурсов на нашем сервере.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59