Curs 1 - Introducere
1. Ce este o retea de calculatoare?
Termenul retea de calculatoare are cel putin doua utilizari distincte:
- mai multe calculatoare, impreuna cu un sistem (hard+soft) de comunicatii
- un sistem de calcul, bazat pe o retea in sensul 1, dar
comportandu-se ca un sistem unitar (de exemplu, prezinta aceleasi conturi de
utilizatori pe toate calculatoarele)
2. Problemele abordate in curs:
- Aplicatii (de comunicatie) in retea:
- teleprelucrare: telnet, ssh, rlogin, rsh, X
- transfer de fisiere: ftp, rcp, scp
- posta electronica
- world wide web
- Elemente de sisteme de operare in retea:
- autentificarea centralizata
- sisteme de fisiere in retea
- alte mecanisme centralizate
- Realizarea infrastructurii pentru comunicatii:
- mediul de transmisie si transmiterea la nivel fizic
- controlul accesului la mediu (controlul coliziunii mesajelor)
- controlul fluxului de date (un emitator rapid sa nu inece un receptor
lent)
- detectia si corectarea erorilor
- dirijarea mesajelor prin noduri intermediare
- livrarea sigura a mesajelor (exact o data, pastrarea ordinii)
- securitatea transmisiei mesajelor
3. Deziderate pentru infrastructura de comunicatie:
Dupa nr. de receptori:
- punct la punct (unicast): un emitator si un receptor
- difuziune (broadcast sau multicast): un emitator si mai multi
receptori
Dupa existenta unei conexiuni:
- comunicatie prin conexiune
- comunicatie prin datagrame
Alte deziderate:
- livrare sigura (un mesaj sa fie livrat exact o data)
- transmisie fara erori
- pastratea ordinii relative a mesajelor
- debit minim garantat
- timp maxim de livrare garantat
- confidentialitate
- autentificare (garantarea originii)
4. Interfata de programare (API) Socket BSD
socket = capat de cale de comunicatie
API-ul este conceput sa fie independent de tipul exact al retelei (poate
functiona pe retele IP, IPX, local pe unix, etc.)
Creare:
socket(proto_family, type, protocol)
creaza un socket. Tipuri:
- SOCK_STREAM: conexiune punct la punct,
livrare sigura, cu pastrarea ordinii, transmisie fara erori. Functii:
bind(), listen(), accept(),
connect(), send(), write(),
recv(), read(), shutdown(),
close(). Implementare IP prin protocolul TCP.
- SOCK_DGRAM: datagrame punct la punct sau difuziune (posibilitati
limitate), transmisie fara erori; livrarea nu e sigura si nici
ordinea garantata. Functii: bind(), recvfrom(),
sendto(), close()
- SOCK_RAW: acces direct la infrastructura; ex. in implementarea
comenzii ping
5. Adresarea in internet
Adresa IP:
- identifica unic masina
- 32 biti; de obicei scrisa ca 4 numere zecimale separate prin puncte
(ex. 193.226.40.130)
- in principiu, fiecare interfata de retea (ex. placa de retea, linie
seriala sau modem folosit pentru o conexiune in retea) are o adresa IP
- adresa 127.0.0.1 corespunde unei interete virtuale intr-o retea
(virtuala) in care calculatorul este singur. Altfel spus, 127.0.0.1
desemneaza intotdeauna masina locala.
- unele adrese sunt folosite pentru broadcast
Numarul portului:
- serveste pentru a diferentia intre socket-ii de pe aceeasi masina
- 16 biti (1-65535)
- porturile TCP (SOCK_STREAM) sunt independente de porturile UDP
(SOCK_DGRAM)
Retele de calculatoare
11 Oct 2003
Radu-Lucian LUPSA