I was just looking around for information on how to make your own TCP/IP connections, and basically, I'm no trying to do it, but I am very interested in how it works. I've seen the book Linux Insides TCP/IP stack (somethign similar to that) but I never actually sat down and read it, has anyone?
Has anyone made their own, or implemented someone elses, TCP/IP capitablities?
-GT
TCP/IP Stack?
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:TCP/IP Stack?
not yet tried, but i went through a book called "network programming - a system approach", which taught me a lot. Especially, buffers management must be taken with care (as you should prevent "useless" memcopies if you want good performances)
The IP implementation is quite straightforward, especially on a host system (maybe just the packet reassembly may be tricky). TCP is a bit more complex as you have to implement stuff like sliding windows, congestion control, etc. .. and be RFC-compliant (see www.ietf.org/rfc : the whole Internet is described there
Btw, Andrew Tanenbaum also wrote a book about Computer Networks, but imho, the "system approach" is more interresting for developers ...
The IP implementation is quite straightforward, especially on a host system (maybe just the packet reassembly may be tricky). TCP is a bit more complex as you have to implement stuff like sliding windows, congestion control, etc. .. and be RFC-compliant (see www.ietf.org/rfc : the whole Internet is described there
Btw, Andrew Tanenbaum also wrote a book about Computer Networks, but imho, the "system approach" is more interresting for developers ...
Re:TCP/IP Stack?
I'm doing my own OS also but I'm doing a microkernel with servers on to. Have a look at GNU/Hurd or BeOS for an example of this system design.
Do you think for a workstation/ desktop OS you can have a TCP/IP stack in user space? I mean performance wise. Its my goal to use it (the OS) only for development purposes and you will deplay the webpages on Win NT or *nix
Thanks
Smurf
Do you think for a workstation/ desktop OS you can have a TCP/IP stack in user space? I mean performance wise. Its my goal to use it (the OS) only for development purposes and you will deplay the webpages on Win NT or *nix
Thanks
Smurf