• [^] # Re: nommage des interfaces réseaux

    Posté par . En réponse à la dépêche Une pile Wi-Fi améliorée pour le noyau Linux ?. Évalué à 5.

    Excuse moi, j'ai lu trop vite la question.

    Les interfaces réseaux ne sont pas dans /dev/ parce que les gens qui l'ont développé ont estimé que cela n'apportait rien. Le Linux Networking Howto dit http://www.tldp.org/HOWTO/NET3-4-HOWTO-5.html#ss5.3
    In many Unix operating systems the network devices have appearances in the /dev directory. This is not so in Linux. In Linux the network devices are created dynamically in software and do not require device files to be present.


    Les périphériques dans /dev/ ont deux analogies possibles:
    - ceux en mode bloc, comme un disque dur, sur lequel on peut se positionner, lire et écrire à une position arbitraire
    - ceux en mode caractère, comme un terminal, sur lequel on se contente de lire les octets dans l'ordre ou ils arrivent et ou aucun déplacement dans le flux n'est possible.

    Une interface réseau ne présente aucune analogie ni avec le mode bloc ni avec le mode caractère. On pourrait éventuellement lui trouver une ressemblance avec le mode caractère dans le cas où l'on récupère tout ce qui passe sur le médium de transmission (première couche OSI http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI ), et écrire du code pour faire l'abstraction, mais
    - la variété des supports rend cette analogie douteuse et sans grand intérêt (liaison série point à point, ethernet, carte réseau sans fil à sauts de fréquence...)
    - cela n'est pas toujours disponible ou souhaitable pour des raisons de performance, les cartes tendent à gérer des choses de plus en plus haut niveau par elles même dans la couche OSI (Retransmission, checksums variés, ARP, découpage TCP... voir le Via Velocity VT6122 http://www.vntek.com/en/products/velocity/ qui est dans la Dedibox de Iliad)

    Donc le noyau n'a pas de périphérique à présenter parce qu'il n'y aurait rien à faire dessus.

    Au début, ça gène un peu l'utilisateur, un peu plus avec udev et consorts parce qu'on prends l'habitude de regarder dans /dev/ pour voir ce qui existe; et puis on s'y fait.

    Est-ce que tu vois un usage des interfaces réseau dans /dev/ ?