FortiSwitch
FortiSwitch: secure, simple and scalable Ethernet solutions
adecottignies_FTNT
Article Id 371778
Description

This article describes how multicast works within a FortiSwitch managed by FortiGate when IGMP-snooping is configured.

Scope FortiSwitch managed by FortiGate (FortiLink).
Solution

The following architecture has been built in a lab environment:

 

Picture1.png

 

Host05 will send a report to join the multicast group 225.1.2.3.
Host06 will send multicast traffic to the multicast group 225.1.2.3.
A sniffer will be run on Host07 to analyze if the traffic reaches this host.

 

To configure the IGMP-snooping: 

 

  1. Globally for the entire VLAN in the network across all the managed switches:

 

FortiGate # config system interface

FortiGate (interface) # edit TEST-60

    set ip 192.168.60.1 255.255.255.0
    set switch-controller-igmp-snooping enable
    set switch-controller-igmp-snooping-fast-leave enable
    set vlanid 60
next
end

 

In this example, enable the igmp-snooping for the VLAN 60 names TEST-60.

Enabling igmp-snooping in the VLAN interface will automatically enable switch-controller-igmp-snooping-fast-leave.

 

If no multicast routing is enabled on the FortiGate, it is necessary to set a querier by overriding the configuration. This can be seen just below.

 

  1. Locally for the VLAN in a specific switch.

     

FortiGate # config switch-controller managed-switch
FortiGate (managed-switch) # edit <Switch SN>
FortiGate (Switch SN) # config igmp- snooping
    set local-override enable

        config vlans
            edit "TEST-60"
                set proxy disable
                set querier enable
                set querier-addr 1.1.1.1
            next
        end
end

 

Regarding the querier-addr: If the traffic is local to the switch, it is possible to set the value to 1.1.1.1 for example, this means that the switch will act locally as the querier.

 

This querier address can be any value; it does not represent the actual IP address. It plays a role in an election process, as only one querier can be active in a network. In the case where multiple queriers are configured then an election process will take place. The switch with the lowest configured IP address in the querier-addr field will be elected as the active querier.

 

If multicast traffic passes through different switches, using the FortiGate as a querier is recommended. The VLAN interface IP on the FortiGate can be set as a querier. It will require that multicast routing be enabled on the FortiGate.

 

More information about FortiGate as an IGMP querier on the following documentation: Technical Tip: How to configure the FortiGate as an IGMP querier on a FortiSwitch topology.

 

Multicast behavior with igmp-snooping enabled:

 

On Host05:

From CLI: mcjoin.
By default, mcjoin uses the multicast address 225.1.2.3.

With this, a report is sent by the device to inform that the host wants to join the group 225.1.2.3.

From a sniffer on the switch, it is possible to see this packet:

186.669487 sp5 -- 802.1Q vlan#60 P0 -- 192.168.60.2 -> 225.1.2.3:  ip-proto-2 8.

 

The host05 sends a packet to inform that it wants to join group 225.1.2.3.

On Host06:

From CLI: mcjoin -s -c 10 (-s allows to send the multicast traffic, -c 10 to send 10 packets).
By default, mcjoin use the multicast address 225.1.2.3.
The progress bar at the top right-hand corner will display the number of packets sent.


Picture2.png

 

On Host05:

The progress bar at the top right-hand corner will display the number of packets sent. As 10 packets have been sent from host06, 10 packets should be received.

 

Picture3.png

 

On Host07:

 

root@host07:/home/fortinet# tcpdump -i eth1 -f "host 225.1.2.3"

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes

 

No packet is received. This means that IGMP has been successfully configured, and the switch does not flood all the ports with multicast traffic.

 

Related articles:

Technical Tip: Multicast / IGMP behavior with FortiSwitch

Technical Tip: How to configure the FortiGate as an IGMP querier on a FortiSwitch topology