tcp ip model with different layers
Un ghid complet pentru straturile modelului TCP / IP:
Am aflat totul despre Securitate firewall în tutorialul nostru anterior. Aici, în acest tutorial vom afla despre modelul TCP / IP.
Modelul TCP / IP se referă la protocolul de control al transmisiei și protocolul Internet.
Modelul actual de Internet folosește acest model de rețea în scopuri de comunicare. Citiți prin Tutoriale de instruire în rețea pentru o înțelegere clară a conceptului.
Aceste protocoale sunt pur și simplu o combinație a regulilor care reglementează fiecare comunicație prin rețea. La rândul lor, aceștia decid calea care trebuie urmată pentru comunicarea dintre sursă și destinație sau internet.
Modelul TCP / IP este format din patru straturi care încheie procesul general de comunicare. În acest tutorial, vom analiza în profunzime funcționalitatea fiecărui strat.
Ca tester de software, este necesar să empatizăm cu modelul TCP / IP, deoarece aplicațiile software funcționează pe stratul superior, adică stratul de aplicație al acestui model.
Ce veți învăța:
Arhitectura rețelei
Arhitectura în patru straturi este următoarea:
Protocoalele și rețelele utilizate în acest model de rețea sunt prezentate în figura de mai jos:
Să rezumăm protocoalele și principalele utilizări ale fiecărui strat din modelul TCP / IP cu ajutorul diagramei de mai jos.
Funcțiile fiecărui strat în modelul TCP / IP
Mai jos sunt enumerate diferitele funcții ale fiecărui strat din modelul TCP / IP.
Layer de acces la rețea
Funcțiile stratului de acces la rețea sunt prezentate mai jos:
- Acesta este stratul inferior al modelului TCP / IP și include toate funcționalitățile stratului fizic și stratul de legătură de date al modelului de referință OSI.
- Astfel, caracterizează protocoalele, hardware-ul și mediile care trebuie utilizate pentru comunicare.
- Pachetele de date din stratul Internet sunt transmise acestui strat pentru trimiterea la destinație pe un suport fizic.
- Sarcina principală a acestui strat este de a combina octeții de date în cadre și de a oferi un mecanism pentru transmiterea cadrului de date IP pe suportul fizic.
- Punct la punct (PPP) este protocolul care este utilizat pentru a face legătura punct-la-punct peste liniile închiriate. De asemenea, este implementat pentru a oferi conectivitate între utilizatorul final și furnizorii de servicii de internet prin modemuri. De asemenea, suportă pentru furnizarea adreselor IP prin legături PPP.
- Majoritatea utilizatorilor finali preferă o legătură Ethernet care funcționează numai pe protocolul de legătură de date Ethernet. Astfel se creează PPP prin Ethernet care permite trimiterea cadrelor de date încapsulate în cadrul Ethernet.
- PPPoE construiește inițial un tunel între dispozitivele de rețea ale utilizatorului final, cum ar fi routerul și routerul ISP. Apoi routerul trimite cadre PPP peste acel tunel, deoarece tunelul funcționează ca o legătură punct-la-punct între routere. Acum, datele sunt transmise și prin rețelele WAN, datorită acestei tehnologii.
- PPP folosește, de asemenea, procesul de autentificare pentru verificarea responsabilității pentru utilizarea datelor cu furnizorii de servicii Internet. Metodele includ protocolul de autentificare prin parolă (PAP) și protocolul de autentificare prin strângere de mână de canal (CHAP).
Layer Internet
- Al doilea strat din partea de jos este stratul Internet.
- Odată ce datele sunt segmentate de TCP sau UDP prin adăugarea antetelor corespunzătoare în pachetul de date, le va trimite în jos la nivelul inferior pentru o comunicare ulterioară.
- Gazda de destinație către care este destinat pachetul de date poate locui într-o altă rețea a cărei cale poate fi atinsă prin trecerea prin diverse routere. Este datoria stratului Internet să atribuie adresele logice și să direcționeze pachetele de date în mod eficient către rețeaua de destinație.
- Stratul Internet (IP) este cel mai popular protocol care este utilizat pentru a efectua această sarcină.
Protocol Internet
Scopul acestui protocol este de a direcționa pachetele de date către destinație conform informațiilor din antetul pachetului, urmând un set de protocoale.
Prin adăugarea unui antet care are adresa IP a sursei și destinației, segmentul primit de la TCP sau UDP este convertit în PDU cunoscut sub numele de pachet. Când pachetul ajunge la router, acesta se uită la adresa de destinație din antet și apoi redirecționează pachetul în consecință către următorul router pentru a ajunge la destinație.
Să înțelegem acest lucru cu un exemplu:
În figura de mai jos, când gazda A dorește să comunice cu gazda B, nu va utiliza niciun protocol de rutare, deoarece ambele sunt în același interval de rețea având adresele IP ale aceluiași set.
Dar dacă gazda A dorește să trimită un pachet la gazda C, atunci cu ajutorul protocolului, descoperă că gazda de destinație este din altă rețea. Astfel, formatul de mai sus va căuta în tabelul de rutare pentru a afla următoarea adresă hop pentru a ajunge la destinație.
În acest caz, gazda A va ajunge la gazda C prin intermediul routerelor A, B și C. Deoarece routerul C este conectat direct la o rețea de destinație printr-un comutator, pachetul este livrat gazdei C.
Ruterul primește toate informațiile legate de rutare din câmpurile antetului IP. Stratul de rețea TCP / IP (stratul de legătură de date) va fi responsabil pentru livrarea pachetelor de date de la un capăt la altul.
Flux de pachete în protocolul Internet
Antet IPV4
- Versiune: IPV4 are versiunea numărul 4.
- Lungimea antetului: Arată dimensiunea antetului.
- Câmpul DS: Câmpul DS înseamnă câmpul de servicii diferențiate și este implementat pentru construirea pachetelor.
- Lungime totală: Denotă dimensiunea antetului plus dimensiunea pachetului de date.
- Identificare: Acest câmp este utilizat pentru fragmentarea pachetelor de date și pentru alocarea fiecărui câmp și astfel ajută la construirea pachetului de date original.
- Steaguri: Folosit pentru a indica procedura de fragmentare.
- Compensarea fragmentelor: Acesta indică numărul fragmentului și gazda sursă care le folosește pentru rearanjarea datelor fragmentate în ordinea corectă.
- Timpul de plecare: Aceasta este setată la sfârșitul gazdei sursă.
- Protocol: Denotă protocolul pe care îl folosește pentru transmiterea datelor. TCP are numărul de protocol 6 și UDP are numărul de protocol 17.
- Suma de verificare a antetului: Acest câmp este utilizat pentru detectarea erorilor.
- Adresa IP sursă: Salvează adresa IP a gazdei sursă.
- Destinatia adresei IP: Salvează adresa IP a gazdei de destinație.
Vom discuta acest lucru în detaliu, în tutorialele noastre viitoare.
Stratul de transport
- Acesta este al treilea strat de jos, deoarece este responsabil pentru transferul general de date și este util în stabilirea unei conectivități logice cap la cap între gazda sursă și destinație și dispozitivele dintr-o rețea.
- Două protocoale sunt utilizate pentru a efectua aceste sarcini:
- Mai întâi este protocolul de control al transmisiei (TCP), care este un protocol bazat pe conexiune și fiabil.
- În al doilea rând este protocolul User Datagram (UDP), care este un protocol fără conexiune.
- Înainte de a explora aceste două protocoale în profunzime, vom discuta despre conceptul de NUMĂR DE PORT care este utilizat de ambele protocoale.
Numarul portului:
Într-o rețea, un dispozitiv gazdă poate trimite sau primi trafic din mai multe surse în același timp.
Într-o astfel de situație, sistemul nu va recunoaște la care dintre aplicații aparține datele. Protocoalele TCP și UDP rezolvă aceste probleme punând un număr de port în anteturile lor. Protocoalele bine cunoscute ale straturilor de aplicație sunt alocate cu numărul de port din intervalul 1-1024.
La sfârșitul sursei, fiecare sesiune TCP sau UDP este alocată cu un număr de port aleatoriu. Adresa IP, numărul portului și tipul de protocol utilizat în combinație reformează un socket atât la sfârșitul sursei, cât și la destinație. Deoarece fiecare socket este exclusiv, mai multe gazde pot trimite sau primi trafic în același interval de timp.
Tabelul de mai jos arată numărul portului care este atribuit mai multor protocoale de strat de aplicație corespunzătoare protocolului de strat de transport.
Protocol de aplicare | Protocolul de transport | Numarul portului |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (control) | TCP | douăzeci și unu |
FTP(data) | TCP | douăzeci |
SSH | TCP | 22 |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Sesiune multiplă folosind numărul portului
TCP
- Ori de câte ori stratul de aplicație trebuie să circule fluxul de trafic sau date uriașe, acesta îl trimite către stratul de transport în care TCP efectuează comunicarea finală între rețele.
- TCP configurează inițial un proces de strângere de mână în trei direcții între sursă și destinație și apoi împarte datele în bucăți mici cunoscute sub numele de segmente și include un antet în fiecare segment și apoi îl redirecționează către stratul Internet.
Figura de mai jos arată formatul antetului TCP.
- Strângere de mână în trei direcții: Este procesul implementat de TCP pentru a stabili o conexiune între gazda sursă și destinația din rețea. Este folosit pentru a efectua transmiterea fiabilă a datelor. Implementează steaguri SYN și ACK ale biților de cod din antetul TCP pentru a efectua sarcina. Oferă o comunicare fiabilă prin efectuarea confirmării pozitive cu re-transmisie și este, de asemenea, cunoscut ca PAR. Sistemul care utilizează PAR va retransmite segmentul de date până când va primi ACK. Ori de câte ori receptorul aruncă datele, expeditorul trebuie să retransmită datele până când primește ACK pozitiv de la receptor.
Există 3 pași de strângere de mână în trei direcții, care sunt după cum urmează:
- Pasul 1: Gazda sursă A dorește să stabilească o conexiune cu gazda destinație B, transmite un segment cu SYN și numărul de secvență, ceea ce denotă că gazda A vrea să inițieze o sesiune de comunicare cu gazda B și cu ce număr de secvență este definit în acel segment.
- Pasul 2: Gazda B răspunde la solicitarea gazdei A cu SYN și ACK setate în bitul de semnal. ACK denotă răspunsul segmentului primit și SYN denotă numărul secvenței.
- Pasul 3: Gazda A recunoaște răspunsul de la Gazda B și ambele stabilesc o conexiune sigură între ele și apoi încep transmiterea datelor prin aceasta.
Așa cum este descris în figura de mai jos, în procesul de strângere de mână cu trei căi, mai întâi gazda sursă trimite un antet TCP către gazda de destinație prin setarea semnalizatorului SYN. Ca răspuns, recuperează SYN și setul de semnalizare de confirmare. Gazda de destinație practică numărul de secvență primit plus 1 ca număr de confirmare.
TCP IP acceptă modelul client-server al sistemului de comunicații.
Proces de strângere de mână în trei direcții
- Segmentarea datelor :
- Aceasta este una dintre caracteristicile protocolului TCP. Stratul aplicației trimite un număr mare de date pentru a fi transmise la destinație către stratul de transport. Dar stratul de transport limitează dimensiunea datelor care trebuie trimise dintr-o singură dată. Acest lucru se face prin împărțirea datelor în segmente mici.
- Pentru a recunoaște secvența segmentelor de date, se utilizează un număr de secvență în antetul TCP și care descrie numărul de octeți pentru întregul segment de date.
- Controlul debitului:
- Gazda sursă va trimite datele într-un grup de segmente. Antetul TCP care are un bit de fereastră este utilizat pentru a afla numărul segmentelor care pot fi trimise la un moment dat. Este folosit pentru a eluda traficul nesemnificativ la capătul destinației.
- Când începe sesiunea, dimensiunea ferestrei este mică, dar pe măsură ce traficul crește cu timpul, dimensiunea ferestrei poate deveni imensă. Gazda de destinație poate regla fereastra în conformitate pentru a controla fluxul. Astfel fereastra se numește fereastră glisantă.
- Sursa poate transmite doar numărul de segmente permise de fereastră. Pentru a trimite mai multe segmente, mai întâi va aștepta o confirmare de la capătul de primire odată ce primește ACK, iar mai târziu poate îmbunătăți dimensiunea ferestrei în funcție de necesitatea sa.
- În figura de mai jos, gazda de destinație îmbunătățește dimensiunea de la 500 la 600, apoi la 800, după trimiterea ACK înapoi la gazda sursă.
- Livrare fiabilă și recuperare erori :
- După ce ultimul segment al ferestrei decisive este primit de destinație, acesta trebuie să trimită un ACK la capătul sursei. Semnalizatorul ACK este setat în antetul TCP și numărul ACK este pus ca numărul de ordine al octetului ulterior presupus. Dacă destinația nu primește segmentele în ordinea corectă, atunci nu va transmite ACK înapoi la sursă.
- Acest lucru explică sursa că câteva dintre segmente sunt deplasate în timpul transmisiei și va retransmite toate segmentele.
- În figura de mai jos, s-a ilustrat că atunci când sursa nu a primit ACK pentru segmentul cu numărul SEQ 200, atunci transmite din nou datele și după ce a primit ACK trimite următoarea secvență a segmentului de date în în conformitate cu dimensiunea ferestrei.
- Livrare comandată :
- TCP asigură livrarea secvențială a datelor către destinație. Acesta livrează datele în ordinea în care le primește din stratul de aplicație pentru livrare către gazda de destinație. Astfel, pentru menținerea livrării comandate, folosește numărul de ordine în timpul transmiterii segmentelor de date.
- Închiderea conexiunii :
- Când se finalizează transmiterea datelor între sursă și destinație, TCP va încheia sesiunea prin trimiterea semnalizatoarelor FIN și ACK și utilizează o strângere de mână în patru direcții pentru a o închide.
Fereastra culisantă TCP și livrare fiabilă
User Datagram Protocol (UDP):
Este protocolul nesigur și fără conexiune pentru transmiterea datelor. În acest protocol, spre deosebire de TCP, acesta nu generează nicio semnalizare ACK, prin urmare gazda sursă nu va aștepta un răspuns de la sfârșitul destinației și va transmite datele fără întârziere și va aștepta ACK.
Într-un scenariu în timp real, UDP este utilizat, deoarece scăderea pachetelor de date este aleasă în așteptarea pachetelor pentru retransmisie. Astfel, este cel mai utilizat în jocuri, vizionarea de videoclipuri online, conversații etc., unde confirmarea datelor nu este o problemă. În aceste scenarii, verificarea și corectarea erorilor au loc la nivelul aplicației.
Antet UDP:
- Port sursă: Clasifică informațiile sursei pachetului final, care are o dimensiune de 16 biți.
- Portul de destinație : Are, de asemenea, o dimensiune de 16 biți și se utilizează pentru a clasifica tipul de serviciu de date la nodul de destinație.
- Lungime : Indică dimensiunea generală a datagramei UDP. Dimensiunea maximă a câmpului de lungime poate fi dimensiunea totală a antetului UDP în sine.
- Suma de control : Salvează suma de verificare evaluată de capătul sursei înainte de transmisie. Dacă nu deține nicio valoare, atunci toți biții săi sunt setați la zero.
Aplicații UDP :
- Acesta prevede datagrama, deci este adecvat pentru tunelurile IP și sistemul de fișiere de rețea.
- Simplu în utilizare, prin urmare este utilizat în DHCP și în protocolul banal de transfer de fișiere.
- A fi apatrid îl face eficient pentru streaming de aplicații media precum IPTV.
- De asemenea, potrivit pentru programe de voce peste IP și streaming în timp real.
- Sprijină multidifuziunea, deci este adecvat pentru servicii de difuzare precum Bluetooth și protocolul de informare de rutare.
Strat de aplicație
(i) Acesta este stratul superior al modelului TCP / IP.
(ii) Realizează toate sarcinile unui nivel de sesiune, strat de prezentare și strat de aplicație al modelului TCP / IP.
(iii) Combină funcțiile de interfață cu diverse aplicații, codificarea datelor, traducerea datelor și accesul la dispoziții pentru ca utilizatorii să comunice cu diferite sisteme de rețea.
Cele mai frecvente protocoale de strat de aplicație sunt definite mai jos:
# 1) TELNET: Reprezintă protocolul de emulare terminal. În general, practică accesarea aplicațiilor de la distanță. Serverul telnet care acționează ca gazdă inițiază o aplicație server telnet pentru a stabili o conexiune cu gazda de la distanță cunoscută sub numele de client telnet.
După stabilirea conexiunii, aceasta este prezentată sistemului de operare al serverului telnet. Persoanele de pe server utilizează tastatura și mouse-ul pentru a opera și accesa gazda extremă prin TELNET.
# 2) HTTP: Reprezintă protocolul de transfer hipertext. Este baza World Wide Web (WWW). Acest protocol este utilizat pentru a schimba hipertextul între diferite sisteme. Este un tip de protocol cerere-răspuns.
De exemplu, Browserul web, cum ar fi Internet Explorer sau Mozilla, acționează ca un client web, iar aplicația care rulează pe computerul care găzduiește site-ul web va acționa ca un server web.
Astfel, serverul care furnizează resurse precum fișierele HTML și alte funcții solicitate de client returnează clientului un mesaj de răspuns care are conținutul datelor de stare de finalizare și datele solicitate în linia de mesaj.
Resursele HTTP sunt recunoscute și poziționate în rețea de către localizatori de resurse uniforme (URL), implementând metode HTTP și https de identificatori de resurse uniforme (URI).
# 3) FTP: Reprezintă protocolul de transfer de fișiere. Este folosit pentru partajarea sau transferul fișierelor între două gazde. Gazda care rulează aplicația FTP se comportă ca server FTP în timp ce cealaltă se comportă ca client FTP.
Clientul gazdă care solicită partajarea fișierelor necesită autentificare de la server pentru a accesa datele. Odată autorizat, poate accesa orice tip de fișiere de pe server, poate trimite sau primi fișiere.
# 4) SMTP: Protocolul simplu de transport al e-mailului este un exercițiu de trimitere a e-mailurilor. Când configurăm gazda pentru trimiterea e-mailurilor, folosim SMTP.
# 5) DNS: Fiecare dintre dispozitivele gazdă din orice rețea are o adresă logică unică numită adresă IP. După cum sa discutat deja, adresele IP sunt un grup de atât de multe numere și nu este ușor de memorat. Când introducem orice adresă web pe un browser web, cum ar fi Google.com, atunci solicităm de fapt o gazdă care are o adresă IP.
Dar nu trebuie să memorăm adresa IP a paginii web pe care o solicităm, deoarece DNS (server de nume de domeniu) mapează un nume cu fiecare adresă IP logică și o stochează.
Astfel, atunci când introducem browserul pentru orice pagină web, atunci acesta trimite interogarea DNS către serverul său DNS pentru a asocia adresa IP cu numele. Odată ce primește adresa, se creează o sesiune HTTP cu adresa IP.
# 6) DHCP: Fiecare dintre dispozitivele gazdă din orice rețea necesită o adresă IP pentru comunicarea cu celelalte dispozitive din rețea. Obține această adresă prin configurare manuală sau utilizând un protocol de configurare a gazdei dinamice (DHCP). Dacă utilizați DHCP, atunci gazda va fi atribuită automat cu o adresă IP.
Să presupunem că o rețea cuprinde 10.000 de dispozitive gazdă. Apoi, alocarea manuală a adresei IP fiecărei gazde este foarte dificilă și durează prea mult, astfel folosim protocolul DHCP pentru atribuirea unei adrese IP și a altor informații dispozitivelor gazdă conectate, cum ar fi masca de subrețea IP sau IP gateway.
Programele de testare software vor funcționa pe acest strat al modelului TCP / IP, deoarece prevede utilizatorilor finali să testeze diferitele servicii și să le utilizeze.
Concluzie
Am văzut diferite protocoale care sunt utilizate la fiecare strat al modelului TCP / IP pentru a efectua sarcinile asociate stratului și beneficiile acestora într-un sistem de comunicații.
care este scopul testării acceptării utilizatorilor
Toate protocoalele definite mai sus au propria lor semnificație și roluri diferite în testarea și aplicarea instrumentelor software.
Lectură recomandată
- Totul despre comutatoarele Layer 2 și Layer 3 din sistemul de rețea
- Un ghid complet pentru firewall: Cum să construiți un sistem de rețea securizat
- Totul despre routere: tipuri de routere, tabel de rutare și rutare IP
- Ce este rețeaua extinsă (WAN): Exemple de rețea WAN live
- Ce sunt protocolurile HTTP (Hypertext Transfer Protocol) și DHCP?
- Protocoale importante ale straturilor de aplicație: protocoale DNS, FTP, SMTP și MIME
- IPv4 vs IPv6: Care este diferența exactă
- Care este adresa și locația mea IP (Verificați IP-ul real aici)