суббота, 2 августа 2014 г.

Настройка Multicast на оборудовании cisco

Как обычно, я буду эмулировать все в программе GNS. Схема у нас будет следующая:


Итак, у нас есть небольшая сеть, состоящая из 3-х роутеров (Router_1, Router_2 и Router_3 – cisco 3640, каждый имеет два FastEthernet интерфейса). Если кто-то подзабыл, как добавлять слоты к роутерам, то можно посмотреть вот тут. Так же есть клиент (Multicast Client, 10.10.10.204/24) и сервер (Multicast Server, 3.3.3.10/24), который будет транслировать сигнал в мультикастовый адрес 224.1.1.1. На Router_2 имеется еще Loopback 0 интерфейс, он нам понадобится немного позже.
Из теории видно, что принадлежность того или иного клиента к определенной группе «вещания» отслеживается протоколом IGMP (Internet Group Management Protocol). Передача multicast работает по протоколу PIM (Protocol Independent Multicast). Этот протокол составляет свою таблицу маршрутизации multicast на основе обычной таблицы маршрутизации. Есть 3 режима работы данного протокола:
  • dence mode – когда маршрут прокладывается непосредственно от источника до получателя (предложение вещания потоков, зарегистрированных на роутере, идет всем, а затем отсекаются те, кому оно не нужно);
  • sparce mode – маршрут прокладывается только до так называемой точки рандеву RP (Rendezvous point). Трансляция потока начинается, только если есть запрос от клиента;
  • sparce-dence mode – смешанный режим.
Я предлагаю рассмотреть два основных режима. В качестве источника потока я буду проигрывать .avi файл в VLC media player. Принимать поток мы будем с помощью него же.
Начнем с dence mode. Заходим на Router_1:

R1>en
R1#conf t
R1(config)#hostname Router_1
Router_1(config)#ip multicast-routing – глобально включаем маршрутизацию multicast;
Router_1(config)#int fa 0/0
Router_1(config-if)#ip address 10.10.10.1 255.255.255.0
Router_1(config-if)#ip pim dense-mode – включаем нужный режим на интерфейсе;
Router_1(config-if)#no sh
Router_1(config-if)#exit
Router_1(config)#int fa 1/0
Router_1(config-if)#ip address 1.1.1.1 255.255.255.252
Router_1(config-if)#ip pim dense-mode
Router_1(config-if)#no sh
Router_1(config-if)#exit
Router_1(config)#ip route 3.3.3.0 255.255.255.0 1.1.1.2 – прописываем статический маршрут для обеспечения обычной сетевой доступности между клиентом и сервером;
Router_1(config)#exit
Router_1#wr
Router_1# 


Теперь перейдем к Router_2:

R2>en
R2#conf t
R2(config)#hostname Router_2
Router_2(config)#ip multicast-routing
Router_2(config)#int fa 1/0
Router_2(config-if)#ip address 1.1.1.2 255.255.255.252
Router_2(config-if)#ip pim dense-mode
Router_2(config-if)#no sh
Router_2(config-if)#exit
Router_2(config)#int fa 0/0
Router_2(config-if)#ip address 2.2.2.2 255.255.255.252
Router_2(config-if)#ip pim dense-mode
Router_2(config-if)#no sh
Router_2(config-if)#exit
Router_2(config)#ip route 3.3.3.0 255.255.255.0 2.2.2.1
Router_2(config)#ip route 10.10.10.0 255.255.255.0 1.1.1.1
Router_2(config)#exit
Router_2#wr
Router_2# 


И Router_3:

R3>en
R3#conf t
R3(config)#hostname Router_3
Router_3(config)#ip multicast-routing
Router_3(config)#int fa 0/0
Router_3(config-if)#ip address 2.2.2.1 255.255.255.252
Router_3(config-if)#ip pim dense-mode
Router_3(config-if)#no sh
Router_3(config-if)#exit
Router_3(config)#int fa 1/0
Router_3(config-if)#ip address 3.3.3.1 255.255.255.0
Router_3(config-if)#ip pim dense-mode
Router_3(config-if)#no sh
Router_3(config-if)#exit
Router_3(config)#ip route 10.10.10.0 255.255.255.0 2.2.2.2
Router_3(config)#exit
Router_3#wr
Router_3# 


Вот и все :). Режим dense-mode протокола PIM настроен. Можно переходить к проверкам. Зайдем на Multicast Server и настроим вещание файла .avi в плеере VLC. Открываем программу. Появится следующее окно:


Выбираем «Медиа» -- «Потоковое вещание». Откроется следующее окно:


Здесь остаемся на вкладке «Файл». Нажимаем на «Добавить». В появившемся окне выбираем файл .avi и нажимаем «Открыть». Файл появится в списке:


Внизу справа, из выпадающего меню выбираем пункт «Поток». Откроется следующее окно:


Здесь видим путь к нашему файлу, который будет транслироваться. Нажимаем «Следующий»:


В этом окне выключаем перекодирование (оно нам не понадобится). Затем, в закладке «Пункт назначения» из выпадающего меню выбираем пункт «UDP (legasy)» и нажимаем «Добавить». Откроется новая закладка на этой же странице:


В этой закладке указываем multicast адрес, в который будет транслироваться файл. Порт можно оставить по умолчанию. Нажимаем «Следующий»:


На этой странице нас интересует параметр TTL («Время жизни»). Так как у нас на пути 3 роутера, то каждый из них «откусит» по одному значению, следовательно, нам надо поставить значение больше 3-х, чтобы поток «добежал» до адресата. Поставим 5, чтобы наверняка :). Остальные параметры можно не трогать. Нажимаем «Поток».
После этого должна пойти трансляция. Это можно видеть по самому интерфейсу VLC или в информации о медиа-файле («Инструменты» -- «Информация о медиа-файле» -- «Статистика»:


Все, поток настроен. Теперь перейдем на Multicast Client и примем его. Для этого, открываем VLC на компьютере клиента:


В пункте меню «Медиа» из выпадающего списка выбираем «Открыть URL». Появится окно:


Вводим адрес потока multicast и порт, выбираем из выпадающего меню внизу справа «воспроизвести» и по истечении небольшого времени должна появиться трансляция:


Видно, что прокручивать вперед – назад возможности нет, и адрес потока соответствует. Если вдруг у вас не появилось изображение, то наличие потока можно посмотреть на Router_1:


Командой show ip mroute можно посмотреть таблицу маршрутизации multicast. Видно, что поток присутствует (адрес 3.3.3.10 транслирует поток 224.1.1.1). Принадлежность к IGMP группам можно посмотреть командой show ip igmp group. Из рисунка видно, что наш поток просматривается на интерфейсе fa 0/0 IP адресом 10.10.10.204/24, как и положено.
Все, проверку dense-mode закончили.
Переходим к настройке sparse-mode протокола PIM. Для этого режима необходимо выбрать так называемую точку рандеву (RP (Rendezvous point)). Пусть для этих целей служит Router_2. В качестве IP-адреса точки будем использовать loopback 0. Так же нам надо будет дописать статические маршруты, чтобы другие роутеры знали, как добраться до RP.
Итак, начнем с роутера Router_2.

Router_2>en
Router_2#conf t
Router_2(config)#int loopback 0 – создаем интерфейс;
Router_2(config-if)#ip address 20.20.20.20 255.255.255.255 – назначаем ему IP-адрес;
Router_2(config-if)#exit
Router_2(config)#access-list 1 permit 224.1.1.0 0.0.0.255 – создаем список доступа, чтобы проходил только наш поток;
Router_2(config)#ip pim rp-address 20.20.20.20 1 – прописываем адрес RP и привязываем к нему список доступа;
Router_2(config)#int fa 0/0
Router_2(config-if)#ip pim sparse-mode – запускаем нужный режим на интерфейсе;
Router_2(config-if)#exit
Router_2(config)#int fa 1/0
Router_2(config-if)#ip pim sparse-mode
Router_2(config-if)#exit
Router_2(config)#exit
Router_2#wr
Router_2# 


Теперь переходим к роутеру Router_1.

Router_1>en
Router_1#conf t
Router_1(config)#ip route 20.20.20.20 255.255.255.255 1.1.1.2 –прописываем статический маршрут до RP;
Router_1(config)#access-list 1 permit 224.1.1.0 0.0.0.255
Router_1(config)#ip pim rp-address 20.20.20.20 1 – прописываем адрес RP и привязываем к нему список доступа;
Router_1(config)#int fa 0/0
Router_1(config-if)#ip pim sparse-mode
Router_1(config-if)#exit
Router_1(config)#int fa 1/0
Router_1(config-if)#ip pim sparse-mode
Router_1(config-if)#exit
Router_1(config)#exit
Router_1#wr 


И роутер Router_3.

Router_3>en
Router_3#conf t
Router_3(config)#ip route 20.20.20.20 255.255.255.255 2.2.2.2
Router_3(config)#access-list 1 permit 224.1.1.0 0.0.0.255
Router_3(config)#ip pim rp-address 20.20.20.20 1
Router_3(config)#int fa 0/0
Router_3(config-if)#ip pim sparse-mode
Router_3(config-if)#exit
Router_3(config)#int fa 1/0
Router_3(config-if)#ip pim sparse-mode
Router_3(config-if)#exit
Router_3(config)#exit
Router_3#wr
Router_3# 


Все, настройка sparse-mode закончена. Здесь мы делали все вручную, но выбор RP может происходить и автоматически. Принцип такой:
  • выбирается «кандидат на должность RP», на этом устройстве вводится команда в глобальном режиме ip pim send-rp-announce interface-id scope ttl group-list access-list-number interval seconds (scope – это время жизни пакета (количество хопов), interval – это промежуток времени между посылками). На остальных устройствах в глобальном режиме вводится команда ip pim send-rp-discovery [interface-id] [scope ttl], которая включает автоматический опрос на наличие в сети RP.
Если использовать автоматическую настройку, то просто не потребуется прописывать IP-адрес RP на каждом из устройств.
Перейдем к проверкам. Снова заходим на Multicast Server, включаем потоковое вещание, возвращаемся на Multicast Client и смотрим результат.
Multicast Server:


Multicast Client:


И еще посмотрим, что видно на роутере Router_1:


    где:
  • 1 – IP-адрес точки рандеву (RP);
  • 2 – поток приходит на интерфейс Fa 0/1;
  • 3 – режим работы sparse-mode;
  • 4 – поток выходит через интерфейс Fa 0/0.
Ну что, все получилось. Теперь вы знаете, как настроить вещание фильмов в свою сеть. Вдруг, когда-нибудь и задумаете это сделать своим пользователям :).
А на этом я заканчиваю этот пост. Как всегда надеюсь, что он был вам интересен и познавателен.

Источник: go-to-easyit.com/2012/02/multicast-cisco.html

1 комментарий:

  1. Cisco Configuration Base: Настройка Multicast На Оборудовании Cisco >>>>> Download Now

    >>>>> Download Full

    Cisco Configuration Base: Настройка Multicast На Оборудовании Cisco >>>>> Download LINK

    >>>>> Download Now

    Cisco Configuration Base: Настройка Multicast На Оборудовании Cisco >>>>> Download Full

    >>>>> Download LINK n4

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