среда, 27 мая 2009 г.

Обнаружение и восстановление соседей EIGRP

Используя надежную доставку пакетов протокола маршрутизации, можно создать две новые проблемы:
Маршрутизатору нужно знать, как много других маршрутизаторов существует, то есть, сколько ответных подтверждений нужно ожидать.
Маршрутизатору нужно знать, нужно ли отстутсвие подтверждения понимать как «нет новой информации» или как «сосед отключен».
EIGRP испльзует концепцию соседства для решения этих проблем, рассылая периодические сообщения Hello. Первые из них используются для того чтобы построить список соседей, следующие за ними отслеживают, «жив» ли сосед. Если сообщения не приходят долгое время — период удержания — сосед удаляется из списка соседей EIGRP и маршрутизация перестраивается.

EIGRP начинает работу с обнаружения соседей. Сообщения Hello рассылаются через мультикаст, и соседи отвечают юникастовыми сообщениями. Обнаруженные соседи заносятся в таблицу соседей, чтобы убедиться что каждый из них ответил. Если сосед не ответил — ему отсылается «персональная» уникастовая копия, и это повторяется либо пока он не ответит, либо пока число повторов не достигнет 16 — в этом случае сосед удаляется из таблцы и EIGRP переходит к следующему шагу.
В любой момент сосед может вернуться и стать доступным для общения. В этом случае он посылает сообщение Hello и процесс маршрутизации с этим соседом будет начат снова.

Сложная метрика EIRGP.
Для вычисления метрики маршрута EIGRP использует «сложную» метрику, которая учитывает пропускную способность, загрузку, надежность и задержку маршрута. Формула вот такая:
metric = 256*(K1 * bandwidth * (K2*bandwith)/(256*load) + K3*delay)*(K5/(reliability +K4))

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

С помощью коэффициентов K форумулу можно подстраивать, увеличивая влияние тех или иных параметров маршрута на его вес.
Bandwith — это значение пропускной способности, заданное как 107kbps/скорость самого медленного линка на маршруте. Из-за того что протоколы маршрутизации выбирают наименьшие метрики, использование этого значения как делителя дает маршрутам с большой пропускной способностью меньшую метрику.
Load и reliability. Это 8-битные рассчетные значения, взятые из параметров соединения. Оба по-умолчанию умножаются на нулевые K-коэффициенты, так что не влияют на рассчет метрики.
Delay — это константное значение, которое определяется типом интерфейса. Например, последовательное соединение имеет задержку в 2000, а Ethernet — 1000 микросекунд (хотя на самом деле это могут быть и меньшие значения). EIGRP суммирует эти значения.

По-умолчанию K1 и K3 равны 1, остальные коэффициенты — 0. Но если подумать с точки зрения математики, при K5=0 метрика равна 0. Из-за этого маршрутизатор не учитывает все что есть за скобками в этом случае.
Таким образом, формула по-умолчанию:
метрика = 256 * ((10^7)/минимальная пропускная способность + сумма задержек/10)

Маршрутизаторы не будут становиться соседями, если их K-коэффициенты не совпадают. Также нет явных причин менять их, поэтому Cisco не рекомендует делать это.

вторник, 26 мая 2009 г.

Фичи и преимущества EIGRP

EIGRP был разработан с целью обойти ограничения протокола IRGP, не теряя преимущества дистанционно-векторных протоколов: простоты, экономии памяти и процессорных ресурсов. EIGRP хорошо масштабируется в смысле аппаратных ресурсов и использования ресурсов сети.
EIGRP состоит из четырех основных компонентов:

  • Протоколо-зависимые модули. EIGRP поддерживает несколько маршрутизируемых протоколов сетевого уровня. IP, IPX, AppleTalk. Независимо. И IPv6 тоже.
  • RTP - протокол для надежной передачи. EIGRP использует его для передачи некоторых пакетов.
  • Обнаружение и исправление соседей: EIGRP использует сообщения Hello для того чтобы обнаруживать соседние маршрутизаторы и замечать их исчезновение.
  • DUAL - алгоритм диффузионных обновлений. Это процедура, которая используется для сортировки доступных путей и выбора лучших из них: текущего рабочего маршрута и возможных резервных.


EIGRP посылает надежные обновления, используя IP протокол с номером 88. Надежные - это значит, что получатель подтверждает получение этих обновлений. EIGRP не повторяет сообщения, которые доставлены, а значит экономит сетевые ресурсы.

EIGRP использует пять типов пакетов для обмена с соседями. Эти пакеты инкапсулируются прямо в IP.

  • Hello - служит для обнаружения соседей. Рассылается периодически через мультикаст и не требуют прямого подтверждения.
  • Update - объявление маршрута. Рассылаются через мультикаст только если произошли изменения.
  • Ack - подтверждает получение обновлений.
  • Query - используется для запроса маршрутов, если предыдущий лучший маршрут был утерян маршрутизатором. Если обновление показывает, что маршрут более не доступен, мультикастовые запросы используются для опроса соседних маршрутизаторов, есть ли у них все еще маршрут к нужной сети. Если запрашивающий маршрутизатор не получил ответ от соседей, он повторяет запрос снова как юникаст к каждому не ответившему соседу, пока они не ответят, либо пока не повторит эту процедуру 16 раз.
  • Reply - используется для ответа на Query. Каждый сосед отвечает с помощью юникаста, есть ли у него альтернативный маршрут или его нет.

суббота, 23 мая 2009 г.

Что вас вынуждает использовать Linux?

Вот странный вопрос. Да, конечно, пост из ru_linux удалили тут же, но это не мешает обсудить его где-то еще. Почему "вынуждает"? Что вас вынуждает пить пиво вместо водки? Ходить на ногах, а не на ходулях? У меня нет причины, которая меня вынуждает это делать. Я хочу использовать Linux. Для меня это удобно. Я никого не заставляю это делать, не уговариваю, для меня это так же просто как и дышать. Вот для того чтобы я пользовался чем-то еще, меня придется именно "вынуждать" или серьезно заинтересовывать. Недавний опыт только доказал это. Если что-то и вынуждает, так это горячее желание использовать Linux. )

среда, 20 мая 2009 г.

Аааа! Я хочу назад в Linux!

Все-таки все сбивает меня с толку. Иногда после втыканий/вытыканий кабеля и щелчков переключателем Wi-Fi у меня слетают настройки DNS. Где путь это вылечить? Каким aptitude purge NetworkManager? )

Переключение раскладки. Нахожу Ctrl-Shift и Alt-Shift убогими комбинациями. Слава богу подсказали lshift.exe - уря, Caps Lock теперь переключает раскладку как и раньше.

Тачпад. Из коробки не заработал правильно - пришлось пару раз установить и удалить драйвер от Dell. Слава богу, помогло.

Запись дисков, низкоуровневое чтение, создание образов - чем? Чем маленьким, бесплатным и эффективным это можно сделать? Неро не хочу - большое. В алкоголях не уверен.

Отсутствие нормальной привычной консоли (шелла и эмулятора терминала). Даже попытка сделать .bat алиасы на привычные команды, установка vim и кое-каких консольных утилит не помогла решить это.

Шрифты. Выглядят как-то не так и режут глаза. =(

Глюки. Да, я понимаю, что Google Chrome это не родной браузер для системы, но то что он вдруг стал разворачиваться на весь экран так, что его нижний край оказался под панелью задач начало меня пугать. А при установке ICQ 6.5 и вовсе пропадала панель задач.

Постоянное ощущение что на экране мало места, даже несмотря на то что физически его вроде-бы больше. Есть мысли подобрать цветовую гамму от Myst из GNOME и разместить панельки подобным же образом - может поможет?

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

Чем-то напоминает PulseAudio

Регулировка громкости для каждого источника в отдельности :)

Pulseaudio-like sound controls in Windows 7

вторник, 19 мая 2009 г.

Windows 7 RC1, бессонная ночь и размышления о плохой карме

Процесс ресайза все-таки закончился и у меня оказалось некоторое количество свободного неразмеченного места на винчестере, между /, swap, и /home. Все это primary разделы (на будущее).
Вставил записанный собственноручно диск с Win7 RC1, загрузился, нажал Install. Увидел достаточно странное сообщение:
'A required CD/DVD device driver is missing...'. Система вежливо просила вставить драйвер для моего CD/DVD привода в CD/DVD привод и нисколько не смущалась этому факту. Да, радует что она теперь умеет подхватывать драйвера с floppy, usb, CD/DVD. И при этом ничего страшного, что она сама устанавливается с этого привода - все пучком. В общем, я взял фирменный Dell-диск с драйверами для ноутбука, вставил, она подумала, обнаружила там драйвера для SATA-контроллера, загрузила их и сказала, что никаких новых устройств не обнаружила и задала вопрос повторно: "А сунь-ка ты мне, милый, драйвер для CD/DVD!". Облом-с. Первые мысли: либо у меня что-то в ноуте безбожно устарело, либо сломалось, либо он категорически не совместим с Windows 7, либо у меня плохая карма!
Вытаскиваю диск, гружусь в Убунту, иду в интернет, начинаю сеанс общения с оракулом. То есть с гуглом. Никаких вменяемых решений этой часто распространенной проблемы не нахожу - кто-то вместо решений холиварит насчет проблем Microsoft с обращением с клиентами, кто-то уверяет что у Dell какие-то проблемы с головой и они юзают супер-проприетарный SATA-контроллер, все рекомендуют переключить контроллер из RAID в AHCI режим... У меня же только вариант включать эмуляцию ATA и это не помогает.

Скачиваю обновление для BIOS с A2 до A9. Файлик сугубо .exe. Значит, нужен Win, чтобы обновить BIOS. Вставляю единственный имеющийся диск с более-менее старой виндой - триальный Windows server 2003 R2, начинаю установку - и она уверяет меня, что не может быть больше трех праймари разделов. Всю жизнь было четыре! Пришлось прибить swap-линукса, установил, обновил BIOS и снова начал установку Win7. В этот момент я понял что дело не в BIOS и точно не в железе - даже без драйверов можно было нажать Browse... и поискать драйвера как на разделе C: установленной Win2k3, так и на CD/DVD диске... То есть все железо система видела на ура! Налицо был какой-то баг. Я плюнул и решил проверить - вдруг и правда что не так с приводом? Беру Vista Home Basic - все устанавливается, похожей ругани нет. Правда после установки я так и не получил рабочую систему - она валилась в синий экран при первой же загрузке. "Карма", снова подумал я и ушел по другим делам.

И вот вечером, на свежую голову, гугл вдруг дал ссылку на тред где ребята нашли источник проблемы: плохо записанный на болванку образ установочного .ISO. Чтобы убедиться, ставлю Win7 с этого диска на виртуалку: бах! да, вот оно! то же самое!. А ведь точно помню что с .iso в эту же виртуалку все ставилось отлично. Чтобы исключить привод - быстро сливаю образ с болванки - с образом те же проблемы.

В общем, записал его по-новой, протестил в виртуалке, посмотрим, высплюсь - поставлю снова.

Некоторые итоги первой трети года

Пока делается изменение размера моего /home в связи с планами по испробованию Windows 7, родились мысли написать для себя же, что все-таки 4 месяца были прожиты не зря :)

1. Увидел настоящий VMware ESX в настоящем продакшене, попользовался, удивился насколько шустро это работает.
2. Буквально две недели назад попробовал Gentoo Linux на десктопе. Оценил все прелести установки из stage3 и компиляции/пиления системы до состояния "выйти в интернет и посмотреть почту". Да, система действительно кажется чуть быстрее (судя по скорости логина в GNOME сразу после разлогирования - меньше 2 секунд!) чем какая-либо другая, но с учетом того что на это убито было полторы недели, мне кажется что это все для фанатов - тот же Ubuntu установить на порядок проще и быстрее.
3. Выросли навыки использования Perl, так как возникла задача написать пару-тройку скриптов для работы с LDAP. Разобрался с ссылками, с именованными параметрами процедур, написанием собственных модулей, модулями Getopt::Long, Config::General, Net::Ldap, Pod::Usage. Теперь умею писать действительно красиво оформленные скрипты :)
4. Теперь более-менее знаком с Fedora Directory Server, который вдруг переименовался в 389 Directory Server. Штука с кажущейся простотой и темными дебрями внутри. Пробовал настраивать SSL и мульти-мастер репликацию, получается.
5. Все глубже зарываюсь в PAM. Если раньше опыт заключался в использовании только pam_smb, то теперь дело кончилось даже патчами для pam_ldap ради расширенной поддержки атрибута authorizedService.
6. Zabbix. Настроил одной компании под заказ и собираюсь еще одной. Раньше видел, но глубже зарылся только сейчас. Все что пробовал раньше для мониторинга кажется неплохим, но по возможностям эта система превосходит все остальное - а именно Nagios, Cacti, Munin. Да. Вроде-бы больше не пробовал ничего.
7. Научился исправлять спеки для rpm и добавлять туда свои патчи. Оказалось ничего сложного, почти как с .deb.
8. Глубже сталкиваюсь с CentOS/Fedora/RHEL, меньше боюсь и больше уважаю. Также пробовал OpenSUSE/SLES, но как-то там с репозитариями значительно мутнее, особенно в SLES.

Из такого, менее профессионального, но все-таки значимого :)
1. Был в театре в первый раз за долгие годы. Последний раз это было года 4 назад - то были оперетты, что-то вроде "Сильвы" или "Королевы Чардаша", в этот раз это был балет "Дегаже" и поход в сильно рекомендуемый всеми в городе театр "Крик". Впечатления только положительные, вот только компания не очень разделяет интерес к нашему театру оперы и балета.
2. Зарегистрировался на "внешнее тестирование" и намерен пройти его, даже не столько с целью куда-то поступить, сколько с целью попробовать чтобы знать лучше в будущем. Не думаю, что после перерыва в 5 лет после школы удалось бы подготовиться к экзаменам достаточно хорошо за три месяца.
3. Кажется, нашел любимую работу, с кучей серьезных и интересных задач. Думаю, это надолго.

вторник, 12 мая 2009 г.

А меня в отпуск отправили...

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

В смысле отношений я в отпуске с воскресения. Какие-то двоякие чувства. Есть плюсы и минусы отсутствия отношений с девушкой.

+ Экономия
+ Много свободного времени
+ Отсутствие обязанностей
+ Тешим эгоизм

- Нужно пересматривать состояние мира
- Все-таки как-то ненормально и одиноко себя ощущаешь
- Что-то, ради чего было все, теперь отсутствует и надо искать новое.

суббота, 9 мая 2009 г.

Эта странная жизнь...

Одна в общем-то подающая надежды компания совсем недавно решила обзавестись собственной страничкой в интеренете. Ее особенность в том что она редко отдает что-то в аутсорсинг, поэтому SEO и веб-дизайном занимается ее собственный отдел IT. В общем-то не так страшно для тех у кого нет опыта, но все-же, чего тут не так?

Внимание: Коньяки Оквин

Нам вот бросаются в глаза пока две вещи: то как вписываются в прозрачность картинки с коняьками и то что каждая, блин, страничка, называется одинаково. OK'VIN. Не Оквин - продукция, Оквин - контакты. Нет! OK'VIN. ) Кто посоветовал так сделать - не знаю.