Welcome to CITS3002 Computer Networks
This unit introduces students to the design and implementation of
contemporary wired and wireless computer networks,
the systems- and application-level software necessary to support
their efficient operation, and the security and
privacy factors introduced and enabled by networks and their applications.
Today it is far more likely that a computer is connected to a computer
network than not. As computer networks become increasingly
faster, more reliable, and more pervasive, the way in which we view
computer systems and computing is rapidly changing.
This unit takes a bottom-up approach
to explaining how current networking technologies work and
the security threats and challenges that their use introduces.
The unit is presented in two parts:
- Starting with an explanation of how data is packaged
on physical media, such as on copper or optical cables, we follow with an
explanation of how errors are introduced and how they can be both detected
- We introduce a series of increasingly reliable
and efficient network protocols which provide guaranteed, reliable message
delivery on error-prone network connections.
- We next introduce local-area Ethernet, wireless, and mobile networks,
and examine the security implications of the use of shared-media networks.
- We next examine the subject of routing protocols which enable messages to
be both correctly and efficiently delivered between computers not directly
- We next examine the motivation for and design of the Internet,
and its most frequently used protocols and applications,
examining the general design of the TCP/IP protocol suite,
the impact of the lack of a fundamental security model,
and some common vulnerabilities and defences in using its protocols.
- We examine the basic building blocks of cryptography,
followed by examples of how and where these techniques are often employed
to secure network protocols and network-based applications.
- We continue with a discussion of the design and implementation of
client/server applications using the Berkeley sockets API,
synchronous and asynchronous I/O,
iterative and concurrent servers,
and partially automated approaches to developing network applications.
CITS3002 Computer Networks, Lecture 1, Introduction to Computer Networks, p1, 26th February 2020.