Protocoale de rețea tcp ip. Ce este protocolul TCP-IP

Stiva de protocol TCP/IP este alfa și omega a Internetului și trebuie nu numai să cunoașteți, ci și să înțelegeți modelul și principiul de funcționare al stivei.

Am descoperit clasificarea, standardele de rețea și modelul OSI. Acum să vorbim despre stiva pe baza căreia este construit sistemul mondial de rețele de calculatoare interconectate, Internetul.

Model TCP/IP

Inițial, această stivă a fost creată pentru a conecta computere mari din universități prin linii telefonice punct la punct. Dar când au apărut noi tehnologii, de difuzare (Ethernet) și satelit, a devenit necesară adaptarea TCP/IP, ceea ce s-a dovedit a fi o sarcină dificilă. De aceea, împreună cu OSI, a apărut modelul TCP/IP.

Modelul descrie modul în care este necesar să se construiască rețele bazate pe diverse tehnologii pentru ca stiva de protocoale TCP/IP să funcționeze în ele.

Tabelul prezintă o comparație a modelelor OSI și TCP/IP. Acesta din urmă include 4 niveluri:

  1. Cel mai jos, nivelul interfeței de rețea, oferă interacțiune cu tehnologiile de rețea (Ethernet, Wi-Fi etc.). Aceasta este o combinație a funcțiilor legăturii de date OSI și a straturilor fizice.
  2. Nivel de internet este mai sus și are sarcini similare cu stratul de rețea al modelului OSI. Oferă căutarea rutei optime, inclusiv identificarea problemelor de rețea. La acest nivel funcționează routerul.
  3. Transport este responsabil pentru comunicarea între procesele de pe diferite computere, precum și pentru livrarea informațiilor transmise fără duplicare, pierdere sau eroare, în ordinea necesară.
  4. Aplicat combină 3 straturi ale modelului OSI: sesiune, prezentare și aplicare. Adică, efectuează funcții precum suportul de sesiune, conversia protocolului și a informațiilor și interacțiunea utilizator-rețea.

Uneori, experții încearcă să combine ambele modele în ceva comun. De exemplu, mai jos este o reprezentare pe cinci niveluri a simbiozei de la autorii lui Computer Networks E. Tanenbaum și D. Weatherall:

Modelul OSI are o bună dezvoltare teoretică, dar protocoalele nu sunt folosite. Modelul TCP/IP este diferit: protocoalele sunt utilizate pe scară largă, dar modelul este potrivit doar pentru descrierea rețelelor bazate pe TCP/IP.

Nu le confunda:

  • TCP/IP este o stivă de protocoale care formează baza Internetului.
  • Modelul de referință OSI (Open Systems Interconnection) este potrivit pentru a descrie o mare varietate de rețele.

Stiva de protocoale TCP/IP

Să ne uităm la fiecare nivel mai detaliat.

Nivelul inferior al interfețelor de rețea include Ethernet, Wi-Fi și DSL (modem). Aceste tehnologii de rețea nu fac parte în mod oficial din stiva, dar sunt extrem de importante în funcționarea Internetului în ansamblu.

Protocolul principal al nivelului de rețea este IP (Internet Protocol). Este un protocol rutat, parte din care este adresarea de rețea (adresa IP). Aici funcționează și protocoale suplimentare, cum ar fi ICMP, ARRP și DHCP. Ei mențin rețelele în funcțiune.

La nivel de transport există TCP, un protocol care asigură transferul de date cu garanție de livrare, și UDP, un protocol pentru transfer rapid de date, dar fără garanție.

Stratul de aplicație este HTTP (pentru web), SMTP (transfer de e-mail), DNS (atribuirea de nume de domenii prietenoase adreselor IP), FTP (transfer de fișiere). Există mai multe protocoale la nivelul aplicației stivei TCP/IP, dar cele enumerate pot fi numite cele mai semnificative pentru a fi luate în considerare.

Amintiți-vă că stiva de protocoale TCP/IP definește standardele de comunicare între dispozitive și conține convențiile de interconectare și rutare.

Cursul 3. Stiva TCP/IP. Protocoale de bază TCP/IP

Protocolul TCP/IP este protocolul de bază al rețelei de transport. Termenul „TCP/IP” se referă de obicei la tot ceea ce are legătură cu protocoalele TCP și IP. Acesta acoperă o întreagă familie de protocoale, programe de aplicație și chiar rețeaua în sine. Familia include protocoale UDP, ARP, ICMP, TELNET, FTP și multe altele.

Arhitectura protocolului TCP/IP este concepută pentru o rețea integrată constând din subrețele de pachete eterogene separate, conectate între ele prin gateway-uri, la care sunt conectate mașini eterogene. Fiecare dintre subrețele funcționează în conformitate cu propriile cerințe specifice și are propria natură a mijloacelor de comunicare. Cu toate acestea, se presupune că fiecare subrețea poate accepta un pachet de informații (date cu antetul de rețea adecvat) și îl poate livra la o adresă specificată din respectiva subrețea. Subrețeaua nu este necesară pentru a garanta livrarea obligatorie a pachetelor și pentru a avea un protocol de încredere end-to-end. În acest fel, două mașini conectate la aceeași subrețea pot schimba pachete.

Stiva de protocol TCP/IP are patru straturi (Figura 3.1).

Figura 3.1 – Stiva TCP/IP

Nivelul IV corespunde nivelului de acces la rețea, care funcționează pe protocoale standard de nivel fizic și de legătură de date, cum ar fi Ethernet, Token Ring, SLIP, PPP și altele. Protocoalele de la acest nivel sunt responsabile pentru transmisia de pachete de date în rețea la nivel hardware.

Nivelul III asigură interconectarea la transmiterea pachetelor de date de la o subrețea la alta. În acest caz, protocolul IP funcționează.

Stratul II este cel principal și funcționează pe baza protocolului de control al transmisiei TCP. Acest protocol este necesar pentru transmiterea fiabilă a mesajelor între programele de aplicație situate pe diferite mașini prin crearea de conexiuni virtuale între acestea.

Nivelul I – aplicat. Stiva TCP/IP există de mult timp și include un număr mare de protocoale și servicii la nivel de aplicație (protocol de transfer de fișiere FTP, protocol Telnet, protocol Gopher pentru accesarea resurselor spațiului mondial GopherSpace, cel mai cunoscut protocol HTTP pentru accesare). bazele de date hipertext la distanță din lume panze de păianjen etc.).

Toate protocoalele de stivă pot fi împărțite în două grupuri: protocoale de transfer de date, care transferă date utile între două părți; protocoale de service necesare pentru buna functionare a retelei.

Protocoalele de serviciu folosesc în mod necesar un fel de protocol de transfer de date. De exemplu, protocolul de serviciu ICMP utilizează protocolul IP. Internetul este colecția tuturor rețelelor de computere conectate care utilizează protocoale de stivă TCP/IP.

Funcțiile stratului de transport. Protocoale TCP, UDP.

Al patrulea nivel al modelului este conceput pentru a furniza date fără erori, pierderi și dublare în secvența în care au fost transmise. Nu contează ce date sunt transmise, de unde și unde, adică asigură mecanismul de transmisie în sine. Stratul de transport oferă următoarele tipuri de servicii:

– stabilirea unei legături de transport;

- transfer de date;

– întreruperea conexiunii de transport.

Funcții îndeplinite de stratul de transport:

– conversia unei adrese de transport într-o adresă de rețea;

– multiplexarea conexiunilor de transport în conexiuni de rețea;

– stabilirea și întreruperea legăturilor de transport;

– ordonarea blocurilor de date în conexiuni individuale;

– detectarea erorilor și controlul necesar asupra calității serviciilor;

– recuperarea din erori;

– segmentare, asociere și concatenare;

– controlul fluxului de date asupra conexiunilor individuale;

– funcții de supraveghere;

– transmiterea blocurilor de date de transport urgent.

Protocolul de control al transmisiei (TCP) oferă un serviciu de livrare de pachete de încredere, orientat spre conexiune.

protocol TCP:

– garantează livrarea datagramelor IP;

– realizează segmentarea și asamblarea blocurilor mari de date trimise prin programe;

– asigură livrarea segmentelor de date în ordinea cerută;

– verifică integritatea datelor transmise folosind o sumă de control;

– trimite confirmări pozitive dacă datele sunt primite cu succes. Folosind confirmări selective, puteți trimite și confirmări negative pentru datele care nu au fost primite;

– Oferă transportul preferat pentru programele care necesită transfer fiabil de date bazat pe sesiune, cum ar fi bazele de date client-server și programele de e-mail.

TCP se bazează pe comunicarea punct la punct între două noduri de rețea. TCP primește date de la programe și le procesează ca un flux de octeți. Octeții sunt grupați în segmente, cărora li se atribuie numere secvențiale de către TCP pentru a permite asamblarea corectă a segmentelor la gazda receptoare.

Pentru ca două noduri TCP să comunice, trebuie mai întâi să stabilească o sesiune între ele. O sesiune TCP este inițiată folosind un proces numit strângere de mână în trei căi, care sincronizează numerele de secvență și transmite informațiile de control necesare pentru a stabili o conexiune virtuală între noduri. Odată ce acest proces de strângere de mână este finalizat, redirecționarea pachetelor și confirmarea începe în ordine secvențială între aceste noduri. Un proces similar este utilizat de TCP înainte de a termina o conexiune pentru a se asigura că ambele noduri au terminat de trimis și de primit date (Figura 3.2).


Figura 3.2 – Formatul antetului segmentului TCP

Câmpurile portul sursă și portul destinație ocupă 2 octeți și identifică procesul de trimitere și procesul destinatar. Câmpurile cu numărul de secvență și numărul de confirmare (lungime de 4 octeți) numără fiecare octet de date trimis sau primit. Implementat ca numere întregi fără semn care sunt resetate când ating valoarea maximă. Fiecare parte își păstrează propria numerotare de serie. Câmpul pentru lungimea antetului este de 4 biți și reprezintă lungimea antetului segmentului TCP, măsurată în cuvinte de 32 de biți. Lungimea antetului nu este fixă ​​și poate varia în funcție de valorile setate în câmpul parametri. Câmpul de rezervă ocupă 6 biți. Câmpul de steaguri are 6 biți și conține șase steaguri de 1 bit:

– indicatorul URG (Urgent Pointer) este setat la 1 dacă este utilizat indicatorul către câmpul de date urgente;

– indicatorul ACK (Confirmare) este setat la 1 dacă câmpul numărului de confirmare conține date. În caz contrar, acest câmp este ignorat;



– indicatorul PSH (Push) înseamnă că stiva TCP de primire ar trebui să informeze imediat aplicația de date primite, mai degrabă decât să aștepte până când memoria tampon este plină;

– indicatorul RST (Reset) este folosit pentru a anula o conexiune: din cauza unei erori de aplicație, respingere a unui segment incorect, încercare de a crea o conexiune în absența serviciului solicitat;

– flag-ul SYN (Synchronize) este setat la inițierea unei conexiuni și sincronizarea numărului de secvență;

– indicatorul FIN (Terminat) este utilizat pentru a termina conexiunea. Indică faptul că expeditorul a terminat de transmis date.

Câmpul pentru dimensiunea ferestrei (lungime de 2 octeți) conține numărul de octeți care pot fi trimiși după un octet care a fost deja confirmat. Câmpul sumă de control (lungime 2 octeți) este utilizat pentru a crește fiabilitatea. Conține o sumă de control a antetului, datelor și pseudo-antetului. Când se efectuează calcule, câmpul sumă de control este setat la zero, iar câmpul de date este completat cu un octet zero dacă lungimea sa este un număr impar. Algoritmul sumei de control adaugă pur și simplu toate cuvintele de 16 biți în complementul a doi și apoi calculează întregul complement al sumei.

Protocolul UDP, fiind un protocol de datagramă, implementează serviciul ori de câte ori este posibil, adică nu garantează livrarea mesajelor sale și, prin urmare, nu compensează în niciun fel nesiguranța protocolului de datagramă IP. Unitatea de date a protocolului UDP se numește pachet UDP sau datagramă utilizator. Fiecare datagramă poartă un mesaj de utilizator separat. Acest lucru are ca rezultat o limitare: lungimea unei datagrame UDP nu poate depăși lungimea câmpului de date al protocolului IP, care, la rândul său, este limitat de dimensiunea cadrului tehnologic de bază. Prin urmare, dacă memoria tampon UDP devine plină, datele aplicației sunt eliminate. Antetul pachetului UDP, format din patru câmpuri de 2 octeți, conține câmpurile port sursă, port destinație, lungime UDP și suma de control (Figura 3.3).

Câmpurile portul sursă și portul destinație identifică procesele de trimitere și recepție. Câmpul de lungime UDP conține lungimea pachetului UDP în octeți. Câmpul sumă de control conține suma de control a pachetului UDP, calculată pentru întregul pachet UDP cu pseudo-antetul adăugat.

Figura 3.3 – Formatul antetului pachetului UDP

Literatura de baza: 2

Lectură suplimentară: 7

Întrebări de control:

1. Ce protocol în OSI este TCP/IP?

2. Care este scopul arhitecturii protocolului TCP/IP?

3. Ce straturi are stiva TCP/IP?

4. Ce funcții îndeplinește Protocolul de control al transmisiei TCP?

5. Ce diferențe există între protocoalele TCP și UDP?

Când articolul a început să prindă contur, s-a planificat să-l încadreze într-una singură, dar spre final, dimensiunea articolului a devenit prea grea, s-a decis împărțirea articolului în două: teoria rețelei și funcționarea subsistemului rețelei. în Linux. Ei bine, să începem cu teoria...

Stiva de protocoale TCP/IP

De fapt, care este reteaua? Net- acestea sunt mai mult de 2 calculatoare conectate intre ele printr-un fel de fire, canale de comunicatie, intr-un exemplu mai complex - printr-un fel de echipament de retea si schimb de informatii intre ele dupa anumite reguli. Aceste reguli sunt „dictate” Stiva de protocoale TCP/IP.

Protocol de control al transmisiei/Protocol Internet (stiva de protocoale TCP/IP)- în termeni simpli, acesta este un set de protocoale de interacțiune de diferite niveluri (se poate adăuga că Fiecare nivel interacționează cu cel vecin, adică se andocă și, prin urmare grămadă , IMHO, este mai ușor de înțeles) în funcție de care se fac schimb de date în rețea. Fiecare protocol este un set de reguli conform cărora are loc schimbul de date. Total Stiva de protocoale TCP/IP- Acest set de reguli O întrebare rezonabilă poate apărea aici: de ce există multe protocoale? Este cu adevărat imposibil să schimbi totul folosind un singur protocol?

Chestia este că fiecare protocol descrie strict desemnat către el reguli. În plus, protocoalele sunt împărțite în niveluri de funcționalitate, ceea ce permite ca funcționarea echipamentelor de rețea și a software-ului să devină mult mai simplă, mai transparentă și să își îndeplinească gama de sarcini „lor”. Pentru a împărți acest set de protocoale în niveluri, a fost dezvoltat Model de rețea OSI(Engleză) Model de referință de bază pentru interconectarea sistemelor deschise, 1978, este și modelul de referință de bază pentru interacțiunea sistemelor deschise). Modelul OSI constă din șapte niveluri diferite. Nivelul este responsabil pentru o zonă separată în funcționarea sistemelor de comunicații, nu depinde de nivelurile adiacente - oferă doar anumite servicii. Fiecare strat își îndeplinește sarcina conform unui set de reguli numit protocol. Funcționarea modelului OSI poate fi ilustrată cu următoarea figură: Cum se transferă datele?

Din figură este clar că există 7 niveluri de rețea, care se împart în: aplicație, prezentare, sesiune, transport, rețea, canal, fizic. Fiecare strat conține propriul set de protocoale. Lista protocoalelor după nivel de interacțiune este bine prezentată pe Wikipedia:

Stiva de protocol TCP/IP în sine s-a dezvoltat în paralel cu adoptarea modelului OSI și nu s-a „intersectat” cu acesta, rezultând o ușoară discrepanță în nepotrivirea stivei de protocol și a straturilor modelului OSI. De obicei, în Stiva TCP/IP 3 niveluri superioare ( aplicare, prezentare și sesiune) Modelele OSI sunt combinate într-unul singur - aplicat . Deoarece o astfel de stivă nu oferă un protocol unificat de transfer de date, funcțiile de determinare a tipului de date sunt transferate în aplicație. Simplificat interpretarea stivei TCP/IP în raport cu modelul OSI poate fi reprezentat astfel:

Acest model de interacțiune cu rețea se mai numește Model DOD(din burghez. Departamentul Apararii- Departamentul Apărării al SUA). Deci, am luat în considerare ideea generală a interacțiunii în rețea. Pentru o înțelegere mai profundă a esenței problemei, vă pot recomanda descărcarea și citirea cărții ( Vito Amato „Noțiunile de bază ale organizării rețelelor Cisco T1 și T2”), mai jos.

Adresarea

Într-o rețea construită pe stiva de protocoale TCP/IP, fiecărei gazde (calculator sau dispozitiv conectat la rețea) i se atribuie un număr binar de 32 de biți. O formă convenabilă de scriere a unei adrese IP (IPv4) este ca patru numere zecimale (de la 0 la 255) separate prin puncte, de exemplu, 192.168.0.1. În general, Adresa IP este împărțită în două părți: adresa de rețea (subrețea).Și adresa gazdei:

După cum se poate vedea din ilustrație, există așa ceva ca netȘi subrețea. Cred că din semnificațiile cuvintelor este clar că adresele IP sunt împărțite în rețele, iar rețelele, la rândul lor, sunt împărțite în subrețele folosind măști de subrețea(mai corect ar fi să spunem: adresa gazdei poate fi subrețea). Inițial, toate adresele IP au fost împărțite în anumite grupuri (clase de adrese/rețele). Și a existat o adresare clasificată, conform căreia rețelele erau împărțite în rețele izolate strict definite:

Este ușor de calculat că în total în spațiul de adrese IP există 128 de rețele cu 16.777.216 de adrese de clasa A, 16.384 de rețele cu 65.536 de adrese de clasa B și 2.097.152 de rețele cu 256 de adrese de clasa C, precum și 268.435.435, 456 adrese de rezervă și 268.435. Odată cu creșterea internetului, acest sistem s-a dovedit a fi ineficient și a fost înlocuit CIDR(adresare fără clasă), în care numărul de adrese din rețea este determinat de masca de subrețea.

De asemenea este si Clasificarea IP adrese, atât „private”, cât și „publice”. Următoarele intervale de adrese sunt rezervate rețelelor private (alias rețelele locale):

  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8 sau 10/8),
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12 sau 172.16/12),
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16 sau 192.168/16).
  • 127.0.0.0 - 127.255.255.255 rezervat pentru interfețele loopback (nu sunt utilizate pentru schimbul între nodurile de rețea), așa-numitele. gazdă locală

Pe lângă adresa gazdă, rețeaua TCP/IP are un port. Un port este o caracteristică numerică a unei resurse de sistem. Un port este alocat unei aplicații care rulează pe o gazdă de rețea pentru a comunica cu aplicațiile care rulează pe alte gazde de rețea (inclusiv alte aplicații de pe aceeași gazdă). Din punct de vedere software, un port este o zonă de memorie care este controlată de un serviciu.

Pentru fiecare dintre protocoalele TCP și UDP, standardul definește capacitatea de a aloca simultan până la 65536 de porturi unice pe gazdă, identificate prin numere de la 0 la 65535. Corespondența dintre numărul portului și serviciul care utilizează acest număr poate fi vizualizată în fișierul /etc/services sau pe site-ul web http:// www.iana.org/assignments/port-numbers. Întreaga gamă de porturi este împărțită în 3 grupuri:

  • 0 la 1023, numit privilegiat sau rezervat (utilizat pentru sistem și unele programe populare)
  • 1024 - 49151 se numesc porturi înregistrate.
  • 49151 - 65535 sunt numite porturi dinamice.

protocol IP, după cum se poate vedea din ilustrații este mai jos TCPȘi UDPîn ierarhia protocolului și este responsabil pentru transmiterea și rutarea informațiilor în rețea. Pentru a face acest lucru, protocolul IP împachetează fiecare informație (pachet TCP sau UDP) într-un alt pachet - un pachet IP sau datagramă IP, care stochează un antet despre sursă, destinație și rută.

Pentru a folosi o analogie din lumea reală, o rețea TCP/IP este un oraș. Numele străzilor și aleilor sunt rețele și subrețele. Numerele clădirilor sunt adrese de gazdă. În clădiri, numerele de birouri/apartamente sunt porturi. Mai precis, porturile sunt cutii poștale în care destinatarii (serviciile) se așteaptă să sosească corespondența. În consecință, numerele portului cabinetului sunt 1, 2 etc. sunt de obicei date directorilor și managerilor ca privilegiați, iar angajații obișnuiți primesc numere de birou cu numere mari. La trimiterea și livrarea corespondenței, informațiile sunt împachetate în plicuri (pachete IP), care indică adresa expeditorului (ip și port) și adresa destinatarului (ip și port). În termeni simpli, ceva de genul acesta...

Trebuie remarcat faptul că protocolul IP nu înțelege porturile; TCP și UDP sunt responsabili pentru interpretarea porturilor; prin analogie, TCP și UDP nu procesează adrese IP.

Pentru a nu aminti seturi de numere care nu pot fi citite sub formă de adrese IP, ci pentru a indica numele mașinii sub forma unui nume ușor de înțeles de om, un serviciu precum DNS (Serviciul de nume de domeniu), care se ocupă de rezolvarea numelor de gazdă în adrese IP și este o bază de date uriașă distribuită. Cu siguranță voi scrie despre acest serviciu în postările viitoare, dar deocamdată este suficient să știm că pentru a converti corect numele în adrese, pe mașină trebuie să ruleze un demon. numit sau sistemul trebuie configurat pentru a utiliza serviciul DNS al ISP-ului.

Dirijare

Să ne uităm la (ilustrat) un exemplu de infrastructură cu mai multe subrețele. Poate apărea întrebarea, cum se poate conecta un computer la altul? De unde știe unde să trimită pachetele?

Pentru a rezolva această problemă, rețelele sunt interconectate gateway-uri (routere). Poarta de acces- aceasta este aceeași gazdă, dar având o conexiune la două sau mai multe rețele, care pot transfera informații între rețele și transmite pachete către o altă rețea. În figură, rolul porții este jucat de ananasȘi papaya având 2 interfețe conectate la rețele diferite.

A determina ruta de transmisie a pachetelor, IP folosește partea de rețea a adresei ( mască de rețea). Pentru a determina ruta, fiecare mașină din rețea are tabel de rutare(tabel de rutare), care stochează o listă de rețele și gateway-uri pentru aceste rețele. IP „caută” porțiunea de rețea a adresei de destinație într-un pachet care trece, iar dacă există o intrare pentru acea rețea în tabelul de rutare, atunci pachetul este trimis către gateway-ul corespunzător.

Pe Linux, nucleul sistemului de operare stochează tabelul de rutare într-un fișier /proc/net/route. Puteți vizualiza tabelul de rutare curent cu comanda netstat -rn(r - tabel de rutare, n - nu convertiți IP-ul în nume) sau ruta . Prima coloană ieșirea comenzii netstat -rn (Destinaţie- destinație) conține adresele rețelelor (gazde) numiri. În acest caz, atunci când se specifică o rețea, adresa se termină de obicei cu zero. A doua coloană (Gateway)- adresa gateway-ului pentru gazda/rețeaua specificată în prima coloană. A treia coloană (Genmask)- masca de subrețea pentru care operează această rută. Steaguri de coloană oferă informații despre adresa de destinație (U - ruta este sus, N - ruta pentru rețea, H - ruta pentru gazdă etc.). Coloana MSS arată numărul de octeți care pot fi trimiși la un moment dat, Fereastră- numărul de cadre care pot fi trimise înainte de a primi o confirmare, irtt- statistici de utilizare a rutei, Eu înfrunt- indică interfața de rețea utilizată pentru rută (eth0, eth1 etc.)

După cum puteți vedea în exemplul de mai jos, prima intrare (linie) este pentru rețeaua 128.17.75, toate pachetele pentru această rețea vor fi trimise către gateway-ul 128.17.75.20, care este adresa IP a gazdei în sine. A doua intrare este ruta implicită, care se aplică tuturor pachetelor trimise către rețelele care nu sunt listate în acest tabel de rutare. Aici traseul trece prin papaya gazdă (IP 128.17.75.98), care poate fi considerată ușa către lumea exterioară. Această rută trebuie înregistrată pe toate mașinile din rețeaua 128.17.75 care trebuie să aibă acces la alte rețele. A treia intrare a fost creată pentru interfață loopback. Această adresă este utilizată dacă aparatul trebuie să se conecteze la sine prin TCP/IP. Ultima intrare din tabelul de rutare este făcută pentru IP 128.17.75.20 și este direcționată către interfața lo, adică. când o mașină se conectează la ea însăși la adresa 128.17.75.20, toate pachetele vor fi trimise către interfața 127.0.0.1.

Dacă gazda vânătă dorește să trimită un pachet gazdei zucchini, (în consecință, pachetul va indica expeditorul - 128.17.75.20 și destinatarul - 128.17.75.37), protocolul IP va determina pe baza tabelului de rutare că ambele gazde aparțin aceleiași rețele și va trimite pachetul direct în rețea Unde zucchini o va primi. Pentru a spune mai detaliat... placa de rețea transmite o solicitare ARP „Cine este IP 128.17.75.37, asta țipă 128.17.75.20?” toate mașinile care au primit acest mesaj îl ignoră, iar gazda cu adresa 128.17.75.37 răspunde „Acesta sunt eu și adresa mea MAC este așa și așa...”, apoi conexiunea și schimbul de date are loc pe baza tabelele arp, în care este introdusă corespondența adreselor IP-MAC. „Shouts”, adică acest pachet este trimis către toate gazdele, acest lucru se întâmplă deoarece adresa MAC a destinatarului este specificată ca adresă de difuzare (FF:FF:FF:FF:FF:FF). Toate gazdele din rețea primesc astfel de pachete.

Exemplu de tabel de rutare pentru o gazdă vânătă:

# netstat -rn Tabel de rutare IP Kernel Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.20 255.255.255.0 UN 1500 0 0 eth0 implicit 128.17.75.0 .000.000.000.00.000. 27.0.0.1 127.0.0.1 255.0. 0.0 UH 3584 0 0 lo 128.17.75.20 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Să luăm în considerare o situație în care gazda vânătă dorește să trimită un pachet gazdei, de exemplu, pară sau chiar mai departe?... În acest caz, destinatarul pachetului va fi - 128.17.112.21, protocol IP va încerca să găsească o rută pentru rețeaua 128.17.112 în tabelul de rutare, dar această rută nu este în tabel, așa că va selecta ruta implicită, a cărui poartă este papaya(128.17.75.98). După ce a primit pachetul, papaya va căuta adresa de destinație în tabelul său de rutare:

# netstat -rn Kernel IP router table Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.0 128.17.75.98 255.255.255.0 UN 1500 0 0 eth0 128.17.112.25 128.17.75.05 128.17.75.07 5.0 UN 1500 0 0 eth1 implicit 128.17.112.40 0.0 0.0 UGN 1500 0 0 eth1 127.0.0.1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 128.17.75.98 127.0.0.1 255.255.0.1 255.255.25.0.0. 3 127.0.0.1 255.255.255.0 UH 3584 0 0 uite

Din exemplu reiese clar că papaya conectat la două rețele 128.17.75, prin intermediul dispozitivului eth0și 128.17.112 prin intermediul dispozitivului et1. Ruta implicită, prin gazdă ananas, care la rândul său este o poartă către rețeaua externă.

În consecință, primind pachetul pentru pară, router papaya va vedea că adresa de destinație aparține rețelei 128.17.112 și va redirecționa pachetul în conformitate cu a doua intrare din tabelul de rutare.

Astfel, pachetele sunt transmise de la router la router până ajung la adresa de destinație.

Este de remarcat faptul că în aceste exemple traseele

128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128.17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Nu standard. Și nu veți vedea asta în Linux modern.

rezumat

În acest articol, am încercat să descriu cât mai pe scurt și clar conceptele de bază ale interacțiunii infrastructurii de rețea folosind exemplul mai multor rețele interconectate; în partea următoare voi descrie funcționarea rețelei în sistemul de operare Linux. Voi fi bucuros să văd comentariile și completările dvs.

Acest articol va acoperi elementele de bază ale modelului TCP/IP. Pentru o mai bună înțelegere, sunt descrise principalele protocoale și servicii. Principalul lucru este să vă faceți timp și să încercați să înțelegeți fiecare lucru pas cu pas. Toate sunt interconectate și fără a înțelege una, va fi greu să-l înțelegi pe celălalt. Informațiile conținute aici sunt foarte superficiale, așa că acest articol poate fi numit cu ușurință „o stivă de protocol TCP/IP pentru manechin”. Cu toate acestea, multe lucruri de aici nu sunt atât de greu de înțeles pe cât ar putea părea la prima vedere.

TCP/IP

Stiva TCP/IP este un model de rețea pentru transmisia de date într-o rețea; el determină ordinea în care dispozitivele interacționează. Datele intră în stratul de legătură de date și sunt procesate pe rând de fiecare strat de mai sus. Stiva este reprezentată ca o abstractizare care explică principiile procesării și recepționării datelor.

Stiva de protocoale de rețea TCP/IP are 4 niveluri:

  1. Canal (Link).
  2. Rețea (Internet).
  3. Transport.
  4. Aplicație.

Strat de aplicație

Stratul de aplicație oferă capacitatea de a interacționa între aplicație și alte straturi ale stivei de protocoale, analizează și convertește informațiile primite într-un format potrivit pentru software. Este cel mai apropiat de utilizator și interacționează direct cu acesta.

  • HTTP;
  • SMTP;

Fiecare protocol își definește propria ordine și principii de lucru cu datele.

HTTP (HyperText Transfer Protocol) este conceput pentru transferul de date. Trimite, de exemplu, documente în format HTML care servesc drept bază pentru o pagină web. Într-un mod simplificat, schema de lucru este prezentată ca „client - server”. Clientul trimite o cerere, serverul o acceptă, o procesează corect și returnează rezultatul final.

Servește ca standard pentru transferul de fișiere prin rețea. Clientul trimite o cerere pentru un anumit fișier, serverul caută acest fișier în baza sa de date și, dacă este găsit cu succes, îl trimite ca răspuns.

Folosit pentru a transmite e-mail. Operația SMTP include trei pași secvențiali:

  1. Stabilirea adresei expeditorului. Acest lucru este necesar pentru a returna scrisorile.
  2. Definiția destinatarului. Acest pas poate fi repetat de mai multe ori atunci când specificați mai mulți destinatari.
  3. Determinarea conținutului și trimiterea mesajului. Datele despre tipul de mesaj sunt transmise ca informații de serviciu. Dacă serverul confirmă disponibilitatea de a accepta pachetul, atunci tranzacția în sine este finalizată.

Antet

Antetul conține date de service. Este important să înțelegeți că acestea sunt destinate doar unui anumit nivel. Aceasta înseamnă că de îndată ce pachetul este trimis către destinatar, acesta va fi procesat acolo după același model, dar în ordine inversă. Antetul încorporat va conține informații speciale care pot fi procesate doar într-un anumit mod.

De exemplu, un antet imbricat la stratul de transport poate fi procesat doar de stratul de transport de pe cealaltă parte. Alții pur și simplu îl vor ignora.

Stratul de transport

La nivelul de transport, informațiile primite sunt procesate ca o singură unitate, indiferent de conținut. Mesajele primite sunt împărțite în segmente, li se adaugă un antet și totul este trimis în aval.

Protocoale de transfer de date:

Cel mai comun protocol. Este responsabil pentru transferul de date garantat. La trimiterea pachetelor, suma de control a acestora, procesul de tranzacție, este controlată. Aceasta înseamnă că informațiile vor ajunge „în siguranță” indiferent de condiții.

UDP (User Datagram Protocol) este al doilea cel mai popular protocol. De asemenea, este responsabil pentru transferul de date. Caracteristica sa distinctivă constă în simplitatea sa. Pachetele sunt pur și simplu trimise fără a crea nicio conexiune specială.

TCP sau UDP?

Fiecare dintre aceste protocoale are propriul său domeniu de aplicare. Este determinată logic de caracteristicile lucrării.

Principalul avantaj al UDP este viteza de transmisie. TCP este un protocol complex cu multe verificări, în timp ce UDP pare a fi mai simplificat și, prin urmare, mai rapid.

Dezavantajul constă în simplitate. Din cauza lipsei de verificări, integritatea datelor nu este garantată. Astfel, informațiile sunt pur și simplu trimise, iar toate verificările și manipulările similare rămân la aplicație.

UDP este folosit, de exemplu, pentru a viziona videoclipuri. Pentru un fișier video, pierderea unui număr mic de segmente nu este critică, în timp ce viteza de încărcare este cel mai important factor.

Cu toate acestea, dacă trebuie să trimiteți parole sau detalii ale cardului bancar, atunci necesitatea de a utiliza TCP este evidentă. Pierderea chiar și a celei mai mici bucăți de date poate avea consecințe catastrofale. Viteza în acest caz nu este la fel de importantă ca siguranța.

Stratul de rețea

Stratul de rețea formează pachete din informațiile primite și adaugă un antet. Cea mai importantă parte a datelor sunt adresele IP și MAC ale expeditorilor și destinatarilor.

Adresă IP (Internet Protocol address) - adresa logică a dispozitivului. Conține informații despre locația dispozitivului în rețea. Exemplu de intrare: .

Adresă MAC (Media Access Control address) - adresa fizică a dispozitivului. Folosit pentru identificare. Atribuit echipamentelor de rețea în etapa de fabricație. Prezentat ca un număr de șase octeți. De exemplu: .

Nivelul de rețea este responsabil pentru:

  • Determinarea rutelor de livrare.
  • Transferul de pachete între rețele.
  • Atribuirea adreselor unice.

Routerele sunt dispozitive de nivel de rețea. Ele deschide calea între computer și server pe baza datelor primite.

Cel mai popular protocol la acest nivel este IP.

IP (Internet Protocol) este un protocol de Internet conceput pentru adresare în rețea. Folosit pentru a construi rute de-a lungul cărora sunt schimbate pachetele. Nu are mijloace de verificare și confirmare a integrității. Pentru a oferi garanții de livrare, se folosește TCP, care folosește IP ca protocol de transport. Înțelegerea principiilor acestei tranzacții explică o mare parte din baza modului în care funcționează stiva de protocoale TCP/IP.

Tipuri de adrese IP

Există două tipuri de adrese IP utilizate în rețele:

  1. Public.
  2. Privat.

Public (Public) sunt utilizate pe Internet. Regula principală este unicitatea absolută. Un exemplu de utilizare a acestora sunt routerele, fiecare dintre ele având propria sa adresă IP pentru interacțiunea cu Internetul. Această adresă se numește publică.

Private (Private) nu sunt folosite pe Internet. În rețeaua globală, astfel de adrese nu sunt unice. Un exemplu este o rețea locală. Fiecărui dispozitiv i se atribuie o adresă IP unică într-o anumită rețea.

Interacțiunea cu Internetul se realizează printr-un router, care, după cum am menționat mai sus, are propria sa adresă IP publică. Astfel, toate computerele conectate la router apar pe Internet sub numele unei adrese IP publice.

IPv4

Cea mai comună versiune a protocolului de internet. Este anterioară IPv6. Formatul de înregistrare este de patru numere de opt biți separate prin puncte. Masca de subrețea este indicată prin semnul fracțiunii. Lungimea adresei este de 32 de biți. În marea majoritate a cazurilor, când vorbim despre o adresă IP, ne referim la IPv4.

Format de înregistrare: .

IPv6

Această versiune este menită să rezolve problemele cu versiunea anterioară. Lungimea adresei este de 128 de biți.

Principala problemă pe care o rezolvă IPv6 este epuizarea adreselor IPv4. Condițiile au început să apară deja la începutul anilor 80. În ciuda faptului că această problemă a intrat într-o etapă acută deja în 2007-2009, implementarea IPv6 capătă avânt foarte încet.

Principalul avantaj al IPv6 este o conexiune la internet mai rapidă. Acest lucru se datorează faptului că această versiune a protocolului nu necesită traducerea adresei. Se realizează rutarea simplă. Acesta este mai puțin costisitor și, prin urmare, accesul la resursele de internet este oferit mai rapid decât în ​​IPv4.

Exemplu de intrare: .

Există trei tipuri de adrese IPv6:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast este un tip de unicast IPv6. Când este trimis, pachetul ajunge doar la interfața situată la adresa corespunzătoare.

Anycast se referă la adrese IPv6 multicast. Pachetul trimis va ajunge la cea mai apropiată interfață de rețea. Folosit doar de routere.

Multicast sunt multicast. Aceasta înseamnă că pachetul trimis va ajunge la toate interfețele care se află în grupul multicast. Spre deosebire de difuzare, care este „difuzată pentru toată lumea”, difuzarea multiplă transmite doar unui anumit grup.

Mască de rețea

Masca de subrețea determină numărul de subrețea și gazdă din adresa IP.

De exemplu, o adresă IP are o mască. În acest caz, formatul de înregistrare va arăta astfel. Numărul „24” este numărul de biți din mască. Opt biți egal cu un octet, care poate fi numit și octet.

Mai detaliat, masca de subrețea poate fi reprezentată în sistemul de numere binar astfel: . Are patru octeți, iar intrarea constă din „1” și „0”. Dacă adunăm numărul de unități, obținem un total de „24”. Din fericire, nu trebuie să numărați câte unul, deoarece există 8 valori într-un octet. Vedem că trei dintre ele sunt umplute cu unele, le adunăm și obținem „24”.

Dacă vorbim în mod specific despre masca de subrețea, atunci în reprezentare binară are fie unu, fie zero într-un octet. În acest caz, secvența este de așa natură încât octeții cu unu să fie primii și abia apoi cu zerouri.

Să ne uităm la un mic exemplu. Există o adresă IP și o mască de subrețea. Numărăm și notăm: . Acum potrivim masca cu adresa IP. Acei octeți mascați în care toate valorile sunt egale cu unul (255) își lasă octeții corespunzători în adresa IP neschimbați. Dacă valoarea este zerouri (0), atunci octeții din adresa IP devin și zero. Astfel, în valoarea adresei de subrețea obținem .

Subrețea și gazdă

Subrețeaua este responsabilă pentru separarea logică. În esență, acestea sunt dispozitive care folosesc aceeași rețea locală. Determinat de o serie de adrese IP.

Gazdă este adresa interfeței de rețea (placă de rețea). Determinat din adresa IP folosind o mască. De exemplu: . Deoarece primii trei octeți sunt subrețeaua, aceasta lasă . Acesta este numărul gazdei.

Intervalul de adrese de gazdă este de la 0 la 255. Gazda numerotată „0” este, de fapt, adresa subrețelei în sine. Și numărul gazdă „255” este un radiodifuzor.

Adresarea

Există trei tipuri de adrese utilizate pentru adresare în stiva de protocoale TCP/IP:

  1. Local.
  2. Reţea.
  3. Nume de domenii.

Adresele MAC sunt numite locale. Ele sunt utilizate pentru adresare în tehnologiile de rețea locală, cum ar fi Ethernet. În contextul TCP/IP, cuvântul „local” înseamnă că aceștia operează numai într-o subrețea.

Adresa de rețea din stiva de protocoale TCP/IP este adresa IP. La trimiterea unui fișier, adresa destinatarului este citită din antetul acestuia. Cu ajutorul său, routerul învață numărul gazdei și subrețeaua și, pe baza acestor informații, creează o rută către nodul final.

Numele de domenii sunt adrese care pot fi citite de om pentru site-urile web de pe Internet. Serverele web de pe Internet sunt accesibile printr-o adresă IP publică. Este procesat cu succes de computere, dar pare prea incomod pentru oameni. Pentru a evita astfel de complicații, se folosesc nume de domenii, care constau în zone numite „domenii”. Ele sunt aranjate într-o ierarhie strictă, de la nivelul de sus în jos.

Un domeniu de nivel superior reprezintă informații specifice. Generic (.org, .net) nu sunt limitate de limite stricte. Situația opusă este la cele locale (.us, .ru). Ele sunt de obicei localizate.

Domeniile de nivel scăzut reprezintă orice altceva. Poate avea orice dimensiune și poate conține orice număr de valori.

De exemplu, „www.test.quiz.sg” este un nume de domeniu corect, unde „sg” este un domeniu local de primul nivel (superior), „quiz.sg” este un domeniu de al doilea nivel, „test.quiz.sg” este un domeniu de nivel al treilea. Numele de domenii pot fi numite și nume DNS.

DNS (Domain Name System) stabilește o mapare între numele de domenii și adresa IP publică. Când introduceți un nume de domeniu în browser, DNS va detecta adresa IP corespunzătoare și o va raporta dispozitivului. Dispozitivul va procesa acest lucru și îl va returna ca pagină web.

Stratul de legătură de date

La nivelul de legătură, se determină relația dintre dispozitiv și mediul de transmisie fizic și se adaugă un antet. Responsabil pentru codificarea datelor și pregătirea cadrelor pentru transmisie pe mediul fizic. Comutatoarele de rețea funcționează la acest nivel.

Cele mai comune protocoale:

  1. Ethernet.
  2. WLAN.

Ethernet este cea mai comună tehnologie LAN cu fir.

WLAN este o rețea locală bazată pe tehnologii wireless. Dispozitivele interacționează fără conexiuni fizice prin cablu. Un exemplu de cea mai comună metodă este Wi-Fi.

Configurarea TCP/IP pentru a utiliza o adresă IPv4 statică

O adresă IPv4 statică este atribuită direct în setările dispozitivului sau automat la conectarea la rețea și este permanentă.

Pentru a configura stiva de protocoale TCP/IP pentru a utiliza o adresă IPv4 permanentă, introduceți comanda ipconfig/all în consolă și găsiți următoarele date.

Configurarea TCP/IP pentru a utiliza o adresă IPv4 dinamică

O adresă IPv4 dinamică este utilizată pentru o perioadă, închiriată și apoi schimbată. Atribuit automat dispozitivului atunci când este conectat la rețea.

Pentru a configura stiva de protocoale TCP/IP pentru a utiliza o adresă IP nepermanentă, trebuie să mergeți la proprietățile conexiunii dorite, să deschideți proprietățile IPv4 și să bifați casetele așa cum este indicat.

Metode de transfer de date

Datele sunt transmise prin mediul fizic în trei moduri:

  • Simplex.
  • Half-duplex.
  • Full Duplex.

Simplex este o comunicare unidirecțională. Transmisia este efectuată de un singur dispozitiv, în timp ce celălalt primește doar semnalul. Putem spune că informația se transmite într-o singură direcție.

Exemple de comunicare simplex:

  • Difuzarea televiziunii.
  • Semnal de la sateliți GPS.

Half-duplex este o comunicare bidirecțională. Cu toate acestea, doar un nod poate transmite un semnal la un moment dat. Cu acest tip de comunicare, două dispozitive nu pot folosi același canal în același timp. Este posibil ca comunicarea completă bidirecțională să nu fie posibilă din punct de vedere fizic sau poate duce la coliziuni. Se spune că acestea sunt în conflict asupra mediului de transmisie. Acest mod este utilizat când se utilizează cablu coaxial.

Un exemplu de comunicare semi-duplex este comunicarea prin walkie-talkie pe o singură frecvență.

Full Duplex - comunicare completă în două sensuri. Dispozitivele pot transmite simultan un semnal și pot primi. Ele nu intră în conflict asupra mediului de transmisie. Acest mod este utilizat atunci când se utilizează tehnologia Fast Ethernet și o conexiune torsadată.

Un exemplu este comunicarea telefonică printr-o rețea mobilă.

TCP/IP vs OSI

Modelul OSI definește principiile transmiterii datelor. Straturile stivei de protocol TCP/IP corespund direct acestui model. Spre deosebire de TCP/IP cu patru straturi, are 7 straturi:

  1. Fizic.
  2. Canal (Legătură de date).
  3. Reţea.
  4. Transport.
  5. Sesiune.
  6. Prezentare.
  7. Aplicație.

Nu este nevoie să aprofundăm prea mult în acest model în acest moment, dar este necesară cel puțin o înțelegere superficială.

Stratul de aplicație din modelul TCP/IP corespunde primelor trei straturi OSI. Toate funcționează cu aplicații, astfel încât să puteți vedea clar logica acestei combinații. Această structură generalizată a stivei de protocoale TCP/IP face abstracția mai ușor de înțeles.

Stratul de transport rămâne neschimbat. Îndeplinește aceleași funcții.

Stratul de rețea este, de asemenea, neschimbat. Îndeplinește exact aceleași sarcini.

Stratul de legătură de date în TCP/IP corespunde ultimelor două straturi OSI. Stratul de legătură de date stabilește protocoale pentru transmiterea datelor pe mediul fizic.

Fizic reprezintă conexiunea fizică reală - semnale electrice, conectori etc. În stiva de protocoale TCP/IP, s-a decis combinarea acestor două straturi într-unul singur, deoarece ambele se ocupă de mediul fizic.

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.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva