Computer networks

Objectives and outcomes

Studying modern computer networks with the Internet in focus, including TCP/IP set of protocols. Studying software defined networks. Upon completion of the course, students will have a basic knowledge of how computer networks function. Moreover, they will understand the concept of protocol in computer networks, and their layered implementation. They will be qualified for designing and implementing Ethernet networks and computer networking. They will be able to program simple network applications.

Lectures

Basic networking concepts. The most important applications of computer networks. Network software: hierarchy of protocols, relation between protocols and services. OSI reference model. TCP/IP reference model. Application layer: DNS. E-mail: architecture and service, formats and message transfer; HTTP and FTP. Programming network applications. Transport layer: TCP and UDP protocol. Network layer. Network layer services: virtual circuits and datagram circuits. IP protocol. Routing algorithms. Congestion-avoidance algorithms. Basic principles of software defined networks: OpenStack. Session layer: the problem of allocating channels and multiple access in networks. The most important protocols to control multiple access: carrier sense multiple access protocol, collision avoiding protocols, WLAN protocols. Mobile IP protocol.

Practical classes

Practical classes are performed using Wireshark environment to observe computer network protocols: HTTP, DNS, IP, Ethernet. Students program simple network application in Java environment on their own. Performing tasks in IP subnetting. Simple computer network simulations.