When a TCP/IP Connection is established, is all handled at the network interface (NIC) level or does it also hit the OS kernel? If so, is it expensive to the CPU (in terms of CPU cycles)?

link|improve this question

40% accept rate
feedback

1 Answer

The OS kernel implements the TCP/IP stack which means it manages the TCP/IP connections/packets. The NIC (& its network driver) handles usually the physical and data link layers in spite it can handle some other functionalities like the case of TCP off-loading.

You can have a look at this link to see an example of the involved calls within Linux kernel when a packet is received/sent. Although it is old (kernel 2.4.x), it is still can be useful to get a better idea.

Whether it is expensive or not depends on the functionality you are implementing and the size of traffic. There is no simple answer to this!

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.