Настройка Virtual Links OSPF |
Virtual link в OSPF нужно рассматривать как решение «на коленке»: при помощи этой технологии можно временно решить поставленную задачу, но никогда не стоит рассчитывать на нее при разработке дизайна сети. Эта статья посвящена тому, как можно использовать Virtual Link и как можно ее настроить. В этой статье рассматривается применение Virtual Link в OSPFv3 для IPv6, но все, что будет написано так-же касается и OSPFv2 для протокола IPv4.
Сеть представленная на схеме не будет работать корректно — магистральная зона (Backbone area 0) разделена на две части зоной 1. Внутриобластные LSAs из левой половины области 0 не смогут быть переданы в правую половину области 0 и обратно. Просмотрев OSPF database на R3, мы видим, что он получил LSA от R2 для сети R1 2001:db8:0:1::/64.
R3# show ipv6 ospf database inter-area prefix Inter Area Prefix Link States (Area 1) LS age: 1314 LS Type: Inter Area Prefix Links Link State ID: 3 Advertising Router: 192.168.0.2 LS Seq Number: 80000001 Checksum: 0xFE8D Length: 36 Metric: 20 Prefix Address: 2001:DB8:0:1:: Prefix Length: 64, Options: None ...
Однако, в соответствии с протоколом OSPF, R3 не генерирует маршрут IPv6 из этого LSA, это происходит по тому, что он является ABR, а межобластной LSA получен не из области 0 (Backbone area), а из области 1:
R3# show ipv6 route 2001:db8:0:1:: % Route not found
В результате в сети существует однонаправленная маршрутная топология: R1 может достичь R3 (используя межобластной маршрут, который генерировал R2) но R3 не может достичь R1. Этот же эффект наблюдается в топологии зеркально; R4 может достичь R2 но R2 не может достичь R4.
Такое поведение маршрутизаторов заложено в самом протоколе OSPF, который, в общем являясь link-sate протоколом, действует, как distance vector протокол между областями: маршрутизаторы внутри области не имеют доступа к базе данных состояния каналов соседних областей, а должны использовать для маршрутизации в соседние области суммарные LSA которые генерируют пограничные маршрутизаторы. В то-же время существует требование, гласящее о том, что все области должны быть подключены непосредственно к Backbone Area 0, а она в свою очередь должна быть неразрывна. Выполнение данного требования гарантирует отсутствие петель маршрутизации в сети с множеством областей OSPF. Но бывают ситуации продиктованные различными обстоятельствами, в которых область 0 должна быть разделена — пример это наша топология на схеме.
Для решения проблемы с этой топологией, существует способ объединить разорванную область 0. В идеальном случае это лучше всего сделать организовав L3 связность между R1 и R4. Но т.к. это не всегда возможно обратимся к технологии Vitrual Link, которая так-же позволит решить эту проблему.
Настройка Virtual Link
Первым делом необходимо решить где организовывать Virtual link. В нашей простой сети решение очевидно: между R2 и R3. Естественно, что в реальных сетях это решение обычно гораздо более затруднительно ввиду сложности топологии.
Virtual links создаются в режиме настройки OSPF процесса путем указания OSPF Router ID маршрутизатора с которым устанавливается Virtual Link.
R2(config)# ipv6 router ospf 1 R2(config-rtr)# area 1 virtual-link ? A.B.C.D RouterID associated with virtual link neighbor R2(config-rtr)# area 1 virtual-link 192.168.0.3
Аналогично поступим на R3:
R3(config)# ipv6 router ospf 1 R3(config-rtr)# area 1 virtual-link 192.168.0.2 R3(config-rtr)# %OSPFv3-5-ADJCHG: Process 1, Nbr 192.168.0.2 on OSPFv3_VL0 from LOADING to FULL, Loading Done
Новое соседство установлено через virtual link интерфейс, который называется OSPFv3_VL1.
R3# show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 192.168.0.2 1 FULL/ - - 11 OSPFv3_VL1 192.168.0.4 1 FULL/DR 00:00:31 4 FastEthernet0/0 192.168.0.2 1 FULL/DR 00:00:38 5 FastEthernet0/1
Это соседство позволяет обмениваться внутриобластными LSA, как если бы маршрутизаторы были соединены L3 интерфейсами . Теперь таблицы маршрутизации содержат все необходимые маршруты.
R1# show ipv6 route IPv6 Routing Table - 10 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 D - EIGRP, EX - EIGRP external C 2001:DB8:0:1::/64 [0/0] via ::, FastEthernet0/1 L 2001:DB8:0:1::1/128 [0/0] via ::, FastEthernet0/1 O 2001:DB8:0:4::/64 [110/40] via FE80::C002:45FF:FE8D:0, FastEthernet0/0 C 2001:DB8:0:12::/64 [0/0] via ::, FastEthernet0/0 L 2001:DB8:0:12::1/128 [0/0] via ::, FastEthernet0/0 OI 2001:DB8:0:12::2/128 [110/10] via FE80::C002:45FF:FE8D:0, FastEthernet0/0 OI 2001:DB8:0:23::/64 [110/20] via FE80::C002:45FF:FE8D:0, FastEthernet0/0 O 2001:DB8:0:34::/64 [110/30] via FE80::C002:45FF:FE8D:0, FastEthernet0/0 OI 2001:DB8:0:34::3/128 [110/20] via FE80::C002:45FF:FE8D:0, FastEthernet0/0 L FF00::/8 [0/0] via ::, Null0
Leave a Reply