По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой статье мы рассмотрим механизмы масштабируемости BGP и связанные с ними концепции. Предыдущие статьи цикла про BGP: Основы протокола BGP Построение маршрута протоколом BGP Формирование соседства в BGP Оповещения NLRI и политики маршрутизации BGP Видео: Основы BGP за 7 минут Механизмы масштабируемости BGP Истощение доступных автономных системных номеров явилось проблемой точно так же, как было проблемой для интернета истощение IP-адресов. Чтобы решить эту проблему, инженеры обратились к знакомому решению. Они обозначили диапазон номеров AS только для частного использования. Это позволяет вам экспериментировать с AS конструкцией и политикой, например, в лаборатории и использовать числа, которые гарантированно не конфликтуют с интернет-системами. Помните, что число AS-это 16-разрядное число, допускающее до 65 536 чисел AS. Диапазон для частного использования: 64512-65535. Еще одним решением проблемы дефицита, стало расширение адресного пространства имен. Было утверждено пространство, представляющее собой 32-разрядное число. В течение длительного времени, с точки зрения масштабируемости, одноранговые группы Border Gateway Protocol считались абсолютной необходимостью. Мы настраивали одноранговые группы для уменьшения конфигурационных файлов. Так же мы настраивали одноранговые группы для повышения производительности. Преимущества производительности были нивелированы с помощью значительно улучшенных механизмов, сейчас. Несмотря на это, многие организации все еще используют одноранговые группы, поскольку они поняты и легки в настройке. Появились в BGP одноранговые группы для решения нелепой проблемы избыточности в BGP конфигурации. Рассмотрим простой (и очень маленький) пример 1. Даже этот простой пример отображает большое количество избыточной конфигурации. Пример 1: типичная конфигурация BGP без одноранговых групп ATL1(config)#router bgp 200 ATL1( config-router)#neiqhbor 10.30.30.5 remote-as 200 ATL1( config-router)#neiqhbor 10.30.30.5 update- source lo0 ATL1( config= router)#neiqhbor 10.30 .30.5 password S34Dfr112s1WP ATL1(config-router)#neiqhbor 10.40.40.4 remote-as 200 ATL1( config-router)#neiqhbor 10.40.40 .4 update- source lo0 ATL1(config-router)#neiqhbor 10.40.40.4 password S34Dfr112s1WP Очевидно, что все команды настройки относятся к конкретному соседу. И многие из ваших соседей будут иметь те же самые характеристики. Имеет смысл сгруппировать их настройки в одноранговую группу. Пример 2 показывает, как можно настроить и использовать одноранговую группу BGP. Пример 2: одноранговые группы BGP ATL2 (config)#router bgp 200 ATL2 (config-router)#neighbor MYPEERGR1 peer-group ATL2 (config-router)#neighbor MYPEERGR1 remote-as 200 ATL2 (config-router)#neighbor MYPEERG1l update-source lo0 ATL2(config-router)#neighbor MYPEERGRl next-hop-self ATL2 (config-router)#neighbor 10.40.40 .4 peer-group MYPEERGR1 ATL2 (config-router)#neighbor 10.50.50 .5 peer-group MYPEERGR1 Имейте в виду, что, если у вас есть определенные настройки для конкретного соседа, вы все равно можете ввести их в конфигурацию, и они будут применяться в дополнение к настройкам одноранговой группы. Почему же так часто использовались одноранговые группы? Они улучшали производительность. Собственно говоря, это и было первоначальной причиной их создания. Более современный (и более эффективный) подход заключается в использовании шаблонов сеансов для сокращения конфигураций. А с точки зрения повышения производительности теперь у нас есть (начиная с iOS 12 и более поздних версий) динамические группы обновлений. Они обеспечивают повышение производительности без необходимости настраивать что-либо в отношении одноранговых групп или шаблонов. Когда вы изучаете одноранговую группу, вы понимаете, что все это похоже на шаблон для настроек. И это позволит вам использовать параметры сеанса, а также параметры политики. Что ж, новая и усовершенствованная методология разделяет эти функциональные возможности на шаблоны сессий и шаблоны политики. Благодаря шаблонам сеансов и шаблонам политик мы настраиваем параметры, необходимые для правильной установки сеанса, и помещаем эти параметры в шаблон сеанса. Те параметры, которые связаны с действиями политик, мы помещаем в шаблон политики. Одна из замечательных вещей в использовании этих шаблонов сеансов или политик, а также того и другого, заключается в том, что они следуют модели наследования. У вас может быть шаблон сеанса, который выполняет определенные действия с сеансом. Затем вы можете настроить прямое наследование так, чтобы при создании другого наследования оно включало в себя вещи, созданные ранее. Эта модель наследования дает нам большую гибкость, и мы можем создать действительно хорошие масштабируемые проекты для реализаций BGP. Вы можете использовать шаблоны или одноранговые группы, но это будет взаимоисключающий выбор. Так что определитесь со своим подходом заранее. Вы должны заранее определиться, что использовать: использовать ли устаревший подход одноранговых групп или же использовать подход шаблонов сеанса и политики. После выбора подхода придерживайтесь его, так как, использовать оба подхода одновременно нельзя. Теперь можно предположить, что конфигурация для шаблонов сеансов будет довольно простой, и это так. Помните, прежде всего, все что мы делаем здесь и сейчас, относится к конкретной сессии. Поэтому, если мы хотим установить timers, нам нужно установить remote-as – и это будет считается параметром сеанса. Например, мы делаем update source. Мы настраиваем eBGP multihop. Все это имеет отношение к текущему сеансу, и именно это мы будем прописывать в шаблоне сеанса. Обратите внимание, что мы начинаем с создания шаблона. Поэтому используем команду template peer-session, а затем зададим ему имя. И тогда в режиме конфигурации шаблона можем настроить наследование, которое позволит наследовать настройки от другого однорангового сеанса. Можем установить наш remote-as как и/или update source. После завершения, мы используем команду exit-peer-session, чтобы выйти из режима конфигурации для этого сеанса. Пример 3 показывает конфигурацию шаблона сеанса. Пример 3: Шаблоны сеансов BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2 (config-router)#template peer- session MYNAME ATL2 (config-router-stmp)#inherit peer- session MYOTHERNAME ATL2 (config- router-stmp )#remote-as 200 ATL2(config-router-stmp )#password MySecrectPass123 ATL2 (config-router-stmp )#exit-peer-session ATL2 (config-router)#neiqhbor 10.30.30 .10 inherit peer-session MYNAME ATL2 (config-router)#end ATL2# Это простой пример настройки соседства с помощью оператора neighbor и использования наследования однорангового сеанса. Затем присваивается имя однорангового сеанса, созданного нами для нашего шаблона сеанса. Это соседство наследует параметры сеанса. Помните, что, если вы хотите сделать дополнительную настройку соседства, можно просто присвоить соседу IP-адрес, а затем выполнить любые настройки вне шаблона однорангового сеанса, которые вы хотите дать этому соседу. Таким образом, у вас есть та же гибкость, которую мы видели с одноранговыми группами, где вы можете настроить индивидуальные параметры для этого конкретного соседа вне шаблонного подхода этого соседства. Вы можете подумать, что шаблоны политик будут иметь сходную конструкцию и использование с шаблонами сеансов, и вы будете правы. Помните, что если ваши шаблоны сеансов находятся там, где мы собираемся настроить параметры, которые будут относиться к сеансу BGP, то, конечно, шаблоны политик будут храниться там, где мы храним параметры, которые будут применяться к политике. Пример 4 показывает настройку и использование шаблона политики BGP. Пример 4: Шаблоны политики BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2(config-router)#template peer-policy MYPOLICYNAME ATL2 (config-router-ptmp )#next-hop-self ATL2 (config-router-ptmp )#route-map MYMAP out ATL2 (config-router-ptmp )#allowas-in ATL2 (config-router-ptmp )#exit-peer-policy ATL2 (config-router)#neighbor 10.40.40.10 remote-as 200 ATL2 (config-router)#neighbor 10.40.40.10 inherit peer-policy MYNAME ATL2 (config-router)#end ATL2# Да, все эти параметры, которые мы обсуждали при изучении манипуляций с политикой, будут тем, что мы будем делать внутри шаблона политики. Однако одним из ключевых отличий между нашим шаблоном политики и шаблоном сеанса является тот факт, что наследование здесь будет еще более гибким. Например, мы можем перейти к семи различным шаблонам, от которых мы можем непосредственно наследовать политику. Это дает нам еще более мощные возможности наследования с помощью шаблонов политик по сравнению с шаблонами сеансов. Опять же, если мы хотим сделать независимые индивидуальные настройки политики для конкретного соседа, мы можем сделать это, добавив соответствующие команды соседства. Благодаря предотвращению циклов и правилу разделения горизонта (split-horizon rule) IBGP, среди прочих факторов, нам нужно придумать определенные решения масштабируемости для пирингов IBGP. Одним из таких решений является router reflector. Рис. 1: Пример топологии router reflector Конфигурация router reflector удивительно проста, поскольку все это обрабатывается на самом router reflector (R3). Клиенты route reflector – это R4, R5 и R6. Они совершенно не знают о конфигурации и настроены для пиринга IBGP с R3 как обычно. Пример 5 показывает пример конфигурации router reflector. Обратите внимание, что это происходит через простую спецификацию клиента router reflector. Пример 5: BGP ROUTE REFLECTOR R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 200 R3 (config-router)#neighbor 10.50.50.10 remote -as 200 R3 (config-router)#neighbor 10.50.50.10 route-reflector-client R3 (config-router)#end R3# Route reflector автоматически создает значение идентификатора (ID) кластера для кластера, и это устройство и эти клиенты будут частью того, что мы называем кластером route reflector. Cisco рекомендует разрешить автоматическое назначение идентификатора кластера для идентификации клиента. Это 32-разрядный идентификатор, который BGP извлекает из route reflector. Магия Route reflector заключается в том, как меняются правила IBGP. Например, если обновление поступает от клиента Route reflector (скажем, R4), то устройство R3 «отражает» это обновление своим другим клиентам (R5 и R6), а также своим неклиентам (R1 и R2). Это обновление происходит даже при том, что конфигурация для IBGP значительно короче полной сетки пирингов, которая обычно требуется. А теперь что будет, если обновление поступит от не клиента Route reflector (R1)? Route reflector отправит это обновление всем своим клиентам Route reflector (R4, R5 и R6). Но тогда R3 будет следовать правилам IBGP, и в этом случае он не будет отправлять обновление через IBGP другому не клиенту Route reflector (R2). Чтобы решить эту проблему, необходимо будет создать пиринг от R1 к устройству R2 с помощью IBGP. Или, можно добавить R2 в качестве клиента Route reflector R3. Есть еще один способ, которым мы могли бы решить проблему с масштабируемостью IBGP- это манипулирование поведением EBGP. Мы делаем это с конфедерациями. Вы просто не замечаете, что конфедерации используются так же часто, как Route reflector. И причина состоит в том, что они усложняют нашу топологию, и делают поиск неисправностей более сложным. На рис. 2 показан пример топологии конфедерации. Рисунок 2: Пример топологии конфедерации Мы имеем наш AS 100. Для создания конфедерации необходимо создать небольшие субавтономные системы внутри нашей основной автономной системы. Мы их пронумеруем с помощью, номеров автономных систем только для частного использования. Что мы имеем, когда манипулируем поведением eBGP, что бы имеет конфедерацию EBGP пирингов? Это позволяет нам установить пиринги между соответствующими устройствами, которые хотим использовать в этих автономных системах. Как вы можете догадаться, они не будут следовать тем же правилам, что и наши стандартные пиринги EBGP. Еще один важный момент заключается в том, что все это для внешнего неконфедеративного мира выглядит просто как единый AS 100. Внутри мы видим реальные AS, и конфедеративные отношения EBGP между ними. Помимо устранения проблемы разделения горизонта IBGP, что же меняется с пирингами конфедерации EBGP? В следующем прыжке поведение должно измениться. Следующий прыжок не меняется тогда, когда мы переходим от одной из этих небольших конфедераций внутри нашей АС к другой конфедерации. Вновь добавленные атрибуты обеспечивают защиту от цикла из-за конфедерации. Атрибут AS_confed_sequence и AS_confed_set используются в качестве механизмов предотвращения циклов. Пример 6 показывает пример частичной настройки конфедерации BGP. R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 65501 R3(config-router)#bgp confederation identifier 100 R3 (config-router)#bgp confederation peers 65502 R3 (config-router)#neighbor 10 .20.20.1 remote-as 65502 R3 (config-router)#end R3# Иногда возникает необходимость применения общих политик к большой группе префиксов. Это делается легко, если вы помечаете префиксы специальным значением атрибута, называемым сообществом (community). Обратите внимание, что сами по себе атрибуты сообщества ничего не делают с префиксами, кроме как прикрепляют значение идентификатора. Это 32-разрядные значения (по умолчанию), которые мы можем именовать, чтобы использовать дополнительное значение. Вы можете настроить значения сообщества таким образом, чтобы они были значимы только для вас или значимы для набора AS. Вы также можете иметь префикс, который содержит несколько значений атрибутов сообщества. Кроме того, можно легко добавлять, изменять или удалять значения сообщества по мере необходимости в вашей топологии BGP. Атрибуты сообщества могут быть представлены в нескольких форматах. Более старый формат выглядит следующим образом: Decimal - 0 to 4294967200 (в десятичном) Hexadecimal – 0x0 to 0xffffffa0 (в шестнадцатеричном) Более новый формат: AA:NN AA - это 16-битное число, которое представляет ваш номер AS, а затем идет 16-битное число, используемое для задания значимости своей политике AS. Таким образом, вы можете задать для AS 100 100:101, где 101- это номер внутренней политики, которую вы хотите применить к префиксам. Есть также хорошо известные общественные значения. Это: No-export - префиксы не объявляются за пределами AS. Вы можете установить это значение, когда отправляете префикс в соседний AS. чтобы заставить его (соседний AS) не объявлять префикс за собственные границы. Local-AS - префиксы с этим атрибутом сообщества никогда не объявляются за пределами локального AS No-advertise - префиксы с этим атрибутом сообщества не объявляются ни на одном устройстве Эти хорошо известные атрибуты сообщества просто идентифицируются по их зарезервированным именам. Есть также расширенные сообщества, которые также можно использовать. Они предлагают 64-битную версию для идентификации сообществ! Задание параметров осуществляется настройкой TYPE:VALUE. Выглядит оно следующим образом: 65535:4294967295 Как вы можете догадаться, мы устанавливаем значения сообщества, используя route maps. Пример 7 показывает пример настроек. Обратите внимание, что в этом примере также используется список префиксов. Они часто используются в BGP для гибкой идентификации многих префиксов. Они гораздо более гибки, чем списки доступа для этой цели. Пример 7: Установка значений сообщества в BGP R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3(config)#ip prefix-list MYLIST permit 172.16.0.0/16 le 32 R3(config)#route-map SETCOMM permit 10 R3(config-route-map)#match ip address prefix-list MYLIST R3(config-route-map)#set community no-export R3(config-route-map)#route-map SETCOMM permit 20 R3(config)#router bgp 100 R3(config-router)#neighbor 10.20.20.1 route-map SETCOMM out R3 (config-router)#neighbor 10.20.20.1 send-community R3(config-router)#end R3#
img
У вас возникли проблемы с контролем использования пропускной способности вашей сети Linux? Вам нужна помощь? Здесь важно, чтобы вы могли визуализировать то, что происходит в вашей сети, чтобы вы могли понять, что вызывает замедление работы сети, или просто наблюдать за своей сетью. В данной статье мы рассмотрим 17 полезных средств контроля пропускной способности для анализа использования сети в системе Linux. Перечисленные ниже средства имеют открытый исходный код и смогут помочь вам ответить на вопрос из серии «почему сеть сегодня так медленно работает?» Эта статья включает в себя описание средств контроля пропускной способности на одном компьютере с Linux и описание комплексных решений контроля, которые способны обрабатывать несколько хостов в LAN (Local Area Network – локальная вычислительная сеть) или даже в WAN (Wide Area Network – глобальная вычислительная сеть). 1. vnStat – контроль сетевого трафика vnStat – это полнофункциональная программа на основе командной строки для контроля сетевого трафика Linux и использования полосы пропускания сети в режиме реального времени в системах Linux и BSD. Одно из преимуществ этого средства перед аналогичными средствами заключается в том, что он регистрирует статистику сетевого трафика и использования полосы пропускания сети для последующего анализа – это его поведение по умолчанию. Фактически вы можете просматривать эти журналы даже после перезагрузки системы. Установка vnStat в Linux $ sudo yum install sysstat [On Older CentOS/RHEL & Fedora] $ sudo dnf install sysstat [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install sysstat [On Debian/Ubuntu & Mint] $ sudo pacman -S sysstat [On Arch Linux] 2. iftop – отображение использования полосы пропускания сети iftop – это простое и удобное в использовании средство контроля пропускной способности сети в режиме реального времени на основе командной строки, который используется для быстрого обзора операций сетевого трафика в интерфейсе. Оно отображает обновленные данные пропускной способности сети в среднем каждые 2, 10 и 40 секунд. Установка iftop в Linux $ sudo yum install iftop [On Older CentOS/RHEL & Fedora] $ sudo dnf install iftop [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install iftop [On Debian/Ubuntu & Mint] $ sudo pacman -S iftop [On Arch Linux] 3. nload – отображение использование сети nload – еще одно простое и удобное средство командной строки для контроля сетевого трафика и использования полосы пропускания сети в режиме реального времени. Оно использует графическое представление информации, чтобы у вас была возможность контролировать входящий и исходящий трафик. Помимо этого, оно также отображает такую информацию, как общий объем переданных данных и минимальное/максимальное использование сети. Установка nload в Linux $ sudo yum install nload [On Older CentOS/RHEL & Fedora] $ sudo dnf install nload [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install nload [On Debian/Ubuntu & Mint] $ sudo pacman -S nload [On Arch Linux] 4. NetHogs – контроль пропускной способности сетевого трафика NetHogs – это текстовое средство, чем-то похожее на предыдущее, для контроля использования пропускной способности сетевого трафика каждым процессом или приложением в режиме реального времени, которое работает в системе Linux. Оно отображает статистику использования пропускной способности вашей сети в режиме реального времени для каждого процесса. Установка NetHogs в Linux $ sudo yum install nethogs [On Older CentOS/RHEL & Fedora] $ sudo dnf install nethogs [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install nethogs [On Debian/Ubuntu & Mint] $ sudo pacman -S nethogs [On Arch Linux] 5. bmon – контроль пропускной способности и оценка скорости bmon – это простое в использовании средство командной строки для контроля использования пропускной способности сети и оценки скорости в Linux. Оно собирает сетевую статистику и визуализирует ее в удобном для пользователя формате, чтобы он мог наблюдать за работой своей системы. Установка bmon в Linux $ sudo yum install bmon [On Older CentOS/RHEL & Fedora] $ sudo dnf install bmon [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install bmon [On Debian/Ubuntu & Mint] $ sudo pacman -S bmon [On Arch Linux] 6. Darkstat – захват сетевого трафика Darkstat – это небольшой, простой в использовании, кросс-платформенный, работающий в режиме реального времени, эффективный веб-анализатор сетевого трафика. Это средство контроля сетевой статистики, которое работает за счет захватывания сетевого трафика и статистики использования компьютера и предоставляет отчеты по протоколу HTTP в графическом формате. Его также можно использовать через командную строку, результаты будут те же. Установка Darkstat в Linux $ sudo yum install darkstat [On Older CentOS/RHEL & Fedora] $ sudo dnf install darkstat [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install darkstat [On Debian/Ubuntu & Mint] $ sudo pacman -S darkstat [On Arch Linux] 7. IPTraf – контроль IP-сети IPTraf – это простое в использовании настраиваемое средство, основанное на ncurses, для контроля входящего и исходящего сетевого трафика, проходящего через интерфейс. Это важно для контроля IP-трафика и просмотра общей и подробной статистики интерфейса и многого другого. Установка IPTraf в Linux $ sudo yum install iptraf [On Older CentOS/RHEL & Fedora] $ sudo dnf install iptraf [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install iptraf [On Debian/Ubuntu & Mint] $ sudo pacman -S iptraf [On Arch Linux] 8. CBM – (Color Bandwidth Meter) CBM – это небольшая утилита командной строки для отображения текущего сетевого трафика на всех подключенных устройствах в цветах Ubintu Linux и его производных, таких как Linux Mint, Lubuntu и других. Она показывает каждый подключенный сетевой интерфейс, полученные и переданные байты, а также общее количество байтов, что позволяет контролировать пропускную способность сети. Установка CBM в Linux $ sudo yum install cbm [On Older CentOS/RHEL & Fedora] $ sudo dnf install cbm [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install cbm [On Debian/Ubuntu & Mint] $ sudo pacman -S cbm [On Arch Linux] 9. Iperf/Iperf3 – средство измерения пропускной способности сети Iperf/Iperf3 – это мощный инструмент для измерения пропускной способности сети по таким протоколам, как TCP, UDP и SCTP. В первую очередь он создан для настройки TCP-соединений по определенному пути, а поэтому полезен и в тестировании и контроле максимально достижимой пропускной способности в IP-сетях (поддерживает как IPv4, так и IPv6). Для проведения тестирований, которые сообщают информацию о пропускной способности, потерях и других полезных параметрах производительности сети, требуются сервер и клиент. Установка Iperf3 в Linux $ sudo yum install iperf3 [On Older CentOS/RHEL & Fedora] $ sudo dnf install iperf3 [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install iperf3 [On Debian/Ubuntu & Mint] $ sudo pacman -S iperf3 [On Arch Linux] 10. Netperf – тестирование пропускной способности сети Netperf чем-то похож на iperf для тестирования производительности сети. Он может помочь в контроле пропускной способности сети в Linux путем измерения передачи данных с использованием TCP, UDP. Также он поддерживает измерения через интерфейсы Berkeley Sockets, DLPI, Unix Domain Sockets и другие. Для запуска тестов потребуется сервер и клиент. Установка Netperf в Linux $ sudo yum install netperf [On Older CentOS/RHEL & Fedora] $ sudo dnf install netperf [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install netperf [On Debian/Ubuntu & Mint] $ sudo pacman -S netperf [On Arch Linux] 11. SARG – (Squid Analysis Report Generator) SARG – это анализатор лог-файлов Squid и инструмент для контроля скорости Интернет-соединения. Он формирует отчеты в формате HTML, которые включают в себя информацию об IP-адресах и общем использовании полосы пропускания сети. Это удобное в использовании средство контроля скорости Интернет-соединения отдельными устройствами в одной сети. 12. Monitorix – средство контроля системы и сети Monitorix – это небольшое приложение для контроля ресурсов системы и сети, предназначенное для небольших серверов Linux/Unix, а также обеспечивающее отличную поддержку встроенных устройств. Это приложение поможет вам отслеживать сетевой трафик и статистику использования с неограниченного количества сетевых устройств. Оно поддерживает соединения IPv4 и IPv6, включая пакетный трафик и графики сбоя трафика, а также поддерживает до 9 дисков на каждый сетевой интерфейс. Установка Monitorix в Linux $ sudo yum install monitorix [On Older CentOS/RHEL & Fedora] $ sudo dnf install monitorix [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux] $ sudo apt-get install monitorix [On Debian/Ubuntu & Mint] $ sudo pacman -S monitorix [On Arch Linux] 13. Cacti – средство контроля сети и отображения графической информации Cacti – это полнофункциональное веб-приложение PHP для построения сетевых трафиков с интуитивно понятным и простым в использовании интерфейсом. Для хранения собранных данных о производительности, которые в дальнейшем будут использоваться для построения графиков, оно использует базу данных MySQL. Это интерфейс для RRDTool, полезный для контроля небольших и сложных сетей с тысячами устройств. 14. Observium – платформа контроля сети Observium – это полнофункциональная платформа для контроля сети с изящным и мощным, надежным, но простым в использовании и интуитивно понятным интерфейсом. Оно поддерживает ряд платформ, таких как Linux, Windows, FreeBSD, Cisco, HP, Dell и другие, а также имеет функцию автоматического определения устройств. Данное приложение помогает пользователям собирать сетевые показатели и предлагает интуитивно понятное графическое представление показателей устройств, на основе собранных данных о производительности. 15. Zabbix – средство контроля приложений и сети Zabbix – это многофункциональная, широко известная и используемая платформа контроля сети, разработанная по модели «клиент-сервер» для контроля сетей, серверов и приложений в режиме реального времени. Она собирает данные различных типов, которые в дальнейшем использует для визуализации производительности сети или показателей нагрузки отслеживаемых устройств. Она может работать со многими широко известными протоколами, такими как HTTP, FTP, SMTP, IMAP и другими, без необходимости устанавливать какое-то дополнительное программное обеспечение на контролируемые устройства. 16. Nagios – контроль систем, сетей и инфраструктуры Nagios – это надежное, мощное, многофункциональное, широко известное и используемое программное обеспечение для контроля. Оно позволяет контролировать локальные и удаленные сетевые устройства, и их службы из единого окна. Оно предлагает контроль пропускной способности сетевых устройств, таких как коммутаторы и маршрутизаторы, через протокол SNMP, что позволяет легко выявлять чрезмерно используемые порты и возможных злоумышленников в сети. Помимо этого, Nagios также помогает отслеживать использования полосы пропускания сети для каждого порта и ошибки, а также может быстро обнаружить сбой в работе сети или протокола. Заключение В данной статье мы рассмотрели ряд полезных средств контроля пропускной способности сети и системы для Linux.
img
The HyperText Transfer Protocol, или HTTP, это самый распространенный в мире протокол уровня приложений модели OSI на сегодняшний день. Протокол HTTP образует пространство, которое большинство людей называют сетью Интернет. Основной задачей протокола HTTP является извлечение HTML (HyperText Markup Language) или любых других документов с WEB – сайтов через сеть Интернет. Каждый раз, когда вы открываете интернет - браузер, в дело вступает протокол HTTP, оперируя поверх стека протоколов TCP/IP. Протокол HTTP был впервые выпущен на свет вначале 1990 года и имел три версии: HTTP/0.9: Простейшая реализация протокола, позволяющая только получать WEB – страницы HTTP/1.0: Даная версия обнародована Инженерным советом Интернета (Internet Engineering Task Force, IETF) в рамках RFC 1945 в 1996 году. В данной версии было добавлено большое количество дополнительных полей, именуемых заголовками в этой спецификации. Эта версия протокола расширяла взаимодействие между клиентом и сервером. HTTP/1.1: Версия 1.1 определена в RFC 2068 советом IETF как доработанная и улучшенная версия протокола HTTP поверх спецификации 1.0. Одним из самых заметных улучшений версии 1.1 по сравнению с 1.0 стало внедрений методов постоянных TCP сессий, возможность отправки нескольких HTTP запросов одновременно, не дожидаясь ответа сервера (повышение скорости работы) и реализация алгоритма кэширования. На сегодняшний день, большинство современных интернет – браузеров поддерживают обе версии 1.0 и 1.1 протокола HTTP. Важно отметить, что современные браузеры обеспечивают полную совместимость данных версий, то есть при условии отправки запрос версии 1.0 и получения ответа 1.1, данные будут успешно обработаны. Получение веб страницы по HTTP Рассмотрим процесс получения WEB – страницы обычным интернет браузером с сервера. Любая HTML страница содержит в себе множество объектов, тэгов и изображений. В целом, HTML можно рассматривать как структуру страницы, в которой все объекты расставлены на свои места. В свою очередь, интернет – браузер получает инструкции в рамках этого HTML документа, откуда брать шрифты, цвета, фон и прочие элементы оформления страницы. Порядок таков: Клиент (браузер) отправляет запрос на WEB – сервер для запрашиваемой страницы. Сервер анализирует запрос и отправляет HTML код необходимый для формирования страницы. Клиент начинает анализировать полученный документ и формировать WEB – страницу. Клиент в последующих запросах будет формировать изображения, видео или любую другую форму внутренних объектов из источников WEB – сервера. Когда все элементы страницы получены, клиент (интернет браузер) отобразит запрошенную WEB – страницу. Порядок и время работы зависят от версии протокола (1.0 или 1.1). HTTP запросы Протокол HTTP (HyperText Transfer Protocol) позволяет не только получать HTML документы с Web – серверов, но и передавать информацию от клиента к серверу. Заголовки запросов в протокол HTTP версий 1.0 и 1.1 указаны в таблице ниже: Запрос Описание HTTP/1.0 HTTP/1.1 GET Это запрос почти аналогичен запросу GET. Отличие в том, что сервер не должен возвращать в ответ содержание HTML, а только HTTP заголовок. Да Да HEAD Это запрос почти аналогичен запросу GET. Отличие в том, что сервер не должен возвращать в ответ содержание HTML, а только HTTP заголовок. Да Да HEAD Это запрос почти аналогичен запросу GET. Отличие в том, что сервер не должен возвращать в ответ содержание HTML, а только HTTP заголовок. Да Да POST Позволяет клиенту отправлять информацию в сторону сервера, например через различные встроенные в сайт формы Да Да PUT Позволяет клиенту добавить файл в определенную директорию сервера. Нет Да DELETE Позволяет клиенту удалить файл указанный в рамках запроса. Нет Да TRACE Позволяет клиенту отслеживать свой запрос к серверу. Нет Да OPTIONS Позволяет клиенту определять параметры взаимодействия с сервером. Нет Да В стандартном понимании Web – сайта, запросы GET и POST являются наиболее часто используемыми. Метода GET используется клиентом для получения каждого отдельного объекта страницы, в то время как POST зачастую используется в интернет магазинах, где необходимо отправить информацию в строну сервера. Что такое URL? Uniform Resource Locator (URL) одна из самых важных составляющих любого GET запроса, который состоит из хоста, на котором находится сайт, схемы обращения (сетевой протокол) и полного пути к HTML файлу. Опционально, URL может содержать в себе информацию о номере TCP порта и определенной точки на странице. Ниже приведен типичный пример URL:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59