Protocolul de internet tcp este responsabil. Ce este protocolul TCP-IP

Înțelegerea modului în care funcționează rețelele la un nivel de bază este foarte importantă pentru fiecare administrator de server sau webmaster. Acest lucru este necesar pentru a vă configura corect serviciile în rețea, precum și pentru a detecta cu ușurință posibilele probleme și pentru a rezolva problemele.

În acest articol, vom trece în revistă conceptele generale ale rețelelor de internet, vom discuta terminologia de bază, cele mai comune protocoale și caracteristicile și scopul fiecărui strat de rețele. Aici este adunată doar teorie, dar va fi utilă administratorilor începători și oricui este interesat.

Înainte de a discuta elementele de bază ale Internetului, trebuie să înțelegem câțiva termeni obișnuiți care sunt adesea folosiți de specialiști și găsiți în documentație:

  • Compus- în rețele, conexiune înseamnă capacitatea de a transfera date între dispozitive. Înainte de a începe transferul de date, trebuie să aibă loc o conexiune, ai cărei parametri sunt descriși de protocol;
  • Punga de plastic este principalul bloc structural de date din rețea. Toate datele sunt transmise sub formă de pachete, datele mari sunt împărțite în pachete mici de dimensiune fixă. Fiecare pachet are un antet care conține informații despre date, destinație, expeditor, linie de viață a pachetului, ora trimiterii etc.;
  • Interfata retea este un dispozitiv fizic sau virtual care permite unui computer să se conecteze la o rețea. Dacă aveți două plăci de rețea pe computer, atunci puteți configura interfața de rețea pentru fiecare dintre ele. De asemenea, interfața de rețea poate fi virtuală, de exemplu, interfața locală lo;
  • LAN- aceasta este rețeaua dvs. locală, doar computerele dvs. sunt conectate la ea și nimeni altcineva nu are acces la ea. Aceasta ar putea fi rețeaua dvs. de acasă sau de birou;
  • WAN- aceasta este rețeaua globală de Internet, de obicei acest termen este folosit pentru a se referi la întreaga rețea de Internet, acest termen se poate referi și la o interfață de rețea;
  • Protocol- un set de reguli și standarde care definesc comenzile și metoda de comunicare între dispozitive. Există multe protocoale și le vom analiza mai jos. Cele mai populare dintre ele sunt TCP, UDP, IP și ICMP, există și protocoale Internet de nivel superior, de exemplu, HTTP și FTP;
  • Port este o adresă de pe computer care este asociată cu un anumit program. Aceasta nu este o interfață de rețea sau o locație. Folosind porturi, programele pot comunica între ele;
  • Firewall este un software care monitorizează toate pachetele de rețea care trec printr-un computer. Pachetele de trecere sunt procesate pe baza regulilor create de utilizator. Un firewall poate, de asemenea, închide anumite porturi pentru a face computerul mai sigur;
  • NAT este un serviciu de traducere a adreselor de rețea între rețelele locale și globale. Numărul de adrese de rețea libere în rețea este în scădere, așa că este necesar să se găsească o soluție, iar soluția a fost crearea de rețele locale, unde mai multe computere pot avea o singură adresă IP. Toate pachetele ajung la router și apoi le distribuie între computere folosind NAT.
  • VPN este o rețea privată virtuală care poate fi utilizată pentru a conecta mai multe rețele locale prin Internet. Folosit în majoritatea cazurilor în scopuri de securitate.

Puteți găsi mult mai mulți termeni, dar aici am enumerat toți cei de bază pe care îi veți vedea cel mai des.

Straturile de rețea și modelul OSI

De obicei, rețelele sunt discutate într-un plan orizontal, sunt luate în considerare protocoalele și aplicațiile Internet de nivel superior. Dar pentru a stabili conexiuni între două computere, sunt folosite multe straturi verticale și niveluri de abstractizare. Aceasta înseamnă că există mai multe protocoale care funcționează unul peste altul pentru a implementa o conexiune la rețea. Fiecare strat ulterior, superior, extrage datele transmise și facilitează înțelegerea stratului următor și, în cele din urmă, a aplicației.

Există șapte niveluri sau straturi de rețea. Straturile inferioare vor diferi în funcție de hardware-ul pe care îl utilizați, dar datele vor fi transferate la fel și vor avea același aspect. Datele sunt întotdeauna transferate către cealaltă mașină la cel mai de jos nivel. Pe un alt computer, datele trec prin toate straturile în ordine inversă. La fiecare dintre straturi, la date sunt adăugate propriile informații, ceea ce vă va ajuta să înțelegeți ce să faceți cu acest pachet pe computerul de la distanță.

Modelul OSI

Din punct de vedere istoric, când vine vorba de straturi de rețea, se folosește modelul OSI sau Open Systems Interconnect. Ea identifică șapte niveluri:

  • Strat de aplicație- cel mai înalt nivel, reprezintă munca utilizatorului și a aplicațiilor cu rețeaua.Utilizatorii pur și simplu transferă date și nu se gândesc la modul în care acestea vor fi transferate;
  • Stratul de prezentare- datele sunt convertite într-un format de nivel inferior pentru a fi ceea ce programele așteaptă să fie primite;
  • Nivel de sesiune- la acest nivel sunt procesate conexiuni intre calculatoarele aflate la distanta care vor transmite date;
  • Stratul de transport- la acest nivel se organizeaza transferul de date fiabil intre calculatoare, precum si verificarea primirii de catre ambele dispozitive;
  • Stratul de rețea- folosit pentru a controla rutarea datelor în rețea până când acestea ajung la nodul țintă. La acest nivel, pachetele pot fi împărțite în bucăți mai mici pentru a fi reasamblate de către destinatar;
  • Nivel de conexiune- răspunde de metoda de stabilire a conexiunii între calculatoare și menținerea fiabilității acesteia folosind dispozitivele și echipamentele fizice existente;
  • Strat fizic- responsabil de prelucrarea datelor de către dispozitivele fizice, include software care gestionează conexiunea la nivel fizic, de exemplu, Ethernet sau Wifi.

După cum puteți vedea, înainte ca datele să ajungă la hardware, acestea trebuie să treacă prin mai multe straturi.

Model de protocol TCP/IP

Modelul TCP/IP, cunoscut și ca setul de protocoale Internet de bază, ne permite să ne gândim la straturile unei rețele într-un mod mai simplu. Există doar patru niveluri și ele repetă nivelurile OSI:

  • Aplicații- în acest model, stratul de aplicație este responsabil pentru conectarea și transferul de date între utilizatori. Aplicațiile pot fi pe sisteme la distanță, dar funcționează ca și cum ar fi pe sistemul local;
  • Transport- stratul de transport este responsabil pentru comunicarea dintre procese; aici porturile sunt folosite pentru a determina ce aplicație trebuie să transfere date și ce protocol să folosească;
  • Internet- la acest nivel, datele sunt transmise de la nod la nod prin Internet. Aici sunt cunoscute punctele finale ale conexiunii, dar comunicarea directă nu este implementată. Tot la acest nivel se determină adrese IP;
  • Compus- acest strat implementează conexiunea la nivelul fizic, ceea ce permite dispozitivelor să transfere date între ele, indiferent de tehnologiile utilizate.

Acest model este mai puțin abstract, dar îmi place mai mult și este mai ușor de înțeles deoarece este legat de operațiunile tehnice efectuate de programe. Folosind fiecare dintre aceste modele, puteți ghici cum funcționează de fapt rețeaua. De fapt, există date care sunt împachetate folosind mai multe protocoale înainte de a fi transmise, transmise prin rețea prin mai multe noduri și apoi despachetate în ordine inversă de către destinatar. Este posibil ca aplicațiile finale să nu știe nici măcar că datele au trecut prin rețea; pentru ei, totul poate părea ca și cum schimbul a fost efectuat pe mașina locală.

Protocoale Internet de bază

După cum am mai spus. Rețeaua se bazează pe utilizarea mai multor protocoale care funcționează unul peste altul. Să ne uităm la principalele protocoale de rețea de Internet pe care le veți întâlni adesea și să încercăm să înțelegeți diferența dintre ele.

  • MAC sau (Control acces media) este un protocol de nivel scăzut care este utilizat pentru a identifica dispozitivele dintr-o rețea locală. Fiecare dispozitiv conectat la rețea are o adresă MAC unică setată de producător. În rețelele locale și toate datele părăsesc rețeaua locală și intră în rețeaua locală înainte de a ajunge la destinatar, adresele MAC fizice sunt folosite pentru a identifica dispozitivele. Acesta este unul dintre puținele protocoale de nivel de conexiune pe care le întâlniți destul de des.
  • IP (Internet Protocol)- situat cu un nivel mai sus, in spatele MAC-ului. Acesta este responsabil pentru determinarea adreselor IP, care vor fi unice pentru fiecare dispozitiv și vor permite computerelor să se găsească reciproc în rețea. Acesta aparține stratului de rețea al modelului TCP/IP. Rețelele pot fi conectate între ele în structuri complexe; folosind acest protocol, computerele pot determina mai multe căi posibile către un dispozitiv țintă, iar aceste căi se pot schimba în timpul funcționării. Există mai multe implementări ale protocolului, dar cele mai populare astăzi sunt IPv4 și IPv6.
  • ICMP (Internet control message protocol)- folosit pentru a face schimb de mesaje între dispozitive. Acestea pot fi mesaje de eroare sau mesaje informative, dar nu sunt destinate transmiterii de date. Astfel de pachete sunt utilizate în instrumente de diagnosticare precum ping și traceroute. Acest protocol este superior protocolului IP;
  • TCP (Protocol de control al transmisiei) este un alt protocol de bază de rețea care este la același nivel cu ICMP. Sarcina sa este de a gestiona transferul de date. Rețelele sunt nesigure. Datorită numărului mare de căi, pachetele pot ajunge în neregulă sau chiar se pot pierde. TCP asigură că pachetele sunt primite în ordinea corectă și permite, de asemenea, corectarea erorilor de transmisie a pachetelor. Informațiile sunt aduse în ordinea corectă și apoi transmise aplicației. Înainte ca datele să fie transferate, se creează o conexiune folosind așa-numitul algoritm de strângere de mână triplă. Presupune trimiterea unei cereri și confirmarea deschiderii unei conexiuni de către două computere. Multe aplicații folosesc TCP, cum ar fi SSH, WWW, FTP și multe altele.
  • UDP (protocol de datagramă utilizator) este un protocol popular similar cu TCP, care operează și la nivelul de transport. Diferența dintre ele este că folosesc transmisii de date nesigure. Datele nu sunt verificate la primire, aceasta poate părea o idee proastă, dar în multe cazuri este suficient. Deoarece sunt mai puține pachete de trimis, UDP este mai rapid decât TCP. Deoarece nu este nevoie să stabiliți o conexiune, acest protocol poate fi utilizat pentru a trimite pachete către mai multe mașini sau telefonie IP simultan.
  • HTTP (protocol de transfer hipertext) este un protocol la nivel de aplicație care stă la baza funcționării tuturor site-urilor de internet. HTTP vă permite să solicitați anumite resurse de la un sistem la distanță, cum ar fi pagini web și fișiere;
  • FTP (protocol de transfer de fișiere) este un protocol de transfer de fișiere. Funcționează la nivel de aplicație și permite transferul de fișiere de la un computer la altul. FTP nu este securizat, așa că nu este recomandat să îl utilizați pentru datele personale;
  • DNS (sistem de nume de domeniu)- un protocol de același nivel folosit pentru a converti adrese clare și ușor de citit în adrese IP complexe, greu de reținut și invers. Datorită acesteia, putem accesa site-ul după numele său de domeniu;
  • SSH (shell securizat)- protocol la nivel de aplicație implementat pentru a asigura controlul de la distanță al sistemului printr-un canal securizat. Multe tehnologii suplimentare folosesc acest protocol pentru munca lor.

Există mult mai multe protocoale, dar am acoperit doar protocoalele de rețea care contează cel mai mult. Acest lucru vă va oferi o înțelegere generală a modului în care funcționează rețeaua și Internetul în general.

concluzii

În acest articol, am analizat elementele de bază ale rețelelor și protocoalele care sunt utilizate pentru a-și organiza munca. Desigur, acest lucru nu este suficient pentru a înțelege totul, dar acum ai o anumită bază și știi cum interacționează diferitele componente între ele. Acest lucru vă va ajuta să înțelegeți alte articole și documentație. Dacă sunteți serios interesat de elementele de bază ale internetului, atunci câteva articole nu vor fi suficiente. Ai nevoie de o carte. Acordați atenție camerei D. Rețelele TCP/IP. Principii, protocoale și structură. L-am citit la un moment dat și mi-a plăcut foarte mult.

Pentru a încheia videoclipul despre modelul OSI:

UNIX, care a contribuit la popularitatea tot mai mare a protocolului, deoarece producătorii au inclus TCP/IP în setul de software al fiecărui computer UNIX. TCP/IP își găsește maparea în modelul de referință OSI, așa cum se arată în Figura 3.1.

Puteți vedea că TCP/IP este situat la straturile trei și patru ale modelului OSI. Scopul este de a lăsa tehnologia LAN în seama dezvoltatorilor. Scopul TCP/IP este transmiterea mesajuluiîn rețele locale de orice tip și stabilirea comunicării folosind orice aplicație de rețea.

Protocolul TCP/IP funcționează prin cuplarea la modelul OSI la cele două straturi cele mai inferioare ale sale - stratul de date și stratul fizic. Acest lucru permite TCP/IP să funcționeze bine cu aproape orice tehnologie de rețea și, prin urmare, cu orice platformă de computer. TCP/IP include patru straturi abstracte, enumerate mai jos.


Orez. 3.1.

  • Interfata retea. Permite TCP/IP să interacționeze activ cu toate tehnologiile moderne de rețea bazate pe modelul OSI.
  • Internetwork. Definește modul în care IP controlează redirecționarea mesajelor prin routerele unui spațiu de rețea, cum ar fi Internetul.
  • Transport. Definește un mecanism de schimb de informații între computere.
  • Aplicat. Specifică aplicațiile de rețea pentru efectuarea de sarcini, cum ar fi redirecționarea, e-mailul și altele.

Datorită utilizării pe scară largă, TCP/IP a devenit de facto standardul de internet. Calculatorul pe care este implementat tehnologie de rețea, bazat pe modelul OSI (Ethernet sau Token Ring), are capacitatea de a comunica cu alte dispozitive. În „Noțiuni fundamentale de rețea” ne-am uitat la straturile 1 și 2 când discutăm despre tehnologiile LAN. Acum vom trece la stiva OSI și vom vedea cum comunică un computer prin Internet sau o rețea privată. Această secțiune discută protocolul TCP/IP și configurațiile acestuia.

Ce este TCP/IP

Faptul că computerele pot comunica între ele este în sine un miracol. La urma urmei, acestea sunt computere de la diferiți producători, care lucrează cu sisteme de operare și protocoale diferite. Fără un fel de bază comună, astfel de dispozitive nu ar putea face schimb de informații. Atunci când sunt trimise printr-o rețea, datele trebuie să fie într-un format care să fie ușor de înțeles atât pentru dispozitivul expeditor, cât și pentru dispozitivul receptor.

TCP/IP satisface această condiție prin stratul său de interconectare. Acest strat se potrivește direct cu stratul de rețea al modelului de referință OSI și se bazează pe un format de mesaj fix numit datagramă IP. O datagrama este ceva asemănător unui coș în care sunt plasate toate informațiile unui mesaj. De exemplu, atunci când încărcați o pagină web într-un browser, ceea ce vedeți pe ecran este livrat fragmentat prin datagramă.

Este ușor să confundați datagramele cu pachetele. O datagramă este o unitate de informație, în timp ce un pachet este un obiect de mesaj fizic (creat la al treilea și cel mai înalt nivel) care este de fapt trimis prin rețea. Deși unii consideră acești termeni interschimbabili, distincția lor contează de fapt într-un context specific - nu aici, desigur. Este important să înțelegeți că mesajul este rupt în fragmente, transmis prin rețea și reasamblat la dispozitivul de recepție.


Lucrul pozitiv la această abordare este că, dacă un singur pachet este corupt în timpul transmisiei, atunci va trebui retransmis doar acel pachet, nu întregul mesaj. Un alt aspect pozitiv este că nicio gazdă nu trebuie să aștepte o perioadă nedeterminată de timp pentru ca transmisia altei gazde să se termine înainte de a-și trimite propriul mesaj.

TCP și UDP

La trimiterea unui mesaj IP printr-o rețea, se folosește unul dintre protocoalele de transport: TCP sau UDP. TCP (Transmission Control Protocol) reprezintă prima jumătate a acronimului TCP/IP. Protocolul UDP (User Datagram Protocol) este utilizat în loc de TCP pentru a transporta mesaje mai puțin importante. Ambele protocoale sunt utilizate pentru schimbul corect de mesaje în rețelele TCP/IP. Există o diferență semnificativă între aceste protocoale.

TCP este numit un protocol de încredere deoarece comunică cu destinatarul pentru a verifica dacă mesajul a fost primit.

UDP este numit un protocol nesigur, deoarece nici măcar nu încearcă să contacteze destinatarul pentru a verifica livrarea.


Este important să rețineți că un singur protocol poate fi utilizat pentru a livra un mesaj. De exemplu, atunci când o pagină web este încărcată, livrarea pachetelor este controlată de TCP fără nicio intervenție UDP. Pe de altă parte, Trivial File Transfer Protocol (TFTP) descarcă sau trimite mesaje sub controlul protocolului UDP.

Metoda de transport folosită depinde de aplicație - poate fi e-mail, HTTP, o aplicație de rețea și așa mai departe. Dezvoltatorii de rețea folosesc UDP ori de câte ori este posibil, deoarece reduce traficul general. Protocolul TCP face mai mult efort pentru a garanta livrarea și transmite mult mai multe pachete decât UDP. Figura 3.2 oferă o listă de aplicații de rețea și arată care aplicații folosesc TCP și care folosesc UDP. De exemplu, FTP și TFTP fac în esență același lucru. Cu toate acestea, TFTP este folosit în principal pentru descărcarea și copierea programelor dispozitivelor din rețea. TFTP poate folosi UDP deoarece dacă mesajul nu reușește să fie livrat, nu se întâmplă nimic rău pentru că mesajul nu a fost destinat utilizatorului final, ci administratorului de rețea, al cărui nivel de prioritate este mult mai scăzut. Un alt exemplu este o sesiune video vocală, în care pot fi utilizate porturi atât pentru sesiunile TCP, cât și pentru sesiunile UDP. Astfel, o sesiune TCP este inițiată pentru a face schimb de date atunci când se stabilește o conexiune telefonică, în timp ce conversația telefonică în sine este transmisă prin UDP. Acest lucru se datorează vitezei de streaming voce și video. Dacă un pachet este pierdut, nu are rost să-l retrimitem, deoarece nu se va mai potrivi cu fluxul de date.


Orez. 3.2.
Format de datagramă IP

Pachetele IP pot fi împărțite în datagrame. Formatul de datagramă creează câmpuri pentru încărcarea utilă și pentru datele de control al transmiterii mesajelor. Figura 3.3 prezintă diagrama datagramei.

Notă. Nu vă lăsați păcăliți de dimensiunea câmpului de date dintr-o datagramă. Datagrama nu este supraîncărcată cu date suplimentare. Câmpul de date este de fapt cel mai mare câmp din datagramă.


Orez. 3.3.

Este important să rețineți că pachetele IP pot avea lungimi diferite. În „Networking Fundamentals” se spunea că pachetele de informații dintr-o rețea Ethernet variază în dimensiune de la 64 la 1400 de octeți. În rețeaua Token Ring lungimea lor este de 4000 de octeți, în rețeaua ATM - 53 de octeți.

Notă. Utilizarea octeților într-o datagramă poate fi confuză, deoarece transferul de date este adesea asociat cu concepte precum megabiți și gigabiți pe secundă. Cu toate acestea, deoarece computerele preferă să lucreze cu octeți de date, datagramele folosesc și octeți.

Dacă vă uitați din nou la formatul datagramei din Figura 3.3, veți observa că marginile din stânga sunt o valoare constantă. Acest lucru se întâmplă deoarece procesorul care procesează pachetele trebuie să știe unde începe fiecare câmp. Fără standardizarea acestor câmpuri, biții finali vor fi un amestec de unu și zero. În partea dreaptă a datagramei sunt pachete de lungime variabilă. Scopul diferitelor câmpuri dintr-o datagramă este următorul.

  • VER. Versiunea protocolului IP folosită de stația unde a apărut mesajul original. Versiunea actuală de IP este versiunea 4. Acest câmp asigură că există versiuni diferite simultan în spațiul Internet.
  • HLEN. Câmpul informează dispozitivul de recepție cu privire la lungimea antetului, astfel încât CPU să știe unde începe câmpul de date.
  • Tipul serviciului. Cod care spune routerului tipul de control al pachetelor din punct de vedere al nivelului de serviciu (fiabilitate, prioritate, amânare etc.).
  • Lungime. Numărul total de octeți din pachet, inclusiv câmpurile antet și câmpurile de date.
  • ID, fragmente și fragmente offset. Aceste câmpuri îi spun routerului cum să fragmenteze și să reasamblați pachetul și cum să compenseze diferențele de dimensiune a cadrului care pot apărea pe măsură ce pachetul traversează segmente LAN cu diferite tehnologii de rețea (Ethernet, FDDI etc.).
  • TTL. O abreviere pentru Time to Live este un număr care scade cu unul de fiecare dată când este trimis un pachet. Dacă durata de viață devine zero, pachetul încetează să mai existe. TTL împiedică buclele și pachetele pierdute să rătăcească la nesfârșit pe Internet.
  • Protocol. Protocolul de transport de utilizat pentru a transmite pachetul. Cel mai comun protocol specificat în acest câmp este TCP, dar pot fi utilizate alte protocoale.
  • Sumă de control antet. O sumă de control este un număr care este utilizat pentru a verifica integritatea unui mesaj. Dacă sumele de control ale tuturor pachetelor de mesaje nu se potrivesc cu valoarea corectă, atunci mesajul a fost corupt.
  • Adresă IP sursă. Adresa pe 32 de biți a gazdei care a trimis mesajul (de obicei, un computer personal sau un server).
  • Destinatia adresei IP. Adresa pe 32 de biți a gazdei către care a fost trimis mesajul (de obicei, un computer personal sau un server).
  • Opțiuni IP. Folosit pentru testarea rețelei sau în alte scopuri speciale.
  • Captuseala. Completează toate pozițiile de biți neutilizate (goale), astfel încât procesorul să poată determina corect poziția primului bit în câmpul de date.
  • Date. Sarcina utilă a mesajului trimis. De exemplu, câmpul de date pachet poate conține textul unui e-mail.

După cum am menționat mai devreme, pachetul constă din două componente principale: date despre procesarea mesajelor, situate în antet, și informațiile în sine. Partea de informații este situată în sectorul sarcinii utile. Vă puteți imagina acest sector ca compartimentul de marfă al unei nave spațiale. Antetul sunt toate computerele de bord ale navetei din cabina de control. Gestionează toate informațiile necesare diferitelor routere și computere de-a lungul căii mesajului și este folosit pentru a menține o anumită ordine în asamblarea mesajului din pachetele individuale.

Protocolul TCP/IP (Protocolul de control al transmisiei/Protocolul Internet) este o stivă de protocoale de rețea folosită în mod obișnuit pentru Internet și alte rețele similare (de exemplu, acest protocol este folosit și în rețelele LAN). Numele TCP/IP provine de la cele mai importante două protocoale:

  • IP (Internet Protocol) - este responsabil pentru transmiterea unui pachet de date de la nod la nod. IP redirecționează fiecare pachet pe baza unei adrese de destinație de patru octeți (adresă IP).
  • TCP (Transmission Control Protocol) - este responsabil pentru verificarea livrării corecte a datelor de la client către server. Datele se pot pierde în rețeaua intermediară. TCP a adăugat capacitatea de a detecta erori sau date pierdute și, ca urmare, capacitatea de a solicita retransmiterea până când datele sunt recepționate corect și complet.

Principalele caracteristici ale TCP/IP:

  • Protocoale standardizate de nivel înalt utilizate pentru serviciile utilizatorilor binecunoscute.
  • Sunt utilizate standarde de protocol deschis, ceea ce face posibilă dezvoltarea și rafinarea standardelor indiferent de software și hardware;
  • Sistem unic de adresare;
  • Independență față de canalul de comunicare fizic utilizat;

Principiul de funcționare al stivei de protocol TCP/IP este același ca și în modelul OSI; datele din straturile superioare sunt încapsulate în pachete din straturile inferioare.

Dacă un pachet trece prin nivel de sus în jos, la fiecare nivel se adaugă la pachet informații de serviciu sub forma unui antet și eventual a unui trailer (informație plasată la sfârșitul mesajului). Acest proces se numește. Informațiile de serviciu sunt destinate unui obiect de același nivel pe un computer la distanță. Formatul și interpretarea acestuia sunt determinate de protocoalele acestui strat.

Dacă un pachet trece prin strat de jos în sus, acesta este împărțit în antet și date. Antetul pachetului este analizat, informațiile de serviciu sunt extrase și, în conformitate cu aceasta, datele sunt redirecționate către unul dintre obiectele de nivel superior. Nivelul superior, la rândul său, analizează aceste date și, de asemenea, le împarte în antet și date, apoi antetul este analizat și informațiile de serviciu și datele sunt alocate pentru nivelul superior. Procedura se repetă din nou până când datele utilizatorului, eliberate de toate informațiile de serviciu, ajung la nivelul aplicației.

Este posibil ca pachetul să nu ajungă niciodată la nivelul aplicației. În special, dacă un computer funcționează ca o stație intermediară pe calea dintre emițător și destinatar, atunci un obiect la nivelul corespunzător, la analiza informațiilor de serviciu, va determina că pachetul de la acest nivel nu îi este adresat, ca un rezultat din care obiectul va lua măsurile necesare pentru redirecționarea pachetului către destinație sau returnat expeditorului cu un mesaj de eroare. Dar într-un fel sau altul nu va promova datele la nivelul superior.

Un exemplu de încapsulare poate fi reprezentat după cum urmează:

Să ne uităm la fiecare funcție de nivel

Strat de aplicație

Aplicațiile care rulează stiva TCP/IP pot îndeplini, de asemenea, funcțiile stratului de prezentare și o parte a stratului de sesiune al modelului OSI.

Exemple comune de aplicații sunt programele:

  • Telnet
  • HTTP
  • Protocoale de e-mail (SMTP, POP3)

Pentru a trimite date către o altă aplicație, aplicația accesează unul sau altul modul al modulului de transport.

Stratul de transport

Protocoalele stratului de transport asigură livrarea transparentă a datelor între două procese de aplicație. Un proces care primește sau trimite date este identificat la nivelul de transport printr-un număr numit număr de port.

Astfel, rolul adresei sursă și destinație la nivelul transportului este îndeplinit de numărul portului. Analizând antetul pachetului său primit de la stratul de internetwork, modulul de transport determină prin numărul portului destinatar către care dintre procesele de aplicație sunt trimise datele și transmite aceste date către procesul de aplicație corespunzător.

Numerele portului destinatarului și expeditorului sunt scrise în antet de către modulul de transport care trimite datele. Antetul stratului de transport conține și alte informații generale, iar formatul antetului depinde de protocolul de transport utilizat.

Instrumentele stratului de transport sunt o suprastructură funcțională peste stratul de rețea și rezolvă două probleme principale:

  • asigurarea livrării datelor între programe specifice care funcționează, în general, pe diferite noduri de rețea;
  • asigurând livrarea garantată a matricelor de date de dimensiuni arbitrare.

În prezent, pe Internet sunt utilizate două protocoale de transport - UDP, care asigură livrarea negarantată a datelor între programe, și TCP, care asigură livrarea garantată cu stabilirea unei conexiuni virtuale.

Nivel de rețea (internet).

Protocolul principal la acest nivel este protocolul IP, care furnizează blocuri de date (datagrame) de la o adresă IP la alta. O adresă IP este un identificator unic de 32 de biți al unui computer sau, mai precis, interfața de rețea a acestuia. Datele pentru datagramă sunt transmise către modulul IP de către stratul de transport. Modulul IP adaugă la aceste date un antet care conține adresa IP a expeditorului și destinatarului și alte informații despre servicii.

Astfel, datagrama generată este transferată la nivelul de acces media pentru a fi trimisă prin legătura de date.

Nu toate computerele pot comunica direct între ele; de ​​multe ori, pentru a transmite o datagramă la destinație, este necesar să o direcționați printr-unul sau mai multe computere intermediare de-a lungul unei anumite rute. Sarcina de a determina traseul pentru fiecare datagramă este rezolvată de protocolul IP.

Când un modul IP primește o datagramă de la un nivel inferior, verifică adresa IP de destinație; dacă datagrama este adresată unui anumit computer, atunci datele de la acesta sunt transferate pentru procesare la un modul de nivel superior, dar dacă adresa de destinație datagramei este străină, atunci modulul IP poate lua două decizii:

  • Distruge datagrama;
  • Trimiteți-l mai departe la destinație, după ce a determinat ruta, asta fac stațiile intermediare - routere.

De asemenea, poate fi necesar la marginea rețelelor, cu caracteristici diferite, să spargeți datagrama în fragmente și apoi să le asamblați într-un singur întreg pe computerul destinatarului. Aceasta este, de asemenea, sarcina protocolului IP.

Protocolul IP poate trimite și mesaje de notificare folosind protocolul ICMP, de exemplu, în cazul distrugerii unei datagrame. Nu mai există mijloace de monitorizare a corectitudinii datelor, de confirmare sau de livrare, nu există o conexiune preliminară în protocol; aceste sarcini sunt atribuite stratului de transport.

Nivel de acces media

Funcțiile acestui nivel sunt următoarele:

  • Maparea adreselor IP la adresele de rețea fizice. Această funcție este realizată de protocolul ARP;
  • Încapsulează datagramele IP în cadre pentru transmisie printr-o legătură fizică și extrage datagramele din cadre fără a necesita niciun control de transmisie fără erori, deoarece în stiva TCP/IP un astfel de control este atribuit stratului de transport sau aplicației în sine. Antetul cadrului indică punctul de acces la serviciul SAP; acest câmp conține codul de protocol;
  • Determinarea metodei de acces la mediul de transmisie, i.e. modul în care computerele își stabilesc dreptul de a transmite date;
  • Definirea reprezentării datelor în mediul fizic;
  • Redirecționarea și primirea cadrelor.

Sa luam in considerare încapsulare folosind exemplul de interceptare a unui pachet de protocol HTTP folosind sniffer-ul wireshark, care operează la nivelul de aplicație al protocolului TCP/IP:


În plus față de protocolul HTTP interceptat în sine, sniffer-ul descrie fiecare strat subiacent pe baza stivei TCP/IP. HTTP este încapsulat în TCP, TCP în IPv4, IPv4 în Ethernet II.

Principii de lucru Protocoale Internet TCP/IPîn esență, sunt foarte simple și seamănă foarte mult cu munca serviciului nostru poștal sovietic.

Amintiți-vă cum funcționează poșta noastră obișnuită. Mai întâi, scrii o scrisoare pe o bucată de hârtie, apoi o pui într-un plic, o sigilezi, scrii adresele expeditorului și destinatarului pe spatele plicului, apoi o duci la cel mai apropiat oficiu poștal. În continuare, scrisoarea trece printr-un lanț de oficii poștale către cel mai apropiat oficiu poștal al destinatarului, de unde este predată de poștaș la adresa specificată a destinatarului și aruncată în cutia poștală a acestuia (cu numărul apartamentului său) sau predată personal. Gata, scrisoarea a ajuns la destinatar. Când destinatarul scrisorii dorește să vă răspundă, va schimba adresele destinatarului și ale expeditorului în scrisoarea sa de răspuns, iar scrisoarea vă va fi trimisă de-a lungul aceluiași lanț, dar în sens invers.

Plicul scrisorii va citi cam așa:

Adresa expeditorului:
De la: Ivanov Ivan Ivanovici
De la: Ivanteevka, st. Bolshaya, 8, ap. 25

Adresa destinatarului:
Către: Petrov Petr Petrovici
Unde: Moscova, strada Usachevsky, 105, ap. 110

Acum suntem gata să luăm în considerare interacțiunea computerelor și aplicațiilor de pe Internet ( și în rețeaua locală). Vă rugăm să rețineți că analogia cu poșta obișnuită va fi aproape completă.

Fiecare computer ( alias: nod, gazdă) în cadrul Internetului are și o adresă unică, care este numită adresa IP (Adresă de protocol Internet), de exemplu: 195.34.32.116. O adresă IP constă din patru numere zecimale ( de la 0 la 255), separate printr-un punct. Dar să știi doar adresa IP a computerului nu este suficient, pentru că... În cele din urmă, nu computerele în sine fac schimb de informații, ci aplicațiile care rulează pe ele. Și mai multe aplicații pot rula simultan pe un computer ( de exemplu server de mail, server web etc.). Pentru a livra o scrisoare obișnuită pe hârtie, nu este suficient să știi doar adresa casei - trebuie să știi și numărul apartamentului. De asemenea, fiecare aplicație software are un număr similar numit număr de port. Majoritatea aplicațiilor de server au numere standard, de exemplu: serviciul de e-mail este legat de portul numărul 25 (se mai spune: „ascultă” portul, primește mesaje pe el), serviciu web legat de portul 80, FTP- la portul 21 și așa mai departe.

Astfel, avem următoarea analogie aproape completă cu adresa noastră poștală obișnuită:

„adresă de domiciliu” = „IP computer”
„apartment number” = „numărul portului”

În rețelele de calculatoare care funcționează folosind protocoale TCP/IP, un analog al unei scrisori de hârtie într-un plic este un pachet care conține datele reale transmise și informații despre adresă - adresa expeditorului și adresa destinatarului, de exemplu:

Adresă sursă: IP: 82.146.49.55 Port: 2049 Adresă destinație: IP: 195.34.32.116 Port: 53 Pachete de date: ...

Desigur, pachetele conțin și informații despre service, dar acest lucru nu este important pentru înțelegerea esenței.

Vă rugăm să rețineți că combinația: „adresă IP și număr de port” se numește „ priză«.

În exemplul nostru, trimitem un pachet de la socket-ul 82.146.49.55:2049 la socket-ul 195.34.32.116:53, adică. pachetul va merge la un computer cu o adresă IP de 195.34.32.116, la portul 53. Iar portul 53 corespunde unui server de recunoaștere a numelui (server DNS), care va primi acest pachet. Cunoscând adresa expeditorului, acest server va putea, după procesarea cererii noastre, să genereze un pachet de răspuns care va merge în sens opus socket-ului expeditorului 82.146.49.55:2049, care pentru serverul DNS va fi socket-ul destinatarului.

De regulă, interacțiunea se realizează în conformitate cu „to client server„: „clientul” solicită unele informații (de exemplu, o pagină de site), serverul acceptă cererea, o procesează și trimite rezultatul. Numerele de porturi ale aplicațiilor server sunt bine cunoscute, de exemplu: serverul de e-mail SMTP ascultă pe portul 25, serverul POP3 care citește e-mailurile din cutiile tale poștale ascultă pe portul 110, serverul web ascultă pe portul 80 etc.

Majoritatea programelor de pe un computer de acasă sunt clienți - de exemplu, clientul de e-mail Outlook, IE, browserele web FireFox etc.

Numerele porturilor de pe client nu sunt fixe ca cele de pe server, ci sunt atribuite dinamic de sistemul de operare. Porturile de server fixe au de obicei numere de până la 1024(dar există excepții), iar cele client încep după 1024.

Repetiția este mama predării: IP este adresa unui computer (nod, gazdă) din rețea, iar portul este numărul unei anumite aplicații care rulează pe acest computer.

Cu toate acestea, este dificil pentru o persoană să-și amintească adresele IP digitale - este mult mai convenabil să lucrezi cu nume alfabetice. La urma urmei, este mult mai ușor să-ți amintești un cuvânt decât un set de numere. Acest lucru se face - orice adresă IP digitală poate fi asociată cu un nume alfanumeric. Ca rezultat, de exemplu, în loc de 23.45.67.89, puteți folosi numele. Și serviciul de nume de domeniu este responsabil pentru conversia unui nume de domeniu într-o adresă IP digitală - DNS(Numele domeniului).

Să aruncăm o privire mai atentă la modul în care funcționează. Furnizorul dvs. explicit (pe o bucată de hârtie, pentru configurarea manuală a conexiunii) sau implicit (prin configurarea automată a conexiunii) vă furnizează adresa IP a serverului de nume ( DNS). Pe un computer cu această adresă IP rulează o aplicație (server de nume) care cunoaște toate numele de domenii de pe Internet și adresele IP digitale corespunzătoare. Serverul DNS „ascultă” portul 53, acceptă solicitări către acesta și emite răspunsuri, de exemplu:

Solicitare de la computerul nostru: „Ce adresă IP corespunde numelui www.site.com?”
Răspuns server: „23.45.67.89.”

Acum să ne uităm la ce se întâmplă când introduci în browser nume de domeniu (URL) acest site (www.site.com) și, făcând clic, ca răspuns de la serverul web primiți o pagină a acestui site.

De exemplu:

Adresa IP a computerului nostru: 91.76.65.216
Browser: Internet Explorer (IE),
Server DNS (stream): 195.34.32.116 (al tău poate fi diferit), Pagina pe care dorim să o deschidem: www.site.com.

Introduceți numele domeniului www.ofnet.ru în bara de adrese a browserului dvs. și faceți clic. Apoi, sistemul de operare efectuează aproximativ următoarele acțiuni:

O cerere (mai precis, un pachet cu o cerere) este trimisă către serverul DNS pe socket-ul 195.34.32.116:53. După cum sa discutat mai sus, portul 53 corespunde serverului DNS- o aplicație care recunoaște nume. Și serverul DNS, după ce a procesat cererea noastră, returnează adresa IP care se potrivește cu numele introdus.

Dialogul sună cam așa:

— Ce adresă IP corespunde numelui www.site.com?
— 23.45.67.89.

În continuare, computerul nostru stabilește o conexiune la portul 80 al computerului 82.146.49.55 și trimite o cerere (pachet de solicitare) pentru a primi pagina www.ofnet.ru. Portul 80 corespunde serverului web. Portul 80 nu este de obicei scris în bara de adrese a browserului, deoarece... este folosit în mod implicit, dar poate fi specificat explicit după două puncte - http://www.site.com:80.

După ce a primit o solicitare de la noi, serverul web o procesează și ne trimite o pagină în mai multe pachete în HTML - un limbaj de markup text pe care browserul îl înțelege.

Browserul nostru, după ce a primit pagina, o afișează. Drept urmare, vedem pe ecran pagina principală a acestui site.

De ce trebuie să înțelegem aceste principii?

De exemplu, ați observat un comportament ciudat al computerului dvs. - activitate ciudată în rețea, încetiniri etc. Ce să faceți? Deschideți consola (faceți clic pe butonul „Start” - „Run” - tastați cmd - „Ok”). În consolă, tastați comanda netstat -an și faceți clic. Acest utilitar va afișa o listă de conexiuni stabilite între prizele computerului nostru și prizele gazdelor de la distanță. Dacă vedem niște adrese IP străine în coloana „Adresă externă” și al 25-lea port după două puncte, ce ar putea însemna asta? (Îți amintești că portul 25 corespunde serverului de e-mail?) Aceasta înseamnă că computerul tău a stabilit o conexiune la un server de e-mail (servere) și trimite niște scrisori prin el. Și dacă clientul dvs. de e-mail (Outlook, de exemplu) nu rulează în acest moment și dacă există încă multe astfel de conexiuni pe portul 25, atunci probabil că există un virus pe computerul dvs. care trimite spam în numele dvs. sau trimite creditul dvs. numerele cardurilor împreună cu parolele pentru atacatori.

De asemenea, o înțelegere a modului în care funcționează Internetul este necesară pentru o configurare corectă (cu alte cuvinte, un firewall :)). Acest program (care vine adesea cu un antivirus) este conceput pentru a filtra pachete - „prieteni” și „dușmani”. Lăsați-vă oamenii să treacă, nu lăsați străinii să intre. De exemplu, dacă firewall-ul vă spune că cineva dorește să stabilească o conexiune la un port de pe computer. Permite sau respinge?

Și cel mai important, aceste cunoștințe sunt extrem de utile atunci când comunicați cu suportul tehnic.

În sfârșit, îți dau lista de porturi pe care probabil să le întâlniți:

135-139 - aceste porturi sunt folosite de Windows pentru a accesa resurse computerizate partajate - foldere, imprimante. Nu deschideți aceste porturi spre exterior, de exemplu. la rețeaua locală regională și la internet. Ar trebui să fie închise cu un firewall. De asemenea, dacă în rețeaua locală nu vezi nimic în mediul de rețea sau nu ești vizibil, atunci acest lucru se datorează probabil faptului că firewall-ul a blocat aceste porturi. Astfel, aceste porturi trebuie să fie deschise pentru rețeaua locală, dar închise pentru Internet.

21 - Port server FTP.

25 - Port server de mail SMTP. Clientul dvs. de e-mail trimite scrisori prin intermediul acestuia. Adresa IP a serverului SMTP și portul acestuia (al 25-lea) trebuie specificate în setările clientului dvs. de e-mail.

110 - Port server POP3. Prin intermediul acestuia, clientul dvs. de e-mail colectează scrisori din căsuța dvs. poștală. Adresa IP a serverului POP3 și portul acestuia (al 110-lea) ar trebui, de asemenea, specificate în setările clientului dvs. de e-mail.

80 - Port server WEB.

3128, 8080 - servere proxy (configurate în setările browserului).

Mai multe adrese IP speciale:

127.0.0.1 - aceasta este localhost, adresa sistemului local, adică adresa locală a computerului dvs.
0.0.0.0 - așa sunt desemnate toate adresele IP.
192.168.xxx.xxx- adrese care pot fi folosite în mod arbitrar pe rețelele locale; nu sunt folosite pe internetul global. Ele sunt unice doar în cadrul rețelei locale. Puteți utiliza adrese din acest interval la discreția dvs., de exemplu, pentru a construi o rețea de acasă sau de birou.
Ce este o mască de subrețea și gateway implicit(router, router)?

(Acești parametri sunt setați în setările de conexiune la rețea).

E simplu. Calculatoarele sunt conectate la rețele locale. Într-o rețea locală, computerele se „văd” în mod direct doar unele pe altele. Rețelele locale sunt conectate între ele prin gateway-uri (routere, routere). Masca de subrețea este concepută pentru a determina dacă computerul destinatar aparține aceleiași rețele locale sau nu. Dacă computerul receptor aparține aceleiași rețele ca și computerul expeditor, atunci pachetul este trimis direct către acesta, în caz contrar pachetul este trimis către gateway-ul implicit, care apoi, folosind rute cunoscute de acesta, transmite pachetul către o altă rețea, adică. la un alt oficiu poştal (prin analogie cu oficiul poştal sovietic).

În cele din urmă, să ne uităm la ce înseamnă acești termeni neclari:

TCP/IP este numele unui set de protocoale de rețea. De fapt, pachetul transmis trece prin mai multe straturi. (Ca la poștă: mai întâi scrii o scrisoare, apoi o pui într-un plic adresat, apoi poșta pune ștampilă etc.).

protocol IP- Acesta este un așa-numit protocol de nivel de rețea. Sarcina acestui nivel este de a livra pachete IP de la computerul expeditorului către computerul destinatarului. Pe lângă datele în sine, pachetele de la acest nivel au o adresă IP sursă și o adresă IP destinatară. Numerele de port nu sunt utilizate la nivelul rețelei. Care port, adică aplicația se adresează acestui pachet, dacă acest pachet a fost livrat sau pierdut este necunoscut la acest nivel - aceasta nu este sarcina sa, aceasta este sarcina stratului de transport.

TCP și UDP Acestea sunt protocoale ale așa-numitului strat de transport. Stratul de transport se află deasupra stratului de rețea. La acest nivel, un port sursă și un port destinație sunt adăugate pachetului.

TCP este un protocol orientat spre conexiune cu livrare de pachete garantată. În primul rând, se fac schimb de pachete speciale pentru a stabili o conexiune, are loc ceva de genul unei strângeri de mână (-Bună ziua. -Bună ziua. -Să discutăm? Apoi pachetele sunt trimise înainte și înapoi prin această conexiune (o conversație este în curs) și se verifică dacă pachetul a ajuns la destinatar. Dacă pachetul nu este primit, acesta este trimis din nou („repetă, nu am auzit”).

UDP este un protocol fără conexiune cu livrare de pachete negarantată. (Ca: a strigat ceva, dar dacă te-au auzit sau nu - nu contează).

Deasupra stratului de transport se află stratul de aplicare. La acest nivel funcționează protocoale precum http, ftp etc.. De exemplu, HTTP și FTP utilizează protocolul TCP de încredere, iar serverul DNS funcționează prin protocolul UDP nesigur.
Cum să vizualizați conexiunile curente?

Conexiunile curente pot fi vizualizate folosind comanda

Netstat -an

(parametrul n specifică afișarea adreselor IP în loc de nume de domenii).

Această comandă rulează astfel:

„Start” - „Run” - tastați cmd - „Ok”. În consola care apare (fereastra neagră), tastați comanda netstat -an și faceți clic. Rezultatul va fi o listă de conexiuni stabilite între prizele computerului nostru și nodurile de la distanță.

De exemplu, obținem:

Conexiuni active Nume Adresă locală Adresă externă Stare TCP 0.0.0.0:0 LISTENING TCP 91.76.65.216:139 0.0.0.0:0 LISTENING TCP 91.76.65.216:1719 212.580.0:026.58.0:1719 212.58.65.216:1719 .216: 1720 212.58.226.20:80 STABILIT TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT TCP 91.76.65.216:1724 2126.LISHED:.2126.227.138:80

În acest exemplu, 0.0.0.0:135 înseamnă că computerul nostru ascultă (ASCULTĂ) portul 135 la toate adresele sale IP și este gata să accepte conexiuni de la oricine de pe el (0.0.0.0:0) prin protocolul TCP.

91.76.65.216:139 - computerul nostru ascultă portul 139 pe adresa sa IP 91.76.65.216.

A treia linie înseamnă că conexiunea este acum stabilită (ESTABLEZĂ) între mașina noastră (91.76.65.216:1719) și cea de la distanță (212.58.226.20:80). Portul 80 înseamnă că mașina noastră a făcut o cerere către serverul web (de fapt am pagini deschise în browser).

Stiva de protocoale TCP/IP

O rețea corporativă este un sistem complex format dintr-un număr mare de dispozitive diferite: computere, hub-uri, routere, comutatoare, software de aplicație de sistem etc. Sarcina principală a integratorilor de sistem și a administratorilor de rețea este să se asigure că acest sistem se descurcă cât mai bine cu procesarea fluxurilor de informații și permite obținerea soluțiilor corecte la problemele utilizatorilor dintr-o rețea corporativă. Aplicația software solicită un serviciu care permite comunicarea cu alte programe de aplicație. Acest serviciu este mecanismul de interconectare.

Informațiile corporative, intensitatea fluxurilor sale și modurile în care sunt procesate sunt în continuă schimbare. Un exemplu de schimbare dramatică a tehnologiei de procesare a informațiilor corporative a fost creșterea fără precedent a popularității rețelei globale. Internet în ultimii 2-3 ani. Net Internet a schimbat modul în care sunt prezentate informațiile, colectând toate tipurile de informații pe serverele sale - text, grafică și sunet. Sistem de transport în rețea Internet a simplificat semnificativ sarcina de a construi o rețea corporativă distribuită.

Conexiunea și interacțiunea într-o rețea de computere puternică a fost scopul de a proiecta și de a crea o familie de protocoale, numită mai târziu o stivă de protocoale. TCP/IP (Transmission Control Protocol/Internet Protocol) . Ideea principală a stivei este de a crea un mecanism de interconectare.

Stiva de protocoale TCP/IP este utilizată pe scară largă în întreaga lume pentru a conecta computere într-o rețea. Internet. TCP/IP este denumirea generală dată unei familii de protocoale de transfer de date utilizate pentru a comunica între computere și alte echipamente dintr-o rețea corporativă.

Principalul avantaj al stivei de protocoale TCP/IP este că oferă o comunicare fiabilă între echipamentele de rețea de la diferiți producători. Acest avantaj este asigurat de includerea în TCP/IP a unui set de protocoale de comunicație dovedite în timpul funcționării cu diverse aplicații standardizate. Protocoalele din stiva TCP/IP oferă un mecanism pentru transmiterea mesajelor, descriu detaliile formatelor de mesaje și specifică modul de gestionare a erorilor. Protocoalele vă permit să descrieți și să înțelegeți procesele de transfer de date fără a lua în considerare tipul de echipament pe care au loc aceste procese.

Istoria creării stivei de protocoale TCP/IP a început când Departamentul de Apărare al SUA s-a confruntat cu problema combinării unui număr mare de computere cu sisteme de operare diferite. Pentru a realiza acest lucru, în 1970 a fost elaborat un set de standarde. Protocoalele dezvoltate pe baza acestor standarde sunt denumite colectiv TCP/IP.

Stiva de protocoale TCP/IP a fost concepută inițial pentru rețea Rețeaua de agenții pentru proiecte de cercetare avansată (ARPANET). ARPANET a fost considerată o rețea experimentală de comutare de pachete distribuită.Experimentul de utilizare a stivei de protocol TCP/IP pe această rețea s-a încheiat cu rezultate pozitive. Prin urmare, stiva de protocoale a fost adoptată pentru uz industrial și, ulterior, a fost extinsă și îmbunătățită pe parcursul mai multor ani. Ulterior, stiva a fost adaptată pentru utilizare în rețelele locale. La începutul anului 1980, protocolul a început să fie utilizat ca parte integrantă a sistemului de operare Vegkley UNIX v 4.2. În același an, a apărut o rețea unificată Internet . Trecerea la tehnologie Internet a fost finalizat în 1983, când Departamentul de Apărare al SUA a stabilit că toate computerele conectate la rețeaua globală utilizează stiva de protocoale TCP/IP.

Stiva de protocoale TCP/IP oferă utilizatorilordouă servicii principalecare utilizează programe de aplicație:

Datagrama vehicul de livrare a pachetelor . Aceasta înseamnă că protocoalele din stiva TCP/IP determină calea de transmisie a unui mesaj mic pe baza doar informațiilor de adresare conținute în mesaj. Livrarea se efectuează fără a stabili o conexiune logică. Acest tip de livrare face ca protocoalele TCP/IP să se adapteze la o gamă largă de echipamente de rețea.

Vehicul de streaming de încredere . Majoritatea aplicațiilor necesită software de comunicații pentru a se recupera automat de la erori de transmisie, pierderi de pachete sau eșecuri intermediare. routere. Un transport de încredere vă permite să stabiliți o conexiune logică între aplicații și apoi să trimiteți cantități mari de date prin acea conexiune.

Principalele avantaje ale stivei de protocoale TCP/IP sunt:

Independență față de tehnologia de rețea. Stiva de protocol TCP/IP este independentă de echipamentul utilizatorului final, deoarece definește doar elementul de transmisie - datagrama - și descrie modul în care se deplasează prin rețea.

Conexiune universală. O stivă permite oricărei perechi de computere care o acceptă să comunice între ele. Fiecărui computer i se atribuie o adresă logică, iar fiecare datagramă transmisă conține adresele logice ale expeditorului și destinatarului. Routerele intermediare folosesc adresa de destinație pentru a lua decizii de rutare.

Un capăt la altul confirmare.Protocoalele stivei TCP/IP oferă confirmarea trecerii corecte a informațiilor atunci când sunt schimbate între expeditor și destinatar.

Protocoale de aplicare standard. Protocoalele TCP/IP includ instrumente pentru a suporta aplicații comune, cum ar fi e-mail, transfer de fișiere, acces la distanță etc.

Creștere puternică a rețelei Internet și, firește, dezvoltarea accelerată a stivei de protocoale TCP/IP a cerut dezvoltatorilor să creeze o serie de documente care să contribuie la dezvoltarea în continuare ordonată a protocoalelor. Organizare Consiliul pentru activități pe internet (IAB) ) a elaborat o serie de documente numite RFC (Solicitare de comentarii). Unele RFC-uri descriu serviciile sau protocoalele de rețea și implementarea acestora, alte documente descriu condițiile de utilizare a acestora. Inclusiv în RFC Au fost publicate standardele de stivă de protocol TCP/IP. Trebuie reținut că standardele TCP/IP sunt întotdeauna publicate ca documente. RFC-uri, dar nu toate RFC-urile defini standardele.

Documente RFC au fost publicate inițial în format electronic și au putut fi comentate de către cei care au luat parte la discuția lor. Documentul ar putea suferi mai multe modificări până când se ajunge la un acord general asupra conținutului său. Dacă documentul reglementa o idee nouă, atunci i s-a atribuit un număr și a fost plasat cu alții RFC . În acest caz, fiecărui document nou i se atribuie un statut care reglementează necesitatea implementării acestuia. Eliberarea unui nou document RFC nu înseamnă că toți producătorii de hardware și software trebuie să o implementeze în produsele lor. Anexa nr. 2 conține descrieri ale unor documente RFC-urile și stările acestora.

1.Starea standardizării. Un protocol poate avea mai multe stări:

standardul de protocol a fost aprobat;

standardul de protocol este propus spre considerare;

se propune un protocol experimental;

Protocolul este învechit și nu este utilizat în prezent.

2.Starea protocolului. Un protocol poate avea mai multe stări:

protocolul este necesar pentru implementare;

protocolul poate fi implementat de producător la alegerea acestuia;

Când se operează o rețea corporativă complexă, apar o mulțime de probleme fără legătură. Este aproape imposibil să le rezolvi cu funcționalitatea unui singur protocol. Un astfel de protocol ar trebui să:

recunoaște defecțiunile rețelei și restabilește funcționalitatea acesteia;

distribuiți lățimea de bandă a rețelei și cunoașteți modalități de reducere a fluxului de date atunci când sunt supraîncărcate;

recunoașteți întârzierile și pierderile de pachete, știți cum să reduceți daunele cauzate de aceasta;

recunoaște erorile din date și informează aplicația software despre acestea;

produce o mișcare ordonată a pachetelor în rețea.

Această cantitate de funcționalitate depășește capacitățile unui protocol. Prin urmare, a fost creat un set de protocoale interoperabile numite stivă.

Deoarece stiva de protocoale TCP/IP a fost dezvoltată înainte de modelul de referință OSI , apoi corespondența nivelurilor sale cu nivelurile modelului OSI Destul de condiționat.Structura stivei de protocoale TCP/IPprezentată în fig. 1.1.

Orez. 1.1. Structura stivei de protocoale TCP/IP.

Orez. 12. Calea mesajului.

Teoretic, trimiterea unui mesaj de la un program de aplicație la altul înseamnă transmiterea secvențială a mesajului în jos prin straturi adiacente ale stivei expeditorului, trecând mesaje de-a lungul stratului de interfață de rețea (stratul IV ) sau, conform modelului de referință OSI , la nivelul fizic, recepția unui mesaj de către destinatar și transmiterea acestuia în sus prin straturi adiacente de software de protocol.În practică, interacțiunea dintre nivelurile stivei este mult mai complicată. Fiecare strat decide dacă un mesaj este corect și întreprinde o acțiune specifică în funcție de tipul de mesaj sau de adresa de destinație. În structura stivei de protocoale TCP/IP există un „centru de greutate” clar - acesta este stratul de rețea și protocolul IP în el. protocol IP poate interfața cu mai multe module de protocol de nivel superior și cu mai multe interfețe de rețea. Adică, în practică, procesul de transmitere a mesajelor de la un program de aplicație la altul va arăta astfel: expeditorul transmite un mesaj care este la nivel III pro protocolul IP plasat într-o datagramă și trimis în rețea (rețeaua 1). Pedispozitive intermediare, de exemplu routere, datagramaa trecut la nivelul protocolului IP , care îl trimite înapoi în cealaltă rețea (rețeaua 2). Când datagrama ajunge primești la, protocol IP selectează mesajul și îl transmite la nivelurile superioare.Orez. 1.2 ilustrează acest proces.

Structura stivei de protocoale TCP/IP poate fi împărțită în patru niveluri. Cel mai jos - stratul de interfață de rețea (layer IV) -corespunde nivelurilor fizice si de canal ale modelului OSI. Pe stivă Protocoalele TCP/IP nu reglementează acest nivel. Nivelul rețeleiinterfața este responsabilă de primirea datagramelor și transmiterea acestora către anumitefără rețea. Interfața cu rețeaua poate fi implementată de către driverul de gurăroi sau sistem complex care folosește propriul protocolnivel național (switch, router). El sprijină tabăraDarts la nivel fizic și de legătură ale rețelelor locale populare: Ethernet, Token Pang, FDDI etc. Pentru suport pentru rețele distribuiteConexiunile PPP sunt perforate și ALUNECARE și pentru rețele globale - Protocolul X.25. Oferă suport pentru utilizarea dezvoltăriitehnologii de comutare celulară - ATM . A devenit o practică obișnuită să includețiintegrarea noilor tehnologii locale sau de distribuție în stiva de protocoale TCP/IPreţele distribuite şi reglementarea acestora prin documente noi RFC.

Stratul de rețea (stratul III) - acesta este nivelul de interacțiune cu internetworkactiuni. Stratul gestionează interacțiunea dintre utilizatori înretelelor. Primește o solicitare de la nivelul de transport pentru a trimite un pachet de la expeditor împreună cu adresa destinatarului. Stratul încapsulează pachetul într-o datagramă, își umple antetul și opționalbridge folosește un algoritm de rutare. Nivelul proceselor ladatagramele primite și verifică corectitudinea informațiilor primitemation. Pe partea de recepție, software de nivel de rețeaelimină antetul și determină ce protocol de transportva procesa pachetul.

Ca protocol de nivel de rețea primar în stiva TCP/IP protocolul utilizat IP , care a fost creat cu scopul de a transfera informațiiformaţiuni în reţele distribuite. Avantajul protocolului IP este posibilitatea de funcționare eficientă a acestuia în rețele cu topologii complexepentru ea. În acest caz, protocolul folosește în mod rațional metoda de transferity a liniilor de comunicație de viteză mică. În centrul protocolului IP asezat datagramao metodă care nu garantează livrarea coletului, darîndreptată spre implementarea acestuia.

Acest nivel include toate protocoalele care creează, submenține și actualiza tabelele de rutare. Mai mult, pe astanivel există un protocol pentru schimbul de informații despre erori întredu routereîn rețea și de către expeditori.

Nivelul următor -transport (nivel II). Main it Sarcina este de a asigura interacțiunea între sistemele de aplicațiigrame. Stratul de transport controlează fluxul de informații dinasigurarea transmisiei fiabile. În acest scop, a fost utilizat un mecanism de confirmareasteptarea receptiei corecte cu duplicarea transmisiei pierdute saupachete care au sosit cu erori. Stratul de transport acceptă datedate din mai multe programe de aplicație și le trimite la un nivel inferior. Făcând acest lucru, adaugă informații suplimentare fiecăruiapachet, inclusiv valoarea sumei de control calculate.

Protocolul de control al transmisiei operează la acest nivel Date TCP (Transmission Control Protocol). ) și protocolul de transmisie cândpachete imbricate folosind metoda datagramei UDP (User Datagram Protocol). Protocolul TCP oferă livrarea garantată a datelor datorităformarea de conexiuni logice între aplicațiile de la distanțăproceselor. Operarea protocolului UDP similar cu modul în care funcționează protocolul IP, dar sarcina sa principală este de a îndeplini funcțiile de liantlegătura dintre protocolul de rețea și diverse aplicații.

Cel mai înalt nivel (nivel Am aplicat . Implementează servicii de nivel de aplicații utilizate pe scară largă. La ei de latransportate: protocol de transfer de fișiere între sisteme la distanță, proProtocolul de emulare a terminalului de la distanță, protocoalele de e-mail etc. FiecareLasă programul aplicației să selecteze tipul de transport - sau nuun flux continuu de mesaje sau o succesiune de mesaje individualecomunicatii. Programul de aplicație transmite date către stratul de transportnud în forma cerută.

Luarea în considerare a principiilor de funcționare a stivei de protocol Este recomandabil să implementați TCP/IP începând de la protocoalele de nivelul treiNya. Acest lucru se datorează faptului că protocoalele de nivel superior din lormunca se bazează pe funcționalitatea protocoalelor de nivel inferior. Pentru a înțelege problemele de rutare în distributedSe recomandă studierea protocoalelor în următoarele rețele: secvente: IP, ARP, ICMP, UDP și TCP . Acest lucru se datorează faptului că pentru a furniza informații între sistemele de la distanță într-o rețea distribuită, întreaga familie de sisteme este folosită într-o măsură sau altaca protocoale TCP/IP.

Stiva de protocoale TCP/IP include un număr mareprotocoale la nivel de aplicație. Aceste protocoale efectuează diversefuncții, inclusiv: managementul rețelei, transferul de fișiere, furnizarea de servicii distribuite la utilizarea fișierelor, emularea termenilorpescuit, livrare prin e-mail etc. Protocol de transfer de fișiere ( Protocol de transfer de fișiere - FTP ) vă permite să mutați fișiere între computeresisteme informatice. Protocol Telnet oferă ter virtualemulare minală. Protocol simplu de gestionare a rețelei ( Protocol simplu de gestionare a rețelei - SNMP ) este un protocol de controldetectarea rețelei, utilizată pentru a raporta condiții anormale de rețeași stabilirea valorilor pragurilor acceptabile în rețea. Protocol simplu transfer de e-mail (Simple Mail Transfer Protocol - SMTP) oferă mecanism de transmitere prin e-mail. Aceste protocoale și alte aplicațiiaplicațiile folosesc serviciile stivei TCP/IP pentru a oferi utilizatorilorservicii de bază de rețea.

Aflați mai multe despre protocoalele nivelului de aplicație ale stivei de protocoaleTCP/IP nu este acoperit în acest material.

Înainte de a lua în considerare protocoalele stivei TCP/IP, să introducem elementele de bazătermeni care definesc numele informațiilor, care transmitîntre niveluri. Numele blocului de date transmis prin rețeadepinde de ce nivel al stivei de protocol se află. Blocul de date cu care se ocupă o interfață de rețea este numit cadru . Dacă blocul de date se află între interfața de rețea și rețeanivel, se numește datagrama IP (sau doar datagramaAle mele). Un bloc de date care circulă între transport și rețea niveluri și mai mari se numește Pachetul IP.În fig. 1.3 arată raportulCorespondența desemnărilor blocurilor de date la nivelurile stivei de protocol TCP/IP.


Orez. 1. 3. Desemnarea informațiilor la nivelurile stivei TCP/IP.

Este foarte important să se completeze descrierea straturilor stivei de protocoale TCP/IP cu o descriere a diferenței dintre transmisia de la un expeditor direct la un destinatar și transmisia prin mai multe rețele. În fig. Figura 4 arată diferența dintre aceste tipuri de transmisii.


Orez.1.4. Metode de transmitere a informațiilor.

Când un mesaj este livrat în două rețele folosind un router, acesta utilizează două cadre de rețea diferite (Frame 1 și Frame 2). Frame 1 - pentru transmiterea de la expeditor la router, frame 2 - de la router la destinatar.

Stratul de aplicație și stratul de transport pot stabili conexiuni, astfel încât principiul stratificarea dictează că pachetul primit de stratul de transport destinatar trebuie să fie identic cu pachetul trimis de stratul de transport expeditor.