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. Части кривых условий можно было избежать, но поскольку тест проводился ради интереса, я не особо стремился это сделать.

Заключение

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


Полный текст сообщения

1 янв. 2010 г.

Технические средства организации совместной работы

Для организации совместной работы давно существует множество технических средств, которые позволяют сделать ее более удобной и решить ряд проблем, которые возникают при отсутствии общей точки взаимодействия. Прежде всего это проблемы удобного доступа участников к результатам работы и обсуждениям друг друга; и хранения этого всего таким образом, чтобы можно было легко посмотреть прошлые события.

Тем не менее, эти средства (по крайней мере у нас) применяются в основном крупными компаниями, где без них работать было бы вовсе проблематично. А некоторые из них используют почти исключительно ИТ-специалисты, хотя в других областях их вполне можно применять. Здесь я попытался показать эти средства и их возможности понятным неспециалисту языком.

Списки рассылки

Исторически первое средство, но все еще не потеряло своей актуальности. Идея в том, что за некий адрес электронной почты отвечает программа, которая обеспечивает управление подпиской и рассылку писем всем участникам.

Тот, кто желает подписаться, отправляет на ее адрес (например, developers@verycoolproject.org) письмо с командой подписки (обычно subscribe). В любой момент он может таким же образом отказаться от своей подписки. Все письма, отправленные на этот адрес, автоматически пересылаются всем подписавшимся. Существуют средства для создания архивов списка рассылки.

Пример архива списка рассылки на mail-archive.com:

Важно то, что для отправки письма всем участникам вовсе не нужно знать адреса их всех.

Одной из самых распространенных программ для организации списков рассылки является Mailman.

Системы коллективной работы (Groupware)

У этих систем уже существенно большая функциональность. Обычно они содержат:
  • Возможность обмена сообщениями между участниками;
  • Хранение и обмен файлами;
  • Планирование событий с привязкой к календарю;
  • Составление расписания участников и поиск свободного времени в нем;
  • Разграничение прав доступа участников;

Это весьма широкий класс программ, и функциональность может сильно различаться. Какие-то из них могут включать онлайн-редактор документов (Feng Office, Google Apps), собственный почтовый сервер (например, Zimbra Collaboration Suite и Microsoft Exchange), сервер обмена мгновенными сообщениями (Novell GroupWise), или иметь вовсе необозримый набор функций (IBM LotusNotes).

Календарь с назначенным событием в Feng Office:

Некоторые программы этого типа:

Системы контроля версий

Применяются почти исключительно разработчиками программ, а жаль. Идея их в том, что все файлы проекта лежат в одном общем хранилище. Тот, кто хочет поработать с одним или несколькими файлами получает из хранилища их рабочие копии, как-то их модифицирует и возвращает обратно в хранилище. При этом новые файлы не заменяют собой старые, а записываются как их новые версии.

В итоге приобретаются следующие возможности:
  • Просмотреть файл в том виде, в каком он был, например, неделю назад;
  • Откатить изменения, если они оказались неудачными;
  • Избежать конфликта, если несколько участников изменяли в файле одно и то же;
  • Создавать различные ветки проекта или соединять несколько веток в одну;
  • Предоставить доступ всем участникам к самым свежим изменениями друг друга;
  • Минимизировать вред от случайного удаления или повреждения файлов на компьютере каждого участника;

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

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

Распространенные системы контроля версий:

Системы отслеживания ошибок

Они тоже пришли из разработки программ, и используются там для координации работы по исправлению ошибок. Тем не менее, слово «ошибка» можно смело заменить на «проблема». Суть их в том, что один человек создает запись о проблеме (например, «Не работает функция X»). Он пишет ее описание, указывает где конкретно она возникает (файл, программа или ее часть или что-то подобное) и указывает ее срочность (обычно в стиле «Пожелание», «Незначительная проблема», «Серьезная проблема», «Критическая проблема»).

После этого решение проблемы может быть назначено кому-то из участников. По мере работы над проблемой возможно ее обсуждение и выставление статуса (например, «Решена»).

Некоторые из систем отслеживания ошибок:

Wiki

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

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

Некоторые wiki-движки:

Заключение

Я очень надеюсь, что пользователи поймут, что столь привычные ИТ-специалистам инструменты весьма удобны и полезны, и тоже начнут их использовать.


Полный текст сообщения