Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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)?

share|improve this question

closed as not a real question by Shane Madden, EightBitTony, Tom O'Connor, sysadmin1138 Dec 16 '12 at 19:40

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

This is really (REALLY) basic stuff. It doesn't qualify as a question a "professional sysadmin" should be asking by any means. Please pick up and read a copy of TCP/IP Illustrated (A/K/A "The Stevens Book") and optionally any good book on OS design... – voretaq7 Dec 16 '12 at 18:57

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!

share|improve this answer

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