Sunteți pe pagina 1din 12

© 2011 - Crystal Mind Academy - www.crystalmind.

ro

CCNA1 – Network Fundamentals

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:

– backup/upgrade/restore IOS (sistemul de operare pe echipamentele Cisc) sau firmware pentru


alti vendori;
– backup/restore fisiere de configurare pe echipamentele Cisco;
– pentru tehnologia CaTV – modemul descarca prin TFTP fisierul docsis.bin pentru configurare;
– pentru “thin clients” - computere cu resurse hardware minime, fara HDD, care folosesc
resursele unui server performant (TFTP it is also used for diskless booting PC's where, after
the workstation has booted from the network card's ROM, TFTP is used to download the
program it needs to load and run from a central server.);
– in legatura cu PXE si BOOTP/DHCP pentru OS clonning – ex. Clonezilla - backup/restore server;

Pentru accesarea unui server TFTP, majoritatea SO includ by default un client tftp.

In Windows clientul tftp se acceseaza din CMD prin comenzile:

#tftp -i SERVER_IP get fisier.txt C:\fisier.txt


#tftp -i SERVER_IP put C:\fisier.txt fisier.txt

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

CCNA1 – Network Fundamentals

Un server FTP poate opera in modul activ sau pasiv.

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

CCNA1 – Network Fundamentals

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.

Conectarea la un server ftp se poate face prin:

– client FTP dedicat – Filezilla client/ Krusader/ Total Commander / CuteFTP;


– web-browser – IE, Mozilla, Opera;
– din linie de comanda – CLI prin comanda ftp.

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

CCNA1 – Network Fundamentals

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

CCNA1 – Network Fundamentals

DHCP & Linux

In Linux se pot modifica setarile pe care clientul DHCP le poate primi de la server prin editarea
fisierului /etc/dhcp3/dhclient.conf.

Serverul DHCP va scrie leas-urile (bindings) in /var/lib/dhcp3/dhcpd.leases.

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

CCNA1 – Network Fundamentals

DNS cuprinde un ansamblu de concepte si programe printre care:

a) spatiul de nume DNS


b) servere DNS
c) clienti DNS

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.

Protocolul DNS defineste tipul de query, response si RR.

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

O organizatie care administraza un domeniu poate sa-l imparta in subdomenii si sa delege


administrarea acestora catre alte organizatii.

Nu este obligatoriu ca intreg domeniul sa fie delegat ci doar subdomenii din acesta.

ex: subdomeniul cursuri.crystalmind.ro se poate gasi in administrarea unei organizatii,


examene.crystalmind.ro se poate gasi in administrarea unei alte organizatii iar crystalmind.ro poate
fi sub autoritatea unei alte companii.

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

CCNA1 – Network Fundamentals

Serverul care stocheaza fisierul zona se numeste autoritativ pentru acea zona. Un server
poate fi autoritativ pentru o zona sau mai multe zone.

Serverele DNS se impart in 2 categorii:

1) Primary Master Name Server


Citeste informatiile referitoare la zona dintr-un fisier aflat pe hard disk-ul sau.
Este acela declarat in resursa SOA.
Modificarile referitoare la o zona se pot face doar pe primary master.

2) Secondary master name server (slave)


Isi ia informatia referitoare la zona automat de la un alt server numit masterul sau. Acesta
poate fi primary master sau un alt server secondary master.

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

CCNA1 – Network Fundamentals

Informatia referitoare la zona nu se poate modifica pe secondary master. In momentul in care


porneste, secondary master contacteaza primary master si copiaza fisierul zona. Aceasta
operatiune se numeste „zone transfer“. Ulterior serverul slave face backup la fisierul zona pe
propriul HDD, iar la urmatorul restart incarca intai fisierul local si apoi contacteaza masterul
sau pentru a vedea daca informatia mai este actuala, pe baza unui serial (nr. de revizie);

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).

Nume Resursa Descriere


SOA Start of Authority - declara serverul autoritativ pentru acea zona. In
fiecare fisier zona tb sa existe un RR de tip SOA. Poate fi unul singur pentru
o zona.
NS Name server – declara servere de nume autoritative pentru acel domeniu.
Este obligatoriu.
A IPv4 Address – Declara o corespondenta intre domeniu si IP (rezolutie
directa)
AAAA IPv6 Address
PTR Pointer – declara o echivalanta intre IP si domeniu (rezolutie inversa). Acest
RR este optional
CNAME Canonical Name – declara un alias al unei resurse. Acest RR este optional
MX Mail Exchanger – declara un server de e-mail pentru acea zona. Se
foloseste impreuna cu o prioritate (preferinta ) care poate fi intre 0 si
65535. Cu cat nr. este mai mic cu atat serverul este de preferat. Se pot
seta astfel servere de Backup. Acest RR este optional.

Ex. de fisier zona:

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

CCNA1 – Network Fundamentals

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

Este reprezentat printr-un modul al sistemului de operare numit „DNS resolver“.


Rezolverul DNS primeste din partea aplicatiei sarcina de a transforma numele domeniului intr-o
adresa logica. Acesta interogheaza serverul DNS configurat in sistem prin mesaje tip Query prin care
incearca sa afle valoarea asociata numelui X pentru resursa de tip Y.

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.

Exista 2 categorii de query:

- 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

CCNA1 – Network Fundamentals

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.

Pentru rezolutia inversa se foloseste un domeniu special si anume in-addr.arpa.


Acesta are ca subdomenii (noduri) octetii corespunzatori adresei IP scrisi de la stanga la dreapta.

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

CCNA1 – Network Fundamentals

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

CCNA1 – Network Fundamentals

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.

Cele mai cunoscute mesaje HTTP sunt GET, POST si PUT.

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

S-ar putea să vă placă și