|
Telecommunications ProtocolsIn this unit, we study the networking protocols by making the Internet's software architecture our primary focus. We consider the protocols and the underlying algorithms for large scale networking, overlay networks, network security, techniques for providing confidentiality, authentication, non-repudiation and message integrity. We also discuss the recent developments in the Internet of Things (IoT) sphere, and Software Defined Networking (SDN) technologies.In the laboratory sessions of the unit, we learn the network programming concepts by using Python as our programming language of experiments. We use Monash University's MoVE environment. You can also use your own computer if you install the required software (we use freely available software packages only). |
An overview of the hardware and software architecture of the Internet.
Internetworking: Distance-vector and link-state shortest path algorithms, forwarding and routing, scalability and autonomous systems, Routing Information Protocol (RIP), Open Shortest Path First (OSPF), and Border Gateway Protocol (BGP).
The Internet of Things (IoT): IPv6, 6LowPAN, wireless internet for embedded systems.
Network security: Techniques for confidentiality, authentication, non-repudiation and message integrity, security protocols IPSec, Secure Shell (SSH), and transport layer security.
Overlay networks: Multicasting, resilient networks, peer-to-peer networks.
Software Defined Networks (SDN): Back to the centralization of control.
[dor19] P. Dordal, An Introduction to Computer Networks (free access).
[pet19] L. Peterson and B. Davie, Computer Networks: A Systems Approach (free access).
[ipj] The Internet Protocol Journal (free access).
[gor09] W. Goralski, The Illustrated Network: How TCP/IP Works in a Modern Network (Monash Library access).
[red06] IBM TCP/IP Tutorial and Technical Overview (free access after registration).
[her12] O. Hersent, D. Boswarthick and O. Elloumi, The Internet of Things: Applications to the Smart Grid and Building Automation (Monash Library access)
[rho14] B. Rhodes and J. Goerzen, Foundations of Python Network Programming (Monash Library access).
[sar14] M. O. F. Sarker, Python Network Programming Cookbook (Monash Library access).
In our laboratory experiments we explore fundamental network programming concepts. Since we use Python, as an extra bonus, we get familiar with this very easy-to-learn, powerful and flexible programming language. Knowledge of Python is one of the most in-demand tech skills and sought after by employers.
We write client/server applications over UDP and TCP transport layer protocols, fetch data from sensors, learn how network and transport layer security protocols work, and by using mininet (a network emulator) we investigate how routers establish their routing tables in a totally decentralized manner.
Experiment I: Introduction to Network Programming and Mininet Network Emulator
Experiment II: Explorations in the IPv6 Address Space
Experiment III: UDP and TCP Based Network Applications
Experiment IV: Routing Information Protocol (RIP) Convergence
