MET CS 775
The purpose of this course is to provide a solid foundation for the networking practitioner. While CS 535 introduces the basic networking concepts, this course provides the deep understanding that the practitioner who may be developing or evaluating network products needs to know. Consequently, this course does a much 'deeper dive' into the topics that tend to be the most counter-intuitive such as naming and addressing, synchronization, congestion management and routing. Naming and addressing is the least understood topic in networking and the most important. This topic is not covered in any current textbooks. The student will explore why the necessary and sufficient condition for synchronization for reliable data transfer is to bound 3 timers and independent of message exchanges. This is not at all obvious and has deep implications for protocols. To engineer networks, it is important to understand the degree to which the behavior of error and flow control protocols can be modified and to what purposes. Congestion management is the second least understood topic in networking. The course emphasizes congestion avoidance as opposed to congestion control and explores the impact in different environments. Routing is the third least understood topic in networking. This course is most concerned with its role in resource allocation but also that "routing protocols" are really distributed database protocols. In addition, the course will consider the interactions among these topics and the necessity of keeping the system effects in perspective. Prereq: MET CS 535; or instructor's consent.