fl0 fl0w Posted March 28, 2007 Report Posted March 28, 2007 ========UN STUDIU AVANSAT ASUPRA PROTOCOALELOR========by fl0_f0w ------------------------N E T W O R K I N G----------------------by fl0_f0wPentru cine nu ma stie ,sunt fl0_fl0w,am 17 ani,si principalele mele interese sunt programarea si sitemele de calcul in general.Am sa va prezint un studiu amanuntit asupra unor protocoale,dar si lucruri e inceput cum sunt aspecte legate de adrese,ip,porturi ,socket si altele.Acest tutorial cuprinde doua parti de fapt,o parte nu o voi publica deocamdata,fiind in faza de contructie si oricum pentru a intelege trebuie sa cunoasteti notiunile din acest tutorial.Cuprins :1)TCP/IP2)Functionarea relatiei client-server3)IP4)Porturi5)SocketTCP/IPTCP/IP acesta este protocolul de comunicare pentru internet,asta inseamna caeste un set de reguli pe care computerele le respecta pentru a putea cumunicaintre ele.Protoculul de comunicare pe internet defineste regulile de comunicare acomputerului pe internet.Conectarea la internet presupune mai multe servicii ,accesate practic si controlatein acelasi timp de computer : Browserul,serviciul de email,adresa ta IP,si serverele.Browserele folosesc protocolul TCP/IP pentru a accesa serverele de pe internet ,iarserverele folosesc il folosesc la randul lor pentru a transmite hyper text markup languageinapoi browserului.Serviciul de email pentru a putea trimite si primi e-mailuri ,evident.Cum functioneaza :Pentru majoritatea internetul se rezuma la un click pe un browser,si atat,superficialitateaeste din ce in ce mai abundenta din pacate.Eu mi-am pus intotdeauna intrebari,acum sa vaexplic cum functioneaza totul.Browserul imparte URL'ul(Universal Resurce Locators) in trei parti.Ok, multihabar nu au ce e ala un URL,cred ca este doar o adresa pe care dai click,am safac un tutorial in care am sa ma dedic lor,am sa prezint scheme URL etc.Cele trei parti sunt :header Cod:spacer *protoculul -http(hyper text transfer protocol) *numele serverului -www.server.ceva *numele fisierului -fisier.htmlBrowserul comunica cu un nume de server,care transforma numele serverului intr-o adresa IP.Browserul formeaza o conexiune cu serverul web la acea adresa ip pe portul 80.Browserul analizeaza protocolul HTTP ,si trimite o cerere GET serverului,cerand fisierul.Serverul trimite textul HTML pentru pagina web catre browser.Browserul traduce tag'urileHTML si formateaza pagina.Ip'ul semnifica internet protocol sau controlul de transmisie al protocolului,acestadefineste conexiunea cat si conectarea intre computere.Pentru transmisia de date sunt altelayere,deci :header Cod:spacer * TCP -Transmission Control Protocol ,comunicare intre aplicatii; * UDP -User Datagram Protocol,comunicare simpla intre aplicatii; * UDP-Internet- Protocol comunicare intre computere; * ICMP -Internet Control Message Protocol ,pentru erori si statistici; * DHCP -Dynamic Host Configuration Protocol,pentru adresare dinaminca.UDP este foarte asemanator,sa trecem la IP,acesta nu ocupa nici o linie de conexiune,permitecomunicarea dintre multe computere simultan.Prin IP ,datele sunt impartite in pachete si sunttrimise prin internet computerelor.Un IP pachet trimis de un computer este primit de un IProuter,acesta se ocupa cu routarea pachetului.Aceste routere se asigura ca pachetele ajung ladestinatie si nu se pierd pe drum,se asigura astfel traficul in retea fara erori.TCP asigura conexiunea intre softuri si retea,iar IP asigura conexiunea intre computere.TCPimparte datele in pachete IP,inainte sa le trimita si apoi le asambleaza atunci candprimeste,acesta le trimite destinatarului.Orice interfata de retea are propria adresa de IP,astfel se diferentiaza interfateleintre ele.Memoria poate fi privita ca o succesiune de celule binare,fiecare celula fiind capabila sa retina o cifra binara ,adica 0 sau 1.Bitul reprezinta cantitatea de informatie ce poate fi inregistrata intr-o celula.Cantitatea de informatie stocata intr-o succesiune de 8 celule binare se numesteoctet.IPv4[/b/] o adresa de 32 biti,vazuti ca 4 numere de 8 biti sau 4 octeti.Exemplu :193.226.6.209=11000001 11100010 00000110 11010001IP'ul are doua parti :de retea si computerul local.Netmask'ul identifica care partedin IP reprezinta numarul retelei,si care parte reprezinta adresa gazdei.Exemplu :header Cod:spacer 193.226.6.209=11000001 11100010 00000110 11010001 || \/ |________________________| Partea locala Partea de reteaTCP utilizeaza o conexiune rigida,si este folosit pentru conexiuni intre aplicatii.Cand oaplicatie incearca sa stabiliasca o conexiune cu o alta aplicatie trimite o cerere deconexiune.Se formeaza o linie de conectare si este deschisa atata timp cat una din celedoua aplicatii nu o inchide.Fiecare retea IP are 2 adrese : o adresa a retelei-network adress,este utilizatapentru identificarea retelei.o adresa multitrimitere-brodcast adress,este o adresaspeciala pe care asculta toate dispozitivele din retea.PorturiUn computer utilizeaza pe langa adresa de IP si un numar de port.RFC 1700 definesteporturi pentru unele servicii des folosite: Telnet foloseste portul 23,FTP -21,SSH-22,HTTP-80 sau 8080 etc.SocketUn socket este o conexiune retea intre doua procese care pot fi executate fie pe acelasicomputer sau pe computere diferite.Un socket deschis are 4 parti si anume gazda si portulsursa,respectiv gazda si portul destinatie.Un socket inchis are doar portul si gazda sursa. Ok ,ne vedem in partea a 2-a pana atunci uitati luati de 4ici o varianta in format .PDF. Quote