Do Either Kernel Space or User Space Play a Role in Operating Systems Networking?

Question
Networking is usually very important for a Linux/Unix OS. For typical applications that use networking, do kernel space or user space play a role?

Answer
Yes, both play a role.

User space facilitates the application layer of the TCP/IP protocol suite; kernel space facilitates the network and transport layers of the TCP/IP protocol suite (this was taken from page 1181 of The Linux Programming Interface, by Michael Kerrisk). Hardware supports the data-link layer of the TCP/IP protocol suite (this was taken from page 1181 of The Linux Programming Interface by Michael Kerrisk).

The Network Access Layer of TCP/IP model is supported by hardware (and not visible to users per Cisco's website).

With client-server interaction, the user interacts with a program (possibly a GUI app) in user space. Before the packets are sent from the local host, behind-the-scenes, the relevant TCP/IP packet transmission exists in kernel space. The packets are assembled on the remote server in its kernel space. Then the application in user space on the remote host would process the data or provide application services.

Leave a comment

Your email address will not be published. Required fields are marked *