Reţele de calculatoare — Desfăşurare
Următoarele reprezintă filmul desfăşurării cursurilor şi laboratoarelor săptămânale la disciplina Reţele de calculatoare.
Săptămâna: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
Săptămâna 1
-
Curs: Istoric şi noţiuni primare
Resurse: film introductiv, subtitrare -
Laborator: "spargerea gheţii" şi recapitularea unor cunoştinţe privitoare la Sisteme de Operare
Săptămâna 2
-
Curs: Protocolul IP
-
Laborator: procesarea fişierelor
Adăugarea conţinutului unui fişier la sfârşitul altuia: append-file.c (1K).Listarea conţinutului unui director – implementarea comenzii ls (fără opţiuni suplimentare): myls.c (1K).
Săptămâna 3
-
Laborator: managementul proceselor & comunicarea între procese via semnale
Execuţia concurentă a două procese părinte şi copil, folosind primitiva fork(): fork.c (1K).Execuţia comenzii ls -a -l prin program, utilizându-se primitivele fork(), execlp() şi wait(): exec.c (1K).Captarea unui semnal (e.g. SIGUSR2) pentru a afişa conţinutul fişerului /etc/services la apariţia acestui semnal: sig.c (1K).Afişarea la ieşirea standard, din 5 în 5 secunde, a unui număr aleator, folosind alarm() – exemplu de lansare automată a unui proces în fundal: alarm.c (1K).
Săptămâna 4
-
Curs: Nivelul transport
-
Laborator: folosirea pipe-urilor & duplicarea descriptorilor
Simularea constructiei shell who | wc, folosind un pipe şi duplicarea descriptorilor cu apelul dup(): who_wc.c (2K).
Săptămâna 5
-
Laborator: utilizarea unor comenzi referitoare la reţea – nivelul IP (/sbin/ip, ping, /usr/sbin/traceroute) şi – nivelul transport (netstat). Crearea de socket-uri.
Săptămâna 6
-
Laborator: implementarea de programe TCP/IP (server şi client), iterative şi concurente
Un exemplu de server TCP iterativ, însoţit de clientul lui. Serverul primeşte un şir de caractere de la client şi îl trimite înapoi (în ecou). Clientul preia un şir de caractere de la intrarea standard, îl trimite serverului, apoi aşteaptă ca serverul să-l returneze:
server-tcp.c (3K), client-tcp.c (3K), Makefile (1K).
Săptămâna 7
-
Curs: Susţinerea testului scris (opţional)
Săptămâna 8
-
Laborator: implementarea de programe UDP/IP şi TCP/IP (server şi client), iterative şi concurente
Un exemplu de server UDP iterativ, însoţit de clientul lui. Serverul primeşte un şir de caractere de la client şi îl trimite înapoi (în ecou). Clientul preia un şir de caractere de la intrarea standard, îl trimite serverului, apoi aşteaptă ca serverul să-l returneze:
server-udp.c (2K), client-udp.c (2K), Makefile (1K).
Săptămâna 9
-
Curs: Paradigma RPC
-
Laborator: implementarea de programe TCP/IP (server şi client), cu multiplexarea I/O via select()
Utilizarea apelului select() pentru citirea temporizată de la intrarea standard. Se va aştepta un text de la intrarea standard maxim 5 secunde: select.c (1K).Realizarea unui temporizator – simularea apelului sleep() – folosind primitiva select(): timer.c (1K).Un exemplu de server TCP concurent, însoţit de clientul lui. Serverul primeşte un şir de caractere de la client şi îl trimite înapoi (în ecou), în manieră concurentă. Clientul preia un şir de caractere de la intrarea standard, îl expediază serverului, apoi aşteaptă ca serverul să-l returneze: server-tcp.c (4K), client-tcp.c (3K), Makefile (1K).
Săptămâna 10
-
Curs: Paradigma peer-to-peer
-
Laborator: vehicularea de date OOB (out-of-band) între servere şi clienţi TCP/IP, folosind select()
Un exemplu de server TCP iterativ, însoţit de clientul lui. Serverul trimite clientului o "rafală" de mesaje, printre care din când în când şi o serie de date OOB. Clientul foloseşte select() pentru a recepţiona date normale şi date OOB. Ambele programe utilizează rutine pentru acces la DNS: server-tcp-oob.c (3K), client-tcp-oob.c (4K), Makefile (1K).Comentarea unor cadre (frames): dns-frames.txt (2K).
Săptămâna 11
-
Curs: Reţele wireless
-
Laborator: lucru la proiect
Săptămâna 12
-
Laborator: lucru la proiect
Săptămâna 13
-
Laborator: prezentări de proiecte
Săptămâna 14
-
Laborator: prezentări de proiecte
Observaţii
-
Laboratorul va urma în cea mai mare parte conţinutul cărţii Sabin Buraga şi Gabriel Ciobanu, Atelier de programare în reţele de calculatoare, Polirom, Iaşi, 2001.
-
Materialele prezentate nu ar fi ajuns la forma actuală fără concursul următoarelor persoane: Dragoş Acostăchioaie, Lenuţa Alboaie, Sînică Alboaie, Marius Bejan, Gabriel Ciobanu, Daniel Dumitriu, Radu Filip, Silviu Homoceanu, Şerban Murariu, Alexandrina Orzan, Manuel Şubredu, Ştefan Tanasă, Victor Tarhon-Onu, Iulian Văideanu şi Cosmin Vârlan.
-
Pentru a fi vizualizate optim, prezentările necesită Adobe Reader 8 sau o versiune superioară (disponibil gratuit la http://www.adobe.com/acrobat/).