I'd suggest a book. I was pretty happy with "Computer Networking: A Top-down Approach" by Jim Kurose. I find it more appealing that it starts with the upper layers (http), because I was more familiar with them.
“You can't buy a hard copy of the 8th edition, but instead can rent (and then choose/pay to keep the hardcopy if you want a hard copy book). You can rent a copy or subscribe to Pearson+ from our publisher, or rent a hard copy or purchase a Kindle version from Amazon, or rent a hard copy from VitalSource.”
Nice to see the name Jim Kurose here. Many years ago, I learned networking and C programming in his computer networks course at UMass. Such a great teacher and a real breakthrough class for me in understanding not just networks, but low level systems programming, computer architecture, and other things tangentially related to networks, I'm not surprised to hear his book is good.
“You can't buy a hard copy of the 8th edition, but instead can rent (and then choose/pay to keep the hardcopy if you want a hard copy book). You can rent a copy or subscribe to Pearson+ from our publisher, or rent a hard copy or purchase a Kindle version from Amazon, or rent a hard copy from VitalSource.”
That’s just… odd!
http://gaia.cs.umass.edu/kurose_ross/index.php