VŠB TU OSTRAVA                                                                       21.6.2006

 

 

 

 

 

Semestrální projekt do předmětu

 

 Směrované a přepínané sítě

 

 

 

Podrobný popis spolehlivého šíření LSA

 

 

 

 

 

Vypracovali : Luboš Hejduk hej044, Petr Sedlář sed165

 

 

 

 

Obsah

 

1.    Zadání

2.    Protokol OSPF

3.    Rozdělení sítí podle protokolu OSPF

4.    Praktická část

    4.1    Návrh topologie a popis

    4.2    Hello pakety

    4.3    LS Update

        4.3.1   Popis paketu LS Update

    4.4    LS Acknowledge

    4.5    LS Request

5.    Ukázka šíření paketů

6.    Konfigurace routerů

    6.1    Router RC

    6.2    Router RD

    6.3    Router RF

    6.4    Router RI

    6.5    Router RJ

7.    Závěr

8.    Přílohy

9.    Zdroje

 

 

1.    Zadání

 

Podrobný popis spolehlivého šíření LSA (Link State Advertisement) v protokolu OSPF. Na point-to-point i broadcast síti. Návrh vhodné topologie, zachycení analyzátorem a podrobný komentář. 

 

2.    Protokol OSPF

 

Směrovací protokol OSPF (Open Shortest Path First) odstraňuje některé nevýhody původního protokolu RIP, a to zvláště relativní pomalost konvergence (pomalé reagování na změně v topologii), velké objemy přenášených dat v RIP paketech, nevhodná metrika (počet hopů) a nedostupnost sítí nad vzdálenost 15 směrovačů.

 

Pro protokol OSPF platí :

 

-         vychází z použití algoritmu LSA

-         stav sousedních směrovačů je periodicky kontrolován protokolem ,,Hello“

-         metrika cesty je pružně volitelná podle požadavků správce intersítě

-         cena linky je vždy sdružena s výstupním portem směrovače

-         protokol podporuje paralelní cesty se stejnou cenou

-         podporuje libovolné fyzické rozhraní sítě (broadcast, non-broadcast)

 

Protokol OSPF je typickým představitelem směrovacího protokolu typu Link State. Vytváří tedy v paměti směrovače kompletní mapu celé sítě, označovanou jako topologická databáze (někdy se jí říká Link State Database). Nad touto databází potom pomocí algoritmu označovaného jako Shortest Path First (SPF) provádí výpočty potřebné k nalezení nejvýhodnější cesty do jednotlivých sítí.

 

3.    Rozdělení sítí podle protokolu OSPF

 

Na základě fungování protokolu OSPF na různých typech sítí můžeme sítě rozdělit na :

 

Broadcast sítě – je to typ sítě, kterou propojují více než dva směrovače a navíc zajišťují, že jeden vyslaný paket mohou přijmout současně všechny směrovače. Kdyby se měly navazovat vztahy přilehlosti systémem každý s každým, vedlo by to k poměrně velkému režijnímu provozu na síti. Proto je v tomto typu sítě zvolen jeden ze směrovačů  jako Designated Router (DR)  - pověřený. Pro případ jeho výpadku je zvolen ještě Backup Designated Router (BDR) – záložní. Snížení zatížení sítě pak spočívá v tom, že každý ze směrovačů  považuje za své přilehlé sousedy pouze DR a BDR, i když je fyzicky propojen s dalšími směrovači. Volba DR a BDR probíhá na základě vyhodnocení osmibitové číselné hodnoty, kterou má každé rozhraní routeru v síti (Router Priority). Ta určuje s jakou prioritou má být směrovač v daném segmentu sítě zvolen jako DR nebo BDR. Priorita je oznámena sousedním routerům v Hello paketu. Směrovač s nejvyšší prioritou je pak zvolen jako DR. S druhou nejvyšší prioritou jako BDR.

V případě rovnosti priorit je zvolen DR router s nejvyšším ID (což je nejvyšší IP adresa na loopback rozhraní nebo při absenci loopback rozhraní, je to  nejvyšší IP adresa rozhraní routeru). OSPF komunikace probíhá v Broadcast a Point-to-Point sítích pomocí multicast paketů :

 

         224.0.0.5 - pakety určené pro všechny směrovače OSFP

         224.0.0.6 - pakety určené jen pro DR a BDR

 

Point-to-Point sítě – jsou to sítě spojující pouze 2 směrovače. V tomto případě neprobíhá volba DR a BDR a směrovače se zde vždy stávají přilehlými. Pro vzájemnou komunikaci se používá pouze  multicastová adresa 224.0.0.5

 

4.    Praktická část

 

4.1  Návrh topologie a popis

 

Pro náš projekt jsme volili níže zobrazenou síťovou topologii (obr.1). Na směrovačích (routerech) jsme nejprve nastavili ip adresy jednotlivých rozhraní podle obrázku. Po nakonfigurování jednotlivých rozhrání jsme mezi všemi routery zprovoznili směrovací protokol OSPF.

Abychom nemuseli připojovat ke všem koncovým routerům jednotlivé počítače, vytvořili jsme si na routerech RC, RF, RD virtuální rozhraní (loopback), které nám simulovalo připojenou síť.

 

Pozn.

U loopbacků (routery RC, RF, RD) jsme nastavili masku sítě na hodnotu 255.255.255.0 (tedy /24), ale Cisco implementace OSPF loopback propaguje vždy s maskou 255.255.255.255 (tedy /32). Routery RJ a RD jsme propojili sériovou linkou, protože nebylo v laboratoři k dispozici dostatek routerů, které mají potřebný počet ethernetových rozhraní.

 

 

 obr.1 Topologie testované sítě

 

Do sítě jsme na každou ethernetovou linku připojili rozbočovač (SWITCH nebo HUB), a do něj připojili PC s analyzátorem Ethereal (obr.2), ve kterém jsme zachytávali veškerou komunikaci mezi routery. Mezi routery RJ a RD jsme komunikaci nezachytávali, protože byly spojeny sériovou linkou, ale vzhledem k tomu, že situace mezi RI-RJ a RI-RD je podobná, není složité si domyslet šíření  LSA paketů touto linkou.

 

 obr.2 Topologie testované sítě s analyzátory

 

4.2    Hello pakety

 

Po spuštění protokolu OSPF začaly routery posílat přes svá rozhraní ,,Hello“ pakety. Pakety Hello se posílají na multicastové adrese 224.0.0.5. V Hello paketu router posílá informaci o sobě plus ještě informaci o routerech, o kterých slyšel (obsaženo v poli Active Neighbor, ve kterém jsou Router ID všech již nalezených sousedů), dále délku Hello intervalu a router Dead intervalu, jak můžeme vidět níže v zobrazeném Hello paketu. Pokud router v obdrženém Hello paketu má v poli Neighbor své vlastní ID a má stejný Hello a Dead interval, pak jsou tyto routery ve stavu sousednosti.

Příklad ,,Hello" paketu odchyceného analyzátorem 3 od routeru RI (10.0.20.1) po navázání vztahu přilehlosti :

No.     Time        Source                Destination           Protocol Info

 9     4.856428    10.0.20.1             224.0.0.5             OSPF  Hello Packet

 

Open Shortest Path First

    OSPF Header                                                                - hlavička OSPF    

        OSPF Version: 2                                                       - verze protokolu OSPF    

        Message Type: Hello Packet (1)                           - typ o jakou zprávu se jedná                                         

        Packet Length: 52                                                    - délka paketu

        Source OSPF Router: 10.0.20.1 (10.0.20.1)           - zdrojový OSPF  router, který zaslal tento paket

        Area ID: 0.0.0.0 (Backbone)                                   - v jaké leží oblasti

        Packet Checksum: 0x8496 (correct)                       - kontrolní součet bezchybnosti přenosu paketu

        Auth Type: Null

        Auth Data (none)

    OSPF Hello Packet                                                         

        Network Mask: 255.255.255.248                             - maska sítě

        Hello Interval: 10 seconds                                      - délka Hello intervalu ( v jakám časovém intervalu se Hello pakety zasílají)

        Options: 0x2 (E)

        Router Priority: 1                                                       - priorita pro přidělení DR, BDR

        Router Dead Interval: 40 seconds                          - délka Dead intervalu ( za jak dlouho se považuje sousední Router za nefunkční, pokud od něj

                                                                                                nedojde Hello  paket)

        Designated Router: 10.0.20.2                                  - zvolený DR  router

        Backup Designated Router: 10.0.20.3                    - zvolený BDR  router

        Active Neighbor: 10.0.4.1                                       - první nalezený sousední router                                  

        Active Neighbor: 10.0.5.1                                       - druhý nalezený sousední router                                        

 

4.3    LS - update

 

Abychom na některém z analyzátoru zachytili paket LS - update, museli jsme provést nějakou změnu v síti. Odpojili jsme proto síť 10.0.2.0.

Potom, co router RJ tuto změnu zaregistroval, vyslal paket LS Update routerům RI a RD. Ty mu potvrdily příjem paketem LS – Acknowledge a odeslaly tento paket na další svá rozhraní. Routery RD a RI si tento paket beze změny vyměnily (nemůžou vědět, že už ho obdrželi od RJ) a router RI ho ještě odeslal do sítě 10.0.20.0 na routery RC a RF. 

To aby se paket LS – Update nezacyklil je zajištěno tím, že se neposílá zpět původci paketu a tam kam už stejný paket zaslal (např. router RI po obdržení paketu od RD ho neodeslal zpět na router RJ, který ho vlastně vytvořil, což zjistí z pole Advertising Router). Paket LS – Update zašle router tehdy, zjistí-li nějakou změnu sítě ve svém okolí nebo když přeposílá obdržený LS - Update od jiného routeru.    

 

Pro názornost uvádíme příklad dvou zachycených LS Update paketů mezi RI – RJ.

 

LS-update při odpojení sítě 10.0.2.0

 

No.     Time        Source                Destination           Protocol Info

11   18.720967   10.0.10.17            224.0.0.5             OSPF     LS Update

 

Frame 11 (122 bytes on wire, 122 bytes captured)

Ethernet II, Src: Cisco_46:6f:c1 (00:00:0c:46:6f:c1),

                   Dst: 01:00:5e:00:00:05 (01:00:5e:00:00:05)

Internet Protocol, Src: 10.0.10.17 (10.0.10.17),

                             Dst: 224.0.0.5 (224.0.0.5)

Open Shortest Path First

    OSPF Header

        OSPF Version: 2

        Message Type: LS Update (4)

        Packet Length: 88

        Source OSPF Router: 10.0.10.17 (10.0.10.17)

        Area ID: 0.0.0.0 (Backbone)

        Packet Checksum: 0x5822 [correct]

        Auth Type: Null

        Auth Data (none)

    LS Update Packet

        Number of LSAs: 1

        LS Type: Router-LSA

            LS Age: 1 seconds

            Options: 0x22 (E/DC)

            Link-State Advertisement Type: Router-LSA (1)

            Link State ID: 10.0.10.17

            Advertising Router: 10.0.10.17 (10.0.10.17)

            LS Sequence Number: 0x80000011

            LS Checksum: 6341

            Length: 60

            Flags: 0x00

            Number of Links: 3

            Type: Transit  ID: 10.0.10.18      Data: 10.0.10.17      Metric: 10

            Type: PTP      ID: 10.0.3.1        Data: 10.0.10.10      Metric: 64

            Type: Stub     ID: 10.0.10.8       Data: 255.255.255.248 Metric: 64  

LS-update při připojení sítě 10.0.2.0

 

No.     Time        Source                Destination           Protocol Info

8     11.549007   10.0.10.17            224.0.0.5             OSPF     LS Update

 

Frame 8 (134 bytes on wire, 134 bytes captured)

Ethernet II, Src: Cisco_46:6f:c1 (00:00:0c:46:6f:c1),

                    Dst: 01:00:5e:00:00:05 (01:00:5e:00:00:05)

Internet Protocol, Src: 10.0.10.17 (10.0.10.17),

                             Dst: 224.0.0.5 (224.0.0.5)

Open Shortest Path First

    OSPF Header

        OSPF Version: 2

        Message Type: LS Update (4)

        Packet Length: 100

        Source OSPF Router: 10.0.10.17 (10.0.10.17)

        Area ID: 0.0.0.0 (Backbone)

        Packet Checksum: 0x89e4 [correct]

        Auth Type: Null

        Auth Data (none)

    LS Update Packet

        Number of LSAs: 1

        LS Type: Router-LSA

            LS Age: 1 seconds

            Options: 0x22 (E/DC)

            Link-State Advertisement Type: Router-LSA (1)

            Link State ID: 10.0.10.17

            Advertising Router: 10.0.10.17 (10.0.10.17)

            LS Sequence Number: 0x8000000c

            LS Checksum: 2360

            Length: 72

            Flags: 0x00

            Number of Links: 4

            Type: Stub     ID: 10.0.2.0        Data: 255.255.255.0   Metric: 10

            Type: Transit  ID: 10.0.10.18      Data: 10.0.10.17      Metric: 10

            Type: PTP      ID: 10.0.3.1        Data: 10.0.10.10      Metric: 64

            Type: Stub     ID: 10.0.10.8       Data: 255.255.255.248 Metric: 64

 

Pozn.

Z uvedených paketů je vidět, že se liší pouze jedním řádkem (po připojení – v příkladu tučně zvýrazněn).

 

4.3.1    Popis paketu LS - update

 

LS-update při odpojení sítě 10.0.2.0 a jeho popis

 

No.     Time        Source                Destination           Protocol Info

11   18.720967   10.0.10.17            224.0.0.5             OSPF     LS Update

 

Frame 11 (122 bytes on wire, 122 bytes captured)

Ethernet II, Src: Cisco_46:6f:c1 (00:00:0c:46:6f:c1),

                   Dst: 01:00:5e:00:00:05 (01:00:5e:00:00:05)

Internet Protocol, Src: 10.0.10.17 (10.0.10.17),

                             Dst: 224.0.0.5 (224.0.0.5)

Open Shortest Path First

    OSPF Header                                                                                              - hlavička OSPF             

        OSPF Version: 2                                                                                     - verze protokolu OSPF    

        Message Type: LS Update (4)                                                             - typ o jakou zprávu se jedná          

        Packet Length: 88                                                                                   - délka paketu    

        Source OSPF Router: 10.0.10.17 (10.0.10.17)                                      - zdrojový OSPF  router, který zaslal tento paket                

        Area ID: 0.0.0.0 (Backbone)                                                                  - v jaké leží oblasti                                          

        Packet Checksum: 0x5822 [correct]                                                      - kontrolní součet bezchybnosti přenosu paketu 

        Auth Type: Null

        Auth Data (none)

    LS Update Packet                                                                                       - hlavička OSPF

        Number of LSAs: 1                                                                                 - množství LSA údajů

        LS Type: Router-LSA

            LS Age: 1 seconds                                                                             - udává stáří paketu

            Options: 0x22 (E/DC)

            Link-State Advertisement Type: Router-LSA (1)

            Link State ID: 10.0.10.17

            Advertising Router: 10.0.10.17 (10.0.10.17)                                    - jaký paket potvrzujeme (propagující router)

            LS Sequence Number: 0x80000011                                                  - jednoznačná identifikace LS paketu

            LS Checksum: 6341                                                                            - kontrolní součet bezchybnosti přenosu LS

            Length: 60

            Flags: 0x00

            Number of Links: 3                                                                             - počet připojených linek k routeru     

 

                                                                      - dále se popisuje okolí routeru  (advertising routeru) -

 

         Type: Transit ID: 10.0.10.18 Data: 10.0.10.17 Metric: 10
             IP address of Designated Router: 10.0.10.18                                 - IP adresa DR
             Link Data: 10.0.10.17                                                                          - určuje IP adresu rozhraní
             Link Type: 2 - Connection to a transit network                            - určuje jaký typ spojení popisuje
             Number of TOS metrics: 0
             TOS 0 metric: 10
          Type: PTP ID: 10.0.3.1 Data: 10.0.10.10 Metric: 64
             Neighboring router's Router ID: 10.0.3.1                                        - ID sousedního routeru
             Link Data: 10.0.10.10                                                                          - určuje IP adresu rozhraní
             Link Type: 1 - Point-to-point connection to another router       - určuje jaký typ spojení popisuje
             Number of TOS metrics: 0
             TOS 0 metric: 64
          Type: Stub ID: 10.0.10.8 Data: 255.255.255.248 Metric: 64
              IP network/subnet number: 10.0.10.8                                             - označení připojené sítě/podsítě
              Link Data: 255.255.255.248                                                               - maska připojené sítě/podsítě 
              Link Type: 3 - Connection to a stub network                               - určuje jaký typ spojení popisuje
              Number of TOS metrics: 0
              TOS 0 metric: 64

 

Pozn.

Pole Advertising Router v LS paketu ukazuje Router ID směrovače, který je původcem LS paketu. Položka LS Sequence number je 32-bitové celé číslo, které je používáno k určení stáří a duplikaci LSA. Každý router má své sekvenční číslo a spolu s polem Advertising Router jednoznačně určují LS paket. Větší sekvenční číslo je aktuálnější. Nejnižší možné sekvenční číslo je 0x80000001 (takže nejstarší LSA). Při každém vytvoření nového LS Update se sekvenční číslo zvětší o jedničku. Když dosáhne maxima (0x7fffffff), sdělí se tato informace ostatním a nová instance může opět začít od začátku (0x80000001).

 

4.4    LS - Acknowledge

 

Tento paket byl vyslán jako potvrzení přijetí LS – Update a obsahoval z původního update paketu pouze hlavičku.

 

Příklad paketu LS-Acknowledge od RI po  obdržení LS – Update od RJ

 

No.     Time        Source                Destination           Protocol Info

14       21.219542   10.0.10.18            224.0.0.5             OSPF     LS Acknowledge

 

Frame 14 (78 bytes on wire, 78 bytes captured)

Ethernet II, Src: Cisco_46:3e:8b (00:00:0c:46:3e:8b), Dst: 01:00:5e:00:00:05 (01:00:5e:00:00:05)

Internet Protocol, Src: 10.0.10.18 (10.0.10.18), Dst: 224.0.0.5 (224.0.0.5)

Open Shortest Path First

    OSPF Header                                                                             - hlavička OSPF

        OSPF Version: 2                                                                    - verze protokolu OSPF    

        Message Type: LS Acknowledge (5)                                - typ o jakou zprávu se jedná      

        Packet Length: 44                                                                 - délka paketu

        Source OSPF Router: 10.0.20.1 (10.0.20.1)                        - zdrojový OSPF  router, který zaslal tento paket

        Area ID: 0.0.0.0 (Backbone)                                                - v jaké leží oblasti

        Packet Checksum: 0xb21a [correct]                                   - kontrolní součet bezchybnosti přenosu paketu

        Auth Type: Null

        Auth Data (none)

    LSA Header                                                                               - hlavička LSA

        LS Age: 1 seconds                                                               - udává stáří paketu

        Options: 0x22 (E/DC)

        Link-State Advertisement Type: Router-LSA (1)

        Link State ID: 10.0.10.17

        Advertising Router: 10.0.10.17 (10.0.10.17)                      - jaký paket potvrzujeme

        LS Sequence Number: 0x80000011                                    - jednoznačná identifikace podle sekvenčního čísla

        LS Checksum: 6341                                                              - kontrolní součet bezchybnosti přenosu LS

        Length: 60

 

Jakmile obdrží routery RC a RF paket LSA update (informace o změně v topologii), potvrdí příjem odesláním paketu LSA Acknowledge. Protože k sobě nemají připojeny žádné další routery, je proces „aktualizace“ topologie sítě u konce a dále se posílají opět jen Hello packety.

 

Pakety LS - Update se posílají vždy (jak u broadcast tak point-to-point sítě) na multicastovou adresu 224.0.0.5. Tato multicastová adreasa je určena pro všechny routery používající směrovací protokol OSPF (v broadcast a point-to-point sítích). Pokud jsou spojeny na jednom rozhraní více než dva routery (Broadcast síť), potom pakety LS - Acknowledge vysílají routery, které jsou DR (designated router) a BDR (backup designated router) na adresu 224.0.0.5 a ostatní vysílají tento paket pouze na adresu 224.0.0.6 (což znamená, že tento paket je určen pro DR a BDR). Pokud je původce paketu LS - Update DR router (náš příklad), potom paket LS - Acknowledge posílá na adresu 224.0.0.5  jen router BDR (Backup Designated Router) a ostatní na adresu 224.0.0.6.

 

4.5    LS - request

 

Tento typ paketu (Link State Request)  pošle router svému sousedovi tehdy, pokud zjistí že mu některé LSA chybí nebo je zastaralé. Vyžádá si tak LS update od daného směrovače.

 

Pozn.

Tento typ paketu se nám při odchytávání nepodařilo zachytit.

 

 

6.    Ukázka šíření paketů

 

Na uvedeném obrázku (obr. 2) je zobrazeno šíření LSA paketů po odpojení sítě 10.0.2.0/24. Podrobný popis šíření je popsán v praktické části. Vyznačená čísla u šipek znamenají, v jakém pořadí se LSA packety posílaly.

 

 obr.3 Ukázka šíření LSA paketů při odpojení sítě 10.0.2.0/24

 

7.    Konfigurace routerů

 

7.1    Router RC

 

hostname RC

!

interface Loopback0

 ip address 10.0.4.1 255.255.255.0

 no shutdown

!

interface Ethernet0

 ip address 10.0.20.2 255.255.255.248

 no shutdown

!

router ospf 1

 log-adjacency-changes

 network 10.0.20.0 0.0.0.7 area 0

 network 10.0.4.0 0.0.0.255 area 0

 

7.2    Router RD

 

hostname RD

!

interface Loopback0

 ip address 10.0.3.1 255.255.255.0

 no shutdown

!

interface Ethernet0

 ip address 10.0.10.2 255.255.255.248

 no shutdown

!

interface Serial0

 ip address 10.0.10.9 255.255.255.248

 no fair-queue

 clockrate 64000

 no shutdown

!

router ospf 1

 log-adjacency-changes

 network 10.0.3.0 0.0.0.255 area 0

 network 10.0.10.0 0.0.0.7 area 0

 network 10.0.10.8 0.0.0.7 area 0

 

7.3    Router RF

 

hostname RF

!

interface Loopback0

 ip address 10.0.5.1 255.255.255.0

 no shutdown

!

interface Ethernet0

 ip address 10.0.20.3 255.255.255.248

 duplex auto

 speed auto

 no shutdown

!

router ospf 1

 log-adjacency-changes

 network 10.0.5.0 0.0.0.255 area 0

 network 10.0.20.0 0.0.0.7 area 0

 

7.4    Router RI

 

hostname RI

!

interface Ethernet0

 ip address 10.0.10.1 255.255.255.248

 media-type 10BaseT

 no shutdown

!

interface Ethernet1

 ip address 10.0.10.18 255.255.255.248

 media-type 10BaseT

 no shutdown

!

interface Ethernet2

 ip address 10.0.20.1 255.255.255.248

 media-type 10BaseT

 no shutdown

!

router ospf 1

 log-adjacency-changes

 network 10.0.10.0 0.0.0.7 area 0

 network 10.0.10.16 0.0.0.7 area 0

 network 10.0.20.0 0.0.0.7 area 0

 

7.5    Router RJ

 

hostname RJ

!

interface Ethernet0

 ip address 10.0.10.17 255.255.255.248

 no shutdown

 media-type 10BaseT

!

interface Ethernet1

 ip address 10.0.2.1 255.255.255.0

 no shutdown

 media-type 10BaseT

!

interface Serial0

 ip address 10.0.10.10 255.255.255.248

 clock rate 64000

 no shutdown

 no fair-queue

!

router ospf 1

 log-adjacency-changes

 network 10.0.10.8 0.0.0.7 area 0

 network 10.0.10.16 0.0.0.7 area 0

 network 10.0.2.0 0.0.0.255 area 0

 

8.    Závěr

 

Protože informace o připojení sítě 10.0.2.0 se dostala až k routerům RC a RF znamená, že pakety LS - Update obdržely všechny routery a každý z nich má kompletní topologickou databázi (i když z celé tabulky si vypočítá jen next hop, který se využije). Pakety Link State Request se nám nepodařilo zachytit.

 

9.    Přílohy

 

V přílohách je možno stáhnout zachycené pakety programem Ethereal a konfigurační soubory všech routerů. Zachycené pakety jsou rozděleny do adresářů s popisem routerů, mezi kterými se šířily.

 

Konfigurační soubory

Zachycené pakety

 

10.    Zdroje

 

[1] Kállay, F. a Peniak, P. Počítačové sítě a jejich aplikace. vyd. Praha : GRADA Publishing, a.s., 2003. ISBN 80-247-0545-1 

[2] http://www.freesoft.org/CIE/RFC/1583/65.htm

[3] http://www.cs.vsb.cz/grygarek/SPS/