Protocolul ARP și „cu ce vine” (adăugat). Protocolul ARP

Evaluare: 4.86 Voturi: 7 Comentarii: 10

Să începem cu teoria...

Ce este ARP și de ce avem nevoie de el?

ARP(„Address Resolution Protocol” - protocol de determinare a adresei) este un protocol de nivel scăzut utilizat în rețelele de calculatoare, conceput pentru a determina adresa stratului de legătură dintr-o adresă de nivel de rețea cunoscută. Acest protocol a devenit cel mai răspândit datorită ubicuității rețelelor IP construite pe Ethernet, deoarece în aproape 100% din cazuri ARP este utilizat cu această combinație.

Protocolul ARP funcționează cu adrese MAC. Fiecare placă de rețea are propria sa adresă MAC individuală.

Adresa mac („Media Access Control” - controlul accesului media) este un identificator unic asociat cu diferite tipuri de echipamente de rețea de calculatoare. Majoritatea protocoalelor de rețea de nivel de legătură utilizează unul dintre cele trei spații de adrese MAC gestionate de IEEE: MAC-48, EUI-48 și EUI-64. Adresele din fiecare spațiu ar trebui, teoretic, să fie unice la nivel global. Nu toate protocoalele folosesc adrese MAC și nu toate protocoalele care folosesc adrese MAC au nevoie ca aceste adrese să fie atât de unice.

Fig.1. Calea către tabelul ARP.

Fig.2. Tabelul ARP.

În Figura 2 vedem tabelul ARP. Conține trei intrări, acestea sunt adăugate automat și au următoarea structură. Adresa IP– aceasta este, de fapt, adresa IP a computerului din rețea, Adresa mac– aceasta este adresa mac a aceluiași computer și interfata, care indică pe ce interfață se află acest computer. Vă rugăm să rețineți că toate intrările au litera D lângă ele. Aceasta înseamnă că această intrare este dinamică și va fi modificată dacă se modifică orice date. Adică, dacă utilizatorul introduce din greșeală adresa IP greșită, intrarea din tabelul ARP se va schimba pur și simplu și nimic altceva. Dar asta nu ne convine. Trebuie să ne asigurăm împotriva unor astfel de cazuri. Pentru a face acest lucru, în tabelul ARP sunt adăugate intrări statice. Cum să o facă? Există două moduri.

Fig.3. Adăugăm o înregistrare Statică în primul mod.

Metoda unu. Ca de obicei, apăsați pe roșu plus. În fereastra care apare, introduceți adresa IP, adresa MAC și selectați interfața în spatele căreia se află acest computer.

Fig.4. Adăugăm o înregistrare Statică în al doilea mod.

Metoda a doua. Selectați intrarea dorită, faceți dublu clic cu butonul stâng al mouse-ului, iar în fereastra care apare, apăsați butonul Faceți Statik. S-a adăugat intrare statică.

Fig.5. Tabel cu înregistrări statice.

După cum puteți vedea în Figura 5, nu există nicio literă D în fața intrării adăugate. Aceasta indică faptul că intrarea este statică.

Acum, dacă utilizatorul introduce accidental o adresă care nu este a lui, Mikrotik, după ce a verificat corespondența adreselor IP și MAC în tabelul ARP și nu a găsit intrarea necesară, nu va permite utilizatorului să acceseze Internetul, conducând astfel utilizatorul să creadă că s-ar putea să fi greșit și ar trebui să suni administratorul.

Ce altceva mi-ar plăcea? atrag atenția e: aceste intrări sunt folosite pentru pachetele care trec prin router.

Router sau router- un dispozitiv de rețea care ia decizii cu privire la redirecționarea pachetelor de nivel de rețea (nivelul 3 al modelului OSI) între diferite segmente de rețea pe baza informațiilor despre topologia rețelei și a anumitor reguli.

Dacă doriți ca regulile să se aplice la Bridge, atunci trebuie să activați funcția Utilizare IP Firewall în Bridge (Fig. 6.).

Pod este o modalitate de a conecta două segmente Ethernet la nivel de legătură de date, adică fără a utiliza protocoale de nivel superior, cum ar fi IP. Pachetele sunt transmise pe baza adreselor Ethernet mai degrabă decât a adreselor IP (ca într-un router). Deoarece transmisia are loc la nivelul de legătură de date (OSI Layer 2), toate protocoalele de nivel superior trec transparent prin punte.

Fig.6. Activarea funcției Utilizare IP Firewall.

Evghenie Rudcenko

Protocolul ARP funcționează diferit în funcție de protocolul stratului de legătură care rulează pe o anumită rețea - un protocol de rețea locală (Ethernet, Token Ring, FDDI) cu posibilitatea de a difuza acces simultan la toate nodurile de rețea sau un protocol de rețea cu zonă largă ( X.25, frame relay), de regulă, nu acceptă accesul la difuzare.

În rețelele locale, ARP utilizează cadre de difuzare a protocolului de nivel de legătură pentru a căuta în rețea o gazdă cu o anumită adresă IP.

Principiul de funcționare:

    Un nod care trebuie să mapeze o adresă IP la o adresă locală generează o solicitare ARP, o inserează într-un cadru de protocol de nivel de legătură, indicând o adresă IP cunoscută în el și difuzează cererea.

    Toate gazdele din rețeaua locală primesc o solicitare ARP și compară adresa IP specificată acolo cu propria lor.

    Dacă se potrivesc, nodul generează un răspuns ARP, în care își indică adresa IP și adresa locală și o trimite deja direcționată, deoarece în cererea ARP expeditorul indică adresa locală.

Tabel Arp pentru traducerea adresei

Traducerea adreselor se realizează prin căutarea în tabel. Acest tabel, numit tabel ARP, este stocat în memorie și conține rânduri pentru fiecare gazdă din rețea.

Tabelele ARP sunt construite conform RFC-1213 și pentru fiecare adresă IP conține patru coduri:

    Ifindex - Portul fizic (interfata) corespunzator acestei adrese;

    Adresa fizică - adresa MAC, de exemplu adresa Ethernet;

    adresa IP - adresa IP corespunzătoare adresei fizice;

    tipul de potrivire a adresei - acest câmp poate lua 4 valori: 1 - opțiunea nu este standard și nu se încadrează în niciunul dintre tipurile descrise mai jos; 2 - această intrare nu mai este adevărată; 3 - legarea permanentă; 4 - legarea dinamică;

Semne ale tabelului pentru tehnologia Ethernet:

adresa Ethernet

08:00:39:00:2F:C3

08:00:5A:21:A7:22

08:00:10:99:AC:5

Este obișnuit să scrieți toți octeții unei adrese IP de 4 octeți ca numere zecimale punctate. Când scrieți o adresă Ethernet de 6 octeți, fiecare octet este specificat în hexazecimal și este separat prin două puncte.

Tabelul ARP este necesar deoarece adresele IP și adresele Ethernet sunt alese independent și nu există un algoritm pentru conversia una în alta.

Adresa IP este selectată de managerul de rețea. Adresa Ethernet este selectată de producătorul echipamentului de interfață de rețea din spațiul de adrese alocat acestuia prin licență. Când placa adaptorului de rețea a unei mașini este înlocuită, adresa sa Ethernet se modifică și ea.

Arp cache.

    Eficacitatea ARP depinde în mare măsură de cache-ul ARP, care este prezent pe fiecare gazdă.

    Durata de viață standard a fiecărei intrări în cache este de 20 de minute din momentul în care este creată intrarea.

Comanda de traducere a adresei

În timpul funcționării normale, un program de rețea, cum ar fi TELNET, trimite un mesaj de aplicație utilizând serviciile de transport TCP. Modulul TCP trimite mesajul de transport corespunzător prin modulul IP. Rezultatul este un pachet IP care trebuie trimis la driverul Ethernet. Adresa IP de destinație este cunoscută de programul de aplicație, modulul TCP și modulul IP. Pe baza acestui lucru, trebuie să găsiți adresa Ethernet a destinației. Un tabel ARP este utilizat pentru a determina adresa Ethernet dorită.

Cum este completat tabelul ARP? Este completat automat de modulul ARP după cum este necesar. Când un tabel ARP existent nu reușește să rezolve o adresă IP, se întâmplă următoarele:

    O solicitare ARP este difuzată în rețea.

    Pachetul IP de ieșire este pus în coadă.

Fiecare adaptor de rețea primește transmisii. Toate driverele Ethernet verifică câmpul de tip din cadrul Ethernet primit și înaintează pachetele ARP către modulul ARP. O solicitare ARP poate fi interpretată după cum urmează: „Dacă adresa dumneavoastră IP se potrivește cu cea listată, atunci vă rugăm să-mi spuneți adresa dumneavoastră Ethernet”. Pachetul de solicitare ARP arată cam așa:

Exemplu de solicitare ARP

Fiecare modul ARP verifică câmpul de adresă IP căutat din pachetul ARP primit și, dacă adresa se potrivește cu propria sa adresă IP, trimite un răspuns direct la adresa Ethernet a solicitantului. Răspunsul ARP poate fi interpretat după cum urmează: „Da, aceasta este adresa mea IP și o astfel de adresă Ethernet îi corespunde.” Pachetul de răspuns ARP arată cam așa:

Exemplu de răspuns ARP

Acest răspuns este primit de mașina care a făcut cererea ARP. Driverul acestei mașini verifică câmpul de tip din cadrul Ethernet și transmite pachetul ARP la modulul ARP. Modulul ARP analizează pachetul ARP și adaugă o intrare la tabelul său ARP.

Tabelul actualizat arată astfel:

Pentru publicarea articolului original, precum și tuturor celor care au adăugat karma pentru posibilitatea publicării proprii. Acum o versiune actualizată ținând cont de dorințe și completări. Bun venit la pisica.

O zi bună, dragi Habrausers. Cu acest articol vreau să încep o serie de povești despre protocoale care ne ajută să facem schimb de informații în mod transparent, rapid și fiabil. Și începeți cu protocolul ARP.

După cum știți, adresarea pe Internet este o secvență de 32 de biți de 0 și 1, numită adrese IP. Dar comunicarea directă între două dispozitive din rețea se realizează folosind adrese la nivel de legătură (adrese MAC).

Deci, pentru a determina corespondența dintre adresa logică a stratului de rețea (IP) și adresa fizică a dispozitivului (MAC), se folosește protocolul ARP (Address Resolution Protocol) descris în RFC 826.

ARP este format din două părți. Primul determină adresa fizică la trimiterea unui pachet, al doilea răspunde la solicitările altor stații.

Protocolul dispune de o memorie tampon (tabel ARP) in care sunt stocate perechi de adrese (adresa IP, adresa MAC) pentru a reduce numarul de solicitari trimise, economisind astfel trafic si resurse.

Un exemplu de tabel ARP.

192.168.1.1 08:10:29:00:2F:C3
192.168.1.2 08:30:39:00:2F:C4

În stânga sunt adrese IP, în dreapta sunt adrese MAC.

Înainte de a vă conecta la unul dintre dispozitive, protocolul IP verifică dacă există o intrare pentru dispozitivul corespunzător în tabelul său ARP. Dacă o astfel de intrare există, atunci conexiunea și transmiterea pachetelor au loc direct. Dacă nu, atunci este trimisă o solicitare de difuzare ARP pentru a afla ce dispozitiv deține adresa IP. După ce s-a identificat, dispozitivul își trimite adresa MAC ca răspuns și o intrare corespunzătoare este introdusă în tabelul ARP al expeditorului.

Există două tipuri de intrări în tabelul ARP: statice și dinamice. Cele statice sunt adăugate de utilizator însuși, în timp ce cele dinamice sunt create și șterse automat. În acest caz, tabelul ARP stochează întotdeauna adresa fizică de difuzare FF:FF:FF:FF:FF:FF (în Linux și Windows).

Crearea unei intrări în tabelul ARP este simplă (prin linia de comandă):

arp –s

Afișează intrările tabelului ARP:

arp –a

După adăugarea unei intrări la tabel, i se atribuie un cronometru. Mai mult, dacă intrarea nu este folosită în primele 2 minute, aceasta este ștearsă, iar dacă este folosită, durata de viață a acesteia este prelungită cu încă 2 minute, cu maximum 10 minute pentru Windows și Linux (FreeBSD - 20 de minute, Cisco IOS - 4 ore) , după care se face o nouă solicitare ARP de difuzare.

Mesajele ARP nu au un format de antet fix și sunt încapsulate într-un câmp de date din stratul de legătură atunci când sunt transmise printr-o rețea.

Formatul mesajului ARP.

  • tip de rețea (16 biți): pentru Ethernet – 1;
  • tip de protocol (16 biți): h0800 pentru IP;
  • lungimea adresei hardware (8 biți);
  • lungimea adresei de rețea (8 biți);
  • tip de operare (16 biți): 1 – cerere, 2 – răspuns;
  • adresa hardware a expeditorului (lungime variabilă);
  • adresa de rețea a expeditorului (lungime variabilă);
  • adresa hardware destinatarului (lungime variabilă);
  • adresa de rețea a destinatarului (lungime variabilă).

Și iată cum este determinată o rută folosind protocolul ARP.

Lăsați expeditorul A și destinatarul B să aibă propriile adrese care indică masca de subrețea.

  1. Dacă adresele sunt pe aceeași subrețea, se apelează ARP și se determină adresa fizică de destinație, după care pachetul IP este încapsulat într-un cadru de nivel de legătură și trimis la adresa fizică specificată corespunzătoare adresei IP de destinație.
  2. Dacă nu, tabelul începe scanarea în căutarea unei rute directe.
  3. Dacă se găsește o rută, se apelează ARP și se determină adresa fizică a routerului corespunzător, după care pachetul este încapsulat într-un cadru de nivel de legătură și trimis la adresa fizică specificată.
  4. În caz contrar, se apelează ARP și se determină adresa fizică implicită a routerului, după care pachetul este încapsulat într-un cadru de nivel de legătură și trimis la adresa fizică specificată.

Principalul avantaj al protocolului ARP este simplitatea sa, care dă naștere și la principalul său dezavantaj - nesiguranța absolută, deoarece protocolul nu verifică autenticitatea pachetelor și, ca urmare, este posibilă înlocuirea intrărilor din tabelul ARP. (material pentru un articol separat) prin separarea dintre expeditor și destinatar.

Puteți combate acest dezavantaj introducând manual intrări în tabelul ARP, ceea ce adaugă multă muncă de rutină atât la crearea tabelului, cât și la întreținerea ulterioară a acestuia în timpul modificării rețelei.

Există și protocoale InARP (Inverse ARP), care îndeplinește funcția inversă: destinatarul logic este căutat pentru o anumită adresă fizică și RARP (Reverse ARP), care este similar cu InARP, doar că caută adresa logică a expeditorului .

În general, protocolul ARP este universal pentru orice rețea, dar este utilizat doar în rețelele IP și broadcast (Ethernet, WiFi, WiMax etc.), ca fiind cel mai răspândit, ceea ce îl face indispensabil atunci când se caută potriviri între adresele logice și cele fizice. .

P.S. Acest articol l-am scris chiar eu, fără să mă uit nicăieri, doar pe baza cunoștințelor acumulate în timpul studiului rețelelor.

TCP/IP nu ia în considerare tehnologiile de legătură și stratul fizic în timpul transferului de date efectiv, trebuie să mapați adresa IP la adresa stratului de legătură.

O rețea Ethernet utilizează adrese IP și MAC pentru a identifica sursa și destinația informațiilor. Informațiile trimise de la un computer la altul printr-o rețea conțin adresa fizică a expeditorului, adresa IP a expeditorului, adresa fizică a destinatarului și adresa IP a destinatarului. ARP asigură comunicarea între aceste două adrese, deoarece cele două adrese nu sunt legate între ele în niciun fel.

ARP- Address Resolution Protocol este un protocol al celui de-al treilea strat (de rețea) al modelului OSI, utilizat pentru a converti adresele IP în adrese MAC, joacă o funcție importantă în rețelele de acces multiple. ARP a fost definit de RFC 826 în 1982.

Comunicarea directă între o adresă IP și o adresă MAC se realizează folosind așa-numitele tabele ARP, unde fiecare linie indică corespondența adresei IP cu adresa MAC.

Un exemplu de tabel ARP în sistemul de operare Windows este prezentat în figură.

În tabelul ARP, pe lângă adresa IP și MAC, este indicat și tipul de conexiune, există două tipuri de intrări:

  • Intrările statice sunt create manual și durează atâta timp cât computerul sau routerul rămâne pornit.
  • Înregistrările dinamice trebuie actualizate periodic. Dacă o înregistrare nu a fost actualizată într-un anumit timp (aproximativ 2 minute), atunci este exclusă din tabel. Tabelul ARP nu conține intrări despre toate nodurile de rețea. Dar numai cei care participă activ la operațiunile de rețea. Această metodă de stocare se numește cache ARP.

În IPv6, funcționalitatea ARP este furnizată de protocol NDP(Protocolul de descoperire a vecinilor).

RARP(Engleză: Reverse Address Resolution Protocol) este un protocol al celui de-al treilea strat (de rețea) al modelului OSI, efectuează maparea inversă a adresei, adică convertește adresa hardware într-o adresă IP.

Există patru tipuri de mesaje ARP:

  • cerere ARP (ARPrequest);
  • răspuns ARP;
  • RARP-cerere;
  • RARP-răspuns.

Structura antetului ARP

  • Tip hardware (HTYPE) Fiecare protocol de transfer de date de canal are propriul său număr, care este stocat în acest câmp. De exemplu, Ethernet este numerotat 0x0001
  • Tip protocol (PTYPE) Cod protocol de rețea. De exemplu, pentru IPv4 va fi scris 0x0800
  • Lungimea hardware (HLEN) Lungimea adresei fizice în octeți. Adresele Ethernet au o lungime de 6 octeți.
  • Lungimea protocolului (PLEN) Lungimea adresei logice în octeți. Adresele IPv4 au o lungime de 4 octeți.
  • Operațiunea Codul de operare al expeditorului: 1 în cazul solicitării și 2 în cazul răspunsului.
  • Adresa hardware a expeditorului (SHA) Adresa fizică a expeditorului.
  • Sender protocol address (SPA) Adresa logică a expeditorului.
  • Targethardwareaddress (THA) Adresa fizică a destinatarului. Câmpul este gol atunci când este solicitat.
  • Adresă de protocol țintă (TPA) Adresă de destinație logică.

Să ne uităm la structura antetului cererii ARP folosind exemplul unui pachet interceptat folosind analizatorul de rețea Wireshark

Să ne uităm la structura antetului de răspuns ARP (răspuns) folosind exemplul unui pachet interceptat folosind analizatorul de rețea Wireshark

Orice dispozitiv conectat la o rețea locală (Ethernet, FDDI etc.) are o adresă fizică unică de rețea specificată în hardware. Adresa Ethernet de 6 octeți este selectată de producătorul echipamentului de interfață de rețea din spațiul de adrese alocat acestuia prin licență. Dacă adaptorul de rețea al unei mașini se modifică, se schimbă și adresa Ethernet.

Adresa IP de 4 octeți este setată de managerul de rețea, ținând cont de poziția mașinii pe Internet. Dacă o mașină este mutată într-o altă parte a Internetului, adresa sa IP trebuie schimbată. Convertirea adreselor IP în adrese de rețea se face folosind tabelul arp. Fiecare mașină din rețea are un tabel ARP separat pentru fiecare dintre adaptoarele sale de rețea. Nu este greu de observat că există o problemă la maparea unei adrese fizice (6 octeți pentru Ethernet) în spațiul de adrese IP al rețelei (4 octeți) și invers.

Protocolul ARP (protocol de rezoluție adrese, RFC-826) rezolvă exact această problemă - transformă ARP în adrese Ethernet.

Tabel ARP pentru traducerea adreselor

Traducerea adreselor se realizează prin căutarea în tabel. Acest tabel, numit tabel ARP, este stocat în memorie și conține rânduri pentru fiecare gazdă din rețea. Două coloane conțin adrese IP și Ethernet. Dacă trebuie să convertiți o adresă IP într-o adresă Ethernet, se caută intrarea cu adresa IP corespunzătoare. Mai jos este un exemplu de tabel ARP simplificat.

adresa IP adresa Ethernet
223.1.2.1 223.1.2.3 223.1.2.4 08:00:39:00:2F:C3 08:00:5A:21:A7:22 08:00:10:99:AC:54

Tabelul 1. Exemplu de tabel ARP

Este obișnuit să scrieți toți octeții unei adrese IP de 4 octeți ca numere zecimale punctate. Când scrieți o adresă Ethernet de 6 octeți, fiecare octet este specificat în hexazecimal și este separat prin două puncte.

Tabelul ARP este necesar deoarece adresele IP și adresele Ethernet sunt alese independent și nu există un algoritm pentru conversia una în alta. Adresa IP este selectată de managerul de rețea ținând cont de poziția aparatului pe Internet. Dacă o mașină este mutată într-o altă parte a internetului, adresa sa IP trebuie schimbată. Adresa Ethernet este selectată de producătorul echipamentului de interfață de rețea din spațiul de adrese alocat acestuia prin licență. Când placa adaptorului de rețea a unei mașini este înlocuită, adresa sa Ethernet se modifică și ea.

Internet Control Message Protocol (ICMP) este un standard TCP/IP obligatoriu descris în RFC 792, Internet Control Message Protocol (ICMP). Folosind ICMP, gazdele și routerele care comunică prin IP pot raporta erori și pot face schimb de informații de control și stare limitate.



Mesajele ICMP sunt de obicei trimise automat în următoarele cazuri.

Protocolul ICMP (Internet Control Message Protocol) permite unui router să raporteze unei gazde finale despre erorile pe care routerul le-a întâlnit în timpul transmiterii unui pachet IP de la gazda respectivă.

Mesajele de control ICMP nu pot fi trimise către routerul intermediar care a participat la transmiterea pachetului cu care au apărut probleme, deoarece nu există informații despre adresa pentru o astfel de trimitere - pachetul poartă doar adresele sursă și destinație, fără a înregistra adresele intermediare. routere.

ICMP este un protocol de raportare a erorilor, nu un protocol de corectare a erorilor. Gazda finală poate întreprinde unele acțiuni pentru a se asigura că eroarea nu mai apare, dar aceste acțiuni nu sunt reglementate de protocolul ICMP.

Fiecare mesaj ICMP este trimis prin rețea în cadrul unui pachet IP. Pachetele IP cu mesaje ICMP sunt direcționate la fel ca orice alt pachet, fără prioritate, deci pot fi și ele pierdute. În plus, într-o rețea ocupată, acestea pot provoca încărcare suplimentară pe routere. Pentru a evita provocarea unei avalanșe de mesaje de eroare, pachetele IP pierdute care poartă mesaje de eroare ICMP nu pot genera mesaje ICMP noi.

Format de pachet ICMP

Mesajele ICMP sunt încapsulate și transmise în datagrame IP, așa cum se arată în figura următoare.

Există mai multe tipuri de mesaje ICMP. Fiecare tip de mesaj are un format diferit, dar toate încep cu trei câmpuri comune: un număr întreg de 8 biți care indică tipul mesajului (TYPE), un câmp de cod de 8 biți (CODE) care specifică scopul mesajului și un câmp de 16 biți. -câmpul de control al biților (CHECKSUM). În plus, mesajul ICMP conține întotdeauna antetul și primii 64 de biți de date ai pachetului IP care a cauzat eroarea. Acest lucru se face astfel încât nodul de trimitere să poată analiza mai precis cauza erorii, deoarece toate protocoalele de nivel de aplicație ale stivei TCP/IP conțin cele mai importante informații pentru analiză în primii 64 de biți ai mesajelor lor.



În primul rând, TCP și UDP sunt protocoale. Și principala lor diferență este că TCP este un protocol cu ​​livrarea garantată a pachetelor, UDP nu.

TCP este un mecanism de transport prestabilit de conexiune „garantată” care oferă unei aplicații un flux de date fiabil, se asigură că datele pe care le primește sunt fără erori, solicită din nou datele dacă sunt pierdute și elimină duplicarea datelor. TCP vă permite să reglați sarcina în rețea, precum și să reduceți latența datelor atunci când sunt transmise pe distanțe lungi. Mai mult, TCP asigură că datele primite au fost trimise exact în aceeași secvență. Aceasta este principala diferență față de UDP.

Protocolul de transmitere a datagramelor fără conexiune UDP. Se mai numește și protocol de transmisie „nefiabil”, în sensul imposibilității verificării livrării unui mesaj către destinatar, precum și al posibilului amestec de pachete. Aplicațiile care necesită transfer garantat de date utilizează protocolul TCP.
UDP este folosit de obicei în aplicații precum streaming video și jocuri pe computer, unde pierderea pachetelor este acceptabilă și reîncercarea este dificilă sau nejustificată, sau în aplicații cu răspuns la provocare (cum ar fi interogările DNS) în care crearea unei conexiuni necesită mai multe resurse decât Retrimiterea.
Atât TCP, cât și UDP folosesc un număr numit port pentru a identifica protocolul lor de nivel superior.

Rip ospf

La început, RIP a fost distribuit împreună cu sistemul de operare BSD și nu a fost considerat un standard de internet. Cu toate acestea, la fel ca multe alte servicii BSD, a devenit ulterior un element critic al rețelelor IP. În prezent, există două versiuni de RIP documentate în IETF: versiunea 1 (originală) în RFC 1058 și versiunea 2 în RFC 1722 (Internet Standard 56). Ambele sunt similare, dar există unele diferențe importante între ele.

Protocolul RIP se bazează pe un algoritm de vector de distanță, care leagă lungimea unei rute (hopuri) cu vectorul său (rețeaua de destinație sau gazdă). Dispozitivele RIP primesc informații despre rutele către anumite rețele/gazde de la routerele vecine și apoi selectează ruta cu cel mai mic număr de hopuri. Odată ce o rută către o destinație este selectată, aceasta este stocată în baza de date locală, iar informațiile despre toate celelalte rute către aceeași destinație sunt șterse. Periodic, fiecare router îi informează pe alții despre rutele pe care le-a descoperit.

Numărul de hopuri în RIP este egal cu numărul de routere dintre expeditor și rețeaua/gazdă de destinație. Dacă routerul este conectat direct la rețeaua dorită, atunci distanța până la acesta este zero hop. Dacă pentru a accesa rețeaua dorită trebuie doar să redirecționați datagramele printr-un router vecin, atunci distanța până la aceasta este egală cu un hop. Când un router difuzează informații despre o rută găsită, crește numărul de hopuri cu unul. Odată ce aceste date ajung la routerele vecine, sunt comparate cu informațiile din propriile baze de date. Dacă oricare dintre rutele propuse este mai scurtă decât cea stocată în baza de date, aceasta este introdusă în tabelul local de rutare, iar routerul de la care a venit mesajul devine primul nod care redirecționează traficul de-a lungul acestei rute.

Protocolul OSPF a apărut ca o variantă orientată către IP a protocolului IS-IS. Este definit în mai multe documente IETF: RFC 1131 definește OSPF 1 (versiunea moștenită), RFC 1583 este probabil cea mai comună versiune a OSPF 2 și, în final, RFC 2328 definește cea mai recentă versiune a OSPF 2 (Internet Standard 54).

Cu OSPF, fiecare router menține o bază de date independentă a domeniului de rutare administrativă care include informații despre rețelele disponibile, routere și costul fiecărei conexiuni. Când starea unei rețele, a unui router sau a unei interfețe se modifică, fiecare router care o detectează (într-o zonă) introduce informațiile într-o bază de date locală și apoi își reconstruiește hărțile de rutare în consecință. Alegerea rutei se face ținând cont de costul tuturor rutelor către o anumită destinație și nu depinde direct de numărul de tranziții. Cu alte cuvinte, OSPF folosește un algoritm „vector de cost” pentru a selecta rutele optime.

Acest model oferă mai multe oportunități de a îmbunătăți rutarea (de exemplu, modificările sunt sincronizate mai rapid), dar necesită mai multă putere de procesare și mai multă memorie de la mașinile participante. Din acest motiv, sistemele care acceptă RIP sunt mult mai disponibile pe piață decât OSPF. De exemplu, deși multe sisteme de operare pentru servere au demoni OSPF de un fel, foarte puțini clienți de rețea sau dispozitive low-end acceptă OSPF, deoarece chiar și ascultarea pasivă necesită ca dispozitivul să fie echipat cu un motor de analiză a bazei de date OSPF cu funcții complete.

Arhitectura OSPF se bazează pe conceptul de zone administrative. Routerele care operează în aceeași zonă fac schimb de informații detaliate despre aceasta, dar numai informații generale sunt trimise către routerele din zonele îndepărtate. Dacă există mai multe zone, atunci o zonă principală (nucleu) este organizată pentru a face schimb de informații între ele. Prin intermediul acestuia, dispozitivele edge vor face schimb de informații comune, ceea ce înseamnă că OSPF are o ierarhie pe două niveluri pentru schimbul de informații de rutare între zone (acest lucru nu se aplică întregului trafic de rețea, ci doar mesajelor de protocol de rutare).

Zonelor li se atribuie identificatori pe 32 de biți (de obicei reprezentați ca adrese IPv4), iar trunchiul este întotdeauna numerotat cu 0. Routerele pot fi prezente în mai multe zone în același timp, dar trebuie să mențină o bază de date separată a stării conexiunii pentru fiecare zonă. Conform terminologiei OSPF, un router care este prezent în mai multe zone simultan se numește ABR (Area Border Router), iar un router care comunică cu un alt protocol de rutare se numește ASBR (Autonomous System Border Router).