I dispositivi di rete non si adattano perfettamente al normale modello di lettura / scrittura per i dispositivi (ad eccezione dei dispositivi di blocco di rete, che hanno applicazioni speciali), su Linux in cui non si trovano /dev
. Ciò non significa che non possano essere presenti /dev/
, nessun particolare driver può creare un nodo dispositivo e gli strumenti userland possono essere utilizzati per interagire con esso (cioè via ioctsl). Sui dispositivi di rete Solaris è /dev
esattamente per quello scopo.
Questo è ciò che viene di solito citato ( Linux Devices Drivers , 2nd Ed., 2001; Chapter 14 Network Drivers ).
Stiamo discutendo dei driver char e block e siamo pronti per passare all'affascinante mondo del networking. Le interfacce di rete sono la terza classe standard di dispositivi Linux e questo capitolo descrive come interagiscono con il resto del kernel.
[...]
Esistono alcune importanti differenze tra i dischi montati e le interfacce di consegna dei pacchetti. Per cominciare, esiste un disco come file speciale nella directory / dev, mentre un'interfaccia di rete non ha tale punto di ingresso. Le normali operazioni sui file (lettura, scrittura e così via) non hanno senso se applicate alle interfacce di rete, quindi non è possibile applicare l'approccio Unix "tutto è un file". Pertanto, le interfacce di rete esistono nel proprio spazio dei nomi ed esportano un diverso insieme di operazioni.
Puoi vedere in quali interfacce sono disponibili /proc/net/dev
e puoi accedere alla configurazione e alle statistiche del dispositivo in /sys/class/net/
.
Se guardi nella documentazione non vedrai alcun normale dispositivo di rete, solo TAP / TUN, PPP e dispositivi di blocco di rete .
, Pre-1.0 versioni del kernel linux antichi facevano creare dispositivi in /dev
a fini di controllo (che è molto, molto tempo fa ... 1994 o prima). Se si salta in una macchina del tempo e il pesce fuori una copia di MAKEDEV
dal 1994 lo vedrai sostenuto /dev/ne[0-3]
, /dev/wd[0-3]
e gli altri, probabilmente il venerabile NE2000 e cloni. Vedi la domanda finale in § 8.1 della versione del Linux Ethernet HOWTO del 1993 .
Vedi anche:
/unix/23199/why-are-network-interfaces-not-in-dev-like-other-devices