Netzwerkgeräte passen nicht perfekt in das normale Lese- / Schreibmodell für Geräte (mit Ausnahme von Netzwerkblockgeräten, für die spezielle Anwendungen gelten). Unter Linux befinden sie sich nicht in diesem Modell /dev. Dies bedeutet nicht , dass sie nicht , kann in sein /dev/, eine bestimmte Fahrer kann einen Geräteknoten und Userland Werkzeuge erstellen kann damit (dh über ioctsl) zu interagieren , verwendet werden. Auf Solaris-Netzwerkgeräten ist /devgenau dieser Zweck erfüllt.
Dies wird normalerweise angegeben ( Linux Devices Drivers , 2. Auflage, 2001; Kapitel 14 Netzwerktreiber ).
Wir diskutieren jetzt über Char- und Block-Treiber und sind bereit, in die faszinierende Welt des Networkings einzusteigen. Netzwerkschnittstellen sind die dritte Standardklasse von Linux-Geräten. In diesem Kapitel wird beschrieben, wie sie mit dem Rest des Kernels interagieren.
[...]
Es gibt einige wichtige Unterschiede zwischen bereitgestellten Datenträgern und Paketzustellungsschnittstellen. Zunächst existiert eine Festplatte als spezielle Datei im Verzeichnis / dev, wohingegen eine Netzwerkschnittstelle keinen solchen Einstiegspunkt hat. Die normalen Dateivorgänge (Lesen, Schreiben usw.) sind für Netzwerkschnittstellen nicht sinnvoll, daher ist es nicht möglich, den Unix-Ansatz "Alles ist eine Datei" auf sie anzuwenden. Daher sind Netzwerkschnittstellen in einem eigenen Namespace vorhanden und exportieren eine andere Gruppe von Vorgängen.
Sie können sehen, welche Schnittstellen verfügbar sind /proc/net/dev, und Sie können auf die Gerätekonfiguration und Statistiken unter zugreifen /sys/class/net/.
Wenn Sie in der Dokumentation nachsehen, sehen Sie keine normalen Netzwerkgeräte, sondern nur TAP / TUN-, PPP- und Netzwerkblockgeräte .
Alte Linux-Kernel-Versionen vor 1.0 haben Geräte /devfür Kontrollzwecke erstellt (das ist lange, lange her ... 1994 oder früher). Wenn Sie in eine Zeitmaschine springen und ein Exemplar MAKEDEVvon 1994 herausfischen, werden Sie feststellen, dass es unterstützt /dev/ne[0-3]wird /dev/wd[0-3], und andere, wahrscheinlich das ehrwürdige NE2000 und Klone. Siehe die letzte Frage in §8.1 der 1993er Version des Linux Ethernet HOWTO .
Siehe auch:
/unix/23199/why-are-network-interfaces-not-indev-like-other-devices