CS716 - Advanced Computer Networks
Course Page
Q & A
Course Category: Computer Science/Information Technology
Course Level: Graduate
Credit Hours: 3
Pre-requisites: CS601 CS610

Course Synopsis

This is a graduate level course. The emphasis will be to develop better realization and understanding of widespread Internet, diffused in our daily life as a reality. The course will introduce networking concepts and principles. It will focus on the major components of the Internet protocol suite. The course will train to be able to design and build network systems.

Course Learning Outcomes

Upon successful completion of this course, students will be able to:
  • Identify the problems that arise in networked communication
  • Explain advantages and disadvantages of existing solutions to these problems in different networking scenarios
  • Evaluate novel approaches to these problems
  • Understand the components of Internet protocol suite
  • Understand the implications of a given solution for performance in various networking environments
  • Understand the impact of trends in network hardware on the network software issues
  • Identify and describe the purpose of each component of TCP/IP protocol suite
  • Develop client-server applications using TCP/IP

Course Contents

Introduction, Network Overview, Foundation and Building Blocks, Multiplexing, Performance Metrics, Network Architecture, Protocols, Protocol Machinery, Standard Architectures, Internet Architecture, Network Models, Network Software, Socket Programming, Client-Server Model, Network Programming, TCP and UDP, Connections, Advanced Socket Programming, Direct Link Networks, Building Blocks, Encoding, Modulation Schemes, Framing (Advantages, Problem, Boundary, HDLC, Point-to-Point, SONET), Error Detection, Error Detection & Correction, Reliable Transmission and its Approaches, Shared Access Networks (Ethernet 802.3), Token Rings (802.5, FDDI), Wireless LAN, Spread Spectrum, Wireless LAN (802.11), Network Adaptor, Switching and Forwarding, Bridges and Extended LANs, Cell Switching (ATM), Switches: The Intersections, Simple Internetworking (IP, Fragmentation & Reassembly, ARP, ICMP, DHCP), Virtual Private Network(VPN), Routing (Bellman-Ford Algorithm, Dijkstra's Algorithm, Distance Vector Routing Algorithm, Link State Algorithm, Route Calculation), OSPF Routing Protocol, Mobile IP, Global Internet, Virtual Geographies, Subnetting, Supernetting / CDIR, Routing in Large Scale Networks, Inter-domain & Intra-domain Routing, EGP, BGP, IPv6 (Addresses, Packet Format, Design Controversies), Multicast, Support Strategy, IP Multicast Service Model, ELAN Multicast Techniques, Multicast Routing in the Internet, Limitations on Multicast, Multi Protocol Label Switching (MPLS), End-to-End Protocols, Service Model, Challenges, UDP, Reliable Byte Stream (TCP), Remote Procedure Call (RPC), Issues in Resource Allocation, Congestion Control Taxonomy, Congestion Control Metrics, Queuing Disciplines, Fair Queue, Weighted Fair Queue, TCP Congestion Control, Congestion Avoidance Mechanisms, Quality of Service, RSVP, Presentation Formatting, Difficulties, Taxonomy, Network Data Representation(NDR), Image Compression, MPEG, Network Security: Overview (Taxonomy of Network Security, DES Algorithm, Cipher Block Chaining(CBC), RSA, Message Digest Operation, Authentication Protocols, Message Integrity Protocols, Kerberos, Man-in-the-Middle Attack in Diffie-Hellman, PGP Message Authentication, Integrity and Encryption, SSH Port Forwarding, TLS Handshake Protocol, IPSEC Authentication, Firewalls), DNS, SMTP, MIME, POP3, HTTP, Multimedia Applications, Overlay Networks.

Course Related Links

Course Related valuable link provided by Rensselaer Polytechnic Institute
Useful link for course related material, taught by Paul Barford at University of Wisconsin Madison
Useful link for course related material, taught by Andreas Terzis at Johns Hopkins University
Course Related valuable link provided by ETH Zurich
Useful link for course related material, taught by Dr. Min-You Wu at The University of New Mexico, USA
Useful link for course related material, taught by Allan Fisher,Peter Steenkiste and Hui Zhang at Carnegie Mellon University
Useful link of Advanced Computer Networks Notes
Useful link for course related material, taught by Byung K. Choi at Michigan Technological University
Useful link for course related material, taught by Ling-Jyh Chen at Academia Sinica, Institute of Information Science, Taiwan
Useful link for course related material, taught by Bob Kinicki at Computer Science Department Worcester Polytechnic Institute Worcester, MA 01609
Useful link for course related material, taught by Jennifer Rexford at Princeton University
Useful link for course related material, taught by Prof. Ibrahim Matta at Boston University
Course Instructor

Dr Amir Qayyum
Ph.D Mobile Networks
University of Paris-Sud, France

Computer Networks: A Systems Approach by Larry Peterson and Bruce Davie

Unix Network Programming by Richard Stevens