Computer Communications

Semestr: Summer

Range: 2+2s

Completion:

Credits: 5

Programme type:

Study form:

Course language:

Summary:

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.

Keywords:

computer communication, layered network architecture, network programming

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 - OSF RPC, Java RMI
14. Distributed application programming - OMG CORBA, Java IDL, .Net SOAP

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, .Net SOAP
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

Literature:

1. Tanenbaum A.: Computer Networks. Prentice-Hall 1996.
2. Comer D.: Internetworking with TCP/IP, Vol.1, , 4th edition. Prentice Hall 2000.
3. Stevens W.: UNIX Network Programming. Prentice-Hall 1990.

Examiners:

Lecturers:

Instructors: