Aims
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
-
Principles of communications protocols
-
The Internet architecture and layered TCP/IP networking model
-
Link, network and transport layer principles and functions
-
Network services, design, operation and security
-
Principles of distributed systems: models, algorithms
-
Distributed system paradigms: client-server programming, remote invocation, indirect communication
-
Distributed transactions
Subject Specific Intellectual
Having successfully completed this module, you will be able to:
-
Explain the fundamental concepts underlying networks and distributed systems
-
Design and analyse simple networks and the protocols they use
-
Assess network systems and technologies
-
Choose between alternative paradigms and technologies for solving problems in distributed systems
Subject Specific Practical
Having successfully completed this module, you will be able to:
-
Build and operate simple networks
-
Build a client-server solution in Java
-
Build a distributed objects solution in Java
The topics to be covered will include:
- Internet architecture
- The TCP/IP layered model
- Protocols, design principles, standardisation, IETF
- Naming and addressing
- Link-layer
- Transmission theory and protocols
- Ethernet networks, switches
- Wireless networks
- Network layer
- Routing, link state and distance vector algorithms
- Subnet, site and ISP routing perspectives
- IPv6
- Network services
- Quality of service (QoS)
- IP multicast, reliable multicast
- Host configuration, service discovery, zero-configuration networking
- DHCP, DNS
- Transport layer
- Network design and operation
- Infrastructures; enterprise/campus, ISP/home networks
- Network monitoring and management, SNMP
- Virtual network environments
- Applications
- Web/HTTP, Email/SMTP
- (Linked) open data
- Network security
- Authentication and encryption, PKI
- (Distributed) denial of service attacks
- Introduction to distributed systems
- Issues, challenges
- Distributed system models
- Time in distributed systems
- Clock synchronisation, logical clocks
- Client-server programming
- Distributed objects
- Indirect communication
- Group communication
- Publish-subscribe
- Message queues
- Distributed algorithms
- Mutual exclusion
- Leader election
- Reliable/ordered multicast
- Consensus
- Distributed transactions
Assessment methods
| Method | Hours | Percentage contribution |
| Exercise 1 | - | 10% |
| Exercise 2 | - | 10% |
| Coursework | - | 30% |
| Exam | 1.5 hours | 50% |
Referral Method: By examination