Lecturer(s)
|
|
Course content
|
1. Implementation of network communication on individual ISO / OSI layers - overview of available libraries. 2. MAC layer level communication in 802 networks. *: Methods of implementation. 3. Implementation and use of service protocols (DHCP, ARP, ICMP, etc.). 4. TCP / IP communication: socket, input / output streams and their treatment. Implementation using blocking and non-blocking operations. 5. Server-side sockets. Implementation using blocking and non-blocking operations. 6. UDP / IP communication: datagrams on the server and client side. 7. Communication using broadcast and multicast messages. 8. Real-time protocols for voice and video transmission. 9. Examples of protocol implementation at the application layer. 10. Communication security: implementation of data encryption, secure authentication. 11. Implement protection against common types of server-side attacks. 12. Performance optimization at the level of HW, operating system and application. Load balancing. 13. Implementation of high availability of network applications. 14. Clusters, grids and clouds as runtime environments of network applications.
|
Learning activities and teaching methods
|
Lecturing, Exercises on PC, Individual work of students
- Home preparation for classes
- 30 hours per semester
- Participation in classes
- 56 hours per semester
- Term paper
- 12 hours per semester
- Preparation for examination
- 14 hours per semester
|
prerequisite |
---|
Knowledge |
---|
Before entering this course, students must succesfuly complete the following courses: Computer networks, Programming in C/C++, Object oriented programming and design patterns. |
Before entering this course, students must succesfuly complete the following courses: Computer networks, Programming in C/C++, Object oriented programming and design patterns. |
learning outcomes |
---|
The student will gain knowledge of programming network applications communicating via IP in both client and server roles. |
The student will gain knowledge of programming network applications communicating via IP in both client and server roles. |
teaching methods |
---|
Individual work of students |
Exercises on PC |
Lecturing |
Individual work of students |
Exercises on PC |
Lecturing |
assessment methods |
---|
Analysis of seminar paper |
Analysis of seminar paper |
Grade (Using a grade system) |
Grade (Using a grade system) |
Recommended literature
|
-
HALL, B. Beej's Guide to Network Programming: Using Internet Sockets. 2019. ISBN 978-1-70530-990-2.
-
KOPPARAPU, C. Load balancing servers, firewalls, and caches.. New York, 2002. ISBN 978-0-471-41550-3.
-
MARCUS, E., STERN, H. Blueprints for high availability. Indianapolis, 2003. ISBN 978-0-471-43026-1.
-
STEVENS, W., FENNER, B. a RUDOFF, A. M. UNIX network programming. Boston, 2004. ISBN 0131411551.
-
WETHERALL, D., Tanenbaum, A. S. Computer networks. Upper Saddle River, NJ, 2011. ISBN 0-13-212695-8.
|