|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
Introducere in retele | ||||||
|
||||||
c1o8on In retelele mari, cum este cea a Universitatii Groucho Marx, de obicei nu se folosesc numai echipamente Ethernet. La Groucho Markx University, LAN-ul fiecarui departament este legat la magistrala campusului, care este un cablu de fibra optica pe care ruleaza FDDI (Fiber Distributed Data Interface). FDDI foloseste o abordare cu totul diferita de transmitere a datelor care presupune in esenta trimiterea unui numar de tokenuri, iar o statie de lucru poate trimite un frame numai daca captureaza un token. Principalul avantaj al FDDI este viteza de pina la 100-Mbps si lungimea maxima a cablului de 200 km. Pentru legaturile la distante foarte mari, echipamentele folosite cel mai frecvent se bazeaza pe standardul X.25. Multe retele publice numite Public Data Networks ofera acest serviciu, cum sunt Tymnet in SUA, sau Datex-P in Germania. X.25 necesita un echipament special, un Packet Assembler/Disassembler sau PAD. X.25 defineste un set de protocoale proprii, dar in general este folosit la legarea retelelor TCP/IP sau a altor tipuri de retele. Din moment ce pachetele IP nu pot fi trimise ca atare prin X.25 (si viceversa), pachetele IP sunt intii incapsulate in pachete X.25 si de-abia apoi trimise prin retea De obicei radio amatorii isi folosesc echipamentele si la legarea in retea a calculatoarelor; echipamantele se numesc packet radio sau ham radio. Protocolul folosit este AX.25, si are la origine X.25. O alta modalitate este folosirea liniilor seriale pentru dial-up, linii care, desi lente, sunt ieftine. Pentru transmiterea pachetelor se folosesc protocoalele SLIP sau PPP, care vor fi descrise putin mai incolo. Protocolul Internet Aceasta legatura este controlata de un host special destinat, asa-numitul gateway, care gestioneaza traficul pachetelor intre cele doua retele Ethernet si magistrala. De exemplu, daca sunteti la departamentul de matematica si vreti sa accesati hostul quark din reteaua departamentului de fizica, software-ul de retea nu poate trimite pachetele direct catre quark deoarece este intr-o alta retea. De aceea, gateway-ul trebuie sa indeplineasca functia de forwarding (trimiterea mai departe a pachetelor destinate altei retele). Gateway-ul (numit sophus) trimite pachetele catre gateway-ul pereche niels prin intermediul magistralei, iar niels le depune la destinatie. Fluxul datelor intre erdos si quark este ilustrat in figura Fig. 1-1 Fig. 1-1. Cei trei pasi ai trimiterii unei datagrame de la erdos la quark. Aceasta schema de redirectare a datelor catre remote host se numeste routing, iar pachetele sunt numite in acest context datagrame. Pentru simplificare, traficul de datagrame este guvernat de un singur singur protocol, independent de hardware-ul folosit: IP, sau Internet Protocol. In capitolul Cap. 2, vom aborda mai in detaliu protocolul IP si routarea. Principalul avantaj al IP-ului este ca transforma retele diferite din punct de vedere al hardware-ului intr-o retea aparent omogena, de tip internet. Trebuie observata diferenta subtila dintre o retea internet and Internet. "Internet" este numele oficial al unei anumite retele globale de tip internet. Bine-nteles, IP necesita o schema de adresare independenta de hardware. Aceasta se realizeaza prin alocarea unui numar de 32 de biti fiecarui host, numar numit adresa IP. Adresele IP se scriu de obicei ca un set de patru numere de cite 8 biti, separate prin puncte. De examplu, quark ar putea avea adresa IP 0x954C0C04, care se poate scrie 149.76.12.4. Acest format este numit "dotted quad notation". Veti observa ca acum avem trei tipuri diferite de adrese: hostname-urile ( cum e quark ), apoi adresele IP, si in final adresele hardware (cum sunt adresele Ethernet de 6 bytes). Toate trebuie sa se potriveasca, astfel incit daca introduceti rlogin quark, software-ul de retea sa poata obtine adresa IP a lui quark; iar cind datele ajung in reteaua departamentului de fizica, trebuie cumva determinata adresa Ethernet care corespunde adresei IP. Aceasta poate produce o oarecare confuzie. Nu vom intra in detalii chiar acum, ci un pic mai incolo, in capitolul Cap. 2. Deocamdata este suficient sa retineti ca exista doi pasi ai regasirii adreselor : hostname resolution (determinarea adresei IP corespunzatoare unui hostname) si address resolution (gasirea adresei hardware care corespunde adresei IP). Protocolul IP peste liniile seriale Protocolul de Control al Transmisiei (TCP) Este important de stiut ca IP nu este, prin conceptie, un protocol sigur. Sa zicem ca zece useri de pe reteaua locala incep sa-si copieze de pe serevrul FTP de la GMU ultima versiune de XFree86. Traficul astfel generat s-ar putea sa fie prea mare pentru gateway, deoarece acesta poate sa fie prea lent sau sa nu aiba memorie suficienta. Daca in aceste conditii trimiteti un pachet catre quark, sophus poate sa nu aiba in acel moment spatiu in buffer si sa nu poata retransmite pachetul. IP rezolva acesta problema simplu: leapada pachetul, care este iremediabil pierdut. Responsabilitatea de a verifica integritatea datelor si de a le retransmite in caz de eroare cade tot in sarcina software-ului de retea. Acesta functie este indeplinita de un alt protocol : TCP, sau Transmission Control Protocol, care realizeaza un serviciu sigur pe baza lui IP. Caracteristica esentiala a TCP este aceea ca foloseste IP pentru a crea iluzia unei conexiuni simple intre procesul local si cel de pe remote host, astfel ca nu mai trebuie sa va intrebati cum si pe unde trec datele. O conexiune TCP este in esenta ca o conducta (pipe) bidirectionala la care procesele scriu si de la care citesc. Se aseamana cu o convorbire telefonica. Protocolul TCP identifica cele doua capete ale conexiunii cu ajutorul adreselor IP ale celor doua host-uri si al asa-numitelor port-uri folosite pe fiecare host. Orice conexiune de retea se leaga la un host prin intermediul unui port. Daca vom continua analogia cu convorbirea telefonica, putem compara adresele IP cu prefixele telefonice si porturile cu numerele de telefon. In exemplul cu rlogin, aplicatia client (rlogin) deschide un port la erdos si se conecteaza la quark folosind portul 513 pe care "asculta" serverul rlogind. Astfel se realizeaza o conexiune TCP. Pe baza acestei conexiuni rlogind verifica mai intii numele si parola, iar apoi lanseaza in executie shell-ul. Intrarea si iesirea standard a shell-ului sunt redirectate prin conexiunea TCP, astfel ca orice se introduce de la hostul local se transmite prin conexiune si ajunge ca intrare standard pentru shell. Protocolul Datagrame Utilizator (UDP) Sa zicem ca ati montat ierarhia de directoare ale lui TeX de pe serverul NFS central al departamentului, galois, si ca vreti sa cititi un document care descrie cum se foloseste LaTeX. Intrati intr-un editor care initial incarca tot fisierul. Stabilirea unei conexiuni TCP cu galois, trimiterea fisierului, si terminarea conexiunii ar dura prea mult timp, si atunci se trimite o cerere catre galois care trimite fisierul intr-un set de pachete UDP - ceea ce dureaza mult mai putin. UDP nu a fost gindit sa verifice pierderea sau coruperea pachetelor, asa ca aplicatia (in cazul acesta NFS) trebuie si se descurce singura. Mai multe despre porturi O proprietate importanta a porturilor este ca odata ce s-a facut conexiunea dintre client si server, o alta copie a serverului se poate atasa la port si poate primi noi clienti. Aceasta permite de pilda mai multe rlogin-uri la acelasi host, toate folosind portul 513. TCP poate distinge aceste conexiuni dupa host-ul de la care provin. De exemplu, daca se fac doua conectari la quark de la erdos, primul client rlogin foloseste, sa zicem, portul local 1023 iar al doilea portul 1022. Ambele se vor conecta insa la acelasi port 513 de pe quark. Acest exemplu arata folosirea porturilor ca puncte de intilnire unde clientul contacteaza un anumit port pentru a obtine un anumit serviciu. Pentru ca un client sa stie portul corect, este nevoie de o intelegere intre administratorii ambelor sisteme. Pentru serviciile folosite pe scara larga, ca rlogin, numerele porturilor trebuie administrate central. Acest lucru il face IETF (Internet Engineering Task Force), care lanseaza periodic un RFC intitulat Assigned Numbers in care sunt descrise, printre altele, porturile alocate serviciilor folosite frecvent. Linux foloseste un fisier de mapare a serviciilor cu numerele porturilor : /etc/services. Acest fisier este descris in sectiunea Desi atit conexiunile TCP cit si cele UDP de bazeaza pe aceleasi porturi, nu se creaza nici un conflict intre ele. Astfel, de exemplu portul TCP 513 este diferit de portul UDP 513 si corespund unor servicii diferite : rlogin (513/TCP) si rwho (513/UDP). Biblioteca Socket In cazul de fata, biblioteca socket face parte din biblioteca standard libc. Acum suporta numai socket-urile AF_INET si AF_UNIX, dar se fac eforturi in directia suportarii protocoalelor Novell, asa ca in final vor mai fi adaugate citeva clase. |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|