Спасибо хабру за большое количество статей по мультикасту.
Я же хочу поделиться опытом в настройке Мультикаст-роутинга на достаточно новом маршрутизаторе ASR9010 c IOS XR ver. 4.3.1.
Примеров в ru’нете я не нашел.
Настройка получения multicast’а от провайдера будет выполнена на связке PIM-SM/MBGP/MSDP.
Этапы настройки.
1. Собираем стык с провайдером контента.
2. Конфигурируем уровень 3
a. MBGP
b. PIM
c. MSDP
3. Настраиваем мультикаст vlan для пользователей
В данном примере стык организован через qinq канал id 211. Для стыка используется vlan id 213.
Включаем мультикаст роутинг на интерфейсе, используемом для стыка с провайдером:
Предварительно настроим prefix-set с сетками мультикаст-источников и unicast маршрутом до точки RP, на их основе сделаем route-policy, т.к. по умолчанию ASR все маршруты будет «дропать».
Проверяем, приходят ли маршруты:
sh bgp ipv4 multicast
PIM – протокол мультикаст маршрутизации.
Точка рондеву(RP) – как правило, это отдельный мультикаст-маршрутизатор на котором сходятся все мультикаст источники, как внешние так и внутренние.
Задаем точку RP (rondevu point) и указываем, какие мультикаст группы мы будем с нее забирать
Проверяем наличие PIM-интерфейсов
sh pim interface bundle-ether 1.211213
sh pim neighbor
Multicast Source Discovery Protocol – с помощью этого протокола маршрутизатор клиента получает информацию о принадлежности мультикаст группы к тому или иному источнику в виде SA-сообщений, которые хранятся в SA-cache
Как правило, для настройки msdp используют адреса p2p соединения.
Делаем ACL для получения только нужных групп:
sh msdp peer
sh msdp sa-cache
Создаем bvi интерфейс будущего мультикаст вилана:
Создаем ACL в котором перечисляем мультикаст группы доступные в этом вилане:
Включаем на igmp-интерфейсе мультикаст-роутинг и устанавливаем поддержку igmp v2:
Создаем bridge group IPTV и bridge-domain 176:
Создаем l2transport интерфейс по направлению к абонентскому сегменту:
Добавляем в bridge-domain наш igmp-интерфейс и интерфейс по направлению на абонентский сегмент:
Примечание: Если выполнять изменения в igmp-профиле, то для их применения на бридж-домене потребуется убрать профиль из домена, применить изменения и опять его навесить.
Проверено на совместимость со следующими моделями устройств уровня доступа:
Dlink:
Des3526-26, 3200-26(C1,A1).
Cisco:
Cat2950, 2960
H3C:
S3600,s3100
HP: A3100
Надеюсь эта статья/инструкция будет полезна!
Спасибо за уделенное время!
Я же хочу поделиться опытом в настройке Мультикаст-роутинга на достаточно новом маршрутизаторе ASR9010 c IOS XR ver. 4.3.1.
Примеров в ru’нете я не нашел.
Настройка получения multicast’а от провайдера будет выполнена на связке PIM-SM/MBGP/MSDP.
Этапы настройки.
1. Собираем стык с провайдером контента.
2. Конфигурируем уровень 3
a. MBGP
b. PIM
c. MSDP
3. Настраиваем мультикаст vlan для пользователей
1. Стык
interface Bundle-Ether1.211213
description MCAST
ipv4 address 10.10.10.1 255.255.255.252
encapsulation dot1q 211 second-dot1q 213
В данном примере стык организован через qinq канал id 211. Для стыка используется vlan id 213.
2. Конфигурируем уровень 3
Включаем мультикаст роутинг на интерфейсе, используемом для стыка с провайдером:
multicast-routing
address-family ipv4
interface Bundle-Ether1.1132213
enable
• Настраиваем MBGP/BGP
Предварительно настроим prefix-set с сетками мультикаст-источников и unicast маршрутом до точки RP, на их основе сделаем route-policy, т.к. по умолчанию ASR все маршруты будет «дропать».
prefix-set MCAST-NETS
10.130.0.0/24,
172.16.172.0/24,
192.168.90.0/24,
192.168.1.0/24,
82.*.*.9/32
end-set
route-policy MCAST-NETS
route-policy MCAST-NETS
if destination in MCAST-NETS then
pass
else
drop
endif
end-policy
prefix-set ISKRA-UCAST-NETS
82.*.*.9/32
end-set
route-policy ISKRA-UCAST-NETS
if destination in ISKRA-UCAST-NETS then
pass
else
drop
endif
end-policy
neighbor 10.10.10.2
remote-as 11111
address-family ipv4 unicast
route-policy UCAST-NETS in
address-family ipv4 multicast
route-policy MCAST-NETS in
Проверяем, приходят ли маршруты:
sh bgp ipv4 multicast
Network Next Hop Metric LocPrf Weight Path
*> 82.*.*.9/32 10.10.10.2 20 0 11111 i
*> 10.130.0.0/24 10.10.10.2 20 0 11111 i
*> 172.16.172.0/24 10.10.10.2 20 0 11111 i
*> 192.168.1.0/24 10.10.10.2 0 11111 22222 i
*> 192.168.90.0/24 10.10.10.2 20 0 11111 i
• Настраиваем PIM:
PIM – протокол мультикаст маршрутизации.
Точка рондеву(RP) – как правило, это отдельный мультикаст-маршрутизатор на котором сходятся все мультикаст источники, как внешние так и внутренние.
Задаем точку RP (rondevu point) и указываем, какие мультикаст группы мы будем с нее забирать
ipv4 access-list RP-PIM-LIST
30 permit ipv4 any 233.1.1.0 0.0.0.255
40 permit ipv4 any 233.2.2.0 0.0.0.255
50 permit ipv4 any 239.3.3.0 0.0.0.255
router pim
address-family ipv4
rp-address 82.*.*.9 RP-PIM-LIST override
interface Bundle-Ether1.1132213
bsr-border
enable
Проверяем наличие PIM-интерфейсов
sh pim interface bundle-ether 1.211213
Address Interface PIM Nbr Hello DR Count Intvl Prior
10.10.10.2 Bundle-Ether1.211213 on 2 30 1 this system
sh pim neighbor
Mon Dec 30 12:45:44.374 MSK
10.10.10.1 Bundle-Ether1.211213 1w2d 00:01:27 1 B P
10.10.10.2* Bundle-Ether1.211213 1w2d 00:01:25 1 (DR) B P
• Настраиваем MSDP:
Multicast Source Discovery Protocol – с помощью этого протокола маршрутизатор клиента получает информацию о принадлежности мультикаст группы к тому или иному источнику в виде SA-сообщений, которые хранятся в SA-cache
(172.16.172.4, 233.1.1.252), RP 82.*.*.9, MBGP/AS 11111, 1w2d/00:02:12
Learned from peer 10.10.10.1, RPF peer 10.10.10.1
SAs recvd 14652, Encapsulated data received: 0
grp flags: none, src flags: EA
Как правило, для настройки msdp используют адреса p2p соединения.
router msdp
originator-id Bundle-Ether1.211213
cache-sa-state list RP-CORE
peer 10.10.10.1
connect-source Bundle-Ether1.211213
remote-as 11111
Делаем ACL для получения только нужных групп:
ipv4 access-list RP-CORE
30 permit ipv4 any 233.1.1.0 0.0.0.255
40 permit ipv4 any 233.2.2.0 0.0.0.255
50 permit ipv4 any 239.3.3.0 0.0.0.255
sh msdp peer
MSDP Peer 10.10.10.1 (?), AS 11111
Description:
Connection status:
State: Up, Resets: 2, Connection Source: 10.10.10.2
Uptime(Downtime): 1w2d, SA messages received: 4250206
TLV messages sent/received: 27422/88237
Output messages discarded: 0
Connection and counters cleared 1w2d ago
sh msdp sa-cache
(172.16.172.4, 233.1.1.252), RP 82.*.*.9, MBGP/AS 11111, 1w2d/00:02:12
Learned from peer 10.10.10.1, RPF peer 10.10.10.1
SAs recvd 14652, Encapsulated data received: 0
grp flags: none, src flags: EA
(172.16.172.4, 233.2.2.165), RP 82.*.*.9, MBGP/AS 11111, 1w2d/00:02:12
Learned from peer 10.10.10.1, RPF peer 10.10.10.1
SAs recvd 14652, Encapsulated data received: 0
grp flags: none, src flags: EA
3. Мультикаст vlan для пользователей
Создаем bvi интерфейс будущего мультикаст вилана:
interface BVI176
ipv4 address 172.16.7.17 255.255.255.252
Создаем IGMP-PROFILE для igmp-интерфейса:
igmp snooping profile IGMP_SNOOPING_VLAN176
access-group IPTV_TO_COSTUMERS
system-ip-address 172.16.7.17
Создаем ACL в котором перечисляем мультикаст группы доступные в этом вилане:
ipv4 access-list IPTV_TO_COSTUMERS
10 permit igmp any 239.3.3.0 0.0.0.255
30 permit igmp any 233.1.1.0 0.0.0.255
40 deny ipv4 any any
Включаем на igmp-интерфейсе мультикаст-роутинг и устанавливаем поддержку igmp v2:
multicast-routing
address-family ipv4
interface BVI176
enable
router igmp
interface BVI176
version 2
router enable
• Применяем igmp-profile и направляем мультикаст вилан на абонентский сегмент:
Создаем bridge group IPTV и bridge-domain 176:
L2vpn bridge group IPTV bridge-domain 176
Создаем l2transport интерфейс по направлению к абонентскому сегменту:
Interface gi0/0/0/9.176 l2transport
encapsulation dot1q 176
rewrite ingress tag pop 1 symmetric
Добавляем в bridge-domain наш igmp-интерфейс и интерфейс по направлению на абонентский сегмент:
L2vpn bridge group IPTV bridge-domain 176
igmp snooping profile IGMP_SNOOPING_VLAN176
routed interface bvi176
interface gi0/0/0/9.176
Примечание: Если выполнять изменения в igmp-профиле, то для их применения на бридж-домене потребуется убрать профиль из домена, применить изменения и опять его навесить.
Проверено на совместимость со следующими моделями устройств уровня доступа:
Dlink:
Des3526-26, 3200-26(C1,A1).
Cisco:
Cat2950, 2960
H3C:
S3600,s3100
HP: A3100
Надеюсь эта статья/инструкция будет полезна!
Спасибо за уделенное время!