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:
Principiul de funcționare este următorul:
Î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.
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.
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ă.
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 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.
O zonă normală care este creată implicit. Această zonă primește actualizări ale canalelor, rute rezumate și rute externe.
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 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.
O zonă NSSA definește un tip LSA suplimentar, LSA tip 7. Un ASBR poate locui într-o zonă NSSA.
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.
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 |
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 | |||||||||||||||||||||||||||||||
… | … |
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 |
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 | |||||||||||||||||||||||||||||||
… | … |
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 |
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 |
acceptă versiunea de protocol IPv4
acceptă versiunea de protocol IPv6
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.
TCP /IP pe straturi ale modelului OSI | Protocoale de bază|
---|---|
Fizic | |
canalizat | |
reţea | |
Transport | |
sesiune | |
Reprezentare | |
Aplicat | |
Altele aplicate | |
Lista de porturi TCP și UDP |