6 янв. 2010 г.

Небольшой тест Vyatta с BGP

BGP является одной из основ современного интернета, и каждый уважающий себя маршрутизатор обязан его уметь. Вот и я решил потестировать, как Vyatta поведет себя при его использовании.

В качестве тестового стенда намеренно был выбран мой домашний маршрутизатор, работающий на достаточно слабом и не предназначенном для подобных целей аппаратном обеспечении: Intel Atom 330 (напаянный на материнскую плату D945GCLF2) с гигабайтом памяти DDR2. В эксперименте согласился поучаствовать один хороший человек, у которого на LINX стоит маршрутизатор, с которым я и установил BGP-сессию.

Настройки маршрутизаторов

Конфигурация моей стороны:
dmbaturin@rekki# show protocols bgp 
 65531 {
     neighbor x.x.x.x {
         ebgp-multihop 255
         password XXXXXXXX
         remote-as XXXXX
     }
 }

dmbaturin@rekki# show firewall name InternetToRouter rule 60
 action accept
 destination {
     port 179
 }
 protocol tcp
 source {
     address x.x.x.x
 }

Конфигурация его стороны (показаны только настройки меня в качестве соседа):

description "Vyatta - dmbaturin test"
disable-connected-check
ebgp-multihop 255
maximum-prefix 1
password XXXXXXXX
prefix-list {
     import none
  }
remote-as 65531
route-map {
     import dmbaturin-test-in
  }
update-source x.x.x.x
route-server-client

Как видно, настройки весьма просты (про настройку BGP во Vyatta я еще напишу, но позже), но для тестирования самой возможности их хватит.

Приступаем к тестированию

На всякий случай зажмуриваем глаза и применяем настройки. Потом открываем и смотрим в операционном режиме, что получилось. Получилось следующее:

dmbaturin@rekki# run show ip bgp summary 
BGP router identifier 10.91.19.1, local AS number 65531
RIB entries 565769, using 35 MiB of memory
Peers 1, using 2520 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
x.x.x.x         4 XXXXX   98626    1034        0    0    0 01:13:40   305133

Total number of neighbors 1

dmbaturin@rekki# run show ip bgp memory  
565825 RIB nodes, using 35 MiB of memory
305132 BGP routes, using 9535 KiB of memory
6 Nexthop cache entries, using 96 bytes of memory
56290 BGP attributes, using 2419 KiB of memory
4904 BGP extra attributes, using 345 KiB of memory
53019 BGP AS-PATH entries, using 621 KiB of memory
53064 BGP AS-PATH segments, using 622 KiB of memory
3 BGP community entries, using 48 bytes of memory
2 peers, using 5040 bytes of memory
23 hash tables, using 460 bytes of memory
109331 hash buckets, using 1281 KiB of memory

dmbaturin@rekki# run show ip bgp|count  
305152

Как видно, анонсы были успешно приняты. Посмотреть чистую пропускную способность на этом всем по ряду причин было проблематично: дублирование маршрута по умолчанию пришедшими из BGP (посколько соединение не было прямым), PPPoE, довольно развесистые правила межсетевого экрана и не сильно стабильная скорость доступа в городскую сеть. Но 20 с лишним мегабит маршрутизатор в этих условиях выдерживал вполне уверенно, обычно скорость бывает 40-60. Части кривых условий можно было избежать, но поскольку тест проводился ради интереса, я не особо стремился это сделать.

Заключение

Выводы из этого я оставляю на совести читателей. На мой взгляд, для оборудования, на котором обычно собирают неттопы, результат не такой уж плохой.

2 комментария:

  1. Молоток!
    Побыстрее бы стабильную шестёрку соорудили.

    ОтветитьУдалить
  2. Да она и сейчас (третья альфа) уже вполне ничего. Я ее на домашнем маршрутизаторе использую. Она сырая даже не в плане багов (хотя пару штук я руками исправил), а в плане недоработок. Причем между второй альфой и третьей их довольно много поправили.
    Жаль, что MPLS, PIM и IGMP в шестой еще не будет, но все равно с пятой очень много сделали.
    В общем, использовать в совсем промышленных условиях до релиза не стоит, но скачать образ и поковырять очень рекомендую.

    ОтветитьУдалить