pozinm Posted June 10, 2011 Posted June 10, 2011 Добрый день. Мы хотим наладить вещание 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 Вставить ник Quote
ilgizk Posted June 16, 2011 Posted June 16, 2011 RPF nbr 0.0.0.0 Все маршрутизаторы знают маршрут до источника 192.168.15.123 ? Вставить ник Quote
pozinm Posted June 17, 2011 Author Posted June 17, 2011 Приветствую. Все маршрутизаторы знают маршрут до источника 192.168.15.123 ? Конечно. Иначе оно бы и без, и с, таймером бы не работало. С уважением, Михаил Вставить ник Quote
ilgizk Posted June 17, 2011 Posted June 17, 2011 Приветствую. Все маршрутизаторы знают маршрут до источника 192.168.15.123 ? Конечно. Иначе оно бы и без, и с, таймером бы не работало. Команды `show ip route 192.168.15.123`, `show ip pim rp` на раутерах что показывают? И еще, как настроен spt-treshhold ? Вставить ник Quote
pozinm Posted June 17, 2011 Author Posted June 17, 2011 Приветствую! Команды `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 ? По умолчанию (т.е.никак). С уважением, Михаил Вставить ник Quote
ilgizk Posted June 21, 2011 Posted June 21, 2011 Если RPF не знает nexhop к источнику, то значит не все в порядке. Очевидно ситуация вот такая: при отправке Join маршрутизаторы строят SPT до источника и начинают отсылать трафик от источника к получателю. Т.к. spt-treshhold стоит по умолчанию, то SPT сразу же разваливается. По какой-то причине последующие joinы от приемника не могут быть обработаны должным образом - т.е. не проходят по цепочке маршрутизаторов. Тогда - в соответствии с таймером на такие случаи - multicast идет 3 минуты после чего прунится - таблица mroute чистится от (S,G) маршрутов. После этого следующий Join от приемника инициирует весь процесс заново - снова строится SPT, multicast снова идёт итп. Причину проблемы по приведенным данным трудно диагностировать. Можно попробовать поставить infinity для spt-treshhold. Если в этом случае multicast будет нормально работать, значит надо смотреть маршрутизацию - RPF-то не кажет соседа. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.