Vem, da sem pametnejši od usmerjevalnega protokola.

 

Če se ukvarjate z IP-omrežji, ste zagotovo že naleteli na nekaj takega:

router2>show ip route 10.0.0.255
% Subnet not in table

Zakaj “Subnet not in table?“, saj ste prepričani, da mora usmerjevalnik (router2) poznati pot do IP-naslova (v našem primeru 10.0.0.255).
Na nekaj podobnega sem naletel pred kratkim.

V omrežju treh zaporedno povezanih usmerjevalnikov želim obremeniti povezavo med usmerjevalnikoma router2 in router3. Prvi (router1) bo izvor prometa.



Moj načrt je preprost – z usmerjevalnika router1 usmerim promet na nek fiktiven IP-naslov (10.0.0.255) proti usmerjevalniku router3, slednjega pa nastavim tako, da vse prejete podatke za ta naslov vrne nazaj na router2. Podatki bodo krožili med usmerjevalnikoma router2 in router3, dokler se jim ne bo iztekel življenski čas (TTL – Time to live). S to preprosto metodo lahko z malo generiranega prometa z usmerjevalnika router1 močno obremenim povezavo med router2 in router3, saj generirani promet lahko preko 100-krat zaokroži med router2 in router3.

Misleč, da zadošča statičen zapis za 10.0.0.255 na usmerjevalniku router3, nastavim:
router ospf 4
router-id 10.3.3.3
redistribute static subnets
!
ip route 10.0.0.255 255.255.255.255 FastEthernet0/0 10.0.23.2
Opustil sem ukaze, ki v tem primeru ni pomembni – celotno konfiguracijo najdete tule.


Ker router3 posreduje (redistribuira) statično zapisano pot v dinamičen usmerjevalni protokol OSPF, se ta informacija posreduje tudi na router1 in router2. Na router1 je pot do 10.0.0.255 znana:

router1>show ip route 10.0.0.255
Routing entry for 10.0.0.255/32
Known via "ospf 4", distance 110, metric 20, type extern 2, forward metric 2
Last update from 10.0.12.2 on FastEthernet0/0, 00:43:46 ago
Routing Descriptor Blocks:
* 10.0.12.2, from 10.3.3.3, 00:43:46 ago, via FastEthernet0/0
Route metric is 20, traffic share count is 1

… na router2 pa ne:
router2>show ip route 10.0.0.255
% Subnet not in table

Kljub temu, da ima router2 ustrezen zapis v podatkovni bazi OSPF, ne vpiše poti do 10.0.0.255 v svojo usmerjevalno tabelo!
router2>show ip ospf database external 10.0.0.255
OSPF Router with ID (10.2.2.2) (Process ID 4)
Type-5 AS External Link States
LS age: 1554
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 10.0.0.255 (External Network Number )
Advertising Router: 10.3.3.3
LS Seq Number: 8000000D
Checksum: 0x6AE9
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
MTID: 0
Metric: 20
Forward Address: 10.0.23.2
External Route Tag: 0

Problem je skrit v Forward Address: 10.0.23.2. To je namreč naslov vmesnika na usmerjevalniku router2 na povezavi z router3.

Usmerjevalnik router2 v svojo usmerjevalno tabelo ne vpiše poti, za katero je naslednji korak on sam.

Da bi zanka delovala, moram tudi na router2 dodati statičen vpis:

ip route 10.0.0.255 255.255.255.255 FastEthernet0/1 10.0.23.3

Promet iz router1 do 10.0.0.255 sedaj zaokroži na povezavi med router2 in router3:
router1>traceroute 10.0.0.255
Tracing the route to 10.0.0.255
1 10.0.12.2 0 msec 0 msec 0 msec
2 10.0.23.3 0 msec 4 msec 0 msec
3 10.0.23.2 4 msec 0 msec 4 msec
4 10.0.23.3 4 msec 0 msec 4 msec
5 10.0.23.2 0 msec 0 msec 4 msec
6 10.0.23.3 0 msec 4 msec 0 msec
...
28 10.0.23.3 0 msec 0 msec 4 msec
29 10.0.23.2 4 msec 4 msec 4 msec
30 10.0.23.3 4 msec 4 msec 0 msec


Kako pa je v IPv6-svetu, kjer namesto OSPFv2 uporabimo OSPFv3? Poročam naslednjič…

Advertisements