CITS3002 Computer Networks  
next CITS3002 help3002 CITS3002 schedule  

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 basic 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:

Data Communications:

  • 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 and corrected.

  • 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 connected.

Internetworking:

  • 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 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.

  • We examine the basic building blocks of cryptography, followed by examples of how and where these are employed to secure network protocols and network-based applications.



CITS3002 Computer Networks, Lecture 1, Introduction to Computer Networks, p1, 28th February 2024.