Как стать автором
Обновить

Настройка мультикаст-маршрутизации на ASR 9010

Спасибо хабру за большое количество статей по мультикасту.

Я же хочу поделиться опытом в настройке Мультикаст-роутинга на достаточно новом маршрутизаторе 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

Надеюсь эта статья/инструкция будет полезна!

Спасибо за уделенное время!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.