Distributed Systems 6.842 An MIT course on designing distributed systems. This might be more applicable for 416, however a subset of the material may be appropriate for 317.
Computer Engineering 6.033 This is a course on designing/architecting computer systems. Some of the content deals with the construction and organization of computers networking.
Advanced Computer Neworking CS 244, Stanford A graduate course in networking. The course reading list is quite extensive and includes areas like the history of the Internet, end to end arguments, and stupid networks.
Added:
> >
Oacket Flight Animation of packet exchanges for TCP connections - very cool