Настройка Virtual Links OSPF

Virtual link в OSPF нужно рассматривать как решение «на коленке»: при помощи этой технологии можно временно решить поставленную задачу, но никогда не стоит рассчитывать на нее при разработке дизайна сети. Эта статья посвящена тому, как можно использовать Virtual Link и как можно ее настроить. В этой статье рассматривается применение Virtual Link в OSPFv3 для IPv6, но все, что будет написано так-же касается и OSPFv2 для протокола IPv4.

topology1

Сеть представленная на схеме не будет работать корректно — магистральная зона (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. В нашей простой сети решение очевидно: между 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

topology2

Это соседство позволяет обмениваться внутриобластными 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

Your email address will not be published.





Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Яндекс.Метрика