Documente Academic
Documente Profesional
Documente Cultură
ro
1. TFTP
Trivial File Transfer Protocol este un protocol simplu, care ocupa putin memorie, folosit pentru
transfer de fisiere (copiere/scriere). Avand in vedere ca este “lightweight” este implementat pe
majoritatea echipamentelor Cisco.
Protocolul TFTP este client-server, nu suporta listarea continutului directoarelor remote si nu are nici
un mecanism de autentificare a utilizatorilor, fiind folosit de cele mai multe ori in retelele locale, nu
in internet.
Serverul TFTP asculta implicit pe portul 69 UDP! Portul UDP 69 este folosit doar pentru a primi cereri
de scriere/citire (read/write) de la clienti! Transferul de date se face de pe alt port, intre 0 – 65535.
Implicit, prin TFTP se transmit fisiere in block-size de 512bytes. (block size configurabil pe client);
Avand in vedere ca acest protocol foloseste serviciile UDP la layer4, se poate presupune ca o parte
din informatia transmisa prin TFTP se poate pierde. (UDP este conection-less – unreliable);
TFTP implementeaza error correction prin confirmari (acknowledgment) sau prin retransmisii, pe
baza unui time-out, la nivel aplicatie.
Utilizari:
Pentru accesarea unui server TFTP, majoritatea SO includ by default un client tftp.
2. FTP
File Transfer Protocol este protocolul folosit de obicei pentru transferul de fisiere intre client-server. In
comparatie cu TFTP, FTP este un protocol complex pentru ca foloseste doua canale de comunicare,
unul pentru comenzi si altul pentru date. Totodata, FTP foloseste la layer4 serviciile protocolului TCP
(connection-oriented – reliable).
FTP suporta listarea continutului directoarelor de pe server (cele de sub home directory) sau
autentificarea utilizatorilor, desi poate opera in modul anonymous (oricine se poate conecta la
server, fara sa aiba nevoie de credentiale).
Server FTP = calculator pe care ruleaza un program numit server de FTP (Linux: ProFTP, Pure-FTP,
Windows: BulletProofFTP, CureFTP etc);
Client FTP = calculator pe care este instalat un program care se conecteaza la serverul de FTP;
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
1
© 2011 - Crystal Mind Academy - www.crystalmind.ro
a) FTP Activ
Un server FTP activ va asculta pe porturile TCP 21 si 20. TCP 21 reprezinta canalul deschis pentru
comenzi si control iar TCP 20 cel de date.
Atunci cand un client se conecteaza la un server FTP si doreste modul activ, trimite severului pe
canalul de control comanda PORT si specifica portul pe care l-a deschis pt. date, astfel incat pt.
transferul efectiv de date, serverul sa se conecteze la client de pe portul 20 pe acel port specificat
anterior.
Pentru acest mod, in cea de-a doua conexiune, cea pt. transferul datelor, serverul devine client, pt.
ca initializeaza conexiunea, iar clientul devine server.
Din perspectiva securitatii serverului, FTP activ este modul ideal, avand in vedere ca trebuie
monitorizate doar doua porturi, TCP 20 si 21. Pentru client, modul FTP activ ridica probleme atunci
cand clientul se afla un spatele unui router care face NAT sau atunci cand este protejat de un
stateful firewall (pt. ca majoritatea echipamentelor, considera ca traficul dinspre server spre client
este unrelated, fiind o conexiune noua dinspre exterior spre interior);
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
2
© 2011 - Crystal Mind Academy - www.crystalmind.ro
b) FTP Pasiv
Caracteristic modului FTP pasiv este faptul ca pe canalul de control clientul va trimite serverului
comanda PASV la care serveryul raspunde cu portul P pe care il va deschide pt. date.
Un server FTP pasiv va asculta pe porturile 21 (control) si P (date) unde P este un port deschis de
server aleator, per sesiune, astfel incat clientul sa se conecteze de pe un port M – de date - pe portul
P al serverului.
Modul FTP pasiv este problematic pentru sever, pt. ca va deschide cate un port pentru traficul de
date venind de la client, insa in acest caz, nu vor mai exista probleme cu clientii protejati de un
stateful firewall sau care se afla in spatele unui router care face NAT pt. ca atat pt. canalul de control
cat si pt. cel de date clientul este cel care initializeaza conexiunea.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
3
© 2011 - Crystal Mind Academy - www.crystalmind.ro
Pentru conectarea din CLI, se da comanda ftp IP_SERVER sau din clientul ftp (comanda ftp si
ENTER) open IP_SERVER.
Exemplu:
C:\>ftp 192.168.50.100
Connected to 192.168.50.100.
220 (vsFTPd 2.3.0)
User (192.168.50.100:(none)): stud
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
Ftp>
3. DHCP
Dynamic Host Configuration Protocol este definit in RFC2131 si este bazat pe Bootstrap Protocol
(BOOTP). DHCP se foloseste pentru configurarea automata a placii de retea, astfel incat sa nu mai fie
necesara interventia administratorului de retea in cazul conectarii unor echipamente noi.
(IP, Network Mask, Default Gateway, DNS Servers etc).
DHCP ruleaza client-server, serverul fiind acela care inchireaza o anumita configuratie clientului
dintr-un range configurat de adrese IP (address pool, scope), pentru o anumita perioada de timp
numita „lease time“.
Severul DHCP poate fi considerat o baza de date centrala care tine evidenta echipamentelor
conectate la retea. Cel mai folosit server DHCP OpenSource este cel de la ISC (Internet System
Consortium).
Pentru obtinerea setarilor necesare conectarii la retea, clientul va trimite un mesaj DHCP
DISCOVERY de pe portul sursa UDP 68 pe portul UDP destinatie 67 catre broadcast
(255.255.255.255) prin care contacteaza un server DHCP.
Fiecare server DHCP va raspunde cu un mesaj DHCP OFFER prin care propune clientului o
configuratie valida (IP, NM, DG, DNS) pt. lease time (86400s – 24h). Mesajul va contine si adresa
MAC a clientului si adresa IP a serverul care ofera configuratia.
Pentru a confirma o anumita configuratie, clientul DHCP va trimite catre broadcast un mesaj DHCP
REQUEST, astfel incat severele care a caror oferta nu a fost acceptata sa poata refolosi adresa IP
propusa.
Pentru finalizarea comunicatiei, serverul DHCP va raspunde clientului cu un mesaj DHCP ACK
(acknowledgment) astfel incat clientul sa poata aplica setarile primite.
Avand in vedere ca setarile propuse de un server DHCP sunt “inchiriate” pentru o perioada de timp
limitata, la jumatatea “lease time” clientul va trimite un DHCP REQUEST catre unicast, pe adresa IP a
serverului pt. a reinnoi cerea. Daca serverul nu raspunde pt. ca e down, clientul va continua sa
trimita DHCP REQUEST pt. un anumit interval de timp, dupa care va trimite acelasi mesaj catre
broadcast in speranta ca un alt server disponibil va raspunde cererii. (in acest caz, un alt server
poate raspunde numai daca are binding-ul clientului – cele doua server ar trebui sa fie sincronizate);
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
4
© 2011 - Crystal Mind Academy - www.crystalmind.ro
In Linux se pot modifica setarile pe care clientul DHCP le poate primi de la server prin editarea
fisierului /etc/dhcp3/dhclient.conf.
DHCP Client
Pentru a folosi protocolul DHCP, majoritatea SO moderne au implicit instalat un client DHCP.
Pt. linux, placa de retea poata obtine automat configuratia prin dhcp prin comanda #dhclient eth0
si poate renunta la configuratie prin #dhclient -r eth0. (eth0 este numele placii de retea; acesta
poate fi eth1 sau eth2 in cazul in care PC-ul are mai multe placi de retea);
Pt. Microsoft Windows, clientul dhcp poate fi accesat din CMD prin comenzile:
ipconfig /release – prin care se renunta la configuratia data de server;
ipconfig /renew – prin care se cere serverului o alta configuratie;
4. DNS
DNS reprezinta un protocol la nivelul aplicatie care are drept scop principal translatarea numelor de
domenii in adrese logice sau IP.
La inceputurile internetului, in reteaua ARPAnet, hosturile puteau comunica intre ele pe baza
corespundentei IP-nume aflata intr-un fisier numit HOSTS.txt. Problema este ca odata cu cresterea
exploziva a a nr-ului de hosturi conectate la ARPAnet, acest fisier a devenit mult prea mare ca si
dimensiune, iar in situatia in care se schimbau corespondentele numele-IP asociate hosturilor,
modificarea se propaga lent in retea, intrucat acest fisier era descarcat dintr-un punct central de
distributie periodic. (SRI-NIC); SRI – Stanford Research Institute;
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
5
© 2011 - Crystal Mind Academy - www.crystalmind.ro
a) Spatiul de nume DNS reprezinta ansamblul de nume DNS. Acest spatiu are o structura
arborescenta asemanatoare cu structura sistemului de fisiere din Linux. Fiecare domeniu reprezinta
o cale in acest arbore inversat numit spatiul de nume.
In varful arborelui se gaseste domeniul radacina – root – care se noteaza printr-un punct . si care
reprezinta de fapt 13 severe, de la A la M, aflate in diverse tari pentru redundanta.
http://www.icann.org/en/maps/root-servers.htm
Urmeaza pe urmatorul nivel domenii generice numite TLD (Top Level Domains). Un TLD poate face
referire la o anumita regiune geografica (codul ISO al tarilor, exceptie de la regula este Marea
Britanie, care in loc sa aiba TLD GB are UK) sau la un anumit profil de activitate; de ex. org pt.
oraganizatii nonprofit, edu pt. scoli, colegii, facultati, com pt. companii, etc.
Fiecare nod al arborelui are o eticheta (label) – cu exceptia root - formata din maximum 63 de
caractere fara punct (litere, cifre si semnul minus „-“). Underscore nu este permis.
Fiecare nod poate fi la randul sau root pentru un subarbore al arborelui general.
Informatiile pastrare de serverul DNS poarta numele de RR - Resource Records. Sunt definite in
rfc1035
Un nume complet se numeste FQDN (Fully Qualified Domain Name) si se specifica de la frunza pana
la radacina „.“ (punct) care trebuie specificata. ex: www.yahoo.com.
Delegare
Nu este obligatoriu ca intreg domeniul sa fie delegat ci doar subdomenii din acesta.
b) Servere DNS
Prin procesul de delegare un server DNS este responsabil doar cu o parte din spatiul de nume si nu
cu intreg domeniul. Astfel un domeniu poate fi imprastiat pe mai multe servere, astfel incat se poate
spune ca tot spatiu de nume dns reprezinta o baza de data distribuita.
O zona DNS este acea parte din spatiul de nume DNS care se gaseste pe un anumit server.
O zona poate cuprinde un domeniu intreg sau doar o parte din acesta, restul subdomeniilor aflandu-
se pe alte servere in alte zone.
Fisierul zona este acela care pastreaza informatiile referitoare la zona aflata in administrarea
serverului.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
6
© 2011 - Crystal Mind Academy - www.crystalmind.ro
Serverul care stocheaza fisierul zona se numeste autoritativ pentru acea zona. Un server
poate fi autoritativ pentru o zona sau mai multe zone.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
7
© 2011 - Crystal Mind Academy - www.crystalmind.ro
Atat primary master cat si secondary master sunt autoritativi pentru acea zona.
Notiunile de Primary Master si Secondary Master (slave) sunt relative. Un server poate fi primary
master pentru o zona si secondary master pentru alte zone.
Fisierul zona este format dintr-un ansamblu de inregistrari numite RR (Resource Records).
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
8
© 2011 - Crystal Mind Academy - www.crystalmind.ro
Negative caching – in momentul in care un alt server DNS trimite serverului nostru o informatie
despre un domeniu inexistent, serverul face cache si la acea informatie, pastrand-o in cache timp de
TTL asociat acelei resurse.
c) Clientul DNS
Serverul DNS va raspunde cu informatia ceruta sau cu o eroare. DNS resolver dispune de un cache
propriu local in care salveaza raspunsurile de la cererile facute. In windows cache-ul local poate fi
vizualizat cu comanda ipconfig /displaydns sau poate fi sters prin comanda ipconfig /flushdns.
- Query iterativ
Clientul trimite un query serverului iar acesta trebuie sa raspunda imediat fie din fisierul zona (daca
este autoritativ) fie din cache-ul sau (daca nu este autoritativ). Serverul trebuie sa dea cel mai bun
raspuns pe care il stie.
Daca informatia ceruta nu ii este cunoscuta serverului DNS, acesta raspunde cu un „referral“ adica o
lista de servere DNS care ar putea furniza raspunsul.
ex: daca query clientului incearca sa translateze numele www.crystalmind.ro in IP, serverul DNS ar
putea raspunde cu o serie de servere autoritative pentru domeniul .ro.
In acest caz cade in sarcina clientului sa contacteze serverele respective pentru a afla raspunsul.
- Query recursiv
Clientul trimite un query serverului, iar acesta trebuie sa furnizeze raspunsul final sau un mesaj de
eroare. Serverul este acela care trebuie sa contacteze alte servere DNS in cazul in care nu cunoaste
raspunsul la intrebare.
Aceasta modalitate este cea mai des intalnita.
Daca serverul nu este autoritativ pentru acel domeniu va pasa cererea asa numitor servere
forwarders.
Daca serverul nu are configurat forwarders incearca parcurcerea arborelui de nume de sus in jos
prin cereri interative. Fiecare server DNS dispune de o lista cu serverele autoritative pentru root „.“.
Acestea se numesc „root hints“.
Serverele root vor furniza referinte catre serverele autoritative pentru TLD. Acestera mai departe vor
furniza referinte catre serverul autoritativ pentru primul nod. Din aproape in aproape serverul va afla
raspunsul necesar clientului.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
9
© 2011 - Crystal Mind Academy - www.crystalmind.ro
Rezolutia inversa
Presupuna transformarea adreselor IP in nume. Rezolutia directa si inversa sunt doua concepte
diferite. Cu ajutorul protocolului DNS nu se realizeaza echivalente intre domenii si IP ci doar
corespondente intr-un singur sens.
Astfel nu orice nume de domeniu care se rezolva intr-un IP se poate rezolva si invers.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
10
© 2011 - Crystal Mind Academy - www.crystalmind.ro
5. Email
Un sistem de email este format din mai multe protocoale care interactioneaza intre ele pentru a
trimite un email de la un client la server.
Termeni:
MUA - Mail User Agent - Este o aplicatie folosita de user pentru trimite emailuri: Outlook Express,
Mozilla Thunderbird etc. Protocolul folosit in comunicatia dintre MUA si server pentru a
trimite emailuri se numeste SMTP. Acesta este folosit si de catre serverul la care se
conecteaza clientul pentru a ruta e-mailul catre alte servere in calea catre destinatie.
MDA - Mail Delivery Agent (ex: procmail) – proces care ruleaza pe server si care livreaza mailurile
primite in mailbox-ul utilizatorului;
MTA - Mail Transfer Agent. Un program folosit pentru a trimite si a primi emailuri intre servere
folosind protocolul SMTP (ex: sendmail, exim, qmail etc);
The Mail Transfer Agent (MTA) process is used to forward e-mail. As shown in the figure, the MTA
receives messages from the MUA or from another MTA on another e-mail server. Based on the
message header, it determines how a message has to be forwarded to reach its destination.
SMTP enables e-mail to be transported across data networks between different types of
server and client software and makes e-mail exchange over the Internet possible.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
11
© 2011 - Crystal Mind Academy - www.crystalmind.ro
6. HTTP
HTTP este cel mai popular protocol de la nivelul aplicatie, deoarece este protocolul folosit de clientii
pt. web-browsing gen IE, Firefox, Opera. HTTP reprezinta un protocol cerere/raspuns, in sensul ca un
client care se conecteaza la un server web va trimite un request pt. o anumita resursa a serverului
(index.html, index.php, fisiere), resursa pe care serverul o va trimite clientului in raspuns.
GET se foloseste pt. a cere o pagina (resursa) serverului, POST pt. a trimite date severului (un
formular), iar PUT pt. a copia fisiere de pe client pe server (upload).
HTTP, ca si FTP comunica in clar! Pentru a se asigura confidentialitatea datelor, se poate folosi SSL.
Informatiile continute in acest document reprezinta proprietate intelectuala a Academiei Crystal Mind.
Distribuirea sau reproducerea de orice fel este interzisa.
12