Tuesday, August 1, 2017

Best book to Learn TCP/IP, UDP and Computer Networking Protocols

Both TCP/IP and UDP are very popular networking protocol and in this era of the internet and a connected world, they become even more important. No matter, whether you are a computer science graduate or doing masters in computer science, a software engineer, a network engineer, or a Java programmer, good knowledge of TCP/IP and UDP goes a long way to securing a job and doing well on it. Even though I mostly interview for Java programmers, I almost always ask a couple of questions on TCP/IP and UDP protocol to check if the candidate is familiar with computer network basics or not because even if you work for Java application, you are exposed to the network.

In a distributed architecture, where multiple processes running on different collaborate with each other, most of the application connect to other using TCP/IP and UDP. Many uses multi-casting for fast messaging and if the candidate is not familiar with such fundamental and important concept, he won't be able to understand what's going inside and not able to troubleshoot or support properly.



Best books to Learn TCP/IP and Networking Protocols

In this article, I am going to share a couple of good books to Learn TCP/IP and UDP protocol. These books will not only help you to learn the basics of TCP/IP, UDP, and other networking protocol but also help you to understand how they work internally. This knowledge is very important to effectively use these protocol in your application and design a reliable and robust distributed application. The knowledge will also help you on programming job interview because TCP/IP is a very popular topic, questions like difference between TCP and UDP is very popular.


Many programmers only know that TCP is connection-oriented and UDP is connection-less, but they don't really understand the meaning behind them and their consequences e.g. how ordering and reliable delivery is attached to it. how multicasting can leverage UDP, what will happen if client stop consuming message but the server keeps sending, Nagle's algorithm and various TCP options? These books will give you the knowledge needed to answer all these questions.


TCP/IP Illustrated
This is a three book series on TCP/IP protocol by W. Richard Stevens. So far, I have read TCP/IP Illustrated Vol. 1: The Protocols and TCP/IP Illustrated Vol.2: The Implementation. These series is probably the only series of book you need to fully understand how TCP/IP protocol works internally. It is also the most comprehensive guide of TCP/IP protocol.

All the basics e.g. why TCP/IP is a connection-oriented protocol, what do mean by being reliable and ordered, what is a 3-way handshake, and how TCP ensures delivery of messages is nicely covered in this book.



Some of you may find it a little bit boring like Introduction to Algorithms but once you started understanding, you will appreciate this book. I often use this book as a reference book.

As I said this is a 3 book series, where volume 1 is focused on Protocol and volume 2 is focused on implementation of TCP/IP and third and final book covers TCP for the transaction by explaining HTTP, the most used protocol based on TCP, NNTP and UNIX domain protocols.



Internetworking with TCP/IP
This is another great book to learn TCP/IP, UDP, and other computer networking protocols. It is also one of the most recommended books to learn TCP/IP and computer networking basics. This is a required reading for many courses on computer networking all around the world. Some of you find it boring if you read it on isolation but if you are doing a course on computer networking, Internetworking with TCP/IP Volume One (6th Edition) by Douglas E. Comer can be a great text book.





The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference
This is my favorite and probably the best book to learn TCP/IP in details. Even before reading this book I was familiar with TCP and UDP in my work but the amount of detail given in this book just dwarf my knowledge. It feels that I only knew about 1% of TCP/IP before reading this book. The best part of this book is the illustrations and diagrams which make it really easy to the understand inner working of TCP/IP protocol.



I have a hard-copy of The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference 1st Edition by Charles M. Kozierok (Author) in my library and eBook on my smartphone and whenever I need to learn anything about TCP/IP, UDP or other essential computer networking protocol e.g. ICMP, I refer this book. It is useful for both professionals working in IT and Computer networking and students doing graduation and masters on computer network courses around the world.



That's all about some of the best book to understand TCP/IP and UDP protocol. These books are good for anyone who is interested in internal details of internet and networking because TCP/IP is the backbone of everything. They are also a great text book for any computer science student doing bachelor or masters degree. If you are a software engineer or programmer doing application programming and didn't have much exposure to computer networks in past, these books will give you all essential knowledge about TCP/IP and UDP.

Further Learning
Linux Command Line Interface (CLI) Fundamentals
Linux System Administration Fundamentals

Other book recommendations by me for curious programmers


Thanks for reading this article so far, If you like these books then please share with your friends and colleagues. If you have any good book to learn TCP/IP and other essential networking protocol to add to this list then feel free to share with us.


No comments :

Post a Comment