Wie man prüft, ob eine Netzwerk-Warteschlangenverwaltung in Linux festgelegt ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob eine Netzwerk-Warteschlangenverwaltung (queue discipline) in Linux festgelegt ist. Sie verwenden den Befehl tc qdisc show, um die konfigurierten Warteschlangenverwaltungen auf Ihren Netzwerkschnittstellen aufzulisten und die Ausgabe zu verstehen.

Sie überprüfen auch Ihre Netzwerkschnittstellen mit dem Befehl ip link und untersuchen die Netzwerkkonfigurationsdateien in /etc/network, um ein umfassendes Verständnis Ihrer Netzwerkeinrichtung und der Anwendung von Warteschlangenverwaltungen zu erhalten.


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{{"Wie man prüft, ob eine Netzwerk-Warteschlangenverwaltung in Linux festgelegt ist"}} linux/ifconfig -.-> lab-558742{{"Wie man prüft, ob eine Netzwerk-Warteschlangenverwaltung in Linux festgelegt ist"}} linux/netstat -.-> lab-558742{{"Wie man prüft, ob eine Netzwerk-Warteschlangenverwaltung in Linux festgelegt ist"}} linux/ip -.-> lab-558742{{"Wie man prüft, ob eine Netzwerk-Warteschlangenverwaltung in Linux festgelegt ist"}} end

Auflisten von Warteschlangenverwaltungen mit tc qdisc

In diesem Schritt lernen Sie, wie Sie die auf Ihren Netzwerkschnittstellen konfigurierten Warteschlangenverwaltungen (queue disciplines) mit dem Befehl tc auflisten können.

Der Befehl tc ist ein leistungsstarkes Werkzeug in Linux zur Verkehrssteuerung (traffic control). Es ermöglicht Ihnen die Verwaltung des Netzwerkverkehrs, einschließlich Shaping, Scheduling und Policing. Warteschlangenverwaltungen (qdiscs) sind der Kern der Verkehrssteuerung. Sie bestimmen, wie Pakete in einer Warteschlange gespeichert und auf einer Netzwerkschnittstelle übertragen werden.

Um die derzeit konfigurierten Warteschlangenverwaltungen aufzulisten, verwenden Sie den Befehl tc qdisc show.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist. Sie können dies tun, indem Sie auf das Symbol Xfce Terminal auf der linken Seite Ihres Desktops klicken.

Geben Sie jetzt den folgenden Befehl ein und drücken Sie die Eingabetaste:

tc qdisc show

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

Lassen Sie uns die Ausgabe analysieren:

  • qdisc: Gibt an, dass diese Zeile eine Warteschlangenverwaltung beschreibt.
  • noqueue: Dies ist der Name der Warteschlangenverwaltung. noqueue ist eine einfache Warteschlangenverwaltung, die keine Warteschlangenbildung durchführt; Pakete werden verworfen, wenn die Schnittstelle beschäftigt ist. Sie wird typischerweise für die Loopback-Schnittstelle (lo) verwendet.
  • 0:: Dies ist der Handle der Warteschlangenverwaltung.
  • dev lo: Gibt die Netzwerkschnittstelle an, an die die Warteschlangenverwaltung angehängt ist. lo ist die Loopback-Schnittstelle.
  • root: Gibt an, dass dies die Root-Warteschlangenverwaltung für die Schnittstelle ist.
  • refcnt 2: Referenzzähler für die Warteschlangenverwaltung.

Die zweite Zeile zeigt die fq_codel-Warteschlangenverwaltung auf der eth0-Schnittstelle. fq_codel ist eine fortschrittlichere Warteschlangenverwaltung, die Fair Queuing (FQ) mit CoDel (Controlled Delay) kombiniert, um eine faire Bandbreitenzuweisung bereitzustellen und Pufferüberlastung (bufferbloat) zu minimieren.

Das Verständnis von Warteschlangenverwaltungen ist entscheidend für die Optimierung der Netzwerkleistung und die Behebung von Netzwerkstaus.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

In diesem Schritt verwenden Sie den Befehl ip link, um die Netzwerkschnittstellen auf Ihrem System zu untersuchen. Der ip-Befehl ist ein modernes und vielseitiges Werkzeug zur Netzwerkkonfiguration in Linux und ersetzt ältere Tools wie ifconfig.

Der ip link-Befehl befasst sich speziell mit den Netzwerkschnittstellen selbst und zeigt ihren Zustand, die MAC-Adressen und andere Details an.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

ip link show

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die Ihre Netzwerkschnittstellen auflistet:

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

Schauen wir uns die wichtigsten Informationen an, die für jede Schnittstelle bereitgestellt werden:

  • 1: lo: und 2: eth0:: Der Schnittstellenindex und der Name. lo ist die Loopback-Schnittstelle, und eth0 ist typischerweise Ihre primäre Netzwerkschnittstelle.
  • <LOOPBACK,UP,LOWER_UP> und <BROADCAST,MULTICAST,UP,LOWER_UP>: Flags, die die Fähigkeiten und den aktuellen Zustand der Schnittstelle anzeigen. UP bedeutet, dass die Schnittstelle aktiv ist, und LOWER_UP bedeutet, dass die physische Verbindung hergestellt ist.
  • mtu 65536 und mtu 1500: Die maximale Übertragungseinheit (Maximum Transmission Unit), die die größte Paketgröße ist, die ohne Fragmentierung übertragen werden kann.
  • qdisc noqueue und qdisc fq_codel: Die an die Schnittstelle angehängte Warteschlangenverwaltung (queue discipline), wie Sie im vorherigen Schritt gesehen haben.
  • state UNKNOWN und state UP: Der Betriebszustand der Schnittstelle.
  • mode DEFAULT: Der Modus der Schnittstelle.
  • group default: Die Gruppe, zu der die Schnittstelle gehört.
  • qlen 1000: Die Länge der Sendewarteschlange.
  • link/loopback und link/ether: Der Typ der Vermittlungsschicht (link layer).
  • 00:00:00:00:00:00 und aa:bb:cc:dd:ee:ff: Die MAC-Adresse der Schnittstelle.
  • brd 00:00:00:00:00:00 und brd ff:ff:ff:ff:ff:ff: Die Broadcast-MAC-Adresse.

Der ip link show-Befehl ist unerlässlich, um schnell den Status und die Konfiguration Ihrer Netzwerkschnittstellen zu überprüfen.

Klicken Sie auf Weiter, um fortzufahren.

Untersuchung der Netzwerkkonfiguration in /etc/network

In diesem Schritt werden Sie die traditionellen Netzwerkkonfigurationsdateien im Verzeichnis /etc/network untersuchen. Obwohl moderne Linux-Distributionen oft Tools wie Netplan oder NetworkManager verwenden, ist das Verständnis dieser älteren Konfigurationsdateien immer noch von Wert, insbesondere auf Systemen, die sie nutzen, oder zur Fehlersuche.

Die primäre Konfigurationsdatei für Netzwerkschnittstellen in diesem Stil ist /etc/network/interfaces.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist.

Sie werden den Befehl cat verwenden, um den Inhalt der Datei /etc/network/interfaces anzuzeigen. cat ist ein einfacher Befehl, der zum Verkettung und Anzeigen von Dateiinhalten verwendet wird.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /etc/network/interfaces

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

## 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

Lassen Sie uns den Inhalt untersuchen:

  • #: Zeilen, die mit # beginnen, sind Kommentare und werden ignoriert.
  • source-directory /etc/network/interfaces.d: Diese Zeile teilt dem System mit, die Konfigurationsdateien im Verzeichnis /etc/network/interfaces.d einzubeziehen. Dies ermöglicht modulare Netzwerkkonfigurationen.
  • auto lo: Diese Zeile gibt an, dass die lo-Schnittstelle (Loopback-Schnittstelle) automatisch beim Systemstart aktiviert werden soll.
  • iface lo inet loopback: Diese Zeile konfiguriert die lo-Schnittstelle. inet gibt die Adressfamilie (IPv4) an, und loopback zeigt an, dass es sich um eine Loopback-Schnittstelle handelt.
  • auto eth0: Diese Zeile gibt an, dass die eth0-Schnittstelle automatisch beim Systemstart aktiviert werden soll.
  • iface eth0 inet dhcp: Diese Zeile konfiguriert die eth0-Schnittstelle so, dass sie ihre IP-Adresse und andere Netzwerkeinstellungen automatisch über DHCP (Dynamic Host Configuration Protocol) erhält.

Diese Datei bietet eine statische Möglichkeit, Netzwerkschnittstellen zu konfigurieren. Sie können hier manuell IP-Adressen, Netzmasken, Gateways und andere Einstellungen definieren, anstatt DHCP zu verwenden.

Obwohl Sie in diesem Lab diese Datei nicht ändern werden, ist es wichtig, ihre Speicherorte und Grundstruktur zu kennen, um zu verstehen, wie Netzwerkschnittstellen auf einem Linux-System konfiguriert werden können.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie überprüfen können, ob eine Netzwerk-Warteschlangenverwaltung (queue discipline) in Linux festgelegt ist. Sie haben begonnen, indem Sie den Befehl tc qdisc show verwendet haben, um die konfigurierten Warteschlangenverwaltungen auf Ihren Netzwerkschnittstellen aufzulisten. Dabei haben Sie die Ausgabe verstanden, einschließlich des Namens der Warteschlangenverwaltung, der Schnittstelle und des Typs. Dieser Befehl ist ein grundlegendes Werkzeug zur Untersuchung der Verkehrssteuerungseinstellungen.

Sie haben auch gelernt, wie wichtig es ist, verschiedene Warteschlangenverwaltungen wie noqueue und fq_codel zu verstehen und welche Rolle sie bei der Verwaltung des Netzwerkverkehrs und der Leistung spielen. Dieser erste Schritt hat Ihnen eine praktische Möglichkeit gegeben, festzustellen, welche Warteschlangenverwaltungen auf Ihrem System aktiv sind.