Network Programming

Opis predmeta

Osnovni koncepti mrežnog i distribuiranog programiranja. TCP i UDP "socket" sučelja. Dizajn klijenata i poslužitelja. Izrada mrežnih aplikacija temeljenih na UDP i TCP protokolu. Dizajn i implementacija aplikacija korištenjem višenitnih programa. Razašiljanje poruka svim računalima i grupi primatelja. SCTP "socket" sučelje. Problemi sigurnosti. Praktični primjeri mrežnih aplikacija u Unix okruženju korištenjem programskog jezika C. Primjeri mrežnog programiranja u Javi i skriptnim jezicima.

Ishodi učenja

  1. Definirati tipove mrežnih “socket” sučelja i navesti njihova svojstva.
  2. Razlikovati konekcijski i beskonekcijski orijentirane aplikacije.
  3. Razlikovati postupak dizajna konkurentnog i iterativnog poslužitelja.
  4. Napisati jednostavne mrežne aplikacije temeljena na protokolima UDP i TCP korištenjem programskog jezika C u Unix okruženju.
  5. Analizirati rad i otkrivati pogreške u vlastitim mrežnim aplikacijama.
  6. Koristiti osnovne alate za kreiranje i testiranje mrežnih programa u Unix okruženju.

Oblici nastave

Predavanja

Predavanja

Samostalni zadaci

Samostalni zadaci

Laboratorij

Laboratorijske vježbe

Tjedni plan nastave

  1. "Port" i "socket". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa
  2. "Port" i "socket". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa
  3. "User Datagram Protocol" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP
  4. "Transmission Control Protocol" (TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. "Hypertext Transfer Protocol" (HTTP) i "File Transfer Protocol" (FTP). Jednostavni HTTP poslužitelj
  5. Opcije sučelja "Socket". Sučelje "Raw"
  6. Opcije sučelja "Socket". Sučelje "Raw"
  7. Demoni i super-server "inetd"
  8. Međuispit
  9. Multipleksiranje ulazno izlaznih operacija. Dretve
  10. Sve odredišno i više odredišno adresiranje i aplikacije
  11. "User Datagram Protocol" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP
  12. "Transmission Control Protocol" (TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. "Hypertext Transfer Protocol" (HTTP) i "File Transfer Protocol" (FTP). Jednostavni HTTP poslužitelj
  13. Aplikacije temeljene na protokolu SCTP ("Stream Control Transmission Protocol"), Sigurnosna pitanja i smjernice za programiranje
  14. Primjeri mrežnog programiranja u Javi i Pythonu
  15. Završni ispit

Studijski programi

Sveučilišni preddiplomski
[FER3-EN] Computing - studij
Elective Courses (6. semestar)
[FER3-EN] Electrical Engineering and Information Technology - studij
Elective Courses (6. semestar)

Literatura

(.), Unix Network Programming, Vol. 1: The Sockets Networking API; W. Richard Stevens, Bill Fenner, Andrew M. Rudoff Addison; Addison-Wesley Professional; 2003; ISBN: 978-0131411555,
(.), TCP/IP Illustrated: The Implementation, Vol. 2; Gary R. Wright, W. Richard Stevens; Addison-Wesley Professional; 1995; ISBN: 078-5342633542,

Za studente

Izvedba

ID 223360
  Ljetni semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

90 izvrstan
78 vrlo dobar
65 dobar
50 dovoljan