TCP/IP Illustrated Volume 1: The Protocols
TCP/IP Illustrated Volume 2: The Implementation
Network Flow Analysis
Computer Networking: A Top-Down Approach
Introduction to Sockets Programming in C using TCP/IP
Beej's Guide to Network Programming
Programming and Automating Cisco Networks
CCNA Routing and Switching Official Cert Guide
CCNA Datacenter Official Cert Guide
CCNP ROUTE, SWITCH, and TSHOOT Lab Manuals
CCIE and CCDE Evolving Technologies Study Guide
I would highly recommend getting a cheap certification rack from Amazon once you get better book knowledge (CCNA/CCNP Collab, Wireless and Routing and Switching) to increase your knowledge 20x. When I did not have my own hardware there were just so many questions and things I wanted to do that were very complex or not possible to do with training simulators, books, etc.With the high quality managed switches you can see how your apps can affect the network, integrate your work with network connected devices, automate network devices and many more things that wouldn't give you as deep as an understanding when using an unmanaged network (e.g. create your own software that runs on routers, switches, VOIP phones and linux servers).
You may also want to get a rack to rack all the equipment as it can get pretty heavy and looks nice and professional when racked. The benefit of getting the older gear is that you can do all this for a few hundred dollars. If you want to learn the new stuff later on it will cost more, but you will know all of the hands on stuff by then and can truly benefit from virtual labs (remotely connected to physical hardware console port).
Pick a rack that is in line with your budget and goals. The vendors are selling older networking gear that will allow you to get hands on knowledge with real hardware to supplement book knowledge.
This way when you are on the job you know exactly what you are doing and if there is something you don't know or understand you can purchase real hardware to rapidly increase your skills. There are some sites that will allow you to remotely connect to networking equipment, but it just is not the same as having the real hardware and it will show when faced with the real deal on the job.
Another comprehensive overall reference is Michael Kerrisk"s Linux Programming Interface handbook
And to see some of the latest developments. Check out talks from Linux NetDev Conference archives
https://www.youtube.com/channel/UCribHdOMgiD5R3OUDgx2qTg/vid...
Finally, this was recently posted, and I believe the author is working on another one for QUIC...
"The Illustrated TLS Connection: Every byte of a TLS connection explained and reproduced"
Best of luck, and you are on the right path. Master the fundamentals and the rest will follow ;)
It's very hard and dense to read, but I don't think there's a better book out there about a networking stack implementation.
It might be too much implementation-focused for your taste though (it was for mine), in which case one of the other books more focused on protocols (already suggested in other comments) might be a better choice.
* An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network.
* Mathematical Foundations of Computer Networking
Only textbook in undergrad I've actually read a large amount of, ended up reading a good 3/4 of the book.
there is a book recommended in this article, it definitely helps!
If you get through both of those and understand it you’lol have a far better grasp of networking than nearly everyone else in the business.