Narzędzia użytkownika

Narzędzia witryny


sk1:cisco_ospf

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
sk1:cisco_ospf [2016/05/12 16:24]
jkonczak
sk1:cisco_ospf [2020/05/12 12:50] (aktualna)
jkonczak [[Ekstra] Inne]
Linia 3: Linia 3:
 === Wstęp === === Wstęp ===
  
-Protokół stanu łącza <​html><​small></​html>​(wewnątrz obszaru. Między obszarami - wektora odległości.)<​html></​small></​html>​+Protokół stanu łącza <​html><​small></​html>​(wewnątrz obszaru)<​html></​small></​html>​
  
 OSPF w wersji 2 działa tylko na IPv4, w wersji wersja 3 też na IPv6.  OSPF w wersji 2 działa tylko na IPv4, w wersji wersja 3 też na IPv6. 
  
 Każdy router konstruuje mapę sieci. Używa algorytmu dijkstry dla znajdowania najkrótszych ścieżek. Każdy router konstruuje mapę sieci. Używa algorytmu dijkstry dla znajdowania najkrótszych ścieżek.
 +
 +=== LSA ===
 +
 +//​Link-State Advertisement//​ (LSA) to pojedyncza jednostka informacji o sieci używana przez OSPF http://​en.wikipedia.org/​wiki/​Link-state_advertisement \\
 +Przykładowo LSA może nieść informację o:
 +  * połączeniach wybranego routera OSPF z innymi routerami OSPF
 +  * sieciach IP do których należy router
 +  * <​html><​small>​o trasach z innego obszaru</​small></​html>​
 +  * <​html><​small>​trasach spoza OSPF</​small></​html>​
 +
  
 === Działanie === === Działanie ===
Linia 13: Linia 23:
 Routery, wymieniając wiadomości //Hello//, nawiązują relację z sąsiadami. Routery, wymieniając wiadomości //Hello//, nawiązują relację z sąsiadami.
  
-Następnie przesyłają wzajemnie w wiadomościach //database descriptions//​ (//DD//) informacje jakie znają połączenia (tylko ID). +Następnie przesyłają wzajemnie w wiadomościach //database descriptions//​ (//DD//) informacje jakie znają połączenia, routery etc. (tylko ID wszystkich znanych ​LSA).
- +
-Po transferze żądają wiadomością //​Link-State Request// nieznanych sobie wiadomości ​LSA i otrzymują je w wiadomościach //​Link-State Update//.+
  
-Po każdej wykrytej zmianie router ​wysyłkomunikat ​LSU z opisem zmian. Komunikat LSU jest rozgłaszana epidemicznie do wszystkich sąsiadów.+Po transferze ​żądają nieznanych sobie wiadomości (LSA) wysyłając komunikat ​//​Link-State Request// i otrzymują odpowiedź we wiadomościach //​Link-State Update//.
  
-Wszystkie komunikaty poza Hello nazywa się zbiorczo nazwą //​Link-State Advertisement//  ​(LSA; http://en.wikipedia.org/​wiki/​Link-state_advertisement).+Po każdej wykrytej zmianie router wysyła komunikat LSU z opisem zmian (LSA)Komunikat LSU jest rozgłaszana epidemicznie do wszystkich sąsiadów.
  
 <​html><​small></​html>​ <​html><​small></​html>​
-Żeby zapobiec zalewaniu sieci pakietami ​LSA, w jednej domenie rozgłoszeniowej wybiera się //router desygnowany//​ i zapasowy router desygnowany (DR i DRother w CISCO) i dopuszcza się tylko komunikację do / z routera desygnowanego. +Żeby zapobiec zalewaniu sieci pakietami ​protokołu OSPF, w jednej domenie rozgłoszeniowej wybiera się //router desygnowany//​ i zapasowy router desygnowany (DR i DRother w CISCO) i dopuszcza się tylko komunikację do / z routera desygnowanego. 
-OSPF do odróżniania routerów wykorzystuje //​identyfikator routera// - w CISCO to najniższy przypisany do urządzenia adres IP. Na router desygnowany wybierany jest router z najniższym priorytetem,​ jeśli priorytety są równe (a domyślnie są) - z najmniejszym identyfikatorem.+ 
 +OSPF do odróżniania routerów wykorzystuje //​identyfikator routera// - w CISCO to domyślnie najwyższy przypisany do urządzenia adres IP. Na router desygnowany wybierany jest router z najniższym priorytetem,​ jeśli priorytety są równe (a domyślnie są) - z najmniejszym identyfikatorem.
 <​html></​small></​html>​ <​html></​small></​html>​
  
Linia 47: Linia 56:
  
 Najpierw należy wejść do trybu konfiguracji (znak zachęty: ''​(config)#''​). Najpierw należy wejść do trybu konfiguracji (znak zachęty: ''​(config)#''​).
-  * ''​router ospf <​processId>''​ - wejście do konfiguracji procesu OSPF o podanym numerze. Numer procesu jest lokalny - stąd można wybrać dowolny, np: ''​router ospf 1''​. Prompt zmieni się na ''​(config-router)#''​+  * ''​router ospf <​processId>''​ - wejście do konfiguracji procesu OSPF o podanym numerze. ​\\ Numer procesu jest lokalny - stąd można wybrać dowolny, np: ''​router ospf 1''​. Prompt zmieni się na ''​(config-router)#''​
     * ''​network <​adres_ip>​ <​odwrócona_maska>​ area <​obszar>''​ - dodaje sieci pasujące do wzorca do rozgłaszanych sieci oraz aktywuje na nich wymianę komunikatów OSPF. Dodanie pierwszej sieci włącza proces OSPF. \\ Przykład: do dodania sieci 192.168.0.0/​24 do obszaru 0 należy wpisać: \\ ''​network 192.168.0.0 0.0.0.255 area 0''​ \\ Można też podać "cały świat",​ który dopasuje się do każdej bezpośrednio podłączonej sieci: \\ ''​network 0.0.0.0 255.255.255.255 area 0''​     * ''​network <​adres_ip>​ <​odwrócona_maska>​ area <​obszar>''​ - dodaje sieci pasujące do wzorca do rozgłaszanych sieci oraz aktywuje na nich wymianę komunikatów OSPF. Dodanie pierwszej sieci włącza proces OSPF. \\ Przykład: do dodania sieci 192.168.0.0/​24 do obszaru 0 należy wpisać: \\ ''​network 192.168.0.0 0.0.0.255 area 0''​ \\ Można też podać "cały świat",​ który dopasuje się do każdej bezpośrednio podłączonej sieci: \\ ''​network 0.0.0.0 255.255.255.255 area 0''​
     * <​html><​small></​html>''​auto-cost reference-bandwidth <​prędkość_w_Mbps>''​ – ustawia referencyjną prędkość używaną do automatycznego obliczania kosztów połączenia,​ np:\\ ''​auto-cost reference-bandwidth 1000''<​html></​small></​html>​     * <​html><​small></​html>''​auto-cost reference-bandwidth <​prędkość_w_Mbps>''​ – ustawia referencyjną prędkość używaną do automatycznego obliczania kosztów połączenia,​ np:\\ ''​auto-cost reference-bandwidth 1000''<​html></​small></​html>​
     * <​html><​small></​html>''​default-information originate''​ - włącza redystrybucję trasy domyślnej <​html></​small></​html>​     * <​html><​small></​html>''​default-information originate''​ - włącza redystrybucję trasy domyślnej <​html></​small></​html>​
     * <​html><​small></​html>''​redistribute <co rozgłaszać>''​ - włącza rozgłaszanie tras podanego typu - połączonych,​ statycznych lub z innego procesu/​protokołu routingu. Uwaga: nie włącza OSPF na pasujących sieciach – tylko dodaje je do rozgłaszanych. Np: \\ ''​redistribute connected subnets''​ - wszystkie bezpośrednio podłączone sieci \\ ''​redistribute static subnets''​ - wszystkie trasy statyczne \\ ''​redistribute eigrp subnets''​ - wszystkie trasy dostarczone przez protokół eigrp<​html></​small></​html>​     * <​html><​small></​html>''​redistribute <co rozgłaszać>''​ - włącza rozgłaszanie tras podanego typu - połączonych,​ statycznych lub z innego procesu/​protokołu routingu. Uwaga: nie włącza OSPF na pasujących sieciach – tylko dodaje je do rozgłaszanych. Np: \\ ''​redistribute connected subnets''​ - wszystkie bezpośrednio podłączone sieci \\ ''​redistribute static subnets''​ - wszystkie trasy statyczne \\ ''​redistribute eigrp subnets''​ - wszystkie trasy dostarczone przez protokół eigrp<​html></​small></​html>​
 +    * <​html><​small></​html>''​passive-interface <​interfejs>​|default''​ – wyłącza nawiązywanie połączeń OSPF na wybranym interfejsie,​ lub domyślnie na wszystkich interfejsach. \\ Przykład 1 – wyłącza wysyłanie i odbiór OSPF Hello na interfejsie FastEthernet 0/0: \\ ''​passive-interface FastEthernet 0/​0''​ \\ Przykład 2 - pozwala na połączenia OSPF tylko na Serial 0/​2/​0-1 ​ \\ ''​passive-interface default''​ \\ ''​no passive-interface Serial/​0/​2/​0''​ \\ ''​no passive-interface Serial/​0/​2/​1''<​html></​small></​html>​
  
 <​html><​small></​html>​ <​html><​small></​html>​
-W trybie konfiguracji interface'​u można ręcznie ustalić koszt łącza:+W trybie ​**konfiguracji interface'​u** można ręcznie ustalić koszt łącza:
   * ''​bandwidth <​prędkość>''​ - zmiana postrzeganej przez protokoły routingu prędkości   * ''​bandwidth <​prędkość>''​ - zmiana postrzeganej przez protokoły routingu prędkości
   * ''​ip ospf cost <​koszt>''​ - sztuczna zmiana kosztu danego łącza dla OSPF   * ''​ip ospf cost <​koszt>''​ - sztuczna zmiana kosztu danego łącza dla OSPF
Linia 65: Linia 75:
   * ''​show ip protocols'' ​   * ''​show ip protocols'' ​
   * ''​show ip ospf''​ - informacje o działających procesach ospf   * ''​show ip ospf''​ - informacje o działających procesach ospf
 +  * ''​show ip ospf interface''​ - informacje o stanie OSPF na interfejsach - koszt, sąsiedzi, lokalny identyfikator etc.
   * ''​show ip ospf neighbor''​ - informacje o sąsiadach   * ''​show ip ospf neighbor''​ - informacje o sąsiadach
   * ''​show ip ospf database''​ - podsumowane dane o połączeniach   * ''​show ip ospf database''​ - podsumowane dane o połączeniach
-  * ''​show ip ospf database router''​ - pełne dane o połączeniach ​+  ​* ''​show ip ospf database network''​ - podsumowane dane o sieciach łączących routery OSPF 
 +  ​* ''​show ip ospf database router''​ - pełne dane o routerach i ich połączeniach ​
  
 <​html><​small></​html>  ​ <​html><​small></​html>  ​
Linia 78: Linia 90:
 <​html></​small></​html>​ <​html></​small></​html>​
  
-http://​www.cisco.com/​c/​en/​us/​td/​docs/​ios-xml/​ios/​iproute_ospf/​configuration/​12-4t/iro-12-4t-book/​iro-cfg.html +++++ Przykładowe wyniki poleceń diagnostycznych | 
-===== Inne ===== +++ schemat sieci: | {{ :​sk1:​ospf-example-net.png?​700 |}}++ 
-Quaqqa ​(http://​www.nongnu.org/​quagga/​) - implementacja wielu protokołów routingu, w tym OSPFv2, dla systemu Linux+<​html><​pre>​ 
 +<​b>​R2#​show ip route</​b>​ 
 +Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP 
 +       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area  
 +       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 
 +       E1 - OSPF external type 1, E2 - OSPF external type 2 
 +       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 
 +       ia - IS-IS inter area, * - candidate default, U - per-user static route 
 +       o - ODR, P - periodic downloaded static route 
 + 
 +Gateway of last resort is not set 
 + 
 +O    <span title="​Cel"​ style="​background-color:​rgba(255,​255,​0,​0.4)">​192.168.4.0/​24</​span>​ [110/4] via <span title="​Następny skok" style="​background-color:​rgba(255,​255,​0,​0.4)">​192.168.5.1</​span>,​ 00:03:34, GigabitEthernet0/​0 
 +C    192.168.5.0/​24 is directly connected, GigabitEthernet0/​0 
 +<span title="​Trasa do sieci do której router jest bezpośrednio połączony"​ style="​background-color:​rgba(255,​0,​0,​0.4)">​C</​span> ​   192.168.6.0/​24 is directly connected, GigabitEthernet1/​0 
 +<span title="​Trasa do sieci poznanej za pośrednictwem OSPF" style="​background-color:​rgba(0,​255,​0,​0.4)">​O</​span> ​   192.168.0.0/​24 [110/66] via 192.168.5.1,​ 02:40:04, GigabitEthernet0/​0 
 +O    192.168.1.0/​24 [110/65] via 192.168.5.1,​ 02:45:19, GigabitEthernet0/​0 
 +O    192.168.2.0/​24 [<span title="​AD"​ style="​background-color:​rgba(0,​0,​0,​0.4)">​110</​span>/<​span title="​Metryka"​ style="​background-color:​rgba(0,​255,​255,​0.4)">​2</​span>​] via 192.168.5.1,​ 02:45:19, GigabitEthernet0/​0 
 +O    192.168.3.0/​24 [110/3] via 192.168.5.1,​ 02:45:19, GigabitEthernet0/​0 
 + 
 +<​b>​R2#​show ip protocols</​b>​ 
 +Routing Protocol is "<​span title="​Użyty numer procesu"><​b>​ospf 1</​b></​span>"​ 
 +  Outgoing update filter list for all interfaces is not set 
 +  Incoming update filter list for all interfaces is not set 
 +  Router ID <span title="​Identyfikator tego routera"><​b>​192.168.6.2</​b></​span>​ 
 +  Number of areas in this router is 1. 1 normal 0 stub 0 nssa 
 +  Maximum path: 4 
 +  Routing for Networks: 
 +    <span title="​Skonfigurowane zakresy adresów IP mające brać udział w OSPF">​192.168.5.0 255.255.255.0 area 0</​b></​span>​ 
 +    <span title="​Skonfigurowane zakresy adresów IP mające brać udział w OSPF">​192.168.6.0 255.255.255.0 area 0</​b></​span>​ 
 + ​Reference bandwidth unit is <span title="​Referencyjna prędkość na podstawie której liczone są koszty łącz (=referencyjna prędkość / prędkość łącza)"><​b>​1000 mbps</​b></​span>​ 
 +  Routing Information Sources: 
 +    Gateway ​        ​Distance ​     Last Update 
 +<span title="​Inne poznane routery wymieniające się wiadomościami OSPF"> ​   192.168.1.3 ​         110      02:37:21 
 +    192.168.5.1 ​         110      02:42:36 
 +    192.168.4.1 ​         110      00:00:51 
 +    192.168.3.4 ​         110      02:​42:​36</​span>​ 
 +  Distance: (default is 110) 
 + 
 +R2#show ip ospf interface GigabitEthernet0/​0</​b>​ 
 +GigabitEthernet0/​0 is up, line protocol is up  
 +  Internet Address 192.168.5.2/​24,​ Area 0  
 +  Process ID 1, Router ID 192.168.6.2,​ Network Type BROADCAST, Cost: <span title="​Rozgłaszany koszt tego łącza"​ style="​background-color:​rgba(255,​0,​0,​0.2)">​1</​span>​ 
 +  Transmit Delay is 1 sec, State BDR, Priority 1 
 +  Designated Router (ID) 192.168.5.1,​ Interface address 192.168.5.1 
 +  Backup Designated router (ID) 192.168.6.2,​ Interface address 192.168.5.2 
 +  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 
 +    oob-resync timeout 40 
 +    Hello due in 00:00:01 
 +  Supports Link-local Signaling (LLS) 
 +  Cisco NSF helper support enabled 
 +  IETF NSF helper support enabled 
 +  Index 1/1, flood queue length 0 
 +    Next 0x0(0)/​0x0(0) 
 +  Last flood scan length is 1, maximum is 1 
 +  Last flood scan time is 0 msec, maximum is 4 msec 
 +  Neighbor Count is 1, Adjacent neighbor count is 1  
 +    Adjacent with neighbor <span title="​Sąsiad znaleziony na tym łączu"​ style="​background-color:​rgba(255,​0,​0,​0.2)">​192.168.5.1</​span> ​ (Designated Router) 
 +  Suppress hello for 0 neighbor(s) 
 + 
 +<​b>​R2#​show ip ospf neighbor</​b>​ 
 + 
 +Neighbor ID     ​Pri ​  ​State ​          Dead Time   ​Address ​        ​Interface 
 +<span title="​Identyfikator sąsiada"​ style="​background-color:​rgba(0,​255,​0,​0.2)">​192.168.5.1</​span> ​      ​1 ​  ​FULL/​DR ​        ​00:​00:​37 ​   <span title="​Adres IP po którym ten router komunikuje się z sąsiadem"​ style="​background-color:​rgba(0,​0,​255,​0.15)">​192.168.5.1</​span> ​    ​GigabitEthernet0/​0 
 + 
 +<​b>​R2#​show ip ospf database router</​b>​ 
 + 
 +            OSPF Router with ID (192.168.6.2) (Process ID 1) 
 + 
 +                Router Link States (Area 0) 
 + 
 +  LS age: 1473 
 +  Options: (No TOS-capability,​ DC) 
 +  LS Type: Router Links 
 +  Link State ID: 192.168.1.3 
 +  Advertising Router: <​b>​192.168.1.3</​b>​ 
 +  LS Seq Number: 80000009 
 +  Checksum: 0x1AE5 
 +  Length: 60 
 +  Number of Links: 3 
 + 
 +    Link connected to: <​b>​another Router</​b>​ (point-to-point) 
 +     (Link ID) Neighboring Router ID: <​b>​192.168.5.1</​b>​ 
 +     (Link Data) Router Interface address: 192.168.1.3 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: <​b>​64</​b>​ 
 + 
 +    Link connected to: a <​b>​Stub Network</​b>​ 
 +     (Link ID) Network/​subnet number: <​b>​192.168.1.0</​b>​ 
 +     (Link Data) Network Mask: <​b>​255.255.255.0</​b>​ 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 64 
 + 
 +    Link connected to: a Stub Network 
 +     (Link ID) Network/​subnet number: 192.168.0.0 
 +     (Link Data) Network Mask: 255.255.255.0 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: <​b>​1</​b>​ 
 + 
 + 
 +  LS age: 39 
 +  Options: (No TOS-capability,​ DC) 
 +  LS Type: Router Links 
 +  Link State ID: 192.168.3.4 
 +  Advertising Router: 192.168.3.4 
 +  LS Seq Number: 80000008 
 +  Checksum: 0x3348 
 +  Length: 48 
 +  Number of Links: 2 
 + 
 +    Link connected to: a <​b>​Transit Network</​b>​ 
 +     (Link ID) Designated Router address: 192.168.3.4 
 +     (Link Data) Router Interface address: 192.168.3.4 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 +    Link connected to: a Transit Network 
 +     (Link ID) Designated Router address: 192.168.2.4 
 +     (Link Data) Router Interface address: 192.168.2.4 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 + 
 +  LS age: 114 
 +  Options: (No TOS-capability,​ No DC) 
 +  LS Type: Router Links 
 +  Link State ID: 192.168.4.1 
 +  Advertising Router: 192.168.4.1 
 +  LS Seq Number: 80000011 
 +  Checksum: 0x78FF 
 +  Length: 60 
 +  Number of Links: 3 
 + 
 +    Link connected to: a Transit Network 
 +     (Link ID) Designated Router address: 192.168.3.4 
 +     (Link Data) Router Interface address: 192.168.3.1 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 +    Link connected to: a Stub Network 
 +     (Link ID) Network/​subnet number: 192.168.4.0 
 +     (Link Data) Network Mask: 255.255.255.0 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 +    Link connected to: a Stub Network 
 +     (Link ID) Network/​subnet number: 127.0.0.1 
 +     (Link Data) Network Mask: 255.255.255.255 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 + 
 +  LS age: 1856 
 +  Options: (No TOS-capability,​ DC) 
 +  LS Type: Router Links 
 +  Link State ID: 192.168.5.1 
 +  Advertising Router: 192.168.5.1 
 +  LS Seq Number: 80000007 
 +  Checksum: 0x435E 
 +  Length: 72 
 +  Number of Links: 4 
 + 
 +    Link connected to: another Router (point-to-point) 
 +     (Link ID) Neighboring Router ID: 192.168.1.3 
 +     (Link Data) Router Interface address: 192.168.1.1 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 64 
 + 
 +    Link connected to: a Stub Network 
 +     (Link ID) Network/​subnet number: 192.168.1.0 
 +     (Link Data) Network Mask: 255.255.255.0 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 64 
 + 
 +    Link connected to: a Transit Network 
 +     (Link ID) Designated Router address: 192.168.2.4 
 +     (Link Data) Router Interface address: 192.168.2.1 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 +    Link connected to: a Transit Network 
 +     (Link ID) Designated Router address: 192.168.5.1 
 +     (Link Data) Router Interface address: 192.168.5.1 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 + 
 +  LS age: 1749 
 +  Options: (No TOS-capability,​ DC) 
 +  LS Type: Router Links 
 +  Link State ID: 192.168.6.2 
 +  Advertising Router: 192.168.6.2 
 +  LS Seq Number: 80000007 
 +  Checksum: 0xA544 
 +  Length: 48 
 +  Number of Links: 2 
 + 
 +    Link connected to: a Stub Network 
 +     (Link ID) Network/​subnet number: 192.168.6.0 
 +     (Link Data) Network Mask: 255.255.255.0 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 + 
 +    Link connected to: a Transit Network 
 +     (Link ID) Designated Router address: 192.168.5.1 
 +     (Link Data) Router Interface address: 192.168.5.2 
 +      Number of TOS metrics: 0 
 +       TOS 0 Metrics: 1 
 +</​pre></​html>​ 
 +++++ 
 + 
 +{{:​sk1:​ospf.pcap.gz|Przykładowa wymiana pakietów protokołu OSPF}} 
 + 
 +https://​www.cisco.com/​c/​en/​us/​td/​docs/​ios-xml/​ios/​iproute_ospf/​configuration/​15-mt/iro-15-mt-book/​iro-cfg.html 
 +===== [Ekstra] ​Inne ===== 
 +Implementacje wielu protokołów routingu, w tym OSPFv2, dla systemu Linux: 
 +  * FRRouting https://​frrouting.org/ ​(kiedyś [[http://​www.nongnu.org/​quagga/​|Quaqqa]], jeszcze wcześniej [[https://​www.gnu.org/​software/​zebra/​|Zebra]]) - składnia (prawie) identyczna z CISCO 
 +  * Bird http://​bird.network.cz/​ 
sk1/cisco_ospf.1463063046.txt.gz · ostatnio zmienione: 2016/05/12 16:24 przez jkonczak