Как проверить, установлена ли дисциплина сетевой очереди в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, установлена ли дисциплина очереди сети в Linux. Вы будете использовать команду tc qdisc show для вывода списка настроенных дисциплин очереди на ваших сетевых интерфейсах и понимания вывода.

Вы также будете проверять свои сетевые интерфейсы с помощью команды ip link и изучать файлы сетевой конфигурации в каталоге /etc/network, чтобы получить полное представление о вашей сетевой настройке и о том, как применяются дисциплины очереди.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/cat -.-> lab-558742{{"Как проверить, установлена ли дисциплина сетевой очереди в Linux"}} linux/ifconfig -.-> lab-558742{{"Как проверить, установлена ли дисциплина сетевой очереди в Linux"}} linux/netstat -.-> lab-558742{{"Как проверить, установлена ли дисциплина сетевой очереди в Linux"}} linux/ip -.-> lab-558742{{"Как проверить, установлена ли дисциплина сетевой очереди в Linux"}} end

Вывод списка дисциплин очереди с помощью tc qdisc

На этом этапе вы узнаете, как выводить список настроенных дисциплин очереди на ваших сетевых интерфейсах с помощью команды tc.

Команда tc представляет собой мощный инструмент в Linux, используемый для управления трафиком. Она позволяет управлять сетевым трафиком, включая shaping (формирование), scheduling (планирование) и policing (контроль). Дисциплины очереди (qdiscs) являются ядром управления трафиком. Они определяют, как пакеты помещаются в очередь и передаются на сетевом интерфейсе.

Для вывода списка в настоящее время настроенных дисциплин очереди вы будете использовать команду tc qdisc show.

Откройте терминал, если он еще не открыт. Вы можете сделать это, кликнув на значок Xfce Terminal слева на рабочем столе.

Теперь введите следующую команду и нажмите Enter:

tc qdisc show

Вы должны увидеть вывод, похожий на следующий:

qdisc noqueue 0: dev lo root refcnt 2
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn

Разберем вывод:

  • qdisc: Указывает, что эта строка описывает дисциплину очереди.
  • noqueue: Это название дисциплины очереди. noqueue - это простая дисциплина очереди, которая не выполняет никакой очереди; пакеты отбрасываются, если интерфейс занят. Обычно она используется для петлевого интерфейса (lo).
  • 0:: Это идентификатор (handle) дисциплины очереди.
  • dev lo: Указывает сетевой интерфейс, к которому прикреплена дисциплина очереди. lo - это петлевой интерфейс.
  • root: Указывает, что это корневая дисциплина очереди для интерфейса.
  • refcnt 2: Счетчик ссылок на дисциплину очереди.

Вторая строка показывает дисциплину очереди fq_codel на интерфейсе eth0. fq_codel - это более продвинутая дисциплина очереди, которая объединяет Fair Queuing (FQ) с CoDel (Controlled Delay) для обеспечения справедливого распределения пропускной способности и минимизации накопления пакетов в буфере (bufferbloat).

Понимание дисциплин очереди является важным аспектом для оптимизации сетевого производительности и решения проблем с сетевой задержкой.

Нажмите Continue (Продолжить), чтобы перейти к следующему шагу.

На этом этапе вы будете использовать команду ip link для проверки сетевых интерфейсов на вашей системе. Команда ip представляет собой современный и универсальный инструмент для настройки сети в Linux, который заменяет старые утилиты, такие как ifconfig.

Команда ip link предназначена для работы с самими сетевыми интерфейсами, показывая их состояние, MAC - адреса и другие детали.

Откройте терминал, если он еще не открыт.

Введите следующую команду и нажмите Enter:

ip link show

Вы должны увидеть вывод, похожий на следующий, в котором перечислены ваши сетевые интерфейсы:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff

Рассмотрим основную информацию, предоставленную для каждого интерфейса:

  • 1: lo: и 2: eth0:: Индекс и имя интерфейса. lo - это петлевой интерфейс, а eth0 обычно является основным сетевым интерфейсом.
  • <LOOPBACK,UP,LOWER_UP> и <BROADCAST,MULTICAST,UP,LOWER_UP>: Флаги, указывающие на возможности и текущее состояние интерфейса. UP означает, что интерфейс активен, а LOWER_UP означает, что физическое соединение установлено.
  • mtu 65536 и mtu 1500: Максимальный размер передаваемого блока (Maximum Transmission Unit), который представляет собой максимальный размер пакета, который может быть передан без фрагментации.
  • qdisc noqueue и qdisc fq_codel: Дисциплина очереди, прикрепленная к интерфейсу, как вы видели на предыдущем этапе.
  • state UNKNOWN и state UP: Операционное состояние интерфейса.
  • mode DEFAULT: Режим работы интерфейса.
  • group default: Группа, к которой принадлежит интерфейс.
  • qlen 1000: Длина передающей очереди.
  • link/loopback и link/ether: Тип канального уровня.
  • 00:00:00:00:00:00 и aa:bb:cc:dd:ee:ff: MAC - адрес интерфейса.
  • brd 00:00:00:00:00:00 и brd ff:ff:ff:ff:ff:ff: Широковещательный MAC - адрес.

Команда ip link show является важной для быстрой проверки статуса и конфигурации ваших сетевых интерфейсов.

Нажмите Continue (Продолжить), чтобы перейти к следующему этапу.

Проверка сетевой конфигурации в /etc/network

На этом этапе вы изучите традиционные файлы сетевой конфигурации, расположенные в директории /etc/network. Хотя современные дистрибутивы Linux часто используют такие инструменты, как Netplan или NetworkManager, понимание этих более старых файлов конфигурации по-прежнему имеет ценность, особенно на системах, которые их используют, или для устранения неполадок.

Основной файл конфигурации сетевых интерфейсов в таком стиле - это /etc/network/interfaces.

Откройте терминал, если он еще не открыт.

Вы будете использовать команду cat для отображения содержимого файла /etc/network/interfaces. cat - это простая команда, используемая для объединения и отображения содержимого файлов.

Введите следующую команду и нажмите Enter:

cat /etc/network/interfaces

Вы должны увидеть вывод, похожий на следующий:

## interfaces(5) file used by ifup(8) and ifdown(8)
## Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Рассмотрим содержимое:

  • #: Строки, начинающиеся с #, являются комментариями и игнорируются.
  • source-directory /etc/network/interfaces.d: Эта строка сообщает системе включить файлы конфигурации, найденные в директории /etc/network/interfaces.d. Это позволяет создавать модульные сетевые конфигурации.
  • auto lo: Эта строка указывает, что интерфейс lo (петлевой интерфейс) должен быть автоматически активирован при запуске системы.
  • iface lo inet loopback: Эта строка настраивает интерфейс lo. inet указывает семейство адресов (IPv4), а loopback указывает, что это петлевой интерфейс.
  • auto eth0: Эта строка указывает, что интерфейс eth0 должен быть автоматически активирован при запуске системы.
  • iface eth0 inet dhcp: Эта строка настраивает интерфейс eth0 для автоматического получения его IP - адреса и других сетевых настроек с использованием DHCP (Dynamic Host Configuration Protocol - Протокол динамической настройки хоста).

Этот файл предоставляет статический способ настройки сетевых интерфейсов. Вы можете вручную определить IP - адреса, маски подсети, шлюзы и другие настройки здесь вместо использования DHCP.

Хотя в этом лабораторном занятии вы не будете изменять этот файл, знание его расположения и базовой структуры важно для понимания того, как можно настроить сетевые интерфейсы на системе Linux.

Нажмите Continue (Продолжить), чтобы завершить это лабораторное занятие.

Резюме

В этом лабораторном занятии вы узнали, как проверить, установлена ли дисциплина сетевой очереди в Linux. Вы начали с использования команды tc qdisc show для перечисления настроенных дисциплин очереди на ваших сетевых интерфейсах, поняли вывод, включая имя дисциплины очереди (qdisc), интерфейс и тип. Эта команда является основным инструментом для проверки настроек управления трафиком.

Вы также узнали о важности понимания различных дисциплин очереди, таких как noqueue и fq_codel, и их ролях в управлении сетевым трафиком и производительностью. Этот первый шаг предоставил практический способ определить, какие дисциплины очереди активны на вашей системе.