return

Микровыпуск СДСМ. Подготовка лаборатории для работы с мультикаст в GNS3

17 марта 2014, 18:08

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

Для примера мы возьмём вот такую сеть: Здесь R1 олицетворяет собой IP-сеть, редуцированную до одного узла — это в общем-то не имеет значения.
Главный вопрос: что будет на месте мультикастового сервера и клиента.

R1 имеет следующую конфигурацию:

ip multicast-routing
interface FastEthernet0/0
ip address 172.16.0.1 255.255.255.0
ip pim sparse-mode

interface FastEthernet1/0
ip address 192.168.4.1 255.255.255.0
ip pim sparse-mode

ip pim rp-address 172.16.0.1

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

1. Всё на маршрутизаторах

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

ip multicast-routing
interface FastEthernet0/0
ip address 172.16.0.5 255.255.255.0
ip pim sparse-mode
ip pim rp-address 172.16.0.1

Клиент

ip multicast-routing
interface FastEthernet1/0
ip address 192.168.4.2 255.255.255.0
ip pim sparse-mode
ip pim rp-address 172.16.0.1

Для того, чтобы Клиент запрашивал подключение к группе, нужно настроить статическую IGMP-группу:

interface FastEthernet0/0
ip igmp static-group 224.2.2.4

На Сервере сгенерировать трафик можно с помощью обычного пинга.

Server#ping 224.2.2.4 repeat 50

Важно, чтобы и Сервер и Клиент были настроены на передачу мультикастового трафика и знали, кто является RP.

2. Использовать Qemu-хост

Есть в GNS такой чудесный объект, как Qemu-host (не путать с просто Host). Он позволяет запускать микровиртуалки.
GNS в своём арсенале имеет специальный образ для мультикаста на основе linux. (Скачать в составе лабы).
Вы указываете его в параметрах GNS и после этого хост GNS можно перенести на рабочую площадку. Важно: добавлять линки и включать сбор дампов надо до запуска Qemu.
Образ multicast для Qemu содержит предустановленный VLC и специальный скрипт для запуска вещания — start.sh.
Вы можете также настроить интерфейсы с помощью утилиты, а через консоль проверить сетевые настройки, запустить пинг или собственно, скрипт. Чтобы выполнить скрипт, нужно сначала дать права на это:

chmod a+x start.sh

Затем запустить:

./start.sh

Обратите внимание при этом на две вещи:

more start.sh
vlc pixar.mp4 --sout udp://224.1.1.1:1234 --ttl 2 -L

Адрес группы: 224.1.1.1.
По умолчанию TTL пакетов здесь равен 2. Если ваша сеть будет содержать больше одного маршрутизатора — мультикаст не пройдёт.
Но ничто не мешает вам вручную выполнить команду

vlc pixar.mp4 --sout udp://224.1.1.1:1234 --ttl 20 -L

В качестве клиента, признаться, я так и не смог запустить Qemu — почему-то он так и не стал передавать IGMP в сеть. Поэтому я использовал свой компьютер.
Для этого вам может понадобиться специальный интерфейс Microsoft Loopback Adapter (клик, клик).
Далее вы добавляете на рабочее поле объект Cloud (или Host), заходите в его настойки и указываете там ваш интерфейс. Далее на интерфейсе маршрутизатора и в настройках IPv4 интерфейса MS Loopback Adapter настаиваете IP из одной подсети.

Бывает ситуация, когда виндоус не отправляет IGMP-Report в сеть по какой-то причине. Тогда может оказаться полезным удалить существующие маршруты в сеть 224.0.0.0/4 и добавить новый через правильный шлюз:

route delete 224.0.0.0
route add 224.0.0.0 mask 240.0.0.0 192.168.4.1>

На своей машине потом запускаете VLC и запрашиваете группу 224.1.1.1 — всё должно работать.

3. Использование виртуальных машин

При наличии достаточно мощного компьютера, можно все конечные хосты эмулировать виртуалками. Принцип подключения такой же, как в предыдущем варианте, просто вместо MS Loopback Adapter вы пробрасываете интерфейс из виртуалки на сервер, а в GNS подключаете точно так же, зная имя интерфейса.
В своей статье про мультикаст я использовал третий способ, но на деле, если хочется отработать детали, то вполне можно обойтись и маршрутизаторами, учитывая, что правильно выбрано значение IDLE PC.

Теперь вы укомплектованы необходимым инструментарием, чтобы приступить к лабам по мультикасту.

like 126 views 29963 message 20

20 коментариев

  • Здравствуйте
    Подскажите пожалуйста, не смог разобраться.
    При подключении QEMU multihost у меня заходит в систему под логином «tc@box», и в результате не получается найти файл start.sh. Вопрос в следующем как мне зайти под логином «multicast» или как найти файл start.sh.
    Как ни странно вчера все работало))

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

    21 марта 2016, 19:47
  • День добрый.
    Собираю лабу для мультикаста в GNS3. Схема как в статье. Qemu—RW—Cloud(loopback).
    Возникла следующая проблема. Пинги с рабочего компа (cloud) до роутера (RW) и виртуалки (qemu) ходят, а обратно нет.
    Сломал голову. Смотрел дамп wireshark — icmp requestы от RW ходят, а cloud на них не отвечает. Рабочая система Windows 8.1.
    Видимо проблема в Винде. Есть идеи в чем может быть проблема? Очень хочу лабу доделать)

    27 августа 2015, 13:03
  • Добрый день, могли бы помочь? собрал схему с QEMU машиной и лупбек своей машины, связность есть. образ маршуртизатор c7200-adventerprisek9-mz.152-4.M8.image, при запуске mping 224.1.1.1 c клиента, вижу что получаю пакеты от qemu машины
    (sh ip mroute видит
    (192.168.4.2, 224.1.1.1), 00:00:00/00:02:59, flags: PT
    Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0
    Outgoing interface list: Null
    (172.16.0.5, 224.1.1.1), 00:05:19/00:01:34, flags: T
    Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0
    Outgoing interface list:
    FastEthernet0/1, Forward/Sparse, 00:00:01/00:02:58

    , но включая VLC ничего не вижу.

    15 мая 2015, 16:00
  • Добрый день!
    Ести GNS3 и HYper-V.
    Подскажите как добавить виртуальную машину в GNS3.
    Я уже сломал себе мозг.

    12 ноября 2014, 16:13
  • Некоторая путаница возникает при настройке 1. Всё на маршрутизаторах.
    В видео настраиваем loopback интерфейс, в тексте не настраиваем. ip pim rp-address 172.16.0.1 указываем различные. Интерфейсы клиента у нас то 1/0 то 0/0 попеременно.

    31 июля 2014, 12:11
  • При настройке стенда, у меня возникли совершенно неожиданные проблемы, видео ни как не хотело нормально передаваться клиенту, либо буффер зависал, либо первые фрагменты видео. Чего я только не делал: перепробовал разные Виртуалки, разные ОСи, разные версии VLC… В итоге решил попробовать сменить роутер (стоял проверенный с2691), поставил с7200, всё отлично заработало. Менял обратно, с с2691 ситуация не изменилась, при старте передачи мультикаст-трафика через него, пинг пропадал и уже не восстанавливался. Интересно, это чисто индивидуальная ситуация, или у кого-то тоже возникали проблемы с мультикастом у с2691?

    22 мая 2014, 15:21
  • Подскажите пожалуйста, в чем недостатки IOU для этой лабы?

    18 марта 2014, 14:40
  • Я то думал будет все на Huawei в eNSP, все равно жду полный выпуск)))Спасибо

    18 марта 2014, 00:00
  • Разобрался. Проблема была в Винде. В настойках сетевых подключений тип сети loopback адаптера был указан как «общественная сеть».
    При смене типа сети на «домашнюю сеть» пинги пошли. Забавно, что в обоих случаях в фаерволе пинги были разрешены — видимо тип сети это
    дополнительная степень защиты поверх фаервола.

    28 августа 2015, 15:05
  • не актуально, проблемы с софтом, не с сетью.

    18 мая 2015, 10:21
  • Рад, что всё получилось.
    Я воспользовался готовым стендом, поэтому сам не настраивал Hyper-V.

    12 ноября 2014, 20:12
  • Хух, разобрался. Спасибо. Проблема была в брандмауере и в gns3. После выключения брандмауэра пошел пинг между виртуалками. А после сноса gns3 и установки заново роутер увидел виртуальную сеть.

    12 ноября 2014, 20:08
  • Всё это уже перепробывал. А Вы разве не с Hyper-V работали в видео? http://www.youtube.com/watch?v=7MqBF0wKNR0

    12 ноября 2014, 17:30
  • С Hyper-V не приходилось иметь дел.
    Попробуйте по имеющимся в сети инструкциям:
    nickikristensen.dk/?p=30
    mikemstech.blogspot.ru/2011/09/connecting-gns3-and-microsoft-hyper-v.html
    итд.

    12 ноября 2014, 17:01
  • Это я понимаю, вопрос в том, как с Hyper-V пробросить эти интерфейсы. Я создаю в гипер-в виртуальную сеть, добавляю в нее сетевой адаптер виртуальной машины, на физическом комьпютере появляется локальная сеть, которую я пробрасываю в GNS3 и ничего не работает.

    12 ноября 2014, 16:40
  • Ну, ваша задача пробросить интерфейсы виртуальной машины в GNS. Для этого эти интерфейсы должны быть видны той машине, на которой вы запускаете GNS.

    Всё, как на скриншоте в статье.

    12 ноября 2014, 16:24
  • Задача была показать, как настроить GNS для тестирования мультикаста. Собственно мультикаст разбирается в следующей статье.
    В этой статье видео и текст связаны только общей темой и топологией.

    1 августа 2014, 07:25
  • Да, встречал точно такую же проблему — только на 72-й удалось более или менее нормально отработать лабу. Всё остальное имело те или иные проблемы.

    22 мая 2014, 15:57
  • К сожалению, не подскажу. IOU не пробовал на эту роль. Да и показывать примеры на нём не хочу. Вообще переадресую ваш вопрос своей коллеге.

    18 марта 2014, 16:51
  • Полный выпуск будет 31-го марта.
    eNSP оказался не таким дружелюбным при работе с мультикастом, хотя возможности у него более чем для этого подходили.

    18 марта 2014, 16:44

Ещё статьи

Анонс подкаста. Выпуск 60 \\\\\17.02 14:00 Мск.
Вы когда-нибудь мечтали работать в офисе рядом со Средиземным морем? Да ещё и на блидинг-эдж, так сказать: облака, L3-фабрики без переподписки, SDN на основе оверлейных сетей. И вишенка на торте: ...
like 0 3137 4
13 февраля 2018
Сети для самых маленьких. Часть четырнадцатая. Путь пакета
Все выпуски СДСМ...13. Сети для самых матёрых. Часть тринадцатая. MPLS Traffic Engineering 12. Сети для самых матёрых. Часть двенадцатая. MPLS L2VPN 11.1. Сети для самых маленьких. Микровыпуск №6. MPLS L3VPN ...
like 312 63884 6
22 декабря 2017
Итоги года или день рождения СДСМ
22 декабря 2011 года началась дивная история выдуманной компании ЛифтМиАп, а вместе с ней увидел свет нулевой выпуск из цикла Сети Для Самых Маленьких. Прошёл ровно год, пора подвести количественные ...
like 0 5316 21
22 декабря 2012