Jump to content
Калькуляторы

вопрос по sparse-mode на 3550 флуд всех каналов

Доброго времени суток!

 

Помогите разобраться, пожалуйста.

Смоделировал ситуацию с минимумом оборудования. Воспроизводится четко.

 

Есть каталист 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?! Или я что-то не так понимаю? Зачем мой второй каталист подписывается сразу на все каналы?

Share this post


Link to post
Share on other sites

Для использования такой схемы, нужно чтобы ваши коммутаторы поддерживали pim snooping, плюс к этому лучше включать pim passive на int vlan 100.

Вообще схема не очень правильная, лучше делать иначе. На одном коммутаторе создать rp, на нем же сделать int vlan 100 и в нем включить pim. А далее этот мультикаст маршрутизировать через pim на другие l3 свичти/роутеры.

Share this post


Link to post
Share on other sites

На одном коммутаторе создать rp, на нем же сделать int vlan 100 и в нем включить pim. А далее этот мультикаст маршрутизировать через pim на другие l3 свичти/роутеры

 

Так у меня именно так и есть! :) Проблема в том, что как только я на другом L3 свиче поднимаю pim на него начинает литься ВЕСЬ поток! А так же не должно быть при sparse-mode...

Share this post


Link to post
Share on other sites

Хм, почитал про 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?!

Edited by survivor

Share this post


Link to post
Share on other sites

Как я понимаю 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

Edited by survivor

Share this post


Link to post
Share on other sites

Нашел похожую проблему (даже влан 100): http://www.gossamer-threads.com/lists/cisco/nsp/125564

 

М-да, оказывается между PIM устройствами не должно быть L2...

 

Не понимаю тогда зачем на SVI поддерживается ip pim ... ведь это подразумевает, что pim neighbor доступен через L2! И самое главное пока не могу найти вразумительного ответа на вопрос ПОЧЕМУ? Если кто сможет доступно объяснить или хотя бы угостит хорошим линком - буду чрезвычайно благодарен :)

Edited by survivor

Share this post


Link to post
Share on other sites

почитав 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

Share this post


Link to post
Share on other sites

Попробуйте включить ip pim passive вместо ip pim sparse-mode на всех устройствах что имеют L3 интерфейс в в вилане 100.

Share this post


Link to post
Share on other sites

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.