Jump to content

Recommended Posts

Posted

Добрый день.

 

Мы хотим наладить вещание IPTV в корпоративной сети через multicast.

Схема: источник <- VLAN101 -> 3750 <- VLAN101 -> 65XX (R1) <- VLAN68 -> 76XX (R2) <- VLAN80 -> 65XX (R3) <- VLAN1 -> получатель.

Источник и получатель находятся в разных зданиях. Между ними три роутера + свитчи. На роутерах на соответствующих вланах настроен pim sparse. На свитчах - IGMP. R1, как роутер расположенный ближе всего к источнику, объявлен как RP.

 

Все работает. :) Но только 210 секунд. Я запускаю на получателе VLC и могу подключиться к multicast-потоку с источника. Но через 210 секунд все останавливается. Спустя какое-то время (мне не удалось точно засечь-понять какое) все опять начинает работать. И опять работает 210 секунд. Проблема, как я понимаю, на R1. Когда все работает sh ip mroute выглядит так:

 

S111#sh ip mroute 239.0.22.5

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group

V - RD & Vector, v - Vector

Outgoing interface flags: H - Hardware switched, A - Assert winner

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

 

(*, 239.0.22.5), 6d18h/00:03:22, RP 192.168.255.111, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

Vlan68, Forward/Sparse, 00:00:06/00:03:22

 

(192.168.15.123, 239.0.22.5), 5d17h/00:59:54, flags: T

Incoming interface: Vlan101, RPF nbr 0.0.0.0, RPF-MFD

Outgoing interface list:

Vlan68, Forward/Sparse, 00:00:06/00:03:22, H

 

Вот из этого таймера (00:03:22) я и взял эти 210 секунд. Когда таймер заканчивается sh ip mroute выглядит иначе:

 

S111#sh ip mroute 239.0.22.5

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group

V - RD & Vector, v - Vector

Outgoing interface flags: H - Hardware switched, A - Assert winner

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

 

(*, 239.0.22.5), 6d18h/00:02:54, RP 192.168.255.111, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

Vlan68, Forward/Sparse, 00:03:31/00:02:54

 

(192.168.15.123, 239.0.22.5), 5d17h/00:59:50, flags: PT

Incoming interface: Vlan101, RPF nbr 0.0.0.0, RPF-MFD

Outgoing interface list: Null

 

Вот debug:

 

S111#sh deb

IP multicast:

IP multicast routing debugging is on for 239.0.22.5

PIM debugging is on for 239.0.22.5

 

 

May 11 10:21:08.614: MRT(0): Add Vlan68/239.0.22.5 to the olist of (192.168.15.123, 239.0.22.5), Forward state - MAC not built

May 11 10:21:08.766: PIM(0): Received v2 Join/Prune on Vlan68 from 192.168.255.3, to us

May 11 10:21:08.766: PIM(0): Prune-list: (192.168.15.123/32, 239.0.22.5) RPT-bit set

May 11 10:21:58.738: MRT(0): Update (*,239.0.22.5), RPF /0.0.0.0

May 11 10:21:59.778: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.0.22.5

May 11 10:22:07.878: PIM(0): Received v2 Join/Prune on Vlan68 from 192.168.255.3, to us

May 11 10:22:07.878: PIM(0): Join-list: (*, 239.0.22.5), RPT-bit set, WC-bit set, S-bit set

May 11 10:22:07.878: PIM(0): Update Vlan68/192.168.255.3 to (*, 239.0.22.5), Forward state, by PIM *G Join

May 11 10:22:07.878: MRT(0): Update Vlan68/239.0.22.5 in the olist of (*, 239.0.22.5), Forward state - MAC not built

May 11 10:22:07.878: PIM(0): Prune-list: (192.168.15.123/32, 239.0.22.5) RPT-bit set

May 11 10:22:31.878: PIM(0): Send RP-reachability for 239.0.22.5 on Vlan68

May 11 10:22:58.273: MRT(0): Update (*,239.0.22.5), RPF /0.0.0.0

May 11 10:22:58.578: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.0.22.5

May 11 10:23:05.578: PIM(0): Received v2 Join/Prune on Vlan68 from 192.168.255.3, to us

May 11 10:23:05.578: PIM(0): Join-list: (*, 239.0.22.5), RPT-bit set, WC-bit set, S-bit set

May 11 10:23:05.578: PIM(0): Update Vlan68/192.168.255.3 to (*, 239.0.22.5), Forward state, by PIM *G Join

May 11 10:23:05.578: MRT(0): Update Vlan68/239.0.22.5 in the olist of (*, 239.0.22.5), Forward state - MAC not built

May 11 10:23:05.578: PIM(0): Prune-list: (192.168.15.123/32, 239.0.22.5) RPT-bit set

May 11 10:23:55.726: MRT(0): Update (*,239.0.22.5), RPF /0.0.0.0

May 11 10:23:57.878: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.0.22.5

May 11 10:24:01.878: PIM(0): Send RP-reachability for 239.0.22.5 on Vlan68

May 11 10:24:04.626: PIM(0): Received v2 Join/Prune on Vlan68 from 192.168.255.3, to us

May 11 10:24:04.626: PIM(0): Join-list: (*, 239.0.22.5), RPT-bit set, WC-bit set, S-bit set

May 11 10:24:04.626: PIM(0): Update Vlan68/192.168.255.3 to (*, 239.0.22.5), Forward state, by PIM *G Join

May 11 10:24:04.626: MRT(0): Update Vlan68/239.0.22.5 in the olist of (*, 239.0.22.5), Forward state - MAC not built

May 11 10:24:04.626: PIM(0): Prune-list: (192.168.15.123/32, 239.0.22.5) RPT-bit set

May 11 10:24:11.253: MRT(0): Update (*,239.0.22.5), RPF /0.0.0.0

May 11 10:24:38.578: PIM(0): Prune Vlan68/239.0.22.5 from (192.168.15.123/32, 239.0.22.5)

May 11 10:24:38.578: MRT(0): Delete Vlan68/239.0.22.5 from the olist of (192.168.15.123, 239.0.22.5) - deleted

May 11 10:24:57.077: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.0.22.5

 

Т.е. R1 по истечению этого таймера удалил (S,G). Почему - я не понимаю. Join от R2 приходят постоянно. Почему при этом перестало работать (*,G) вещание я тоже не понимаю. Почему через какое-то время оно начинает работать опять не понимаю. В связи с этим и вопрос - что я не понимаю и что нужно сделать чтобы все исправить?

 

На всякий случай конфиги в аттаче.

 

С уважением,

Михаил

R1_.txt

R2_.txt

R3_.txt

Posted

Приветствую.

 

Все маршрутизаторы знают маршрут до источника 192.168.15.123 ?

Конечно. Иначе оно бы и без, и с, таймером бы не работало.

 

С уважением,

Михаил

Posted

Приветствую.

 

Все маршрутизаторы знают маршрут до источника 192.168.15.123 ?

Конечно. Иначе оно бы и без, и с, таймером бы не работало.

Команды `show ip route 192.168.15.123`, `show ip pim rp` на раутерах что показывают? И еще, как настроен spt-treshhold ?

Posted

Приветствую!

Команды `show ip route 192.168.15.123`,

С маршрутизацией все в порядке, я же говорил, там еще много чего ездит.

 

`show ip pim rp` на раутерах что показывают?

Последовательно, на маршрутизаторах, результаты выполнения команды `show ip pim rp` (последний, это источник, первый - получатель):

------------

Group: 224.2.127.254, RP: 10.42.255.111, uptime 00:03:48, expires never

Group: 239.0.22.20, RP: 10.42.255.111, uptime 00:03:26, expires never

Group: 239.0.22.10, RP: 10.42.255.111, uptime 00:08:27, expires never

------------

Group: 224.2.127.254, RP: 10.42.255.111, uptime 00:04:11, expires never

Group: 239.0.22.20, RP: 10.42.255.111, uptime 00:03:50, expires never

Group: 239.0.22.10, RP: 10.42.255.111, uptime 00:08:51, expires never

------------

Group: 224.2.127.254, RP: 10.42.255.111, next RP-reachable in 00:00:15

Group: 239.0.22.16, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.18, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.20, RP: 10.42.255.111, next RP-reachable in 00:01:27

Group: 239.0.22.10, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.11, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.12, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.13, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.14, RP: 10.42.255.111, next RP-reachable in 00:01:04

Group: 239.0.22.15, RP: 10.42.255.111, next RP-reachable in 00:01:04

------------

И еще, как настроен spt-treshhold ?

По умолчанию (т.е.никак).

 

С уважением,

Михаил

Posted

Если RPF не знает nexhop к источнику, то значит не все в порядке.

 

Очевидно ситуация вот такая: при отправке Join маршрутизаторы строят SPT до источника и начинают отсылать трафик от источника к получателю. Т.к. spt-treshhold стоит по умолчанию, то SPT сразу же разваливается. По какой-то причине последующие joinы от приемника не могут быть обработаны должным образом - т.е. не проходят по цепочке маршрутизаторов. Тогда - в соответствии с таймером на такие случаи - multicast идет 3 минуты после чего прунится - таблица mroute чистится от (S,G) маршрутов. После этого следующий Join от приемника инициирует весь процесс заново - снова строится SPT, multicast снова идёт итп.

 

Причину проблемы по приведенным данным трудно диагностировать. Можно попробовать поставить infinity для spt-treshhold. Если в этом случае multicast будет нормально работать, значит надо смотреть маршрутизацию - RPF-то не кажет соседа.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.