Protocoale de rutare în rețele IP. Routere în rețea Protocol de rutare IP

Sau poarta de acces, este un nod de rețea cu mai multe interfețe IP (conținând propria adresă MAC și adresă IP) conectate la diferite rețele IP, care, pe baza rezolvării problemei de rutare, redirecționează datagramele de la o rețea la alta pentru livrare de la expeditor către destinatar.

Sunt fie specializati mașini de calcul, sau computere cu mai multe interfețe IP, a căror funcționare este controlată de software special.

Rutare în rețele IP

Rutarea este utilizată pentru a primi un pachet de la un dispozitiv și a-l redirecționa prin rețea către un alt dispozitiv prin alte rețele. Dacă nu există routere în rețea, atunci rutarea nu este acceptată. Routerele direcţionează (redirecţionează) traficul către toate reţelele care alcătuiesc reţeaua.

Pentru a ruta un pachet, routerul trebuie să aibă următoarele informații:

  • Adresa de destinatie
  • Un router din apropiere de la care poate afla despre rețelele de la distanță
  • Căile disponibile către toate rețelele de la distanță
  • Cea mai bună cale către fiecare rețea la distanță
  • Metode de întreținere și verificare a informațiilor de rutare

Routerul află despre rețelele de la distanță de la routerele vecine sau de la administratorul de rețea. Routerul construiește apoi un tabel de rutare care descrie cum să găsești rețele de la distanță.

Dacă rețeaua este conectată direct la router, acesta știe deja cum să direcționeze pachetul către acea rețea. Dacă rețeaua nu este conectată direct, routerul trebuie să învețe (învăța) căile de acces la rețeaua de la distanță utilizând rutarea statică (administratorul introduce manual locația tuturor rețelelor în tabelul de rutare) sau folosind rutarea dinamică.

Rutarea dinamică este un proces de protocol de rutare care determină modul în care un dispozitiv comunică cu routerele vecine. Routerul va actualiza informațiile despre fiecare rețea pe care o învață. Dacă apare o modificare în rețea, protocolul de rutare dinamică informează automat toate ruterele despre modificare. Dacă se utilizează rutarea statică, administratorul de sistem va trebui să actualizeze tabelele de rutare pe toate dispozitivele.

Rutarea IP este un proces simplu care este același pe rețele de orice dimensiune. De exemplu, figura arată procesul de interacțiune pas cu pas între gazda A și gazda B pe o altă rețea. În exemplu, utilizatorul gazdei A solicită adresa IP a gazdei B prin ping. Operațiunile ulterioare nu sunt atât de simple, așa că să le vedem mai detaliat:

  • ÎN Linie de comanda utilizatorul introduce ping 172.16.20.2. Pe gazda A, un pachet este generat folosind protocoale de nivel de rețea și ICMP.

  • IP apelează ARP pentru a afla rețeaua de destinație pentru pachet, uitându-se la adresa IP și masca de subrețea a gazdei A. Aceasta este o solicitare către gazda de la distanță, de exemplu. pachetul nu este destinat gazdei retea locala, deci pachetul trebuie redirecționat către router pentru a redirecționa către rețeaua la distanță dorită.
  • Pentru ca gazda A să trimită un pachet către router, gazda trebuie să cunoască adresa hardware a interfeței routerului conectată la rețeaua locală. Stratul de rețea transmite pachetul și adresa de destinație hardware la stratul de legătură de date pentru a fi încadrat și redirecționat către gazda locală. Pentru a obține o adresă hardware, gazda caută locația destinației în propria memorie, numită cache ARP.
  • Dacă adresa IP nu a fost încă atinsă și nu este prezentă în memoria cache ARP, gazda trimite o difuzare ARP pentru a căuta adresa hardware la adresa IP 172.16.10.1. Acesta este motivul pentru care prima solicitare Ping va expira de obicei, dar celelalte patru solicitări vor reuși. Odată ce o adresă este stocată în cache, de obicei nu există timp de expirare.
  • Routerul răspunde și raportează adresa hardware a interfeței Ethernet conectată la rețeaua locală. Acum gazda are toate informațiile pentru a redirecționa pachetul către router prin rețeaua locală. Stratul de rețea transmite pachetul în jos pentru a genera o solicitare de ecou ICMP (Ping) către nivelul link-ului, adăugând pachetul cu adresa hardware la care gazda ar trebui să trimită pachetul. Pachetul are adrese IP sursă și destinație împreună cu o indicație a tipului de pachet (ICMP) în câmpul de protocol de nivel de rețea.
  • Stratul de legătură de date formează un cadru care încapsulează pachetul împreună cu informațiile de control necesare pentru redirecționarea prin rețeaua locală. Aceste informații includ adresele hardware sursă și destinație, precum și valoarea din câmpul de tip stabilit de protocolul stratului de rețea (acesta va fi câmpul de tip, deoarece IP utilizează în mod implicit cadre Ethernet_II). Figura 3 prezintă un cadru generat la nivelul de legătură și transmis prin media locală. Figura 3 prezintă toate informațiile necesare pentru a comunica cu routerul: adrese hardware sursă și destinație, adrese IP sursă și destinație, date și suma de control CRC a cadrului aflată în câmpul FCS (Frame Check Sequence).
  • Stratul de legătură al gazdei A transmite cadrul nivel fizic. Acolo, zerourile și unuurile sunt codificate într-un semnal digital și apoi transmise pe un local rețeaua fizică.

  • Semnalul ajunge la interfața Ethernet 0 a routerului, care este sincronizată prin preambul semnal digital pentru a extrage cadrul. După construirea cadrului, interfața routerului verifică CRC și, la sfârșitul recepționării cadrului, compară valoarea primită cu conținutul câmpului FCS. În plus, verifică procesul de transfer pentru fragmentarea media și conflicte.
  • Adresa hardware de destinație este verificată. Deoarece se potrivește cu adresa routerului, câmpul de tip cadru este analizat pentru a determina ce trebuie făcut în continuare cu acest pachet de date. Câmpul tip specifică protocolul IP, astfel încât routerul transmite pachetul procesului de protocol IP care rulează pe router. Cadrul este șters. Pachetul original (generat de gazda A) este plasat în buffer-ul routerului.
  • Protocolul IP analizează adresa IP de destinație din pachet pentru a determina dacă pachetul este destinat ruterului însuși. Deoarece adresa IP de destinație este 172.16.20.2, routerul stabilește din tabelul său de rutare că rețeaua 172.16.20.0 este conectată direct la interfața Ethernet 1.
  • Routerul redirecționează pachetul de la buffer la interfața Ethernet 1. Routerul trebuie să-l încadreze pentru a redirecționa pachetul către gazda destinație. Routerul își verifică mai întâi memoria cache ARP pentru a determina dacă adresa hardware a fost deja rezolvată în timpul interacțiunilor anterioare cu rețeaua dată. Dacă adresa nu se află în memoria cache ARP, routerul trimite o solicitare de difuzare ARP către interfața Ethernet 1 pentru a căuta adresa hardware pentru adresa IP 172.16.20.2.
  • Gazda B răspunde cu adresa hardware a acestuia adaptor de retea la o solicitare ARP. Interfața Ethernet 1 a routerului are acum tot ce are nevoie pentru a redirecționa pachetul la destinația finală. Figura prezintă un cadru generat de router și transmis prin rețeaua fizică locală.

Cadrul generat de interfața Ethernet 1 a routerului are o adresă hardware sursă de la interfața Ethernet 1 și o adresă hardware de destinație pentru adaptorul de rețea gazdă B. Este important de reținut că, în ciuda modificărilor în adresele hardware sursă și destinație, pe fiecare router interfața care a trimis pachetul, adresele IP sursa și destinația nu se schimbă niciodată. Pachetul nu este modificat in niciun fel, dar ramele sunt schimbate.

  • Gazda B primește cadrul și verifică CRC. Dacă verificarea are succes, cadrul este eliminat și pachetul este transferat la protocolul IP. Acesta analizează adresa IP de destinație. Deoarece adresa IP de destinație este aceeași cu adresa setată în Host B, protocolul IP examinează câmpul de protocol pentru a determina destinația pachetului.
  • Pachetul nostru conține o cerere de ecou ICMP, astfel încât Gazda B generează un nou răspuns de ecou ICMP cu o adresă IP sursă egală cu Gazda B și o adresă IP de destinație egală cu Gazda A. Procesul începe din nou, dar în direcția opusă. Cu toate acestea, adresele hardware ale tuturor dispozitivelor de-a lungul căii pachetului sunt deja cunoscute, astfel încât toate dispozitivele vor putea obține adresele hardware ale interfețelor din propriile cache ARP.

În rețelele mari, procesul este similar, dar pachetul va trebui să parcurgă mai mulți hop pe drumul către gazda destinație.

Tabelele de rutare

În stiva TCP/IP, routerele și nodurile finale iau decizii cu privire la cui să transmită un pachet pentru a-l livra cu succes la nodul destinație, pe baza așa-numitelor tabele de rutare.

Tabelul este un exemplu tipic de tabel de rute care utilizează adrese IP de rețea pentru rețeaua prezentată în figură.

Tabel de rutare pentru routerul 2

Tabelul prezintă un tabel de rutare cu mai multe rute, deoarece conține două rute către rețeaua 116.0.0.0. În cazul construcției unui tabel de rutare cu o singură rută, este necesar să specificați o singură cale către rețeaua 116.0.0.0 pe baza valorii celei mai mici ale metricii.

După cum puteți vedea cu ușurință, în tabel sunt definite mai multe rute cu parametri diferiți. Trebuie să citiți fiecare astfel de intrare din tabelul de rutare, după cum urmează:

Pentru a livra un pachet într-o rețea cu o adresă din câmp Adresă de rețeași o mască din câmpul Network Mask, trebuie să trimiteți un pachet de la interfață cu adresa IP din câmpul Interface la adresa IP din câmpul Gateway Address, iar „costul” unei astfel de livrări va fi egal cu numărul din câmpul Metrics.

În acest tabel, coloana „Destination Network Address” indică adresele tuturor rețelelor către care acest router poate transmite pachete. Stiva TCP/IP adoptă așa-numita abordare one-hop pentru optimizarea rutei de redirecționare a pachetelor (rutarea hop-ul următor) - fiecare router și nod final participă la alegerea unui singur pas de transmisie a pachetelor. Prin urmare, fiecare linie a tabelului de rutare nu indică întreaga rută ca o secvență de adrese IP ale routerelor prin care trebuie să treacă pachetul, ci doar o singură adresă IP - adresa următorului router către care trebuie transmis pachetul. Împreună cu pachetul, responsabilitatea pentru alegerea următorului hop de rutare este transferată următorului router. Abordarea cu un singur salt a rutare înseamnă o soluție distribuită la problema de selecție a rutei. Acest lucru elimină restricția privind suma maxima routere de tranzit de-a lungul căii pachetului.

Pentru a redirecționa un pachet către următorul router, este necesară cunoașterea adresei sale locale, dar în stiva TCP/IP este o practică obișnuită să folosiți numai adrese IP în tabelele de rutare pentru a le stoca format universal, independent de tipul de rețele incluse în Internet. Pentru a găsi o adresă locală de la o adresă IP cunoscută, trebuie să utilizați protocolul ARP.

Rutarea cu un singur salt are un alt avantaj - vă permite să reduceți dimensiunea tabelelor de rutare în nodurile finale și routere prin utilizarea așa-numitei rute implicite (0.0.0.0), care ocupă de obicei ultima linie din tabelul de rutare, deoarece numărul rețelei de destinație. Dacă există o astfel de intrare în tabelul de rutare, atunci toate pachetele cu numere de rețea care nu sunt în tabelul de rutare sunt trimise către routerul specificat în linia implicită. Prin urmare, ruterele stochează adesea informații limitate despre rețelele de Internet în tabelele lor, redirecționând pachete pentru alte rețele către portul și routerul implicit. Se presupune că routerul implicit transmite pachetul către coloana vertebrală, iar routerele conectate la coloana vertebrală au informatii complete despre compoziția Internetului.

În plus față de ruta implicită, pot exista două tipuri de intrări speciale în tabelul de rutare - o intrare despre o rută specifică gazdei și o intrare despre adresele rețelelor conectate direct la porturile routerului.

O rută specifică gazdei conține o adresă IP completă în loc de un număr de rețea, adică o adresă care are informații diferite de zero nu numai în câmpul numărul de rețea, ci și în câmpul numărul gazdei. Se presupune că pentru un astfel de nod final ruta ar trebui să fie aleasă diferit față de toate celelalte noduri din rețeaua căreia îi aparține. În cazul în care tabelul conține diferite înregistrări despre progresul pachetelor pentru întreaga rețea N și nodul său individual, care are adresa N,D, la sosirea unui pachet adresat către nodul N,D, routerul va acorda preferință intrării pentru N,D.

Intrările din tabelul de rutare legate de rețelele conectate direct la router conțin zerouri („conectate”) în câmpul „Metrici”.

Algoritmi de rutare

Cerințe de bază pentru algoritmii de rutare:

  • precizie;
  • simplitate;
  • fiabilitate;
  • stabilitate;
  • justiţie;
  • optimitatea.

Există diverși algoritmi pentru construirea de tabele pentru rutarea cu un singur salt. Ele pot fi împărțite în trei clase:

  • algoritmi simpli de rutare;
  • algoritmi de rutare fix;
  • algoritmi adaptivi de rutare.

Indiferent de algoritmul folosit pentru a construi tabelul de rutare, rezultatul muncii lor are un singur format. Datorită acestui fapt, în aceeași rețea, noduri diferite pot construi tabele de rutare conform propriilor algoritmi și apoi pot face schimb de date lipsă între ele, deoarece formatele acestor tabele sunt fixe. Prin urmare, un router care utilizează un algoritm de rutare adaptiv poate furniza un nod final folosind un algoritm de rutare fix cu informații despre calea către o rețea despre care nodul final nu știe nimic.

Dirijare ușoară

Aceasta este o metodă de rutare care nu se modifică atunci când se modifică topologia și starea rețelei de transmisie a datelor (DTN).

Rutarea simplă este asigurată de diverși algoritmi, tipici dintre care sunt următorii:

  • Rutarea aleatorie este transmiterea unui mesaj de la un nod în orice direcție aleasă aleatoriu, cu excepția direcțiilor în care mesajul a fost primit de nod.
  • Flooding routing este transmiterea unui mesaj de la un nod în toate direcțiile, cu excepția direcției în care mesajul a ajuns la nod. Această rutare garantează un timp scurt de livrare a pachetelor, din cauza deteriorării lățime de bandă.
  • Rutare bazată pe experiența anterioară - fiecare pachet are un contor pentru numărul de noduri trecute, în fiecare nod de comunicație se analizează contorul și se reține ruta care corespunde valorii minime a contorului. Acest algoritm vă permite să vă adaptați la schimbările în topologia rețelei, dar procesul de adaptare este lent și ineficient.

În general, rutarea simplă nu asigură transmisie direcțională a pachetelor și are o eficiență scăzută. Principalul său avantaj este de a asigura funcționarea stabilă a rețelei în cazul defecțiunii diferitelor părți ale rețelei.

Rutare fixă

Acest algoritm este utilizat în rețelele cu o topologie de conexiune simplă și se bazează pe compilarea manuală a unui tabel de rutare de către administratorul de rețea. Algoritmul funcționează adesea eficient și pentru coloana vertebrală a rețelelor mari, deoarece coloana vertebrală în sine poate avea o structură simplă cu cele mai bune căi evidente pentru ca pachetele să le urmeze către subrețelele atașate la coloana vertebrală; se disting următorii algoritmi:

  • Rutarea fixă ​​cu o singură cale este atunci când se stabilește o singură cale între doi abonați. O rețea cu o astfel de rutare este instabilă la defecțiuni și supraîncărcări.
  • Rutare fixă ​​cu mai multe căi - pot fi instalate mai multe moduri posibileși se introduce o regulă de selecție a căii. Eficiența unei astfel de direcționări scade pe măsură ce sarcina crește. Dacă vreo linie de comunicație eșuează, este necesară schimbarea tabelului de rutare; pentru aceasta, în fiecare nod de comunicație sunt stocate mai multe tabele.

Rutare adaptivă

Acesta este tipul principal de algoritm de rutare folosit de routere în rețele moderne cu topologie complexă. Rutarea adaptivă se bazează pe faptul că ruterele schimbă periodic informații topologice speciale despre rețelele disponibile pe Internet, precum și despre conexiunile dintre routere. De obicei, nu se ține cont doar de topologia legăturilor, ci și de capacitatea și starea acestora.

Protocoalele adaptive permit tuturor ruterelor să colecteze informații despre topologia conexiunilor din rețea, procesând rapid toate modificările în configurația conexiunii. Aceste protocoale sunt distribuite în natură, ceea ce se exprimă în faptul că nu există routere dedicate în rețea care să colecteze și să rezumă informații topologice: această muncă este distribuită între toate routerele, se disting următorii algoritmi:

  • Rutare adaptivă locală - fiecare nod conține informații despre starea legăturii, lungimea cozii și tabelul de rutare.
  • Rutarea adaptivă globală se bazează pe utilizarea informațiilor primite de la nodurile învecinate. Pentru a face acest lucru, fiecare nod conține un tabel de rutare, care indică timpul de tranzit al mesajelor. Pe baza informațiilor primite de la nodurile vecine, valoarea tabelului este recalculată ținând cont de lungimea cozii din nodul însuși.
  • Rutare adaptivă centralizată - există un nod central care colectează informații despre starea rețelei. Acest centru generează pachete de control care conțin tabele de rutare și le trimite către nodurile de comunicație.
  • Rutarea adaptivă hibridă se bazează pe utilizarea unui tabel trimis periodic de către centru și pe analiza lungimii cozii de la nodul însuși.

Indicatori de algoritm (metrici)

Tabelele de rutare conțin informații pe care programele de comutare le folosesc pentru a selecta cea mai bună rută. Ce caracterizează construcția tabelelor de rutare? Care este natura informațiilor pe care le conțin? ÎN aceasta sectiune, dedicat performanței algoritmilor, se încearcă să se răspundă la întrebarea cum un algoritm determină preferința unei rute față de altele.

Algoritmii de rutare folosesc multe valori diferite. Algoritmii complecși de rutare se pot baza pe mai multe valori atunci când selectează o rută, combinându-le astfel încât rezultatul să fie o măsură hibridă. Următoarele sunt valorile utilizate în algoritmii de rutare:

  • Lungimea traseului.
  • Fiabilitate.
  • Întârziere.
  • Lățimea de bandă.

Lungimea traseului.

Lungimea rutei este cea mai comună măsură de rutare. Unele protocoale de rutare permit administratorilor de rețea să atribuie prețuri arbitrare fiecărei legături de rețea. În acest caz, lungimea căii este suma costurilor asociate fiecărui canal care a fost parcurs. Alte protocoale de rutare definesc un „număr de hop”, o măsură care descrie numărul de călătorii pe care un pachet trebuie să le facă pe drumul său de la sursă la destinație prin elementele de agregare a rețelei (cum ar fi routerele).

Fiabilitate.

Fiabilitatea, în contextul algoritmilor de rutare, se referă la fiabilitatea fiecărei legături din rețea (descrisă de obicei în termeni de raport bit-eroare). Unele legături de rețea pot eșua mai des decât altele. Eșecurile unor legături de rețea pot fi rezolvate mai ușor sau mai rapid decât eșecurile altor legături. La atribuirea evaluărilor de fiabilitate, pot fi luați în considerare orice factor de fiabilitate. Evaluările de fiabilitate sunt de obicei atribuite canalelor de rețea de către administratori. De regulă, acestea sunt valori digitale arbitrare.

Întârziere.

Latența de rutare se referă în mod obișnuit la durata de timp necesară unui pachet pentru a călători de la sursă la destinație printr-o rețea de internet. Latența depinde de mulți factori, inclusiv lățimea de bandă a legăturilor intermediare din rețea, cozile de la portul fiecărui router de-a lungul căii pachetului, congestia rețelei pe toate legăturile intermediare din rețea și distanța fizică pe care trebuie să parcurgă pachetul. . Deoarece există un conglomerat de mai multe variabile importante, latența este cea mai comună și utilă măsură.

Lățimea de bandă.

Lățimea de bandă se referă la capacitatea de trafic disponibilă a oricărei legături. Toate celelalte lucruri fiind egale, un canal Ethernet de 10 Mbps este de preferat oricărei linii închiriate cu o lățime de bandă de 64 KB/s. Deși lățimea de bandă este o estimare a capacității maxime realizabile a unei legături, rutele care trec prin legături cu lățime de bandă mai mare nu sunt neapărat mai bune decât rutele care trec prin legături mai lente.

Protocol de transfer de date TCP/IP

Internetul, care este o rețea de rețele și reunește un număr mare de diferite localuri, regionale și rețele corporative, operează și se dezvoltă prin utilizarea unui singur protocol de transfer de date TCP/IP. Termenul TCP/IP include numele a două protocoale:

  • Transmission Control Protocol (TCP) - protocol de transport;
  • Internet Protocol (IP) este un protocol de rutare.

Protocol de rutare. Protocolul IP asigură transferul de informații între computerele dintr-o rețea. Luați în considerare munca a acestui protocol similar cu transferul de informații folosind poșta obișnuită. Pentru ca scrisoarea să ajungă la destinația dorită, pe plic sunt indicate adresa destinatarului (căruia i se adresează scrisoarea) și adresa expeditorului (de la care provine scrisoarea).

În mod similar, informațiile transmise prin rețea sunt „ambalate într-un plic” pe care sunt „scrise” adresele IP ale computerelor destinatarului și ale expeditorului, de exemplu „Către: 198.78.213.185”, „De la: 193.124.5.33”. Se numește conținutul plicului în limbaj informatic Pachetul IPși este un set de octeți.

În procesul de trimitere a scrisorilor obișnuite, acestea sunt mai întâi livrate la cea mai apropiată adresă de expeditor. oficiu postal, iar apoi sunt transmise de-a lungul lanțului de oficii poștale către oficiul poștal cel mai apropiat de destinatar. La oficiile poștale intermediare, scrisorile sunt sortate, adică se stabilește la ce oficiu poștal următor trebuie trimisă o anumită scrisoare.

Pachetele IP în drumul către computerul destinatar trec și prin numeroase servere intermediare de internet pe care se efectuează operația rutare. Ca urmare a rutarii, pachetele IP sunt trimise de la un server de Internet la altul, apropiindu-se treptat de computerul destinatar.

Protocol Internet (IP) asigură rutarea pachetelor IP, adică livrarea informațiilor de la computerul expeditor către computerul receptor.

Determinarea traseului prin care trebuie să treacă informațiile.„Geografia” Internetului diferă semnificativ de geografia cu care suntem obișnuiți. Viteza de obținere a informațiilor nu depinde de distanța serverului Web, ci de numărul de servere intermediare și de calitatea liniilor de comunicație (capacitatea acestora) prin care se transmite informația de la nod la nod.

Vă puteți familiariza cu traseul informațiilor de pe Internet destul de simplu. Program special tracert.exe, care este inclus cu Windows, vă permite să urmăriți prin ce servere și cu ce întârziere informațiile sunt transferate de la serverul de Internet selectat pe computer.

Să vedem cum este implementat accesul la informații în partea „Moscova” a internetului la unul dintre cele mai populare servere de căutare Internetul rusesc www.rambler.ru.

Determinarea rutei fluxului de informații

2. În fereastră sesiune MS-DOS ca răspuns la solicitarea sistemului de a introduce comanda.

3. După ceva timp, va apărea o urmă de transfer de informații, adică o listă de noduri prin care informațiile sunt transmise computerului dvs. și timpul de transmitere între noduri.


Urmărirea rutei de transmitere a informațiilor arată că serverul www.rambler.ru este situat la o „distanță” de 7 tranziții de la noi, adică informațiile sunt transmise prin șase servere intermediare de internet (prin serverele furnizorilor de la Moscova MTU-Inform și Demos ). Viteza de transfer de informații între noduri este destul de mare; o „tranziție” durează de la 126 la 138 ms.

Protocolul de transport. Acum să ne imaginăm că trebuie să trimitem un manuscris de mai multe pagini prin poștă, dar oficiul poștal nu acceptă colete sau pachete. Ideea este simplă: dacă manuscrisul nu se încadrează într-un plic poștal obișnuit, acesta trebuie dezasamblat în foi și trimis în mai multe plicuri. În acest caz, foile manuscrisului trebuie numerotate astfel încât destinatarul să știe în ce ordine vor fi combinate ulterior aceste foi.

O situație similară apare adesea pe Internet atunci când computerele schimbă fișiere mari. Dacă trimiteți un astfel de fișier în ansamblu, acesta poate „înfunda” canalul de comunicare pentru o lungă perioadă de timp, făcându-l inaccesibil pentru trimiterea altor mesaje.

Pentru a preveni acest lucru, pe computerul care trimite este necesar să împărțiți fișierul mare în părți mici, să le numerotați și să le transportați în pachete IP separate la computerul de primire. Pe computerul destinatar trebuie să colectați dosarul original din părți individuale în ordinea corectă.

Protocolul de control al transmisiei (TCP), adică protocolul de transport, asigură că fișierele sunt împărțite în pachete IP în timpul transmisiei și fișierele sunt asamblate în timpul recepției.

Interesant este că pentru protocolul IP responsabil de rutare, aceste pachete nu au nicio legătură între ele. Prin urmare, ultimul pachet IP poate depăși primul pachet IP pe parcurs. Se poate dovedi că chiar și rutele de livrare pentru aceste pachete vor fi complet diferite. Cu toate acestea, TCP va aștepta primul pachet IP și va asambla fișierul sursă în ordinea corectă.

Determinarea timpului schimbului de pachete IP. Momentul schimbului de pachete IP între calculator local iar serverul de Internet poate fi determinat folosind utilitarul ping, care este inclus în sistemul de operare sisteme Windows. Utilitarul trimite patru pachete IP prin adresa specificatăși arată timpul total de transmisie și recepție pentru fiecare pachet.

Determinarea timpului schimbului de pachete IP

1. Conectați-vă la Internet, introduceți comanda [Programe-MS-DOS Session].

2. În fereastră sesiune MS-DOS ca răspuns la solicitarea sistemului de a introduce comanda.

3. În fereastră sesiune MS-DOS Va fi afișat rezultatul testării semnalului în patru încercări. Timpul de răspuns caracterizează parametrii de viteză ai întregului lanț de linii de comunicație de la server la computerul local.


Întrebări de luat în considerare

1. Ce asigură funcționarea holistică a globalului rețea de calculatoare Internet?

Sarcini practice

4.5. Urmăriți traseul informațiilor de la unul dintre cele mai populare servere de căutare pe Internet www.yahoo.com, situat în segmentul „american” al Internetului.

4.6. Determinați timpul de schimb al pachetelor IP cu serverul www.yahoo.com.

Protocol intern de rutare RIP

Acest protocol de rutare este conceput pentru rețele relativ mici și relativ omogene. Traseul este caracterizat de un vector de distanță până la destinație. Se presupune că fiecare router este punctul de plecare al mai multor rute către rețelele cu care este asociat. Descrierile acestor rute sunt stocate într-un tabel special numit tabel de rutare. Tabelul de rutare RIP conține o intrare pentru fiecare mașină deservită (pentru fiecare rută). Intrarea trebuie să includă:

  • Destinatia adresei IP.
  • Valoarea traseului (de la 1 la 15; numărul de pași până la destinație).
  • Adresa IP a celui mai apropiat router (gateway) pe drumul către destinație.
  • Cronometre de traseu.

Periodic (la fiecare 30 de secunde), fiecare router difuzează o copie a tabelului său de rutare către toate routerele învecinate cu care este conectat direct. Routerul de destinație caută în tabel. Dacă în tabel este prezentă o nouă cale sau un mesaj despre o rută mai scurtă, sau există modificări ale lungimii căilor, aceste modificări sunt înregistrate de destinatar în tabelul său de rutare. Protocolul RIP trebuie să poată gestiona trei tipuri de erori:

Trasee ciclice.

Pentru a suprima instabilitățile, RIP-ul ar trebui să utilizeze o valoare mică pentru numărul maxim posibil de pași (nu mai mult de 16).

Distribuția lentă a informațiilor de rutare în rețea creează probleme atunci când situația de rutare se schimbă dinamic (sistemul nu ține pasul cu modificările). O limită metrică mică îmbunătățește convergența, dar nu elimină problema.

Protocol OSPF Link State

Protocolul OSPF (Open Shortest Path Firs) este o implementare a algoritmului de stare a legăturii (adoptat în 1991) și are multe caracteristici concepute pentru a fi utilizate în rețele mari eterogene.

Protocolul OSPF calculează rutele pe rețelele IP, păstrând în același timp alte protocoale pentru schimbul de informații de rutare.

Routerele conectate direct sunt numite „vecini”. Fiecare router stochează informații despre starea în care crede că se află vecinul său. Routerul se bazează pe routerele învecinate și le transmite pachetele de date numai dacă are încredere că acestea sunt pe deplin operaționale. Pentru a afla starea conexiunilor, ruterele învecinate schimbă destul de des mesaje scurte HELLO.

Pentru a distribui informații despre starea conexiunii în întreaga rețea, routerele fac schimb de alte tipuri de mesaje. Aceste mesaje se numesc reclame pentru link-uri router - un anunț despre link-urile routerului (mai precis, despre starea legăturilor). Routerele OSPF schimbă nu numai reclamele de conexiune proprii, ci și ale altor persoane, primind în cele din urmă informații despre starea tuturor conexiunilor din rețea. Aceste informații formează un grafic al conexiunilor de rețea, care, desigur, este același pentru toate routerele din rețea.

Protocolul BGP

Schema generala BGP funcționează așa. Routerele BGP ale sistemelor vecine care decid să facă schimb de informații de rutare stabilesc conexiuni între ele folosind protocolul BGP și devin vecini BGP (peers BGP).

Apoi, BGP utilizează o abordare numită vector de cale, care este o dezvoltare a abordării vectorului distanță. Vecinii BGP își trimit (anunță, reclamă) vectori de cale unul către celălalt. Un vector de cale, spre deosebire de un vector de distanță, conține nu doar adresa rețelei și distanța până la acesta, ci și adresa rețelei și o listă de atribute de cale care descriu diverse caracteristici ruta de la routerul expeditor la rețeaua specificată. În cele ce urmează, pentru concizie, vom numi un set de date constând dintr-o adresă de rețea și atribute ale căii către această rețea o rută către această rețea.

Implementarea BGP

O pereche de vecini BGP stabilește o conexiune între ei folosind protocolul TCP, portul 179. Vecinii care aparțin unor AS-uri diferite trebuie să fie direct accesibili unul altuia; pentru vecinii din același AS nu există o astfel de restricție, deoarece protocolul intern de rutare va asigura disponibilitatea tuturor rutelor necesare între nodurile unui sistem autonom.

Fluxul de informații schimbat între vecinii BGP prin TCP constă dintr-o secvență de mesaje BGP. Lungimea maximă a mesajului este de 4096 octeți, cea minimă este de 19. Există 4 tipuri de mesaje.

IP înseamnă Internet Protocol, iar versiunea 4 a acestui protocol este în prezent cea mai comună. IPv4 este definit prin RFC 791.

În OSI, este un protocol de rețea (al treilea) strat. Acest nivel, vă reamintesc, este destinat să determine calea de transmitere a datelor.

IPv4 utilizează comutarea de pachete. În acest caz, mesajul original transmis este împărțit în părți mici (pachete), care sunt transmise independent prin rețea.

În plus, IPv4 nu garantează livrarea pachetelor sau absența duplicatelor. Aceasta este așa-numita „livrare cel mai bun efort” (spre deosebire de livrarea garantată). În consecință, aceste sarcini sunt transferate la protocoale de nivel superior, de exemplu, TCP.

Adresarea

IPv4 identifică expeditorul și destinatarul folosind o adresă de 32 de biți, ceea ce limitează numărul de adrese posibile la 4.294.967.296. Din acest număr, IPv4 își rezervă game speciale adrese numite private (~18 milioane) și multicast (~270 milioane).

Adresele sunt scrise de obicei ca patru octeți zecimale punctate, de exemplu: 198.51.100.25 corespunde numărului C6336419 16.

Când utilizați spațiul de adrese global, este necesar să faceți distincția între adresele disponibile în local rețea fizică care nu necesită rutare și adrese care sunt situate fizic pe o altă rețea. În cazul acestuia din urmă, pachetele sunt trimise către router, care trebuie să le transmită în continuare.

În primele versiuni ale standardului, primul octet a fost folosit pentru a identifica rețeaua, restul - pentru a identifica nodul. A devenit rapid clar că 256 de rețele nu sunt suficiente. Prin urmare, au fost introduse clase de rețele:

Clasă Primele bucăți Lungimea adresei de rețea Lungimea adresei nodului
A 0 8 24
B 10 16 16
C 110 24 8
D 1110 N / A N / A
E 1111 N / A N / A
Clasă Începutul intervalului Sfârșitul intervalului
A 0.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255

Clasa D este rezervată pentru multicast, clasa E este pur și simplu rezervată „pentru orice eventualitate”.

Lungimea adresei de rețea și lungimea adresei nodului au fost determinate de primii biți ai adresei. Din aproximativ 1985, acesta a fost și el abandonat. Motivele pentru aceasta sunt că multe organizații au cerut mai multe adrese decât a oferit rețeaua de clasă C și au primit o rețea de clasă B. Rețeaua de clasă B a depășit însă de multe ori cerințele organizației.

Clasele de rețea au fost înlocuite cu măști de rețea. Aceasta este o mască de biți care specifică care biți ai adresei sunt specifici rețelei și care sunt specifici gazdei. Prin convenție standard, masca ar trebui să fie completată de la stânga la dreapta, astfel încât adresa de rețea să fie întotdeauna în cei mai semnificativi biți. Acest lucru vă permite să specificați numai lungimea adresei de rețea, în locul întregii mască de rețea.

De exemplu, 192.0.2.0/24 înseamnă că primii 24 de biți (trei octeți) sunt adresa de rețea, iar restul sunt adresa gazdei. /24 este echivalent cu masca de rețea 255.255.255.0.

Utilizarea măștilor de rețea este descrisă în RFC 1517.

Numeroase standarde rezervă, de asemenea, diferite game de adrese pentru nevoi speciale.

Gamă Descriere RFC
0.0.0.0/8 Rețeaua curentă (adresa sursei) 6890
10.0.0.0/8 Rețea privată 1918
100.64.0.0/10 Spațiu de adrese partajat CGN 6598
127.0.0.0/8 Loopback 6890
169.254.0.0/16 Autoconfigurare 3927
172.16.0.0/12 Rețea privată 1918
192.0.0.0/24 Atribuții de protocol IETF 6890
192.0.2.0/24 Documentație și exemple 1 5737
192.88.99.0/24 Retransmiteți ipv6 la ipv4 3068
192.168.0.0/16 Rețea privată 1918
198.18.0.0/15 Testarea lățimii de bandă a rețelei 2544
198.51.100.0/24 Documentație și exemple 2 5737
203.0.113.0/24 Documentație și exemple 3 5737
224.0.0.0/4 Multicast 5771
240.0.0.0/4 Rezervat 1700
255.255.255.255 Solicitare de difuzare 919

Sunt rezervate și adresele de gazdă, în reprezentare binară formată din zerouri (indică întreaga rețea, rezervată) și unele (cerere de difuzare pentru o anumită rețea).

De exemplu, 203.0.113.0 înseamnă (în text) rețeaua 203.0.113.0/24, iar 203.0.113.255 este o solicitare de difuzare către această rețea.

Format pachet

Pachetul constă dintr-un antet și date. IP nu implică nicio verificare a integrității. Protocolul de bază (să zicem, Ethernet) oferă deja verificarea integrității la nivelul de legătură de date, iar cel mai înalt (să zicem, TCP) o face la nivelul de date.

Versiune, 4 biți Primul câmp antet. În IPv4 are valoarea 0010 2, adică. 4. Lungimea antetului, 4 biți Numărul de cuvinte de 32 de biți din antet. Valoarea minimă este 5, ceea ce corespunde unei lungimi de antet de 20 de octeți. Maxim – 15, lungime antet 60 octeți. DSCP sau ToS – tip de serviciu, 6 biți Determină prioritizarea, de exemplu, pentru VoIP. ECN, 2 biți Flag explicit de congestie a rețelei. Necesită suport din ambele părți (recepție și transmisie). Când acest steag este primit, viteza de transmisie este redusă. Dacă indicatorul nu este acceptat, pachetele sunt pur și simplu aruncate. Lungime totală, 16 biți Lungimea totală a pachetului în octeți, inclusiv antetul și datele. Lungimea minimă este 20, cea maximă este 65535. Identificare, 16 biți Folosit pentru a identifica în mod unic o datagramă. De când se transmite peste diverse rețele Poate fi necesară împărțirea unui pachet în părți mai mici, acest câmp este folosit pentru a identifica părțile care aparțin aceluiași pachet. Steaguri, 3 biți

Indicatori de biți:

  1. Rezervat, întotdeauna 0
  2. Nu fragmentați. Dacă transmiterea ulterioară a pachetului necesită fragmentare, pachetul este aruncat.
  3. Mai multe fragmente. Pentru pachetele fragmentate, toate, cu excepția ultimului, au acest indicator setat la 1.
Deplasare, 13 biți Deplasarea unui fragment față de începutul datagramei, măsurată în blocuri de 64 de biți. Primul fragment are un offset de 0. Offset-ul maxim este de 65528 octeți, care depășește lungime maxima pachetul 65515 (minus antetul de 20 de octeți). Time to Live (TTL), 8 biți Când un pachet trece printr-un router, acest câmp este decrementat cu 1. Dacă acest câmp este zero, routerul îl renunță. Protocol, 8 biți
  • 1 - ICMP
  • 6 - TCP
  • 17 - UDP
Sumă de control antet, 16 biți Se calculează suma cuvintelor de 16 biți din antet, cu excepția, de fapt, suma de control. Această sumă este, de asemenea, însumată în blocuri de 16 biți până când rămâne unul. Negația este apoi aplicată rezultatului pe biți. Adresa expeditorului, 32 de biți Totul este clar aici Adresa destinatarului, 32 de biți Totul este clar și aici. Opțiuni (câmp opțional)

Folosit rar. Constă din blocuri de date antet. Antetul opțiunii are o lungime de 8-16 biți și constă din următoarele câmpuri:

  • Tip de opțiune, 8 biți – un câmp care determină ce fel de opțiune este. Valoarea „0” înseamnă sfârșitul listei de opțiuni. Sunt înregistrate un total de 26 de coduri.
  • Lungime, 8 biți – dimensiunea întregii opțiuni în biți, inclusiv antetul. Pentru unele tipuri de opțiuni este posibil să nu fie disponibile.

ARP

IP definește adrese logice. Cu toate acestea, pentru a trimite pachetul la Rețele Ethernet, trebuie să știți și adresa fizică a nodului țintă (sau a routerului). ARP este folosit pentru a mapa unul cu celălalt.

ARP (Address Resolution Protocol) este formal un protocol de rețea (al treilea) nivel în modelul OSI, deși de fapt asigură interacțiunea între straturile 2 și 3. ARP este implementat pentru diverse perechi de protocoale Layer 2 și Layer 3.

Protocolul în sine este construit pe o schemă simplă cerere-răspuns. Să ne uităm la un exemplu concret.

Dacă gazda A, să zicem, cu adresa logică 198.51.100.1 (pe rețeaua 198.51.100.0/24) dorește să trimită un pachet către gazda B, cu adresa logică 198.51.100.2, trimite o difuzare a protocolului Layer 2 (în acest caz Ethernet) cerere cu mesajul încapsulat Un ARP care întreabă nodurilor de rețea care este adresa fizică a nodului cu adresa logică 198.51.100.2 și conține adresele logice și fizice ale nodului A. Nodul B, văzând propria sa adresă logică în cerere, trimite un răspuns la nodul A la adresa logică și fizică primită în cerere. Rezultatele interogării sunt stocate în cache.

Mesajele ARP au următoarea structură:

Protocol fizic (HTYPE), 2 octeți Protocolul de strat 2 utilizat. Ethernet are un ID de 1. Protocol logic (PTYPE), 2 octeți Protocolul Layer 3 utilizat. Corespunde cu EtherTypes. IPv4 are un ID de 0x0800. Lungimea adresei fizice (HLEN), 1 octet Lungimea adresei fizice în octeți, pentru Ethernet – 6 Lungimea adresei logice (PLEN), 1 octet Lungimea adresei logice în octeți, pentru IPv4 – 4 Operare (OPER), 2 octeți 1 pentru cerere, 2 pentru un răspuns și multe alte opțiuni pentru extensii de protocol. Adresa fizică a expeditorului (SHA), octet HLEN În cerere - adresa solicitantului. Răspunsul conține adresa nodului solicitat. Adresă logică a expeditorului (SPA), octeți PLEN
Adresa fizică a destinatarului (THA), octetul HLEN este ignorată în cerere. Răspunsul conține adresa solicitantului. Adresă logică a receptorului (TPA), octet PLEN

De obicei, gazdele de rețea trimit și mesaje ARP atunci când schimbă adresa IP sau la pornire. De obicei, aceasta este implementată ca o cerere APR unde TPA=SPA și THA=0. O altă opțiune este un răspuns ARP în care TPA=SPA și THA=SHA.

În plus, ARP poate fi utilizat pentru a detecta un conflict de adrese logice (cu SPA=0).

Există extensii de protocol care efectuează operații inverse, InARP (Inverse ARP), care primește o adresă L3 de la o adresă L2 și RARP, care obține adresa L3 a nodului solicitant.

RARP a fost folosit pentru auto-configurarea adreselor L3. Înlocuit ulterior cu BOOTP și apoi DHCP.

Rutare în rețele IPv4

Algoritmul de bază de rutare în rețelele IPv4 se numește algoritm de redirecționare.

Dacă există o adresă țintă D și un prefix de rețea N, atunci

  • Dacă N se potrivește cu prefixul de rețea al nodului curent, trimiteți datele prin legătura locală.
  • Dacă există o rută pentru N în tabelul de rutare, trimiteți datele către routerul următor.
  • Dacă există o rută implicită, trimiteți datele pentru hop-ul următor către routerul implicit
  • În caz contrar - o eroare.

Tabelul de rutare este un tabel de mapare a adreselor de rețea și a adreselor ruterului următor pentru aceste rețele. Deci, de exemplu, un nod cu adresa 198.51.100.54/24 poate avea următorul tabel de rutare: 203.0.113.0/24

Destinaţie Poarta de acces Dispozitiv
198.51.100.0/24 0.0.0.0 eth0
203.0.113.0/24 198.51.100.1 eth0
0.0.0.0/0 203.0.113.1 eth0

În principiu, traseul este și el legat dispozitiv de rețea, de la care trebuie trimise datele.

Dacă un nod poate fi atins prin mai multe rute, este selectată ruta cu masca de rețea mai lungă (adică, mai specifică). Poate exista o singură rută implicită.

De exemplu, nodul 198.51.100.54/24 are o tabelă de rutare:

Destinaţie Poarta de acces Dispozitiv
198.51.100.0/24 0.0.0.0 eth0
203.0.113.0/24 198.51.100.1 eth0
203.0.113.224/27 198.51.100.5 eth0
Acțiune