|
Schedule of topics in 2024
The presentation of each of these topics will commence
during each week's Wednesday's 90-minute lecture.
Each week's schedule will be accompanied by a link to HTML pages
of each lecture.
This schedule is almost guaranteed to change.
Please refer to this webpage (not a printed copy) when revising material.
The materials presented here do not define the whole unit.
Attending lectures and reviewing their material comprises about
⅓
of the effort required for this unit.
The remainder of your time should be spent reading the recommended reading,
and undertaking the laboratory tasks and the project.
References to relevant sections in
Tanenbaum's 5/e and Kurose & Ross's 7/e
will appear, here, below each lecture's topics.
Week
| Lecture recordings available on Wednesdays
| Tutorials and Laboratories
|
Data Communications
|
Week 1
Mon 26th Feb
|
Introduction to Computer Networks
(single page)
Administrivia, introduction to computer networks,
basic definitions,
The need for network protocols,
layered models,
the 7-layer OSI reference model.
[TAN §1.1-1.4; KR §1.1,1.2,1.5]
|
No tutorials this week
No laboratories this week
|
Week 2
Mon 4th Mar
Monday 4th is a public holiday
|
The Physical Layer, Error detection and correction
(single page)
The Physical Layer,
signal encoding and synchronisation,
the nature of transmission errors,
error detection and correction techniques,
cyclic redundancy checks and polynomial codes.
[TAN §2.1-2.2, 3.1-3.2; KR §6.1-6.2]
|
No tutorials this week
Labsheet 1
and some sample solutions.
|
Week 3
Mon 11th Mar
|
Data Link Layer protocols
(single page)
Data Link Layer responsibilities.
The use of simulation in network protocol design.
Introduction to the
cnet network simulator.
Unidirectional protocols.
The stop-and-wait protocol.
Bidirectional protocols,
protocol pipelining and piggybacking,
sliding-window protocols.
[TAN §3.1-3.4]
|
Tutorial 1
Labsheet 2
and some sample solutions.
|
Week 4
Mon 18th Mar
Wednesday 20th is PROSH
No tutorial on Wednesday
|
Local Area Networks (LANs and WLANs)
(single page)
Multiaccess communication, time- and frequency-multiplexing, channel allocation.
Local Area Networks (LANs),
carrier sense networks,
encoding of digital signals,
collision detection and collision avoidance.
The IEEE802.3 (Ethernet) system, addressing mechanisms, binary-exponential
backoff, repeaters, hubs, and switches.
Wireless networking, the hidden and exposed node problems, collision
avoidance algorithms, IEEE802.11a/b/g/n standards,
access-points and distribution systems.
[TAN §4.1-4.3.4, 4.4, 4.8; KR §5.1-5.3.2, 5.4, 6.1-6.3.5]
|
Tutorial 2
Labsheet 3
and some sample solutions.
|
Week 5
Mon 25th Mar
Friday 29th is a public holiday
|
The Network Layer
(single page)
Connection-based .vs. connectionless services,
virtual circuits and datagram exchange,
network layer routing algorithms.
Congestion and flow-control, end-to-end flow control,
load shedding, traffic shaping.
[TAN §5.1-5.4.2; KR §4.1-4.3]
|
Tutorial 3
Labsheet 4
and some sample solutions.
|
Mon 1st Apr - mid-semester non-teaching week
|
Week 6
Mon 8th Apr
|
Mid-semester test - Wednesday 10th
In two venues - Physics Ross Theatre (ground floor),
and Clews Theatre (2nd floor).
|
No labs or tutorials this week
|
Internetworking
|
Week 7
Mon 15th Apr
|
The TCP/IP protocol suite
(single page)
The motivation for internetworking,
the TCP/IP protocol suite,
the relationship to the OSI model,
the Internet Protocol (IP) and addressing,
IP datagrams, the Internet Control Message Protocol (ICMP),
the Address Resolution Protocol (ARP).
[TAN §1.4,1.5.1,5.6.1-2; KR §1.1,1.7,4.4.1-3]
|
No labs or tutorials this week
|
Week 8
Mon 22nd Apr
Thursday 25th is a public holiday
|
Transport Layer protocols and APIs
(single page)
The Transmission Control Protocol (TCP)
and the User Datagram Protocol (UDP).
Network Application Programming Interfaces (APIs), Berkeley sockets.
TCP/IP support in high-level programming languages.
[TAN §6.4-5; KR §3.3-5]
|
Tutorial 4
|
Week 9
Mon 29th Apr
|
Client/server design
(single page)
Connection-based and connectionless processing, different classes of server,
internetworking support libraries. Designing client-server applications,
partitioning client-server responsibilities, iterative and concurrent servers.
[KR §2.1-2]
|
Tutorial 5
|
Week 10
Mon 6th May
|
Architecture independent applications
(single page)
Automated development of distributed applications;
Remote Procedure Calls (RPCs);
architecture-independent data representation (XDR);
parameter passing mechanisms.
|
Tutorial 6
(final tutorial)
|
Unfortunately, the lectures of weeks 11 and 12 will not be presented
in-person. The recordings from 2023 are linked below:
|
Week 11
Mon 13th May
|
Security of TCP/IP
(single page)
lecture-recording (from 2023)
IP protocol based attacks,
packet sniffing,
port scanning,
address spoofing,
DOS and DDOS attacks.
Security at the network boundary,
router/firewall packet filtering,
network address translation (NAT).
[TAN §8.6.2; KR §8.9.1]
|
Project due Fri 17th May
|
Week 12
Mon 20th May
|
Crypotgraphy's role in networking
(single page)
lecture-recording (from 2023)
Basic terminology,
hash-functions, message digests,
symmetric and asymmetric algorithms,
the DES algorithm,
ECB and CBC modes,
public key cryptography,
the MIT/RSA algorithm,
digital signatures,
digitial certificates, and certificate revocation.
End-to-end communication using the secure sockets layer (SSL).
Virtual private networks (VPNs).
[TAN §8.1.1-8.1.3,8.2.1,8.3.1,8.4,8.9.3; KR §8.1-8.3,8.6]
|
Project demonstrations this week
|
|