Обзор CentOS 7. Часть 5: оптимизации производительности сети

    В предыдущих статьях по CentOS 7 было рассмотрено:
    Часть 1: контейнеры Linux
    Часть 2: управление идентификацией
    Часть 3: NFS, FedFS, pNFS
    Часть 4: смягчение DDoS атак TCP SYN Flood

    В этой статье мы поговорим об улучшениях сети в CentOS 7:
    • оптимизации производительности сети;
    • поддержки сокетов с низкими задержками;
    • высокоточной синхронизации времени.
    • улучшениях безопасности;



    В конце статьи ссылки на бесплатное тестирование CentOS 7 в облаке InfoboxCloud и в VPS от Infobox.

    Использование полосы пропускания сети продолжает расти. Сеть может становиться потенциально узким местом приложения. В CentOS 7 добавлена поддержка 40-гигабитных сетей, что позволяет быстрее обмениваться данными между системами и приложениями. В CentOS 7 добавлен механизм Team Driver, позволяющий виртуально объединять набор сетевых устройств (портов) в единый логический интерфейс. Это полезно для достижения максимальной пропускной способности и обеспечения отказоустойчивости сетей.

    Для упрощения управления сетью Network manager в CentOS 7 получил значительное обновление, исправляющее ряд недостатков, связанных с настройкой сетевых интерфейсов и услуг. Появилась новая утилита для управления сетью из командной строки (NM-CLI) для простой настройки и управления сетью. Этот инструмент должен быть востребован у системных администраторов для управления серверами из командной строки, для удаленного управления серверами и скриптинга.

    Оптимизации производительности сети


    Представленный примерно 40 лет назад протокол TCP был спроектирован для организации надежных коммуникаций между хостами. Несмотря на масштабные изменения сетей за это время, мы по-прежнему используем TCP.

    В CentOS 7 появились оптимизации производительности TCP, уменьшающие задержки и уменьшающие время ответа приложений:
    • TCP Fast Open: экспериментальное расширение TCP, спроектированное для снижения накладных расходов при установке TCP соединения. Расширение полезно для ускорения HTTP соединений при рукопожатиях и может добавить производительности от 4% до 41% в скорости загрузки страниц сайтов.
    • TCP Tail Loss Probe (TLP) – экспериментальный алгоритм, улучшающий эффективность сетевого стека при потере пакетов в конце TCP соединения. Для коротких транзакций TLP должен уменьшить таймауты передачи на 15% и для коротких HTTP ответов — на 6%.
    • TCP Early Retransmit позволяет использовать быстрые повторные передачи для восстановления потерь в сегментах сети. Другими словами, при потере пакетов соединения восстанавливаются быстрее, что улучшает общие задержки.
    • TCP Proportional Rate Reduction (PRR) – экспериментальный алгоритм, спроектированный для адаптации скорости передачи к пропускной способности, возможной для получателя или маршрутизаторов в сети для предотвращения перегрузок. Алгоритм предназначен для того, чтобы вернуться к максимальной скорости передачи быстрее и может сократить время ответа HTTP на 3-10%.


    Сокеты с низкими задержками


    Несмотря на то, что сетевой стек Linux считается одним из самых быстрых и надежных, в ряде приложений нужны сверхнизкие задержки. Уменьшение задержки на одну миллисекунду для крупной брокерской фирмы может принести 100 миллионов долларов в год. Многие используют нестандартные подходы для обхода сетевого стека в пользовательском пространстве.

    Сокеты с низкими задержками (Low latency sockets) — программная реализация в ядре, предназначенная для уменьшения сетевых задержек и джиттера. Эта функция позволяет приложению разрешить опрос новых пакетов напрямую у драйвера устройства, обеспечивая пакетам быстрый путь в сетевом стеке. Это изменение вызывает драйвер для проверки интерфейса на наличие новых пакетов и передает их, не вызывая блокировку.

    Технология позволяет приложениям, чувствительным к непредсказуемым задержкам, использовать метод busy-wait polling вместо использования прерываний для входящих пакетов.

    Высокоточная синхронизация времени


    Точная синхронизация времени в микросекундах и наносекундах очень важна для критических приложений с высокими требованиями к скорости работы и задержкам, например при торговле на биржах. В CentOS 7 появилась новая имплементация протокола NTP – Chrony, позволяющая синхронизировать время быстрее и точнее, чем ntpd. Chrony также лучше работает в виртуальных машинах или на компьютерах с энергосберегающими технологиями, сохраняя время точным.

    В дополнение к улучшениям NTP, в Cent OS 7 появилась поддержка стандарта IEEE 1588 версии 2 «Precision Time Protocol (PTP)». PTP обеспечивает точность меньше миллисекунды.

    Безопасность


    Iptables разрабатывался во времена, когда сети были простыми и пропускные способности измеряли мегабитами. Новые технологии (распределенные NAT, оверлейные сети и контейнеры) требуют расширенной функциональности и гибкости. В CentOS 7 добавленa новая динамическая служба FirewallD. Сервис предоставляет большую гибкость по сравнению с iptables, например поддерживает различные зоны доверия сетей. С FirewallD можно применять правила без перезагрузки сервиса, не теряя текущие соединения.

    Использованные в подготовке статьи источники:
    Oфициальный блог RedHat
    База знаний RedHat
    Официальный блог CentOS

    Попробуйте CentOS 7 в облаке

    Специально для наших читателей мы обеспечили возможность попробовать CentOS 7 в облаке InfoboxCloud. Регистрируйте пробную версию облака по этой ссылке. Классическую VPS с CentOS 7 можно попробовать бесплатно, используя промо-код freevps на сайте Infobox. Если вам нужно больше ресурсов для тестирования, напишите.

    Если вы не можете задавать вопросы на Хабре, можно задать их в комментариях к статье в Сообществе InfoboxCloud.

    Успешного использования CentOS 7!
    • +24
    • 32.4k
    • 8
    Infobox
    30.45
    Company
    Share post

    Comments 8

    • UFO just landed and posted this here
        +1
        Хотелось бы познакомиться с современными математическими моделями оптимизации процессов функционирования сетей.
        Увидеть анализ концепций и принципов оптимизации, используемых в данной области
          +1
          Мне показалось что FirewallD есть просто обертка вокруг iptables и ebtables. Причем на данный момент не самая удобная так как надо изучать большое количество новых команд.

          Хотя один плюс я все же увидел. Насколько я понимаю, теперь сервисы при запуске могут сами добавлять правила в FirewallD. Наблюдение при работе с докером. Если запустить сначала докер а потом файрволл — ничего работать не будет. Надо наоборот.
          А вот SystemD порадовал. Не сказать что сильно усложнили, а многое стало гораздо проще реализовать
          • UFO just landed and posted this here
              0
              Это первое что я читал. Да там много оберток вокруг и тд. Но ведь внутри это тот же самый iptables, разве нет?
            0
            Конечно, обзоры семёрки — это хорошо.
            Но самым ожидаемым от 7ки был upgrade без re-install.
            Но кто-нибудь, может, покажет мануал по upgrade 6.5->7?
            Заявка на upgrade без re-install была, но вот сделали они это или нет — не понятно.
            Документацию тоже не нашёл.

          Only users with full accounts can post comments. Log in, please.