Anticisco
http://www.anticisco.ru/forum/

Задачка про мультикаст. Хитрая.
http://www.anticisco.ru/forum/viewtopic.php?f=3&t=191
Страница 1 из 1

Автор:  Fedia [ 02 июл 2009, 09:26 ]
Заголовок сообщения:  Задачка про мультикаст. Хитрая.

Рассмотрим простейшую схему:

Изображение

есть маршрутизатор cisco, за одним интерфейсом расположен компьютер с программой, принимающей потоковую передачу (например, VLC Player), за другим - передающая станция, вещающая поток (например, видео) на некоторый мультикастовый адрес.

Вы можете менять мультикастовый адрес потока, на который вещает сервер.

Задача1: можно ли заставить компьютер принять поток, не прибегая к мультикастовой машрутизации?
Задача2: можно ли заставить принять поток с условием, что вы вообще не знаете, что такое мультикаст, как работает и как настраивается?

Автор:  Ignor [ 02 июл 2009, 11:27 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Дать доступ на порт с пометкой any?

Автор:  Fedia [ 02 июл 2009, 13:07 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

На маршрутизаторе и так всё пропущено. Никаких ACL нет.

Автор:  mechanical [ 02 июл 2009, 19:52 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

1. Может вбить в сетевуху MAC=01-00-5E+(23 нижних бита мультикаст-IP-адреса) ?

Автор:  mechanical [ 02 июл 2009, 21:30 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

2. А может применить destination NAT трансляцию ?

ip nat pool POOL1 10.1.1.100 10.1.1.100 prefix-length 8
access-list 1 permit host <multicast-IP-address>
ip nat inside destination list 1 pool POOL1

Автор:  LAG [ 02 июл 2009, 21:33 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

День добрый!
А не будет решением задачи бриджинг?

hostname R1
bridge 1 protocol ieee
no bridge irb

int fa 0/0
no ip address
bridge-group 1
no shutdown

int fa 0/1
no ip address
bridge-group 1
no shutdown

Автор:  mechanical [ 02 июл 2009, 23:15 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

2. ip nat inside source static 10.1.1.100 <multicast-IP-address>

пакеты проходят

Автор:  Fedia [ 03 июл 2009, 08:16 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

2 LAG: Бриджинг - интересная мысль. Думаю, что пробросить пакет будет можно. Но по условиям задачи там всё же маршрутизатор. Т.е. от L3 отказываться нельзя . Я выдрал задачу из контекста, поэтому получилось не точно, наверно.

2 mechanical: а больше на маршрутизаторе ничего не прописывать?

Автор:  mechanical [ 03 июл 2009, 09:22 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

2 Fedia:

int fa0/0
ip address 192.168.1.1 255.255.255.0
no shutdown
ip nat outside

int fa0/1
ip address 10.1.1.1 255.0.0.0
no shutdown
ip nat inside

ip nat inside source static 10.1.1.100 <multicast-IP-address>

в принципе этого хватит чтоб пакеты начали бегать на клиента

Автор:  mechanical [ 03 июл 2009, 12:16 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

хотя это будет работать только если на сервере прописан шлюз 192.168.1.1
в ином случае сервер будет слать фреймы с MAC-destination=01-00-05-..... и fa0/0 их убьет
проблема : как заставить fa0/0 принимать мультикастовые фреймы ...

Автор:  Fedia [ 03 июл 2009, 13:22 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Да, мысль абсолютно верная. Это и есть та засада, о которой я говорил.

В НАТе ошибок нет. Именно его и предлагалось догадаться использовать :)

Автор:  mechanical [ 03 июл 2009, 13:29 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Т.е. я правильно Вас понял, что обойти эту засаду в рамках условий задачи невозможно?
И кстати, какую задачу решает статик-НАТ? 1-ую или 2-ую? Потому что лично я не вижу разницы в задачах.

Автор:  Fedia [ 03 июл 2009, 13:43 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

НАТ используется как составная часть при решении обеих задачек.

Разница там в том, что засаду можно обойти двумя способами: зная, как работает мультикаст (и некоторые команды настройки) и не зная этого вовсе, т.е. зная лишь отрывочные данные уровня CCNA.

Автор:  LAG [ 03 июл 2009, 14:37 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

ip igmp static-group <multicast-address> ?

Автор:  Fedia [ 03 июл 2009, 14:41 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Отлично!
Да, вкупе с предложенным mechanical НАТом это будет решением первой задачи. Здорово!

А вторую? Она имеет решение, но довольно неочевидное :))

Автор:  mechanical [ 03 июл 2009, 15:49 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

кусок конфига

interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip nat outside
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.1.1 255.0.0.0
ip nat outside
duplex auto
speed auto
!
router rip
version 2
network 192.168.1.0
!
!
ip nat inside source static 10.1.1.100 224.0.0.9

Автор:  mechanical [ 03 июл 2009, 16:14 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Вообще ip nat outside на fa0/1 не нужен, но благодаря именно этой опечатке, метод заработал. Причем с ip nat inside на fa0/1 способ работать не хочет
поэтому правильный конфиг такой:

interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip nat outside
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.1.1 255.0.0.0
duplex auto
speed auto
!
router rip
version 2
network 192.168.1.0
!
!
ip nat inside source static 10.1.1.100 224.0.0.9
!

Автор:  Fedia [ 05 июл 2009, 21:45 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Вынужден признать вашу полную и безоговорочную победу!

Браво, именно так и предполагалось заставить рутер слушать мультикаст, даже не зная о нём ничего: поднять протокол маршрутизации, который работает через мультикаст.

Вот только мне всё таки кажется, что указание на внутреннем Eth ip nat inside обязательно: циска не создает трансляций между парой интерфейсов, если они не помечены ip nat inside и ip nat outside

У меня во время тестирования заработала именно такая схема.

Автор:  mechanical [ 05 июл 2009, 22:32 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Да, схема с инсайдом работает. Только есть одна проблема, которая в этой задаче не принципиальна.

В случает статического ната ip nat outside указывает тот интерфейс, над входящими пакетами которого будет проведена трансляция поля IPdest = 224.0.0.9 -> 10.1.1.100. При чем, как показал эксперимент, не важно какой интерфейс будет в этот момент инсайдом, трансляция входящих пакетов от этого не зависит никак.

ip nat inside указывает тот интерфейс, над входящими пакетами которого будет проведена трансляция
IPsrc = 10.1.1.100 -> 224.0.0.9
но в этом случае на выходе получается пакеты с мультикастовым источником, что не есть хорошо. Конкретно это приводит отбрасыванию сервером пинг-эха возвращенного от клиента.

если ip nat inside убрать, то трансляции IPsrc не происходит, пакеты выходят наружу с нормальным IPsrc = 10.1.1.100

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

Автор:  ramboza [ 05 янв 2010, 03:26 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

В продолжение темы есть реальная задачка из жизни :)

Имеем Интрентет+ТВ от Стрим(ADSL), циску 877, один PC + декодер для телевидения (ethernet). Схема простая:

интернет/iptv
|
|
(adsl)
cisco 877(eth) -- (eth)Decoder -- TV
(eth)
|
|-> PC (VLC)

Задача: Иметь возможность смотреть телевидение на PC из VLC (сохраняя доступ в интернет) и на декодере, одновременно.

Методом научнного тыка было сделано следующее:

ip multicast-routing
no ip igmp snooping vlan 2 - снупинг в влане с декодером-приставкой со временем убивает вещание :-(
!
bridge irb
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.150 point-to-point
bandwidth 6144
no snmp trap link-status
pvc 1/50
pppoe-client dial-pool-number 1
!
!
Далее следуют интерфейсы VOD/MCAST, можно объединить в multipoint.
!
interface ATM0.191 point-to-point
no snmp trap link-status
pvc 1/91
encapsulation aal5snap
!
bridge-group 2
!
interface ATM0.192 point-to-point
no snmp trap link-status
pvc 1/92
encapsulation aal5snap
!
bridge-group 2
!
На 0-ом порту сидит декодер(приставка)
!
interface FastEthernet0
switchport access vlan 2
no keepalive
spanning-tree portfast
!
interface FastEthernet1
spanning-tree portfast
!
interface FastEthernet2
spanning-tree portfast
!
interface FastEthernet3
spanning-tree portfast
!
interface Vlan1
ip address 192.168.0.1 255.255.255.0
ip pim sparse-dense-mode - режим работы мульткаст роутинга
ip nat inside
ip virtual-reassembly
ip igmp helper-address 43.31.0.1 - igmp запросы бросаем на iptv-шлюз стрима
!
interface Vlan2
no ip address
bridge-group 2
bridge-group 2 spanning-disabled
!
interface Dialer0
ip address negotiated
ip mtu 1452
ip nat outside
ip virtual-reassembly
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap pap callin
ppp chap hostname ***@mtu
ppp chap password 7 1***
ppp pap sent-username ***@mtu password 7 ***
!
interface BVI2
ip address dhcp client-id FastEthernet0 - получаем лишний адрес из iptv-dhcp пула провайдера
ip pim sparse-dense-mode
!
ip route 0.0.0.0 0.0.0.0 Dialer0
!
ip mroute 0.0.0.0 0.0.0.0 43.31.0.1 - мультикаст трафик направляем опять же на iptv-шлюз провайдера
ip nat inside source list 100 interface Dialer0 overload
!
access-list 100 deny ip 192.168.0.0 0.0.0.255 192.168.0.0 0.0.255.255
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
dialer-list 1 protocol ip permit
!
bridge 2 protocol ieee
bridge 2 route ip
!

Проблема: как видно, приходится забирать из iptv-dhcp пула провайдера 2 адреса, что не есть гуд, ибо за декодерами и их мак-адресами суппорт вроде как послеживает. Тем более, используя vlc, как выяснилось, открываются некоторые э...скрытые, скажем так, возможности :)

Что пытался сделать:

Сделал еще один vlan, настроенный по аналогии с vlan 1, в него засунул уже локальный dhcp пул исключительно для приставки-декодера, на бриджевый интерфейс bvi2 назначил nat outside, сделал еще одно правило для NAT-а уже с учетом адресации нового vlan. В итоге: с адресов нового vlan пингуем iptv-шлюз, приставка-декодер получает адрес из локального пула, однако сервер iptv она (как утверждает) найти не может. Это помимо того, что интерфейс bvi2 теперь своим dhcp client-id косит под декодер :)

Сильно прошу не ругать, с мультикастом сталкиваюсь впервые, по работе занимаюсь в основном voip :)

Автор:  Fedia [ 06 янв 2010, 17:44 ]
Заголовок сообщения:  Re: Задачка про мультикаст. Хитрая.

Хм, забавно!

Не очень понятно только, зачем мульткастовый 0/0 маршрут прописан: там вроде как мультикаст только ОТ сервера идёт, а igmp пробрасывается хелпером.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/