Description:
The course will consist of laboratory work with corresponding introductory lectures. The lectures will provide background on Internet philosophical concepts and fundamentals, scalable internet architectures, protocol design ideas and security concerns. The laboratory work will give a deeper understanding of today’s protocol designs and implementations. In small groups students will create their own protocols. This will allow for a better understanding of protocol limitation, scalability issues and security risks. This will recapture and deepen an understanding of existing protocols and learn from their experiences, including identifying security and other risks. This supports creative work and therefore also motivates students to push their limits of understanding and develop a thorough understanding of the trade-offs in modern communication protocol design.
Learning outcomes:
On completion of this course the students should be able to:
1. Knowledge and Understanding:
- demonstrate knowledge of essential facts, concepts, principles and theories relating to design and security of scalable networks and their protocols.
2. Computing-related cognitive abilities:
- design and implement a new Internet protocol given an existing framework;
- demonstrate design fundamentals of Internet protocols both client-server and peer-to-peer systems including newer protocols associated with real-time applications;
- enumerate the limitations of common Internet Protocols when considering usability, efficiency, complexity and security;
- identify the security risks of an Internet Protocal of their own design;
- identify trade-offs in network architectures and be able to design a scalable internetwork.
3. Computing-related practical abilities:
- design and develop complex protocols to support a distributed application over the Internet;
- create advanced programs distributed across many computers interworking with other existing systems over a self-specified protocol;
- design and write Internet applications with an awareness of the underlying network and link layer protocols.