Computer Communications

Semestr: Summer

Range: 14+6c


Credits: 5

Programme type: Undefined

Study form: Parttime

Course language:


The course is aimed at computer network architectures, technologies, and methods that enable interconnection of different networks into a single unified system - the Internet. Seminars and laboratories are oriented on network programming and configuration.


Course syllabus:

1. Multicomputer systems, reasons for distribution, models of distributed computing
2. Communication systems, switching and sharing of channels, optimisation of topology, capacity and flow distributions
3. Layered ISO architecture, technologies used at the physical and data-link layer
4. Network layer. Routing methods and mechanisms. Datagrams, virtual channels
5. Flow control in network nodes, and end devices
6. Communication channel sharing, bus and ring networks
7. Transport layer. Message transfer, transport multiplex. TCP and ISO IP4 protocols
8. Internet protocols / IP, RIP, OSPF, UDP, TCP, DNS
9. Session layer. Connection control, synchronisation
10. ASN.1 and XML data representation, data compression
11. Cryptographic methods in communication, virtual private networks
12. Network applications for Internet. ISO application interfaces
13. Distributed application programming - Java, Open RPC
14. Distributed application programming - Java IDL, OMG CORBA

Seminar syllabus:

Seminars are aimed at improving students' understanding of presented material, labs to practical network programming and network configuration.
1. TCP/IP communication, BSD sockets, projects assignment
2. Lab: Simple TCP application
3. Protocols: models, communicating automata, Petri nets
4. Lab: Sliding window protocol implementation (in UDP)
5. Data link protocol effectiveness, performance models
6. Lab: project consulting
7. Routing algorithms - Dijkstra, Bellmann-Ford. Floyd, RIP, OSPF
8. Lab: Design and configuration of IP networks
9. RPC technologies: Sun RPC, XDR
10. Lab: Name service, DNS configuration
11. Network communication in Java, OMG CORBA. Test
12. Lab: single CORBA application
13. OMG CORBA services
14. Project evaluation, assessment


1. Tanenbaum A.: Computer Networks. Prentice-Hall 1996.
2. Keshav .: Engineering Approach to Computer Engineering. Addison-Wesley 1997.
3. Stevens W.: UNIX Network Programming. Prentice-Hall 1990.