alibek Posted March 14, 2016 Есть контент-провайдер, который дает IPTV по IP-стыку. В стыке два логических канала, по одному работает BGP и доступ к Middleware, по другому ходит мультикаст. Стык принимает Cisco 7201. В сети уже есть IPTV, работает через igmp-snooping в "плоской" сети (есть глобальный мультикастовый VLAN). Хочу добавить новый контент, не изменяя всю схему. Текущая схема на рисунке: SVC - это Cisco Catalyst 3750. В порты gi3/0/1 и gi3/0/2 подключены источники мультикаста (стриммеры). Эти порты в режиме access vlan 60; VLAN 60 — это мой глобальный мультикастовый VLAN. Также на C3750 работает igmp querier. C3750 подключен к ядру, на ядре и агрегации включен igmp snooping в VLAN 60. На доступе дополнительно включен MVR. Теперь я хочу подключить к C3750 третий источник мультикаста, сохранив в остальном существующую схему. Схема подключения Cisco 7201 следующая: gi0/2 - включен в access-порт gi2/0/1 на SVC, VLAN 60 (мультикастовый VLAN) gi0/3 - стык с контент-провайдером, trunk gi0/3.100 - юникаст, управляющий канал gi0/3.101 - мультикаст, контент gi0/2 и gi0/3.101 объединены в бридж (bridge protocol ieee). Сконфигурирована C7201 так: ip multicast-routing ! interface GigabitEthernet0/2 description IPTV no ip address duplex full speed 1000 no negotiation auto bridge-group 2 ! interface GigabitEthernet0/3 description LINK no ip address duplex full speed 1000 no negotiation auto ! interface GigabitEthernet0/3.100 description MIDDLEWARE encapsulation dot1Q 100 ip address aaa.aaa.154.92 255.255.255.192 no ip redirects no ip unreachables no ip proxy-arp no cdp enable ! interface GigabitEthernet0/3.101 description MULTICAST encapsulation dot1Q 101 ip address aaa.aaa.154.129 255.255.255.252 no ip redirects no ip unreachables no ip proxy-arp ip pim sparse-mode ip multicast boundary IPTV-SRC3 filter-autorp no cdp enable bridge-group 2 ! router bgp XXXXX bgp router-id aaa.aaa.154.129 bgp log-neighbor-changes neighbor aaa.aaa.154.65 remote-as AAAAA neighbor aaa.aaa.154.65 description MIDDLEWARE neighbor aaa.aaa.154.130 remote-as AAAAA neighbor aaa.aaa.154.130 description MULTICAST ! address-family ipv4 neighbor aaa.aaa.154.65 activate neighbor aaa.aaa.154.130 activate no auto-summary no synchronization exit-address-family ! ip forward-protocol nd ip route 0.0.0.0 0.0.0.0 xxx.xxx.124.241 name INTERNET ip route aaa.aaa.156.173 255.255.255.255 Null0 254 name STUB ! ! ip pim rp-address aaa.aaa.156.173 IPTV-SRC3 override ! ip access-list standard IPTV-SRC1 permit 239.0.0.0 0.0.255.255 ip access-list standard IPTV-SRC2 permit 239.195.0.0 0.0.255.255 ip access-list standard IPTV-SRC3 permit 239.1.0.0 0.0.255.255 ! bridge 2 protocol ieee По gi0/3.100 установлена BGP-сессия, по ней я принимаю префиксы для RP и Middleware. Настроен PIM по инструкции от контент-провайдера, ошибок в конфигурации контент-провайдер не нашел. Контент должен быть в группах 239.1.x.x. Но почему-то не работает. Подписки на эти группы я вижу вплоть до ядра, но на Cisco 7201 я подписок и/или маршрутов не вижу. При этом почему-то на интерфейсе gi0/2 не включен igmp: BRAS11-C7201#sh ip multicast Multicast Routing: enabled Multicast Multipath: disabled Multicast Route limit: No limit Multicast Triggered RPF check: enabled Multicast Fallback group mode: Sparse Multicast DVMRP Interoperability: disabled Number of multicast boundaries configured with filter-autorp option: 1 BRAS11-C7201#sh ip multicast int GigabitEthernet0/3.101 is up, line protocol is up Internet address is aaa.aaa.154.129/30 Multicast routing: enabled Multicast switching: fast Multicast packets in/out: 0/0 Multicast boundary: IPTV-NTV (autorp) Multicast TTL threshold: 0 Multicast Tagswitching: disabled BRAS11-C7201#sh ip multicast int gi0/2 GigabitEthernet0/2 is up, line protocol is up Internet address is 10.1.127.254/24 Multicast routing: disabled Multicast packets in/out: 0/0 Multicast TTL threshold: 0 Multicast Tagswitching: disabled BRAS11-C7201#sh ip igmp int GigabitEthernet0/3.101 is up, line protocol is up Internet address is aaa.aaa.154.129/30 IGMP is enabled on interface Current IGMP host version is 2 Current IGMP router version is 2 IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Last member query count is 2 Last member query response interval is 1000 ms Inbound IGMP access group is not set IGMP activity: 1 joins, 0 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is aaa.aaa.154.130 IGMP querying router is aaa.aaa.154.129 (this system) Multicast groups joined by this system (number of users): 224.0.1.39(1) BRAS11-C7201#sh ip igmp int gi0/2 GigabitEthernet0/2 is up, line protocol is up Internet address is 10.1.127.254/24 IGMP is disabled on interface Multicast routing is disabled on interface Multicast TTL threshold is 0 No multicast groups joined by this system BRAS11-C7201#sh ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter Group Accounted 224.0.1.39 GigabitEthernet0/3.101 00:24:01 stopped aaa.aaa.154.129 Как его включить — непонятно, в конфигурации сабинтерфейса команды ip igmp enable нет, команда ip igmp не принимается (требуются дополнительные аргументы), самое адекватное это ip igmp version. Сисадмин контент-провайдера тоже пока не может предположить, что тут неправильно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted March 14, 2016 Вы говорите, что делаете bridge, но сами пытаетесь стерминировать PIM. Нужно что-то одно... Ваша схема прекрасно реализуется на 3750 в одном интерфейсе с использованием MSDP/BGP/PIM. При этом 3750 будет перекладывать multicast из интерфейса оператора в ваш vlan 60. В текущей схеме возможна проблема в next-hop для source потоков. В PIM всегда работает RPF и если маршрут src-ip потока смотрит в интерфейс middleware, а не multicast, то потоки в интерфейсе для multicast будут дропаться, либо нужно выключать PIM на этом интерфейсе. Воправить можно при помощи route-map, который для стримеров будет переписывать next-hop в BGP-анонсах. Еще раз рекомендую сделать multicast через железный коммутатор 3750, а не soft-router 7201. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 14, 2016 +1 К предыдущему оратору. PIM - это роутинг, к бриджу отношения не имеет. Тащить видеомультикаст через 7201 - не лучшая затея. PIM роутинг через 3750 будет правильным. И далее последовательно проверять наличие мультикаста, сначало на свитче от провайдера, потом на свитче за роутером и далее, до абонента. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 Я бы и рад сделать на 3750. Правда там ipbase, но это решаемо. Но я не могу придумать, как поменять VLAN контент-провайдера (101) на свой (60). vlan translate доступно только на ME (причем только на ES-интерфейсах), на 3750 этого не сделать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 Если менять терминатор, то какой посоветуете использовать? Есть C3750E (c3750e-universalk9-mz.122-55.SE, с лицензией ipbase), есть C3750G-12S и C3750-24TS (c3750-ipbasek9-mz.122-53.SE, но нужный IOS я найду). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dignity Posted March 14, 2016 Перемычкой? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 В смысле патчкордом? Так у меня порт транковый. Чтобы в нем таким образом поменять VLAN, нужно 4 порта задействовать. И еще одно осложнение в том, что VLAN 100, используемый в стыке, используется также в моей сети, и его не освободить/поменять. Поэтому маршрутизатор с сабинтерфейсами мне был удобен. На коммутаторе encapsulation dot1Q не напишешь. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted March 14, 2016 Если менять терминатор, то какой посоветуете использовать? Есть C3750E (c3750e-universalk9-mz.122-55.SE, с лицензией ipbase), есть C3750G-12S и C3750-24TS (c3750-ipbasek9-mz.122-53.SE, но нужный IOS я найду). Попробуйте эту версию. Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Version 12.2(55)SE, RELEASE SOFTWARE (fc2) flash:/c3750-ipservicesk9-mz.122-55.SE.bin у нас стоит на WS-C3750G-24T и все, что может понадобиться для multicast в нем есть. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 14, 2016 У вас написано, что SVC - это ваш 3750. Где там транковый порт? Схема не ясна. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 Я принимаю транк. Сейчас я его принимаю на Cisco 7201 (порт gi0/3), интерфейсы gi0/3.100 и gi0/3.101. Порт gi0/2 на Cisco 7201 подключен в порт gi2/0/1 на Cisco 3750, оба этих порта в режиме access. На Cisco 7201 интерфейсы gi0/2 и gi0/3.101 объединены в бридж, бридж это как раз и есть логический "патчкорд" (по моей задумке). Если исключать Cisco 7201 и принимать стык сразу на Cisco 3750, то порт gi2/0/1 мне нужно будет переводить в trunk. И кроме того, возникает проблема с несовпадением номеров VLAN. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 SVC — это на самом деле не один каталист, а стек из трех 3750. Хочу попробовать один каталист отделить от стека и полностью использовать для IPTV (сделаю port-channel из fa-интерфейсов и патчкордами сделаю трансляцию VLAN). Не посоветуете версию IOS? Я в них не сильно разбираюсь, выбираю между c3750-advipservicesk9-mz.122-44.SE4 и c3750-ipservicesk9-tar.122-58.SE2. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted March 14, 2016 повторюсь: для текущей задачи достаточно ipservicesk9 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 14, 2016 Я принимаю транк. Сейчас я его принимаю на Cisco 7201 (порт gi0/3), интерфейсы gi0/3.100 и gi0/3.101. Порт gi0/2 на Cisco 7201 подключен в порт gi2/0/1 на Cisco 3750, оба этих порта в режиме access. На Cisco 7201 интерфейсы gi0/2 и gi0/3.101 объединены в бридж, бридж это как раз и есть логический "патчкорд" (по моей задумке). Если исключать Cisco 7201 и принимать стык сразу на Cisco 3750, то порт gi2/0/1 мне нужно будет переводить в trunk. И кроме того, возникает проблема с несовпадением номеров VLAN. А сколько у вас мультикаста-то? Коли так, лучше PIM запустить на 7201, чем бридж, лично мне кажется. Но могут быть проблемы с загрузкой железки. Тут уж вам виднее, что у вас там, с трафиком и утилизацией. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 14, 2016 Мультикаст - 600-800М, юникаст - до 50М. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 14, 2016 Мультикаст - 600-800М, юникаст - до 50М. 7201 может и прожевать... Пакеты-то большие. Пробуйте, но аккуратно! Будет не хватать - переводите на L3 свитч. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 15, 2016 повторюсь: для текущей задачи достаточно ipservicesk9 Проглядел сообщение. Ок, спасибо, попробую обновить IOS и на отдельном каталисте запустить стык. 7201 может и прожевать... Я хочу хотя бы просто картинку на приставках получить, чтобы понять качество. Подскажите, сработает ли такое? Бридж я удаляю, PIM будет работать на gi0/3.101. А на gi0/2 я пропишу фейковые IP-адреса (чтобы был L3) и статикой пропишу мультикаст-группы. Этот порт будет включен в C3750, на котором находится igmp qierier. В этом случае (как я думаю) статически прописанный мультикаст будет литься в gi0/2 и оттуда попадать на C3750 и остальную мою сеть. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 15, 2016 повторюсь: для текущей задачи достаточно ipservicesk9 Проглядел сообщение. Ок, спасибо, попробую обновить IOS и на отдельном каталисте запустить стык. 7201 может и прожевать... Я хочу хотя бы просто картинку на приставках получить, чтобы понять качество. Подскажите, сработает ли такое? Бридж я удаляю, PIM будет работать на gi0/3.101. А на gi0/2 я пропишу фейковые IP-адреса (чтобы был L3) и статикой пропишу мультикаст-группы. Этот порт будет включен в C3750, на котором находится igmp qierier. В этом случае (как я думаю) статически прописанный мультикаст будет литься в gi0/2 и оттуда попадать на C3750 и остальную мою сеть. Я полагаю, начните с Sparse Mode with a Single Static RP. Но, вообще, прочтите весь раздел, начиная с общего обзора. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 15, 2016 Всего-то добавил ip pim sparse-mode на интерфейс gi0/2 (на C7201) — и все заработало. Теперь буду разбираться, что же я сделал и как сделать правильно. Из конфигурации в сообщении 1 убрал бридж и настроил PIM: interface GigabitEthernet0/2 description IPTV ip address 10.1.127.254 255.255.255.0 ip pim bsr-border ip pim sparse-mode Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted March 15, 2016 Всего-то добавил ip pim sparse-mode на интерфейс gi0/2 (на C7201) — и все заработало. Теперь буду разбираться, что же я сделал и как сделать правильно. Из конфигурации в сообщении 1 убрал бридж и настроил PIM: interface GigabitEthernet0/2 description IPTV ip address 10.1.127.254 255.255.255.0 ip pim bsr-border ip pim sparse-mode в интерфейс, куда отдаете multicast и не хотите PIM соседства, нужно сделать ip pim sparse-mode passive В команде "ip pim bsr-border" сомневаюсь. Она точно нужна? Без нее не работает? Попробуйте запросить все потоки одновременно и посмотрете, как с потерями будет обстоять дело. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted March 15, 2016 Эту команду использует контент-провайдер у себя. Попробую выключить. А команды ip pim sparse-mode passive у меня нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...