Protocolul de rețea IP este utilizat la ce nivel. Ce este protocolul TCP-IP

Protocolul de rețea IP este utilizat la ce nivel.  Ce este protocolul TCP-IP
Protocolul de rețea IP este utilizat la ce nivel. Ce este protocolul TCP-IP

O zi bună, dragi cititori.
La cererea populară, astăzi public pentru dvs. un articol care vă va prezenta elementele de bază ale termenilor de rețea de calculatoare, și anume:

  • Protocoale de rețea - care sunt aceste nume înfricoșătoare și pentru ce sunt folosite?
  • UDP, TCP, ICMP - ce, de ce și care este diferența
  • Toată lumea are o adresă IP, dar nu toată lumea știe de ce chestia asta :-)
  • Mască de adresă (subrețea)
  • Poarta de acces
  • Câteva cuvinte despre tabelele de rutare
  • Porturile - ce sunt de fapt?
  • adresa MAC

Ceva de genul acesta.

Articolul cred că va fi util tuturor, tineri și bătrâni, deoarece conține nu atât un set de acțiuni sau cuvinte ciudate, de neînțeles, ci mai degrabă un bloc de informații prezentate într-un limbaj accesibil, care, cel puțin, va vă oferă o înțelegere a modului în care funcționează totul în general și de ce este necesar. Să mergem.

Protocoale de rețea TCP/IP, NWLink IPX/SPX, NetBEUI

Să începem cu ce este un protocol de rețea și pentru ce este folosit.
Protocol de rețea este un set de reguli implementate prin software pentru comunicarea între computere. Un fel de limbaj în care computerele vorbesc între ele și transmit informații. Anterior, computerele erau, ca să spunem așa, multilingve și mai vechi versiuni Windows a fost folosit un întreg set de protocoale - TCP/IP, NWLink IPX/SPX, NetBEUI. Acum am ajuns la un acord general, iar standardul a devenit utilizarea exclusivă a protocolului TCP/IP și, prin urmare, îl vom discuta în continuare.

Când se vorbește despre TCP/IP, de obicei înseamnă prin acest nume multe... reguli diferite sau, să zicem, standarde care sunt prescrise folosind (sau pentru utilizarea) acestui protocol. Deci, de exemplu, există reguli prin care mesajele sunt schimbate între serverele de e-mail și există reguli prin care utilizatorul final primește scrisori în cutia poștală. Există reguli pentru desfășurarea conferințelor video și reguli pentru organizarea conversațiilor „telefonice” pe Internet. De fapt, acestea nu sunt chiar reguli... Mai degrabă un fel de gramatică sau ceva de genul ăsta. Ei bine, știi, în engleză există o structură pentru construirea dialogurilor, în franceză există alta... Deci în TCP/IP ceva asemănător, adică. un anumit grup de reguli gramaticale diferite este tocmai protocolul integral TCP/IP sau, mai precis, Stiva de protocoale TCP/IP.

Protocoale de rețea UDP, TCP, ICMP

În cadrul protocolului TCP/IP, protocoalele utilizate pentru transmiterea datelor sunt TCP și UDP. Mulți oameni au auzit probabil că există atât porturi TCP, cât și UDP, dar nu toată lumea știe care este diferența și despre ce este vorba. Aşa..

Transmiterea datelor prin protocolul TCP (Transmission Control Protocol) necesită confirmarea primirii informațiilor. „Ei bine, spun ei, ai înțeles-o!” Dacă partea care transmite nu primește confirmarea necesară în intervalul de timp stabilit, datele vor fi transmise din nou. Prin urmare, TCP este considerat un protocol bazat pe conexiune, în timp ce UDP (User Datagram Protocol) nu este. UDP este utilizat în cazurile în care nu este necesară confirmarea recepției (de exemplu, solicitări DNS sau telefonie IP (din care Skype este un reprezentant important)). Adică, diferența constă în prezența confirmării recepției. S-ar părea „Asta e tot!”, dar în practică joacă un rol important.

Există și protocolul ICMP (Internet Control Message Protocol), care este folosit pentru a transmite date despre parametrii rețelei. Include tipuri de pachete de utilitate, cum ar fi ping, distanță inaccesibil, TTL etc.

Ce este o adresă IP

Toată lumea are una, dar nu toată lumea are o idee despre ce fel de adresă este aceasta și de ce este imposibil să trăiești fără ea. iti spun eu.

Adresa IP este un număr de 32 de biți utilizat pentru a identifica un computer dintr-o rețea. Se obișnuiește să scrieți adresa în valori zecimale ale fiecărui octet al acestui număr, separând valorile rezultate cu puncte. De exemplu, 192.168.101.36

Adresele IP sunt unice, ceea ce înseamnă că fiecare computer are propria sa combinație de numere și nu pot exista două computere în rețea cu aceeași adresă. Adresele IP sunt distribuite centralizat, furnizorii de internet fac aplicații către centrele naționale în funcție de nevoile acestora. Intervalele de adrese primite de furnizori sunt distribuite în continuare între clienți. Clienții, la rândul lor, pot acționa ei înșiși ca furnizori și pot distribui adresele IP primite între subclienți etc. Cu această metodă de distribuire a adreselor IP, sistemul informatic știe exact „locația” unui computer care are o adresă IP unică; - este suficient ca ea să trimită datele către rețeaua „proprietar”, iar furnizorul, la rândul său, va analiza destinația și, știind cui este dată această parte a adreselor, va trimite informația următorului proprietar al subintervalul de adrese IP până când datele ajung la computerul de destinație.

Pentru construirea rețelelor locale sunt alocate intervale de adrese speciale. Acestea sunt adresele 10.x.x.x, 192.168.x.x, 10.x.x.x, de la 172.16.x.x la 172.31.x.x, 169.254.x.x, unde x înseamnă orice număr de la 0 la 254. Pachetele transmise de la adresele specificate nu sunt direcționate, cu alte cuvinte, pur și simplu nu sunt trimise prin Internet și, prin urmare, computerele din diferite rețele locale pot avea adrese care se potrivesc de la intervale specificate. Adică, compania SRL „Horns and Hooves” și SRL „Vasya and Company” pot avea două computere cu adrese 192.168.0.244, dar nu pot, să zicem, cu adrese 85.144.213.122 primite de la furnizorul de internet, deoarece . Nu pot exista două adrese IP identice pe Internet. Pentru a trimite informații de pe astfel de computere la Internet și înapoi, se folosesc programe și dispozitive speciale care înlocuiesc adresele locale cu adrese reale atunci când lucrează cu Internetul. Cu alte cuvinte, datele sunt trimise în rețea de la o adresă IP reală, și nu de la una locală. Acest proces are loc neobservat de utilizator și se numește traducere de adrese. De asemenea, aș dori să menționez că în cadrul aceleiași rețele, să zicem, o companie, Horns and Hooves LLC, nu pot exista două computere cu o singură adresă IP locală, adică în exemplul de mai sus s-a înțeles că un computer cu adresa 192.168.0.244 într-o firmă, a doua cu aceeași adresă în alta. În aceeași companie, două computere cu adresa 192.168.0.244 pur și simplu nu se vor înțelege.

Probabil ați auzit termeni precum IP extern și IP intern, IP permanent (IP static) și IP variabil (dinamic). Pe scurt despre ele:

  • IP extern este exact același IP pe care ți-l oferă furnizorul tău, adică. Adresa dvs. unică de pe Internet, de exemplu, este 85.144.24.122
  • IP intern este IP local, adică IP-ul dumneavoastră în rețeaua locală, de exemplu, este 192.168.1.3
  • IP static este un IP care nu se schimbă cu fiecare conexiune, adică. încredințat ție ferm și pentru totdeauna
  • IP dinamic este o adresă IP plutitoare care se modifică cu fiecare conexiune

Tipul IP-ului dumneavoastră (static sau dinamic) depinde de setările furnizorului dumneavoastră.

Ce este o mască de adresă (subrețea)

Conceptul de subrețea a fost introdus astfel încât să fie posibilă selectarea unei părți a adreselor IP ale unei organizații, a unei părți a alteia etc. O subrețea este o serie de adrese IP care sunt considerate ca aparținând aceleiași rețele locale. Când lucrați într-o rețea locală, informațiile sunt trimise direct destinatarului. Dacă datele sunt destinate computerelor cu o adresă IP care nu aparține rețelei locale, atunci i se aplică reguli speciale pentru a calcula ruta de redirecționare de la o rețea la alta.

Masca este un parametru care spune software-ului în câte computere sunt combinate acest grup(subrețea). Masca de adresă are aceeași structură ca și adresa IP în sine: este un set de patru grupuri de numere, fiecare dintre acestea putând fi în intervalul de la 0 la 255. În acest caz, cu cât valoarea măștii este mai mică, cu atât mai multe calculatoare unite în această subrețea. Pentru rețelele de companii mici, masca este de obicei 255.255.255.x (de exemplu, 255.255.255.224). Masca de rețea este atribuită computerului împreună cu adresa IP. Deci, de exemplu, o rețea 192.168.0.0 cu o mască de 255.255.255.0 poate conține computere cu adrese de la 192.168.0.1 la 192.168.254 192.168.0.0 cu o mască de 255.255.255.0 la 192.168.0.1 la 192.168.254 2. 168,0 .127. Cred că sensul este clar. De regulă, rețelele cu un număr mic posibil de computere sunt folosite de furnizori pentru a salva adrese IP. De exemplu, unui client i se poate atribui o adresă cu o mască de 255.255.255.252. Această subrețea conține doar două computere.

După ce computerul a primit o adresă IP și cunoaște valoarea măștii de subrețea, programul poate începe să lucreze în această subrețea locală. Cu toate acestea, pentru a face schimb de informații cu alte computere în retea globala, trebuie să cunoașteți regulile unde să trimiteți informații pentru rețeaua externă. În acest scop, se utilizează o caracteristică precum adresa Gateway.

Ce este un Gateway?

Un gateway este un dispozitiv (calculator sau router) care transmite informații între diferite subrețele IP. Dacă programul stabilește (prin IP și mască) că adresa de destinație nu face parte din subrețeaua locală, atunci trimite aceste date către dispozitivul care acționează ca gateway. În setările protocolului, specificați adresa IP a unui astfel de dispozitiv.

Pentru a funcționa numai în rețeaua locală, gateway-ul poate să nu fie specificat.

Pentru utilizatorii individuali care se conectează la Internet sau pentru întreprinderile mici cu un singur canal de conexiune, sistemul ar trebui să aibă o singură adresă de gateway - aceasta este adresa dispozitivului care are o conexiune la internet. Dacă există mai multe rute, vor exista mai multe gateway-uri. În acest caz, se utilizează un tabel de rutare pentru a determina calea datelor.

Ce sunt tabelele de rutare

Și așa am ajuns fără probleme la ei. Și așa.. Ce fel de mese sunt acestea?

O organizație sau utilizator poate avea mai multe puncte de conectare la Internet (de exemplu, canale de rezervă în cazul în care ceva nu merge bine cu primul furnizor, dar Internetul este încă foarte necesar) sau să conțină mai multe rețele IP în structura sa. În acest caz, pentru ca sistemul să știe în ce mod (prin ce gateway) să trimită această sau acea informație, se folosesc tabelele de rutare. Tabelele de rutare pentru fiecare gateway indică acele subrețele de Internet pentru care informațiile ar trebui transmise prin ele. În acest caz, pentru mai multe gateway-uri puteți seta aceleași intervale, dar cu costuri diferite pentru transmiterea datelor: de exemplu, informațiile vor fi trimise pe canalul care are cel mai mic cost, iar dacă eșuează dintr-un motiv sau altul, următorul disponibile cele mai multe vor fi utilizate automat conexiune ieftină.

Ce sunt porturile de rețea

La transmiterea datelor, pe lângă adresele IP ale expeditorului și destinatarului, pachetul de informații conține numere de porturi. Exemplu: 192.168.1.1:80, - în acest caz 80 este numărul portului. Un port este un număr care este utilizat la primirea și transmiterea datelor pentru a identifica procesul (programul) care ar trebui să proceseze datele. Deci, dacă pachetul este trimis la portul 80, atunci aceasta indică faptul că informațiile sunt destinate serverului HTTP.

Numerele de porturi de la 1 la 1023 sunt atribuite unor programe specifice (așa-numitele porturi binecunoscute). Porturile numerotate 1024 -65 535 pot fi utilizate în programele proprietare. În acest caz, posibilele conflicte trebuie rezolvate chiar de programele prin alegerea unui port liber. Cu alte cuvinte, porturile vor fi distribuite dinamic: este posibil ca data viitoare când programul pornește, acesta să aleagă o altă valoare de port, cu excepția cazului în care, desigur, setați manual portul la acesta prin setări.

Ce este o adresă MAC

Faptul este că pachetele trimise în rețea sunt adresate computerelor nu după numele sau adresele lor IP. Pachetul este destinat unui dispozitiv cu o anumită adresă, care se numește adresă MAC.

Adresa MAC este o adresă unică dispozitiv de rețea, care este inclus în acesta de către producătorul echipamentului, adică. Acesta este un fel de număr ștampilat al plăcii de rețea. Prima jumătate a adresei MAC este identificatorul producătorului, a doua jumătate este număr unic a acestui aparat.

De regulă, o adresă MAC este necesară pentru identificarea, de exemplu, cu un furnizor (dacă furnizorul folosește legarea prin adresa MAC în loc de o parolă de conectare) sau la configurarea unui router.

Unde să vezi toate setările de rețea

Aproape că am uitat să spun câteva cuvinte despre unde poți să te uiți și să schimbi toate astea.

Protocolul TCP/IP (Protocolul de control al transmisiei/Protocolul Internet) reprezintă o stivă 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țele 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 perfecționarea 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, date niveluri superioare sunt încapsulate în pachete de nivel inferior.

Dacă un pachet trece prin nivel de sus în jos, la fiecare nivel se adaugă pachetului informații de serviciu sub forma unui antet și, eventual, a unui trailer (informații plasate 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

Stratul de aplicare

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 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 reprezintă 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 datagrama sunt trimise la modulul IP strat 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 calculatoarele pot comunica direct între ele, de multe ori, pentru a transmite o datagramă la destinație, este necesar să o direcționeze printr-unul sau mai multe calculatoare 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 strat inferior, verifică adresa IP de destinație dacă datagrama este adresată acest computer, apoi datele din acesta sunt transferate pentru procesare la un modul de nivel superior, dar dacă adresa de destinație a 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.

Poate fi necesar și la marginea rețelelor, cu caracteristici diferite, împărțiți datagrama în fragmente și apoi asamblați-le î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.

Să luăm în 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 funcționare 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 la cel mai apropiat oficiu poștal al destinatarului, de unde este predată de poștaș la adresa specificată destinatarului și aruncat în cutia poștală (cu numărul apartamentului său) sau livrat 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 opus.

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 server au numere standard, de exemplu: serviciul postal legat de portul numărul 25 (se mai spun: „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țele de calculatoare utilizând protocoalele TCP/IP, analogul unei scrisori de hârtie dintr-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ă formeze 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 mail SMTP ascultă pe portul 25, serverul POP3 care permite citirea e-mailurilor din cutiile tale poștale ascultă pe portul 110, serverul web ascultă pe portul 80 etc.

Cele mai multe programe sunt activate computer de acasă sunt clienți – de exemplu client de mail Outlook, browsere web IE, 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 aplicație specifică 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(Sistem de nume de domeniu).

Să aruncăm o privire mai atentă la modul în care funcționează. Furnizorul dvs. este în mod clar (pe hârtie, pentru setări manuale conexiuni) sau implicit (via setare automată conexiune) vă oferă 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. Următorul sistem de operare face aproximativ următoarele:

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 implicit, dar poate fi specificat și 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 de start acest 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 acest lucru? (Îți amintești că portul 25 corespunde serverului de e-mail?) Aceasta înseamnă că computerul tău a stabilit o conexiune cu unele server de mail(servere) și trimite câteva scrisori prin el. Și dacă clientul dvs. de e-mail (de exemplu Outlook) 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, este necesară înțelegerea modului în care funcționează Internetul setări corecte(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. Acestea 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 postal Servere 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 utilizate în mod arbitrar în rețelele locale nu sunt utilizate 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).

Este simplu. Calculatoarele sunt unite în rețele locale. Într-o rețea locală, computerele se „văd” 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 nivel de rețea. 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? În plus, pachetele sunt trimise înainte și înapoi prin această conexiune (o conversație este în desfășurare) și se face o verificare pentru a vedea 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. Protocoale precum http, ftp etc. operează la acest nivel. De exemplu, HTTP și FTP utilizează protocolul TCP de încredere, iar serverul DNS funcționează prin protocolul UDP nefiabil.
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 ASCULTARE TCP 91.76.65.216:139 0.0.0.0:0 ASCULTARE TCP 91.76.65.216:1719 212.58.0:1719 212.580.216.26 5.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).

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 interconectate prin un fel de fire si canale de comunicare, in mai multe exemplu complex- un fel de echipamente de rețea și schimb de informații între ele în conformitate cu 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 care interacționează de diferite niveluri (se poate adăuga că Fiecare nivel interacționează cu cel vecin, adică se andocă și, prin urmare stivă , 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- Asta 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 la el reguli. În plus, protocoalele sunt împărțite în niveluri de funcționalitate, ceea ce permite funcționarea echipamentelor de rețea și software devine mult mai simplu, mai transparent și îndeplinește gama „voastra” de sarcini. 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, alias de bază model de referință interacțiuni sisteme deschise). Modelul OSI constă din șapte niveluri diferite. Nivelul este responsabil pentru o zonă separată de lucru sisteme de comunicatii, nu depinde de nivelurile adiacente - doar oferă 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 ( aplicație, 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 în rețea se mai numește Model DOD(din burghez. Departamentul Apărării- 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 de 32 de biți număr binar. O formă convenabilă de înregistrare a unei adrese IP (IPv4) este să scrieți ca patru numere zecimale (de la 0 la 255) separate prin puncte, de exemplu, 192.168.0.1. In 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.

Există de asemenea 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. localhost

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 comunicarea cu aplicațiile care rulează pe alte gazde de rețea (inclusiv alte aplicații pe aceeași gazdă). CU punct de program Dintr-o perspectivă, 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 asta...

Trebuie remarcat faptul că protocolul IP nu înțelege porturile TCP și UDP sunt responsabile pentru interpretarea porturilor, TCP și UDP nu procesează adresele 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 utilizare Servicii DNS furnizor.

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.

Pentru a determina ruta de transmisie a pachetelor, IP folosește partea de rețea a adresei ( masca de subreț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, Iface- indică interfata de retea, folosit pentru traseu (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. Ca sa fiu mai specific.. placa de retea difuzează 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 .00 .90 7.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.98 255.255.255.0 UN 1500 0 0 eth0 128.17.112.25 128.17.75.0 128.17.75.0 .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.0.0.1 255.0.0.01 .0. 12.3 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Din exemplu reiese clar că papaya conectat la două rețele 128.17.75, prin intermediul dispozitivului eth0și 128.17.112 prin dispozitiv 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.

Relua

Î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 sala de operație; sistem Linux. Voi fi bucuros să văd comentariile și completările dvs.

Să presupunem că nu ești fluent tehnologii de rețeași nici măcar nu știi elementele de bază. Dar vi s-a dat o sarcină: să construiți rapid o rețea de informații într-o întreprindere mică. Nu aveți nici timpul și nici dorința de a studia Talmudurile groase despre designul rețelei, instrucțiunile de utilizare a echipamentelor de rețea și să explorați securitatea rețelei. Și, cel mai important, pe viitor nu ai nicio dorință să devii profesionist în acest domeniu. Atunci acest articol este pentru tine.


A doua parte a acestui articol, care acoperă aplicarea practică a elementelor de bază prezentate aici: Note despre Cisco Catalyst: configurarea VLAN, resetarea parolei, intermiterea sistemului de operare IOS

Înțelegerea stivei de protocol

Sarcina este de a transfera informații de la punctul A la punctul B. Poate fi transmisă continuu. Dar sarcina devine mai complicată dacă trebuie să transferați informații între punctele A<-->B și A<-->C pe același canal fizic. Dacă informația este transmisă continuu, atunci când C dorește să transfere informații către A, va trebui să aștepte până când B termină transmisia și eliberează canalul de comunicare. Acest mecanism de transmitere a informațiilor este foarte incomod și nepractic. Și pentru a rezolva această problemă, s-a decis împărțirea informațiilor în porțiuni.

La destinatar, aceste porțiuni trebuie reunite într-un singur întreg, pentru a primi informațiile care au venit de la expeditor. Dar pe destinatarul A acum vedem informații din ambele B și C amestecate. Aceasta înseamnă că trebuie introdus un număr de identificare pentru fiecare porțiune, astfel încât destinatarul A să poată distinge porțiuni de informații din B de porțiuni de informații din C și să asambla aceste porțiuni în mesajul original. Evident, destinatarul trebuie să știe unde și sub ce formă expeditorul a adăugat date de identificare la informația originală. Și pentru aceasta trebuie să dezvolte anumite reguli pentru formarea și scrierea informațiilor de identificare. În plus, cuvântul „regulă” va fi înlocuit cu cuvântul „protocol”.

Pentru a satisface nevoile consumatorilor moderni, este necesar să se indice mai multe tipuri de informații de identificare simultan. De asemenea, necesită protecție a informațiilor transmise atât împotriva interferențelor aleatorii (în timpul transmisiei prin liniile de comunicație), cât și împotriva sabotajului intenționat (piraterie). În acest scop, o parte a informațiilor transmise este completată cu o cantitate semnificativă de informații speciale de serviciu.

Protocolul Ethernet conține numărul adaptor de rețea expeditorul (adresa MAC), numărul adaptorului de rețea al destinatarului, tipul de date care sunt transferate și datele care sunt transferate direct. O informație compilată în conformitate cu protocolul Ethernet se numește cadru. Se crede că nu există adaptoare de rețea cu același număr. Echipamentul de rețea extrage datele transmise din cadru (hardware sau software) și efectuează procesări ulterioare.

De regulă, datele extrase, la rândul lor, sunt formate în conformitate cu protocolul IP și au un alt tip de informații de identificare - adresa IP a destinatarului (un număr de 4 octeți), adresa IP și datele expeditorului. Precum și o mulțime de alte informații de service necesare. Datele generate în conformitate cu protocolul IP se numesc pachete.

Apoi, datele sunt extrase din pachet. Dar aceste date, de regulă, nu sunt încă datele trimise inițial. Această informație este, de asemenea, compilată în conformitate cu un anumit protocol. Cel mai utilizat protocol este TCP. Conține informații de identificare, cum ar fi portul expeditorului (un număr de doi octeți) și portul sursă, precum și informații despre date și servicii. Datele extrase din TCP sunt de obicei datele pe care programul care rulează pe computerul B le-a trimis „programului receptor” de pe computerul A.

Stiva de protocoale (în acest caz TCP over IP over Ethernet) se numește stivă de protocoale.

ARP: Address Resolution Protocol

Există rețele de clase A, B, C, D și E. Ele diferă prin numărul de calculatoare și numărul de rețele/subrețele posibile din ele. Pentru simplitate, și ca cel mai frecvent caz, vom lua în considerare doar o rețea de clasă C, a cărei adresă IP începe la 192.168. Următorul număr va fi numărul de subrețea, urmat de numărul echipamentului de rețea. De exemplu, un computer cu adresa IP 192.168.30.110 dorește să trimită informații către un alt computer numărul 3 situat în aceeași subrețea logică. Aceasta înseamnă că adresa IP a destinatarului va fi: 192.168.30.3

Este important să înțelegeți că nodul reteaua de informatii este un computer conectat printr-un canal fizic la echipament de comutare. Aceste. dacă trimitem date de la adaptorul de rețea „în sălbăticie”, atunci au o cale - vor ieși de la celălalt capăt al perechii răsucite. Putem trimite absolut orice date generate după orice regulă pe care am inventat-o, fără a specifica o adresă IP, o adresă mac sau alte atribute. Și, dacă celălalt capăt este conectat la un alt computer, le putem primi acolo și le putem interpreta după cum avem nevoie. Dar dacă acest celălalt capăt este conectat la un comutator, atunci în acest caz pachetul de informații trebuie să fie format conform unor reguli strict definite, ca și cum ar da instrucțiuni comutatorului ce să facă în continuare cu acest pachet. Dacă pachetul este format corect, comutatorul îl va trimite mai departe către alt computer, așa cum este indicat în pachet. După care comutatorul va elimina acest pachet din el RAM. Dar dacă pachetul nu a fost format corect, adică. instrucțiunile din el au fost incorecte, atunci pachetul va „mori”, adică. comutatorul nu îl va trimite nicăieri, dar îl va șterge imediat din RAM.

Pentru a transfera informații pe un alt computer, trei valori de identificare trebuie specificate în pachetul de informații trimis - adresa mac, adresa IP și portul. Relativ vorbind, un port este un număr pe care sistemul de operare îl transmite fiecărui program care dorește să trimită date în rețea. Adresa IP a destinatarului este introdusă de utilizator, sau programul însuși o primește, în funcție de specificul programului. Adresa Mac rămâne necunoscută, adică numărul adaptorului de rețea al computerului destinatarului. Pentru a obține datele necesare, se trimite o cerere de „difuzare”, compilată folosind așa-numitul „Protocol de rezoluție a adresei ARP”. Mai jos este structura pachetului ARP.

Acum nu trebuie să cunoaștem valorile tuturor câmpurilor din imaginea de mai sus. Să ne concentrăm doar pe cele principale.

Câmpurile conțin adresa IP sursă și adresa IP destinație, precum și adresa mac sursă.

Câmpul „Adresă de destinație Ethernet” este completat cu unități (ff:ff:ff:ff:ff:ff). O astfel de adresă se numește adresă de difuzare, iar un astfel de cadru este trimis către toate „interfețele de pe cablu”, adică. toate computerele conectate la comutator.

Comutatorul, după ce a primit un astfel de cadru de difuzare, îl trimite către toate computerele din rețea, ca și cum s-ar adresa tuturor cu întrebarea: „dacă sunteți proprietarul acestei adrese IP (adresa IP de destinație), vă rog să-mi spuneți adresa dvs. Mac. ” Când un alt computer primește o astfel de solicitare ARP, acesta verifică adresa IP de destinație cu propria sa. Și dacă se potrivește, atunci computerul, în locul celor, își introduce adresa mac, schimbă adresele ip și mac ale sursei și destinației, schimbă unele informații de serviciu și trimite pachetul înapoi la comutator, care îl trimite înapoi la computerul original, inițiatorul cererii ARP.

În acest fel, computerul dvs. află adresa mac a celuilalt computer către care doriți să trimiteți date. Dacă există mai multe computere în rețea care răspund la această solicitare ARP, atunci obținem un „conflict de adresă IP”. În acest caz, este necesar să schimbați adresa IP pe computere, astfel încât să nu existe adrese IP identice în rețea.

Construirea de rețele

Sarcina de a construi rețele

În practică, de regulă, este necesar să se construiască rețele cu cel puțin o sută de computere în ele. Și pe lângă funcțiile de partajare a fișierelor, rețeaua noastră trebuie să fie sigură și ușor de gestionat. Astfel, la construirea unei rețele, se pot distinge trei cerințe:
  1. Ușor de operat. Dacă contabila Lida este transferată într-un alt birou, va avea totuși nevoie de acces la computerele contabililor Anna și Yulia. Și dacă rețeaua de informații este construită incorect, administratorul poate avea dificultăți în a-i oferi Lidei acces la computerele altor contabili din noul ei loc.
  2. Asigurarea securității. Pentru a asigura securitatea rețelei noastre, drepturile de acces la resurse informaționale trebuie delimitat. Rețeaua trebuie, de asemenea, protejată de amenințările la adresa dezvăluirii, integrității și refuzului serviciului. Citiți mai multe în cartea „Atacul pe internet” de Ilya Davidovich Medvedovsky, capitolul „Conceptele de bază ale securității computerelor”.
  3. Performanța rețelei. La construirea rețelelor există problema tehnica- dependenţa vitezei de transmisie de numărul de calculatoare din reţea. Cu cât sunt mai multe computere, cu atât viteza este mai mică. Cu un număr mare de computere, viteza rețelei poate deveni atât de scăzută încât devine inacceptabilă pentru client.
Ce cauzează încetinirea vitezei rețelei atunci când există un număr mare de computere? - motivul este simplu: pentru că cantitate mare mesaje difuzate (BMS). AL este un mesaj care, ajungând la comutator, este trimis tuturor gazdelor din rețea. Sau, aproximativ vorbind, toate computerele situate pe subrețea. Dacă există 5 computere în rețea, atunci fiecare computer va primi 4 alarme. Dacă există 200 dintre ele, atunci fiecare computer în astfel de retea mare va accepta 199 Shs.

Există un număr mare de aplicații module softwareși servicii care trimit mesaje transmise în rețea pentru a funcționa. Descris în paragraful ARP: protocolul de determinare a adresei este doar unul dintre multele AL trimise de computerul dvs. în rețea. De exemplu, când accesați „Network Neighborhood” (OS Windows), computerul dvs. trimite mai multe AL-uri cu informații speciale generate folosind protocolul NetBios pentru a scana rețeaua pentru prezența computerelor situate în același grup de lucru. După care sistemul de operare desenează computerele găsite în fereastra „Network Neighborhood” și le vedeți.

De asemenea, este de remarcat faptul că în timpul procesului de scanare cu unul sau altul program, computerul dvs. nu trimite un singur mesaj de difuzare, ci mai multe, de exemplu, pentru a instala calculatoare la distanță sesiuni virtuale sau pentru orice alte nevoi ale sistemului cauzate de probleme implementare software această aplicație. Astfel, fiecare computer din rețea, pentru a interacționa cu alte computere, este forțat să trimită multe AL-uri diferite, încărcând astfel canalul de comunicare cu informații de care utilizatorul final nu are nevoie. După cum arată practica, în rețelele mari, mesajele difuzate pot reprezenta o parte semnificativă a traficului, încetinind astfel activitatea rețelei vizibilă pentru utilizator.

LAN virtuale

Pentru a rezolva prima și a treia problemă, precum și pentru a ajuta la rezolvarea celei de-a doua probleme, este utilizat pe scară largă mecanismul de împărțire a rețelei locale în rețele mai mici, cum ar fi rețele locale separate (Virtual Local Area Network). În linii mari, un VLAN este o listă de porturi de pe un comutator care aparțin aceleiași rețele. „La fel” în sensul că celălalt VLAN va conține o listă de porturi aparținând celeilalte rețele.

De fapt, crearea a două VLAN-uri pe un comutator este echivalentă cu cumpărarea a două comutatoare, de exemplu. crearea a două VLAN-uri este la fel cu împărțirea unui comutator în două. În acest fel, o rețea de o sută de computere este împărțită în rețele mai mici de 5-20 de computere - de regulă, acest număr corespunde locației fizice a computerelor pentru nevoia de partajare a fișierelor.

  • Prin împărțirea rețelei în VLAN-uri, se realizează ușurință în gestionare. Deci, atunci când contabilul Lida se mută într-un alt birou, administratorul trebuie doar să elimine portul dintr-un VLAN și să îl adauge la altul. Acest lucru este discutat mai detaliat în secțiunea VLAN-uri, teorie.
  • VLAN-urile ajută la rezolvarea uneia dintre cerințele de securitate a rețelei, și anume separarea resursele rețelei. Astfel, un student dintr-o audiență nu va putea pătrunde în computerele altei audiențe sau în computerul rectorului, deoarece sunt de fapt pe rețele diferite.
  • Deoarece rețeaua noastră este împărțită în VLAN-uri, adică pe rețele mici „parcă”, problema cu mesajele difuzate dispare.

VLAN-uri, teorie

Poate că expresia „administratorul trebuie doar să elimine un port dintr-un VLAN și să-l adauge la altul” ar putea fi neclară, așa că o voi explica mai detaliat. Portul în acest caz nu este un număr emis de sistemul de operare aplicației, așa cum a fost descris în paragraful stivă de protocol, ci un soclu (loc) în care puteți atașa (introduce) un conector RJ-45. Acest conector (adică vârful firului) este atașat la ambele capete ale unui fir cu 8 nuclee numit „pereche răsucită”. Figura prezintă un switch Cisco Catalyst 2950C-24 cu 24 de porturi:
După cum se precizează în paragraful ARP: protocol de determinare a adresei, fiecare computer este conectat la rețea printr-un canal fizic. Aceste. Puteți conecta 24 de computere la un comutator cu 24 de porturi. Cablul cu pereche răsucită pătrunde fizic în toate localurile întreprinderii - toate cele 24 de fire de la acest comutator se extind în camere diferite. Să se ducă, de exemplu, 17 fire și să se conecteze la 17 computere din sala de clasă, 4 fire să meargă la biroul departamentului special, iar restul de 3 fire să meargă la cel nou reparat, birou nou departamentul de contabilitate Și contabila Lida, pentru servicii speciale, a fost transferată chiar în acest birou.

După cum sa menționat mai sus, VLAN-urile pot fi reprezentate ca o listă aparținând rețelei porturi. De exemplu, comutatorul nostru avea trei VLAN-uri, adică trei liste stocate în memoria flash a comutatorului. Într-o listă erau scrise numerele 1, 2, 3... 17, în alta 18, 19, 20, 21 și în a treia 22, 23 și 24. Calculatorul Lidei a fost conectat anterior la portul 20. Și așa s-a mutat într-un alt birou. Au târât-o calculator vechi la un birou nou, sau s-a așezat la calculator nou- nu contează. Principalul lucru este că computerul ei a fost conectat cu un cablu torsadat, al cărui capăt a fost introdus în portul 23 al comutatorului nostru. Și pentru ca ea să continue să trimită fișiere colegilor ei din noua ei locație, administratorul trebuie să elimine numărul 20 din a doua listă și să adauge numărul 23. Rețineți că un port poate aparține unui singur VLAN, dar îl vom sparge. regula de la sfarsitul acestui paragraf.

Voi observa, de asemenea, că atunci când schimbi calitatea de membru VLAN a unui port, administratorul nu trebuie să „conecteze” firele la comutator. În plus, nici nu trebuie să se ridice de pe scaun. Pentru că computerul administratorului este conectat la portul 22, cu ajutorul căruia poate gestiona comutatorul de la distanță. Desigur, datorită setărilor speciale, care vor fi discutate mai târziu, doar administratorul poate gestiona comutatorul. Pentru informații despre cum să configurați VLAN-urile, citiți secțiunea VLAN-uri, exersați [în articolul următor].

După cum probabil ați observat, inițial (în secțiunea Construirea rețelelor) am spus că vor fi cel puțin 100 de computere în rețeaua noastră, dar doar 24 de computere pot fi conectate la switch. Desigur, există întrerupătoare cu un număr mare porturi. Dar există încă mai multe computere în rețeaua corporativă/întreprindere. Și pentru a conecta un număr infinit de computere într-o rețea, comutatoarele sunt conectate între ele prin așa-numitul port trunk. La configurarea comutatorului, oricare dintre cele 24 de porturi poate fi definit ca port trunk. Și poate exista orice număr de porturi trunchi pe comutator (dar este rezonabil să nu faceți mai mult de două). Dacă unul dintre porturi este definit ca trunk, atunci comutatorul formează toate informațiile primite pe acesta în pachete speciale, folosind protocolul ISL sau 802.1Q și trimite aceste pachete la portul trunk.

Toate informațiile care au venit - adică toate informațiile care au venit la el din alte porturi. Și protocolul 802.1Q este inserat în stiva de protocoale între Ethernet și protocolul care a generat datele pe care le transportă acest cadru.

ÎN în acest exemplu, după cum probabil ați observat, administratorul stă în același birou cu Lida, pentru că... Cablul răsucit de la porturile 22, 23 și 24 duce la același birou. Portul 24 este configurat ca port trunchi. Iar tabloul în sine este în camera de serviciu, lângă vechiul birou al contabililor și sala de clasă, care are 17 calculatoare.

Cablul de pereche răsucită care merge de la portul 24 la biroul administratorului este conectat la un alt switch, care la rândul său este conectat la un router, despre care va fi discutat în capitolele următoare. Alte comutatoare care conectează celelalte 75 de computere și sunt situate în alte încăperi ale întreprinderii - toate au, de regulă, un port trunchi conectat prin pereche răsucită sau cablu de fibră optică la comutatorul principal, care este situat în birou cu administratorul.

S-a spus mai sus că uneori este rezonabil să faci două porturi de trunchi. Cel de-al doilea port trunchi în acest caz este utilizat pentru a analiza traficul de rețea.

Cam așa arăta construirea de rețele mari de întreprindere pe vremea comutatorului Cisco Catalyst 1900. Probabil ați observat două mari dezavantaje ale unor astfel de rețele. În primul rând, utilizarea unui port trunk cauzează unele dificultăți și creează muncă inutilă la configurarea echipamentului. Și în al doilea rând, și cel mai important, să presupunem că „rețelele” noastre de contabili, economiști și dispeceri doresc să aibă o bază de date pentru trei. Ei doresc ca același contabil să poată vedea modificările din baza de date pe care economistul sau dispecerul le-a făcut acum câteva minute. Pentru a face acest lucru, trebuie să facem un server care să fie accesibil tuturor celor trei rețele.

După cum sa menționat la mijlocul acestui paragraf, un port poate fi doar într-un singur VLAN. Și acest lucru este valabil, totuși, numai pentru switch-urile din seria Cisco Catalyst 1900 și mai vechi și pentru unele modele mai tinere, cum ar fi Cisco Catalyst 2950. Pentru alte switch-uri, în special Cisco Catalyst 2900XL, această regulă poate fi încălcată. Când se configurează porturile în astfel de comutatoare, fiecare port poate avea cinci moduri de operare: Acces static, Multi-VLAN, Acces dinamic, Trunk ISL și Trunk 802.1Q. Al doilea mod de operare este exact ceea ce avem nevoie pentru sarcina de mai sus - pentru a oferi acces imediat la server de la trei rețele, adică faceți serverul să aparțină la trei rețele în același timp. Aceasta se mai numește și traversare VLAN sau etichetare. În acest caz, schema de conectare poate arăta astfel.