OSPF za IPv6 – domiselna ločitev izračuna najkrajših poti od IP-naslavljanja.

V prispevku subnet not in table breaks the loop smo opazili, da je vzrok za navidezno nepravilnost v usmerjevalni tabeli neprimeren IPv4-naslov Next Hop/Forward Address, ki je na usmerjevalniku samem. Usmerjevalnik zato te informacije ne vpiše v svojo usmerjevalno tabelo, saj usmerjevalniki niso zasnovani, da bi promet pošiljali samim sebi (z izjemo, ko ga mečejo stran). “Dežurni krivec”, da se je to zgodilo, je bil usmerjevalni protokol OSPF različice 2, ki je namenjem usmerjanju prometa IPv4. Kako pa se obnaša OSPF različice 3 za IPv6-promet (OSPFv3)?

Na usmerjevalniku router3 sem usmeril promet za nek izmišljen IPv6-naslov (2001:db8::ffff) nazaj proti usmerjevalniku router2.


(celotno shemo z nastavitvami usmerjevalnikov najdete tule)

Usmerjevalnik router3 posreduje statičen zapis za 2001:db8::ffff protokolu OSPFv3:
ipv6 route 2001:DB8::FFFF/128 FastEthernet0/0 2001:DB8:0:23::2
!
ipv6 router ospf 69
router-id 10.3.3.3
redistribute static
!

Bistvena razlika med OSPFv3 in njegovim starejšim bratom OSPFv2, ki deluje le za IPv4, je v tem, da OSPFv3 ne oglaša IPv6-naslova naslednjega koraka za določeno ciljno omrežje, temveč ostalim usmerjevalnikom pove le, da ve za pot do tega omrežja in kako “daleč” je zanj ta cilj. Usmerjevalnik router2 dobi o 2001:db8::ffff naslednjo informacijo:
router2>show ipv6 ospf database external 2001:db8::ffff/128
OSPFv3 Router with ID (10.2.2.2) (Process ID 69)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 400
LS Type: AS External Link
Link State ID: 0
Advertising Router: 10.3.3.3
LS Seq Number: 80000054
Checksum: 0xC264
Length: 44
Prefix Address: 2001:DB8::FFFF
Prefix Length: 128, Options: None
Metric Type: 2 (Larger than any link state path)
Metric: 20

Za razliko od OSPFv2 v njej ni podatka o IP-naslovu Forward Address, ki bi bil njemu lasten – torej nobenega zadržka, da te informacije ne bi zapisal v svojo usmerjevalno tabelo.

Router2 ve, da je naslov 2001:db8::ffff dosegljiv preko router3, nima pa pojma o zanki, saj nima informacije o next-hop IPv6-naslovu na samem sebi, kot ga pozna router3.

router2>show ipv6 route 2001:db8::ffff
Routing entry for 2001:DB8::FFFF/128
Known via "ospf 69", distance 110, metric 20, type extern 2
Route count is 1/1, share count 0
Routing paths:
FE80::224:C4FF:FE93:8EBE, FastEthernet0/1
Last updated 1d22h ago

router2>ping FE80::224:C4FF:FE93:8EBE
Output Interface: FastEthernet0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::224:C4FF:FE93:8EBE, timeout is 2 seconds:
Packet sent with a source address of FE80::224:C4FF:FE93:93A9%FastEthernet0/1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/4 ms

router2>sh ipv6 neighbors
IPv6 Address Age Link-layer Addr State Interface
FE80::224:C4FF:FE93:8EBE 0 0024.c493.8ebe REACH Fa0/1


To, da v objavah usmerjevalnih poti do omrežij (Network LSA – link-state advertisement) ni IPv6-naslovov temveč le identifikacijske oznake usmerjevalnikov, je bistvena razlika med OSPFv2 za IPv4 in OSPFv3 za IPv6. Izračun drevesa nakrajših poti je v OSPFv3 ločen od IP-naslavljanja oz. razporeditve IPv6-naslovov po omrežju. Informacije o IPv6-podomrežjih, ki so dosegljiva preko posameznih usmerjevalnikov, se posredujejo ločeno od informacij, ki opisujejo topologijo omrežja. V našem primeru z “zanko” med dvema usmerjevalnikoma je to lepo vidno.

Advertisements