OSPF

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 13 noiembrie 2018; verificările necesită 34 de modificări .
OSPF
Nume Deschide cel mai scurt drum prima data
Nivel (conform modelului OSI ) reţea
Familie TCP/IP
Creat în 1988
Port/ID 89 [1]
Scopul protocolului Protocolul de rutare dinamică
Specificație RFC 2328
Principalele implementări (clienți) OpenOSPFD , GNU Zebra , Quagga , Cisco IOS , Mikrotik RouterOS
Implementări de bază ( servere ) OpenOSPFD, GNU Zebra, Quagga, Cisco IOS, Mikrotik RouterOS, HP Comware
 Fișiere media la Wikimedia Commons

OSPF ( English  Open Shortest Path First ) este un protocol de rutare dinamic bazat pe tehnologia link-state și care utilizează algoritmul Dijkstra pentru a găsi cea mai scurtă cale .

Protocolul OSPF a fost dezvoltat de IETF în 1988. Cea mai recentă versiune a protocolului este furnizată în RFC 2328 (1998). OSPF este un Protocol Gateway Interior ( IGP ). Protocolul OSPF distribuie informații despre rutele disponibile între routere din același sistem autonom .

OSPF are următoarele beneficii:

Terminologia OSPF

Descrierea modului în care funcționează protocolul

Principiul de funcționare este următorul:

  1. După pornirea routerelor, protocolul caută vecini conectați direct și stabilește relații „prietenoase” cu aceștia.
  2. Apoi schimbă între ei informații despre rețelele conectate și disponibile pentru ei. Adică, ei construiesc o hartă a rețelei (topologie de rețea). Acest card este același pe toate routerele.
  3. Pe baza informațiilor primite, este lansat algoritmul SPF (Shortest Path First, „alegerea celei mai bune căi”), care calculează cea mai bună rută către fiecare rețea. Acest proces este similar cu construirea unui arbore, a cărui rădăcină este routerul însuși, iar ramurile sunt căile către rețelele disponibile. Acest proces, adică convergența, are loc foarte repede.

Tipuri de rețea acceptate de OSPF

Router dedicat (DR) și router dedicat de rezervă (BDR)

În rețelele cu acces multiplu, se stabilesc relații de vecinătate între toate routerele. Dacă toate routerele din statul vecin ar face schimb de informații topologice, acest lucru ar duce la trimiterea unui număr mare de copii ale LSA. Dacă, de exemplu, numărul de routere dintr-o rețea cu acces multiplu este n , atunci se vor stabili n(n-1)/2 relații de vecinătate. Fiecare router va trimite n-1 LSA-uri către vecinii săi, plus un LSA pentru rețea, rezultând ca rețeaua să genereze n² LSA.

Un router dedicat (DR) și un router dedicat de rezervă (BDR) sunt selectate pentru a evita problema distribuției copiei LSA în rețelele cu acces multiplu.

Router desemnat (DR) - gestionează procesul de distribuție LSA în rețea. Fiecare router din rețea stabilește o relație de adiacență cu DR. Informațiile despre modificările din rețea sunt trimise de către routerul care detectează această modificare către routerul desemnat, care, la rândul său, este responsabil pentru a se asigura că aceste informații sunt trimise către restul routerelor din segmentul multi-acces.

Dezavantajul lucrului cu un router DR este că atunci când eșuează, trebuie selectat un nou DR. Trebuie formate noi relații de vecini și până când bazele de date ale routerului sunt sincronizate cu baza de date a noului DR, rețeaua nu va fi disponibilă pentru a transmite pachete. Pentru a elimina acest neajuns, se alege BDR.

Backup de router desemnat (BDR). Fiecare router din rețea stabilește relații de vecin nu numai cu DR-ul, ci și cu BDR-ul. DR și BDR stabilesc, de asemenea, relații de vecinătate între ele. Când DR eșuează, BDR devine DR și își îndeplinește toate funcțiile. Deoarece routerele din rețea au stabilit relații de vecin cu BDR, timpul de nefuncționare a rețelei este minimizat.

Un router ales ca DR sau BDR într-o rețea de acces multiplu atașată poate să nu fie un DR (BDR) într-o altă rețea de acces multiplu atașată. Role DR (BDR) este o proprietate a unei interfețe, nu o proprietate a întregului router. Cu alte cuvinte, pe fiecare segment de acces multiplu (de exemplu, un segment de comutare Ethernet) pe care comunică două sau mai multe routere OSPF, procesul de selectare și atribuire a rolurilor DR/BDR are loc independent de alte segmente de acces multiplu.

Temporizatoare de protocol

Tipuri de router

Un router intern  este un router ale cărui interfețe aparțin aceleiași zone. Aceste routere au o singură bază de date cu starea legăturii.

Router de frontieră de zonă (ABR)  - conectează una sau mai multe zone la zona principală și acționează ca o poartă de acces pentru traficul inter-zonă. Un router de frontieră are întotdeauna cel puțin o interfață care aparține zonei backbone. Pentru fiecare zonă atașată, routerul menține o bază de date separată cu starea legăturii.

Un router backbone  este un router care are întotdeauna cel puțin o interfață în zona backbone. Definiția este similară cu un router de frontieră, totuși un router principal nu este întotdeauna un router de frontieră. Un router intern ale cărui interfețe aparțin zonei nule este, de asemenea, o coloană vertebrală.

Un router de limită AS (ASBR)  este un router cu un port în domeniul protocolului OSPF și altul în domeniul oricăruia dintre protocoalele gateway interne (cum ar fi RIP sau EIGRP). Un router de frontieră cu sistem autonom poate fi amplasat oriunde în sistemul autonom și poate fi fie un router de frontieră, fie un router backbone.

Tipuri de publicitate de stat link (LSA)

Type 1 LSA - Router LSA  - anunț despre starea legăturilor routerului. Aceste LSA sunt propagate de toate routerele. LSA conține o descriere a tuturor legăturilor de ruter și a costului fiecărei legături. Distribuit numai în aceeași zonă.

Type 2 LSA - Network LSA  - anunț privind starea legăturilor de rețea. DR distribuit în rețele cu acces multiplu. LSA conține o descriere a tuturor routerelor atașate la rețea, inclusiv DR. Distribuit numai în aceeași zonă.

Type 3 LSA - Network Summary LSA  - un anunț rezumat al stării legăturilor de rețea. Anunțul este distribuit de ruterele de frontieră. Anunțul descrie doar rute către rețele din afara zonei și nu descrie rute în cadrul sistemului autonom. Routerul de frontieră trimite o reclamă separată pentru fiecare rețea pe care o cunoaște.

Când un router primește un LSA rezumat rețea de la un router de frontieră, nu rulează algoritmul de calcul al căii celei mai scurte. Routerul adaugă pur și simplu la costul rutei specificat în LSA costul rutei către routerul de frontieră. Ruta către rețea prin routerul de frontieră este apoi plasată în tabelul de rutare.

Tip 4 LSA - Rezumat ASBR LSA - Anunț  rezumat al stării legăturii ASBR. Anunțul este distribuit de ruterele de frontieră. ASBR Summary LSA diferă de Network Summary LSA prin aceea că informațiile nu sunt distribuite despre rețea, ci despre routerul de frontieră al sistemului autonom.

Tip 5 LSA - AS External LSA  - anunțarea stării canalelor externe ale sistemului autonom. Anunțul este distribuit de ruterul de frontieră AS în întreaga AS. Anunțul descrie rute care sunt externe unui AS OSPF sau rute implicite care sunt externe unui AS OSPF.

Type 6 LSA - Multicast OSPF LSA  - Un LSA specializat pe care aplicațiile OSPF multicast îl folosesc (neimplementat de Cisco).

LSA de tip 7 - AS LSA extern pentru NSSA  - anunțuri despre starea canalelor externe ale sistemului autonom în zona NSSA. Acest anunț poate fi difuzat numai în zona NSSA. La limita zonei, routerul de frontieră traduce LSA de tip 7 într-un LSA de tip 5.

Type 8 LSA - Link LSA  - face publicitate adresa locală a link-ului și prefixul(ele) routerului către toate routerele care partajează legătura (link). Trimis numai dacă există mai mult de un router pe link. Distribuiți numai în cadrul canalului (link).

Type 9 LSA - Hărți LSA cu prefix intra-zonă  : listă de prefixe IPv6 și router către Router LSA, listă de prefixe IPv6 și rețea de tranzit către Network LSA. Distribuit numai în aceeași zonă.

Tipuri de zone

Când un sistem autonom este împărțit în zone, routerele aparținând unei zone nu cunosc topologia detaliată a altor zone.

Împărțirea în zone permite:

Fiecărei zone i se atribuie un ID de zonă. Identificatorul poate fi specificat în format zecimal sau în format de notare a adresei IP . Cu toate acestea, ID-urile zonei nu sunt adrese IP și pot corespunde oricărei adrese IP atribuite.

Există mai multe tipuri de zone:

Zona coloanei vertebrale

Zona backbone (cunoscută și ca zonă nulă sau zona 0.0.0.0) formează nucleul rețelei OSPF. Toate celelalte zone sunt conectate la acesta, iar rutarea inter-zonă are loc printr-un router conectat la zona backbone. Zona backbone este responsabilă pentru distribuirea informațiilor de rutare între zonele non-backbone. Zona coloanei vertebrale trebuie să fie adiacentă altor zone, dar nu trebuie să fie adiacentă fizic; conexiunea la zona backbone poate fi stabilită și folosind circuite virtuale.

Zona standard

O zonă normală care este creată implicit. Această zonă primește actualizări ale canalelor, rute rezumate și rute externe.

Zona stub

O zonă stub nu acceptă informații de rută externe pentru un sistem autonom, dar acceptă rute din alte zone. Dacă routerele din zona stub trebuie să transmită informații în afara graniței AS, ele folosesc ruta implicită. Un ASBR nu poate locui într-o zonă stub.

Zona total stubby

Zona total stubby nu acceptă informații despre rute externe pentru sistemul autonom și rute din alte zone. Dacă routerele trebuie să trimită informații în afara zonei, folosesc ruta implicită. Tip de zonă Cisco-proprietar.

Zona nu atât de stubby (NSSA)

O zonă NSSA definește un tip LSA suplimentar, LSA tip 7. Un ASBR poate locui într-o zonă NSSA.

Format pachet OSPF

Pachetul OSPF este încapsulat direct în câmpul de date al pachetului IP . Valoarea câmpului de protocol de nivel superior din antetul datagramei IP pentru OSPF este 89.

Antetul pachetului

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune tip lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23

Buna pachet

Pachetul salut este conceput pentru a stabili și menține relații cu vecinii. Pachetul este trimis periodic către toate interfețele routerului.

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune Tip = 1 lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23
24-27 masca de retea
28-31 salut interval Opțiuni prioritatea routerului
32-35 Interval mort al routerului
36-39 Router desemnat
40-43 Backup router desemnat
44-47 ID vecin

Descrierea bazei de date

Pachetul Descrierea bazei de date descrie conținutul bazei de date cu starea legăturii. Pachetele sunt schimbate când se stabilește starea de vecinătate.

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune Tip = 2 lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23
24-27 Interfață MTU Opțiuni 0 0 0 0 0 eu M DOMNIȘOARĂ
28-31 DD numărul de ordine

Solicitare de stat link

Pachetul Link State Request este conceput pentru a solicita o parte din baza de date a routerului vecin.

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune tip=3 lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23
24-27 Tip L.S
28-31 ID-ul stării conexiunii
32-35 Router de publicitate

Actualizare stare link

Pachetul Link State Update este conceput pentru a trimite anunțuri despre starea legăturii. Pachetul este trimis la adresa multicast per hop .

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune Tip = 4 lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23
24-27 Numărul de LSA
  LSA

Confirmarea stării linkului

Confirmă primirea pachetului Link State Update.

Octet 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
0-3 versiune Tip = 5 lungimea pachetului
4-7 ID router
8-11 ID zona
12-15 Sumă de control Tip de autentificare
16-19 Autentificare
20-23
  Antetele LSA

Versiuni ale protocolului OSPF

OSPF versiunea 1

OSPF versiunea 2

acceptă versiunea de protocol IPv4

OSPF versiunea 3

acceptă versiunea de protocol IPv6

Critica

Se crede că, datorită utilizării algoritmului Dijkstra a unui criteriu specific pentru calitatea distribuției fluxului de informații de intrare, nu protejează deloc rețeaua IP de congestie, ceea ce necesită implementarea unor metode suplimentare pentru a reduce probabilitatea de congestie. De exemplu, se propune utilizarea capacității reziduale de canal în criteriile de alocare [2] .

În același timp, relativa simplitate a implementării practice a algoritmului poate fi atribuită calităților pozitive ale protocolului.

Vezi și

Note

  1. https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
  2. N. A. Kuznetsov , V. N. Fetisov, Queuing systems , „Algoritmul Dijkstra cu robustețe îmbunătățită pentru controlul rutei în rețelele IP” ( [1] Arhivat 8 martie 2016 pe Wayback Machine ), PACS 02.10.Ox , Automation and telemechanics , No. , 2008.

Literatură