survivor Опубликовано 15 ноября, 2011 · Жалоба Доброго времени суток! Помогите разобраться, пожалуйста. Смоделировал ситуацию с минимумом оборудования. Воспроизводится четко. Есть каталист 3550, в котором в 100 влане есть стриммер, вещающий около 100 мегабит iptv. Этот влан локальный, т.е. - дальше по сети не идет. Для распространения мультикаста в этот влан втыкаются L3 девайсы умеющие PIM и имеющие линки к разным точкам присутствия. На каталисте: #sh ip igmp snooping vlan 100 Global IGMP Snooping configuration: ----------------------------------- IGMP snooping : Enabled IGMPv3 snooping (minimal) : Enabled Report suppression : Enabled TCN solicit query : Disabled TCN flood query count : 2 Last Member Query Interval : 1000 Vlan 100: -------- IGMP snooping : Enabled IGMPv2 immediate leave : Disabled Explicit host tracking : Enabled Multicast router learning mode : pim-dvmrp Last Member Query Interval : 1000 Source only learning age timer : 10 CGMP interoperability mode : IGMP_ONLY ip multicast-routing ip pim rp-address 10.100.1.9 IPTV override interface Vlan100 ip address xxx no ip redirects no ip unreachables no ip proxy-arp ip pim sparse-mode На этом же каталисте конфигурю порт: interface FastEthernet0/34 switchport access vlan 100 switchport mode access switchport nonegotiate end И в этот порт втыкаю второй каталист 3550. Порт второго каталиста: interface FastEthernet0/24 switchport access vlan 100 switchport mode access switchport nonegotiate end Во втором каталисте НИЧЕГО нет: Switch#sh int status Port Name Status Vlan Duplex Speed Type Fa0/1 notconnect 2 auto auto 10/100BaseTX Fa0/2 notconnect 1 auto auto 10/100BaseTX Fa0/3 notconnect 1 auto auto 10/100BaseTX Fa0/4 notconnect 1 auto auto 10/100BaseTX Fa0/5 notconnect 1 auto auto 10/100BaseTX Fa0/6 notconnect 1 auto auto 10/100BaseTX Fa0/7 notconnect 1 auto auto 10/100BaseTX Fa0/8 notconnect 1 auto auto 10/100BaseTX Fa0/9 notconnect 1 auto auto 10/100BaseTX Fa0/10 notconnect 1 auto auto 10/100BaseTX Fa0/11 notconnect 1 auto auto 10/100BaseTX Fa0/12 notconnect 1 auto auto 10/100BaseTX Fa0/13 notconnect 1 auto auto 10/100BaseTX Fa0/14 notconnect 1 auto auto 10/100BaseTX Fa0/15 notconnect 1 auto auto 10/100BaseTX Fa0/16 notconnect 1 auto auto 10/100BaseTX Fa0/17 notconnect 1 auto auto 10/100BaseTX Fa0/18 notconnect 1 auto auto 10/100BaseTX Fa0/19 notconnect 1 auto auto 10/100BaseTX Fa0/20 notconnect 1 auto auto 10/100BaseTX Fa0/21 notconnect 1 auto auto 10/100BaseTX Port Name Status Vlan Duplex Speed Type Fa0/22 notconnect 1 auto auto 10/100BaseTX Fa0/23 notconnect 1 auto auto 10/100BaseTX Fa0/24 [b]connected[/b] 100 a-full a-100 10/100BaseTX Gi0/1 notconnect 1 auto auto unknown Gi0/2 notconnect 1 auto auto unknown Пока все хорошо... :-) На втором каталисте прописываю: interface Vlan100 ip address xxx ip pim sparse-mode end ip pim rp-address 10.100.1.9 IPTV override поднимаю роутинг. И все ... &%$#@!!! Ко мне на второй каталист начинают литься ВСЕ каналы, сразу как pim поднимется. На втором каталисте: Switch#sh int fastEthernet 0/24 FastEthernet0/24 is up, line protocol is up (connected) Hardware is Fast Ethernet, address is 000b.fd3b.c218 (bia 000b.fd3b.c218) MTU 1508 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 222/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, media type is 10/100BaseTX input flow-control is off, output flow-control is unsupported ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 00:00:04, output hang never Last clearing of "show interface" counters 00:04:29 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/0 (size/max) 30 second input rate 87181000 bits/sec, 8453 packets/sec 30 second output rate 290000 bits/sec, 465 packets/sec 1765793 packets input, 2344953439 bytes, 0 no buffer Received 1720582 broadcasts (0 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 1728243 multicast, 0 pause input 0 input packets with dribble condition detected 44754 packets output, 3662399 bytes, 0 underruns Switch#sh ip mr (*, 239.xxx.xxx.111), 00:01:04/stopped, RP 10.100.1.9, flags: SP Incoming interface: Vlan100, RPF nbr xxx.xxx.1.15 Outgoing interface list: Null (xxx.xxx.1.74, 239.xxx.xxx.111), 00:01:03/00:02:59, flags: PT Incoming interface: Vlan100, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 239.xxx.xxx.100), 00:01:04/stopped, RP 10.100.1.9, flags: SP Incoming interface: Vlan100, RPF nbr xxx.xxx.1.15 Outgoing interface list: Null (xxx.xxx.1.74, 239.xxx.xxx.100), 00:01:03/00:02:58, flags: PT Incoming interface: Vlan100, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 239.xxx.xxx.33), 00:01:05/stopped, RP 10.100.1.9, flags: SP Incoming interface: Vlan100, RPF nbr xxx.xxx.1.15 Outgoing interface list: Null (xxx.xxx.1.74, 239.xxx.xxx.33), 00:01:03/00:02:58, flags: PT Incoming interface: Vlan100, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 239.xxx.xxx.32), 00:01:06/stopped, RP 10.100.1.9, flags: SP Incoming interface: Vlan100, RPF nbr xxx.xxx.1.15 Outgoing interface list: Null .... Дебаг на втором каталисте дал интересную информацию: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.1 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.5 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.18 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.100 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.33 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.3 Разве это sparse-mode? Это же dense?! Или я что-то не так понимаю? Зачем мой второй каталист подписывается сразу на все каналы? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mschedrin Опубликовано 15 ноября, 2011 · Жалоба Для использования такой схемы, нужно чтобы ваши коммутаторы поддерживали pim snooping, плюс к этому лучше включать pim passive на int vlan 100. Вообще схема не очень правильная, лучше делать иначе. На одном коммутаторе создать rp, на нем же сделать int vlan 100 и в нем включить pim. А далее этот мультикаст маршрутизировать через pim на другие l3 свичти/роутеры. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 15 ноября, 2011 · Жалоба На одном коммутаторе создать rp, на нем же сделать int vlan 100 и в нем включить pim. А далее этот мультикаст маршрутизировать через pim на другие l3 свичти/роутеры Так у меня именно так и есть! :) Проблема в том, что как только я на другом L3 свиче поднимаю pim на него начинает литься ВЕСЬ поток! А так же не должно быть при sparse-mode... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 15 ноября, 2011 (изменено) · Жалоба Хм, почитал про pim snooping и задумался... че-то я ничего не понимаю: один и тот же линк: http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SXF/native/configuration/guide/snooppim.html When you use the PIM-sparse mode (PIM-SM) feature, downstream routers only see traffic if they previously indicated interest through a PIM join or prune message и In networks where a Layer 2 switch interconnects several routers, such as an Internet exchange point (IXP), the switch floods IP multicast packets on all multicast router ports by default, even if there are no multicast receivers downstream Значит если между двумя L3 PIM устройствами поставить что-то L2, то sparse-mode pim превращается в dense?! Изменено 15 ноября, 2011 пользователем survivor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 15 ноября, 2011 (изменено) · Жалоба Как я понимаю sparse-mode: Sparse mode interfaces are added to the table only when periodic join messages are received from downstream routers, or there is a directly connected member on the interface. Т.е. ко мне на второй каталист должны были идти только те каналы, на которые второй каталист подписался, а не все - как получается. Зачем второй каталист вздумал по PIM подписываться на ВСЕ каналы: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.1 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.5 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.18 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.100 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.33 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.3 Изменено 15 ноября, 2011 пользователем survivor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 15 ноября, 2011 (изменено) · Жалоба Нашел похожую проблему (даже влан 100): http://www.gossamer-threads.com/lists/cisco/nsp/125564 М-да, оказывается между PIM устройствами не должно быть L2... Не понимаю тогда зачем на SVI поддерживается ip pim ... ведь это подразумевает, что pim neighbor доступен через L2! И самое главное пока не могу найти вразумительного ответа на вопрос ПОЧЕМУ? Если кто сможет доступно объяснить или хотя бы угостит хорошим линком - буду чрезвычайно благодарен :) Изменено 15 ноября, 2011 пользователем survivor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ingress Опубликовано 15 ноября, 2011 · Жалоба pim snooping, как уже сказали, вас спасёт, есть он на 7600 допустим. или проще сделать L3 сеть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 16 ноября, 2011 · Жалоба pim snooping'а на моих 3750/3550/2960 нет а L3 сеть построить не могу по множеству причин... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
survivor Опубликовано 16 ноября, 2011 · Жалоба почитав http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a008059a9df.shtml#revisit пришел в таким мыслям: включение на L3 роутере ip pim (неважно sparse или dense) дает понять подключенному к нему каталисту, что соответсвующий порт - mrouter port. И именно это заставляет каталист отправлять в этот порт весь мультикастный траффик, даже если pim - sparse и на роутере нет подписчиков, так? Вывод сделал из: •In a source-only multicast scenario, in which no receivers have yet "joined" in, the switch only sends the multicast stream out its mrouter port Даже если это и так... все равно непонятно зачем у меня в дебаге pim роутер отправлял join'ы на все каналы? PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.1 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.5 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.18 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.100 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.33 PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.xxx.xxx.3 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mschedrin Опубликовано 16 ноября, 2011 · Жалоба Попробуйте включить ip pim passive вместо ip pim sparse-mode на всех устройствах что имеют L3 интерфейс в в вилане 100. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...