Reţele de calculatoare
Conf.
Dr. Carmen Timofte (Stanciu)
- permite transfer al fişierelor de orice tip (fie ele binare sau de tip text) între două calculatoare din Internet.
- este bazat pe un sistem de autentificare a utilizatorilor.
o serverele publice, sau cele care oferă FTP anonim; există un cont special, numit anonymous (sau ftp), care nu este protejat prin parolă, şi pentru care majoritatea serverelor moderne cer introducerea ca parolă a adresei de poştă electronică a utilizatorului client.
o În mod normal, pentru accesul la documentele de pe un server FTP, un utilizator trebuie să deţină un nume de cont şi o parolă validă pentru respectivul server.
- Parola este transmisă în clar prin reţea, permiţând oricărui utilizator local care are acces la un program de monitorizare a reţelei să o afle. Din acest motiv, transferul de informaţii prin FTP se va efectua doar în zone în care se ştie că nu este posibilă monitorizarea reţelelor de către orice utilizator. O altă posibilitate este folosirea de clienţi sau server-e modificaţi, astfel încât transferul să se realizeze prin canale sigure (de exemplu, folosind SSL - Secure Sockets Layer).
- Browser-ele cunosc nativ şi protocolul FTP (schema URL este: ftp://[cont@]server.domeniu/ )
- Protocolul este FTP (File Transfer Protocol) şi este specificat în RFC 454.
- Funcţionează pe modelul client-server:
Server FTP
- Importanţa serviciului FTP este indicată şi de faptul că toate sistemele Unix sunt instalate cu un set de programe client şi server.
- Utilizează 2 porturi:
o Portul 21 - pe care se transmit comenzile de la client la server
o Portul 20- de pe care server-ul iniţiază conexiunea pe care se va face transferul de informaţie
- Trebuie verificat dacă există în fişierul /etc/services o intrare care să facă asocierea dintre numele simbolic ftp şi 21, numărul de port TCP cu care este asociat acest serviciu. În fişierul /etc/services trebuie să existe următoarele linii:
ftp 21/tcp
ftp-data 20/tcp
- Când serviciul FTP este pornit de către super‑server-ul inetd, administratorul trebuie să se asigure că fişierul de configurare a programului inetd (/etc/inetd.conf) conţine o linie de forma:
ftp stream tcp nowait root /usr/sbin/ftpd ftpd
- În sistemele Windows, FTP trebuie instalat explicit, fie ca serviciu de reţea, fie ca parte a server-ului Web (IIS - Internet Information Server).
Client FTP
- Suita programelor care includ clienţi FTP variază de la cele care dezvoltă şi administrează server-e WWW (Microsoft FrontPage, Macromedia Dreamweaver) la cele de aplicaţii de birotică (Microsoft Office, existând variante care integrează perfect clientul FTP cu Windows Explorer). Programele "ascund" comenzile clientului ftp din linia de comandă, majoritatea punând accent sporit pe transferul informaţiilor de la client la server, spre deosebire de situaţia clasică, în care transferul majoritar era de la server la client.
- clientul – pe staţia utilizatorului, poate fi:
o comanda ftp - de al prompt-ul DOS
o un program sub Windows (exp: WinFTP)
o tasta upload al browser-ului Internet Explorer, folosind schema URL:
ftp://user@infocib.ase.ro/cale_HOME/
- există mai multe modalităţi de transfer; vom exemplifica modul din prompt MS-DOS:
c:\>ftp
>? – vă arată toate subcomenzile ftp
>o infocib.ase.ro -deschide conexiunea cu server-ul de ftp de pe infocib
user: contul_vostru
password: parola_voastra
>lcd c:\dir_local – schimbă directorul de pe maşina locală, acolo unde se găsesc fişierele voastra/ sau unde doriţi să le puneţi pe cele aduse
>bin – trecerea modului de transfer din ASCII în binar; se recomandă pt.fişiere ZIP, EXE, imagini etc.
>hash – vizualizarea transferului fiecărui 2048 B
>cd dir_server – schimbă directorul din home directory-ul user-ului
>put fis.ext – pune fişierul din directorul local curent pe server-ul infocib, în directorul din home-ul utilizatorului
>mput *.ext – multiple put – pune toate fişierele cu extensia .ext, cerând confirmare la fiecare
>get fis.ext – ia de pe server şi pune pe local
>mget * - multiple get
>quit – închidere sesiune
- cunoscut şi sub denumirea de e-mail (electronic mail), este cel care a stat la baza dezvoltării Internet-ului, datorită caracteristicii sale de a permite trimiterea de documente electronice între utilizatorii conectaţi la reţea.
- Funcţionarea serviciului poate fi considerată asincronă, în sensul că emiţătorul şi receptorul nu trebuie să fie simultan conectaţi pentru ca mesajul să ajungă de la sursă la destinaţie.
- principalele componente sunt:
o agentul utilizator (UA — User Agent), care este de obicei un program cu care utilizatorul îşi citeşte şi trimite poşta electronică;
o server-ul de poştă electronică (cutia poştală), locul în care ajunge poşta electronică şi din care agentul utilizator preia poşta;
o agenţii de transfer (MTA — Mail Transfer Agent), care preiau mesajele de la UA şi le retransmit prin reţea către cutia poştală a destinatarului.
Modul de transmisie a poştei electronice şi protocoalele utilizate în cadrul acestui sistem
- La terminarea compunerii unei scrisori, agentul utilizator o plasează într-o coadă prelucrată de agentul de transfer. Acesta aşteaptă ca în coada sa de intrare să fie plasată o scrisoare, pe care o trimite tuturor destinatarilor. Pentru a trimite scrisoarea unui destinatar, agentul de transfer acţionează ca un client şi contactează server-ul maşinii de la distanţă în care se află cutia poştală a destinatarului. Clientul stabileşte o legătură TCP cu server-ul şi îi trimite mesajul, în conformitate cu protocolul SMTP (Simple Mail Transport Protocol). Server-ul primeşte mesajul şi plasează copia scrisorii în cutia corespunzătoare destinatarului. Programul de transfer este optimizat să trateze împreună toţi recipienţii situaţi într-o aceeaşi maşină distantă.
- comunicarea între utilizatori ai diferitelor sisteme de poştă electronică s-au introdus porţi de poştă electronică (realizează conversia între formatele de mesaje proprietare şi permit, astfel, transmiterea mesajelor dintr‑un sistem în altul).
- Poşta electronică are facilităţi importante de retransmitere a mesajelor către unul sau mai mulţi destinatari. Programul care realizează retransmiterea foloseşte o bază de date, din care află cum trebuie să prelucreze mesajul. Fiecare intrare în baza de date, numită listă poştală (mailing list) are propria sa adresă poştală şi conţine o mulţime de adrese. La sosirea unei scrisori, programul examinează adresa de destinaţie şi determină dacă aceasta corespunde unei liste poştale. Dacă da, atunci programul retransmite o copie a mesajului către fiecare adresă din listă.
- Programul de retransmitere consumă resurse importante (memorie şi timp). De aceea el este găzduit de un sistem care oferă aceste resurse, numit poartă poştală (e-mail gateway). Listele păstrate de porţile poştale sunt, de obicei, publice.
- Mesajele de poştă electronică sunt compuse din trei părţi, primele două fiind descrise în cadrul RFC 822:
o antet: zonă care cuprinde informaţiile de control ale mesajului (adresele emiţătorului şi receptorilor, data expedierii, traseul mesajului etc.);
o mesaj: cuprinde mesajul propriu‑zis;
o fişiere ataşate: sunt de regulă binare şi însoţesc mesajul principal.
- Din punctul de vedere al utilizatorului, cele mai importante câmpuri ale antetului se referă la adresa destinatarului (sau ale destinatarilor). Câmpul To: specifică o listă de adrese de poştă electronică, fiecare destinatar din cei menţionaţi în această listă urmând să primească o copie a mesajului. Câmpul Cc: (de la carbon copy, copie la indigo) specifică, de asemenea, o listă de persoane care vor primi copii ale mesajului. Atunci când se doreşte trimiterea mesajului către un destinatar, fără ca receptorii să cunoască acest lucru, se poate folosi câmpul bcc: (blind carbon copy, copie la indigo invizibilă).
- Adresele de poştă electronică au formatul general utilizator@server_poştă, unde utilizator este numele de cont sau un pseudonim al destinatarului, iar server_poştă este adresa staţiei care face serviciul de cutie poştală sau un nume de domeniu.
Protocoale
implicate în transferul poştei electronice pe Internet
- SMTP (Simple Mail Transport Protocol) - unul dintre cele mai importante protocoale de comunicaţie între MTA-uri, definit în RFC 821. El este folosit atât pentru comunicarea între agenţii de transport al poştei, cât şi pentru transmisia mesajului de la agentul utilizator către server-ul local de transmisie a poştei electronice (care, în mod uzual, este acelaşi cu server-ul care menţine cutiile poştale).
- POP (Post Office Protocol, definit în RFC 1225), iar versiunea sa cea mai utilizată se numeşte POP3 - permite descărcarea poştei de pe server-ul central, iar modelul de lucru implementat este decuplat (off-line)
§ presupune existenţa a două cutii poştale, una pentru recepţie (cea de pe server) şi una de lucru (cea gestionată de agentul utilizator).
§ Sincronizarea între cele două cutii poştale nu este prevăzută explicit în cadrul protocolului şi este, practic, imposibil de realizat o menţinere unitară a poştei electronice în cazul în care utilizatorul nu foloseşte întotdeauna acelaşi calculator pentru a‑şi accesa poşta.
§ Server-ul POP3 lucrează pe maşina pe care se află cutia poştală.
§ Clientul POP3 se execută pe PC-ul utilizatorului. La apelul său, clientul POP3 face identificarea utilizatorului (nume-parolă), apoi legătura cu server-ul POP3. Acesta accesează cutia poştală a utilizatorului şi transmite clientului noile scrisori aflate aici. POP3 foloseşte tot protocolul TCP, ca şi SMTP, dar este diferit de acesta.
§ Sistemul care păstrează cutia poştală găzduieşte două server-e, unul SMTP şi unul POP3. Server-ul POP3 poate fi folosit şi cu conexiuni comutate (dial-up).
- IMAP (Interactive Mail Access Protocol) - definit în RFC 1064, ajuns la versiunea 4; se foloseşte pentru a se înlătura deficienţele constatate în POP3
§ Acesta permite ca agentul utilizator să lucreze cu copii temporare ale mesajelor, iar toată gestiunea mesajelor este menţinută pe server.
§ Modul de gestiune folosit de produsele bazate pe IMAP este cuplat (on-line), Această abordare este comodă pentru utilizatorii care nu au un punct fix de lucru, fiind adaptată pentru reţele de tip Intranet.
- DMSP (Distributed Mail System Protocol) – definit în RFC 1056; presupune existenţa mai multor cutii poştale şi permite transferul scrisorilor către o staţie de lucru, după care se deconectează; după reconectare, scrisorile sunt retransferate şi sistemul este resincronizat.
Ambele protocoale au două mari deficienţe: autentificarea se face pe baza unei parole care circulă în clar prin reţea; mesajele aduse de la server sunt transferate în clar.
LDAP (Lightweight Directory Access Protocol) - protocol uşor de acces la cataloage.
- Serviciul de directoare este folosit, în special, în legătură cu sistemul de poştă electronică deoarece îi furnizează acestuia atât adrese, cât şi certificate necesare pentru criptarea şi semnarea mesajelor de poştă.
- Printr‑un serviciu centralizat de directoare şi clienţi LDAP (atât Netscape, cât şi Microsoft au adoptat LDAP) se poate construi o agendă cu informaţii despre persoanele implicate în sistemul de poştă.
Ř Prin facilitatea de ataşare a documentelor la un mesaj de poştă electronică este posibilă transmiterea unui fişier binar, nu numai text, de la emiţător către destinatar. Pentru o transmisie corectă şi o identificare uşoară a tipului documentului ataşat, transferul se face conform standardului MIME.
Ř Documentele binare sunt codificate conform standardului BASE64, care specifică transformarea unei secvenţe de 3 caractere pe 8 biţi într‑o succesiune de 4 caractere care pot fi tipărite (litere, cifre, semne de punctuaţie), reprezentate pe 6 biţi. Tipul documentului ataşat este indicat în antetul mesajului de poştă electronică, folosindu‑se codificarea bazată pe tipurile MIME. Tipul documentului permite programelor de poştă electronică să lanseze în execuţie programul care "ştie" să vizualizeze documentul ataşat recepţionat.
Ř La sistemele Unix, unde se utilizează programul mail pt. trimiterea mesajelor, fişerele se ataşează cu comanda ~r nume_fiş în corpul mesajulul. Implicit SMTP-ul permite transfer de documente ASCII. Cele binare trebuie trimise după ce li s-a aplicat uuencode, iar la recepţie se va face uudecode.
Ř MIME (Multipurpose Internet Mail Extensions) - standard definit pe parcursul a mai multor documente RFC: 1521, 2045, 2046, 2047, 2048 şi 2049
Ř Cel mai folosit mod de specificare a tipului de conţinut
Ř Dezvoltat iniţial pentru a permite introducerea în cadrul mesajelor de poştă electronică a unor noi tipuri de informaţii pe lângă cele clasice de tip text, sistemul MIME a fost preluat şi de Web prin protocolul HTTP. Din acest motiv, tipurile documentelor sunt cunoscute şi sub numele de tipuri MIME. Identificatorul de tip este definit ca fiind compus dintr‑un tip şi un subtip, cele două componente fiind separate printr‑un slash.
Ř Este o completare a RFC 822, introducând alte 5 antete de mesaje: MIME-version, Content-Description, Content-ID, Content-Tranfer-Encoding, Content-Type, precum şi 7 tipuri (text, image, application, message, multiplart etc.) cu mai multe subtipuri, cum ar fi:
Tip/subtip MIME |
Tipul informaţiei asociate |
text/plain |
Informaţie de tip text care nu necesită interpretări speciale |
text/html |
Document ce conţine o pagină HTML |
image/gif |
Document de tip imagine codificată conform standardului GIF |
image/jpeg |
Document de tip imagine codificată conform standardului JPEG |
application/octet-stream |
Fişier binar, cu tip nespecificat, care trebuie tratat ca un şir de octeţi |
video/mpeg |
Film codificat conform standardului MPEG |
Pentru transferul mesajelor în siguranţă, există două variante: criptarea mesajului sau criptarea canalului de comunicaţie.
Ř Criptarea canalului de comunicaţie - se face prin intermediul unui protocol sigur, de tipul SSL (Secure Sockets Layer). Practic, înainte de începerea "discuţiei" dintre agentul utilizatorului şi cutia poştală, se stabileşte un canal criptat pe care se va face atât autentificarea, cât şi transferul mesajelor. Soluţia rezolvă ambele probleme ale sistemelor de poştă. La ora actuală, singurul client de poştă electronică folosit pe scară largă care este capabil să stabilească conexiuni SSL este Netscape Messenger, atunci când accesează o cutie poştală de tip IMAP.
Ř Criptarea mesajului - lasă deschisă problema autentificării cu cutia poştală, dar rezolvă atât problema transferului sigur al mesajului, cât şi pe cea a verificării identităţii emiţătorului. De exemplu, soluţia de tip PGP poate fi implementată cu succes în medii Windows şi Unix, asigurând integrare cu toţi clienţii de poştă electronică.
Problema autentificării în siguranţă a utilizatorului cu cutia poştală poate fi rezolvată atât prin criptarea canalului de comunicaţie, cât şi prin extensiile aduse celor două protocoale care gestionează poşta electronică de la client. Astfel, protocolul IMAP prezintă un mod opţional de criptare doar pe perioada autentificării, iar firma Microsoft a adus unele extensii protocolului POP3 (mecanismul SPA - Secure POP Authentication) care au fost înglobate în clienţii de mail Outlook şi Outlook Express. Din păcate, aceste soluţii nu au un sprijin important din partea producătorilor de server-e de poştă electronică sau din partea producătorilor de clienţi.
Ř Studiaţi RFC-urile menţionate în seminar (pt ftp, e-mail, SMTP, POP3, IMAP, MIME) – OBLIGATORIU !!!
Ř Verificaţi existenţa serverelor de ftp, e-mail, pop3 pe infocib (ps aux) şi portul pe care rulează (netstat –a)
Ř Porniţi şi testaţi server-ul de ftp din PWS (Personal Web Server), folosind consola de management MMC (se lansează din Internet Service Manager)
Ř Creaţi-vă un cont de e-mail pe http://mailcom.ase.ro. Citiţi-vă e-mail-ul folosind un client de e-mail configurat pentru POP3, IMAP, apoi folosiţi un browser.
Ř Citiţi-vă poşta de pe infocib folosind un client de e-mail sub Windows (folosiţi POP3)
Ř Recapitulaţi programul mail din Unix. Trimiteţi prin acest sistem (cu SMTP) un fişier binar (uuencode/ uudecode)