I'd go with TCP/IP Illustrated, Comer, Tanenbaum. But start with online resources, set up some VMs locally and adminster their network. If you are interested in programming, have a look at (http://beej.us/guide/bgnet/output/html/multipage/index.html). Finally, this coursera course looks like what you're looking for: (https://www.coursera.org/learn/tcpip)