Once you code is working, you can start implementing the various aspects of the TCP/IP or ethernet stacks that are relevant to the program that you are creating. The best source of information on how a protocol works, is from the FAQs website. To get an overview of how TCP/IP works, and all of the different protocol suites, there are many books availiable. An easy to read and understand book is MCSE TCP/IP for Dummies. It covers the basics of the protocols that are commonly used and how they work. However it does not go into the technical details of the protocols.
I will be adding enhancements to this tutorial and supplied code, including adding hooks into Erics TCP/IP stack. If you should find any bugs or have any problems, then email me. I am wanting to create a Software Development Kit (SDK) whereby the programmer can select various 'blocks' to create the desired functionality that is required, as well as add lower PPP levels to this kit. If you write any code that helps fill this purpose and want to add collectively, then email me with your details etc. If you want updates sent to you as they are rolled out, then email me and I will add you to the distribution list.
While this program is freeware, I would appreciate any bugs that are found to be emailed to me for subsequent updating into the SDK. Also, if you have used this code in any production projects, can you please include my name in your documentation for prosperity, and I would also like to know the types of projects that the code is used for.