This area is intended as an introduction to both computer networking and operating systems. a comprehensive overview of the key protocols and the general architecture of the Internet, as one example of more general principles in network design, and acquire hands-on experience in programming different aspects of a computer network. In addition, the course provides a full introduction to modern operating system design, including memory management, scheduling, I/O, protection, and so on. The architecture of Unix-like operating systems (such as Linux) is used as an example of more general principles in OS design.
Topics
Internet architecture:
Overlay architectures. Distributed hashing. Naming. Next generation network design. Peer to peer networking. Mobile and ad-hoc networking. Troubleshooting. Implications for energy efficiency.Security:
Malware detection. Secure routing. Testbeds for security applications. Operating systems security. Intrusion detection/prevention. Availability. Authentication. Botnets and worms.Distributed Systems:
Experimental testbeds. Distributed logging. Declarative networking.Operating systems:
OS for sensor networks. Monitoring OS behavior for malware detection. Performance analysis. Programming languages for systems. Power aware computing.Network economics:
Price of anarchy. Game theory.Technology for developing regions:
Network measurement:
Traffic characterization and modeling.