Network cards are also controlled by device drivers but assume a special status in the kernel because they cannot be addressed using device files. This is because data are packed into various protocol layers during network communication. When data are received, the layers must be disassembled and analyzed by the kernel before the payload data are passed to the application. When data are sent, the kernel must first pack the data into the various protocol layers prior to dispatch.
However, to support work with network connections via the file interface (in the view of applications), Linux uses sockets from the BSD world; these act as agents between the application, file interface, and network implementation of the kernel.
Continue reading here: Filesystems
Was this article helpful?