RE: Why is networking enabled at kernel level?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kenneth Andresen wrote:
> Hello all,
> 
> I have been searching for information related with why networking is
> part of the Linux kernel itself, but have found nothing at either
> kernel.org or with any of my Google searches.  
> 
> I can see multiple pro's and con's but am looking for a more
> extensive discussion about this. Anyone who can provide me with some
> good links?  


1. Zero-copy networking means that when interpreting the packet, the
buffer never needs to be moved around in memory. This speeds up the
processing of the packet dramatically. You need at least a single buffer
copy to userspace in order to float the packet to the higher layer
interpreter.

2. The network code is very tied to the hardware, which means you'd
pretty much need to manage hardware from userspace as well. This breaks
the ability to network boot off DHCP/Bootp and NFS. This DOES get used.

3. The security capabilities are tied to the kernel. I think that Linus
and company stick to the unofficial POSIX standard on implementing this.

4. Linux is a Network Operating System (Even NT has networking in the
lower layers)

5. Context switches abound, assuming you're not memory mapping
everythign in sight (see security consequences!)


Anyone who replaces a networking sub-system due to some exploit, should
be competent enough to replace the entire kernel.
I'm sure there are a ton of other reasons, but I'll leave that to
someone else.



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux