Click here to Skip to main content
15,879,096 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
i want to study in detail about the networking concepts in C including sockets, implementing TCP/IP and other protocols.

i also want to learn the SSL enabled networking using C. I don't want to use any third party library instead i want to learn the core and the advanced concepts in this field.

Please suggest the best book, covering the complete topic in great details in an easy to understand way.
Help!!

Thanks in advance........
Posted

Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture by Doug Comer for how the internet works.

Internetworking With TCP/IP Volume II: Design, Implementation, and Internals by Comer and Stevens which goes through the problems with designing an implementation.

Applied Cryptography by Bruce Schneier for everything you want to know about modern cryptography.

Also have a look at internet RFCs, they're technical notes on things that have become standards, implementations of systems and whatever else you need.

Personally if you want to know how modern crypto works, including SSL and TLS then get yourself a copy of OpenSSL, read the source and go from there. You really don't want to write your own - you'll make mistakes and mistakes in cryptography are not what your users are going to want to see.
 
Share this answer
 
Please look the TCP/IP Sockets in C: Practical Guide for Programmers[^] book by Michael J. Donahoo and Kenneth L. Calvert modified for use with WinSock

The is also a great book : C++ Network Programming, Volume I: Mastering Complexity with ACE and Pattern[^]

Regards,
Alex.
 
Share this answer
 
Comments
Aescleal 30-Jun-12 13:45pm    
ACE is a good way of abstracting networking but it's not that good at explaining how it works. I get the feeling the questioner doesn't want to abstract sockets as much as learn how to implement them.

The book you've recommended is pretty good when you've got your head around ACE but I've found "The ACE Programmer's Guide: Practical Design Patterns for Network and Systems Programming" a better starting point for the beginner.
Volynsky Alex 30-Jun-12 14:13pm    
Yes, it is also an excellent book
Look here: http://books.google.co.il/books?id=G-QnH0sLtPkC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false
You may be overwhelmed by the amount of information available in books. I find that the best way to learn about these is to take an online (and hopefully free) online course.

While I'm yet to come across an online networking course, I find that a seven-week-long online *free* course on Cryptography is available at http://www.udacity.com/overview/Course/cs387/CourseRev/apr2012[^]

Meanwhile, I suggest that you regularly visit https://www.coursera.org/courses[^], where you get free online courses on varied topics offered by well-known professors from Stanford, Berkeley, etc. Who knows, one day in the near future they may offer a Networking course.

Once you take such a course, reading a book will reinforce the concepts better.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900