フラッディング、ブロードキャスト、マルチキャストの違い
https://milestone-of-se.nesuke.com/nw-basic/ethernet/flooding-and-broadcast/
フラッディングは、ユニキャスト MAC アドレス宛の通信が、MACアドレステーブルに載っていないときに発生します。MAC アドレステーブルに載っていないユニキャスト MAC アドレスは、どのポートから送信すればいいか分からないため、仕方なく全ポートから送信します。ただし、Unicast Addressなので、その MAC アドレスを保有しない端末に届いたところで、破棄されるため、影響は微々たるものになります。
Broadcastは、「ブロードキャスト MAC アドレス」宛の通信が来た時に発生します。L2 スイッチであれば L2 ブロードキャストアドレス(FF:FF:FF:FF:FF:FF)が来た時、L3 スイッチであればそれに加え、ディレクティッド・ブロードキャストアドレスが来た時にブロードキャストとして、意図的に全ポートから送信します。
また、宛先 MAC アドレスがマルチキャスト MAC アドレスの場合も意図的に全ポートから送信されます。例えば 0100:1234:5678 というマルチキャスト MAC アドレスがあったとし、端末 A と端末 C がこのマルチキャスト MAC アドレスに参加していたとします。
その場合、端末 B と端末 D もマルチキャストを受信してしますが、これを破棄します。
端末 B と端末 D にマルチキャスト自体を送信させたくない場合には、L2 スイッチにてIGMP snooping 機能を有効にする必要があります。これにより端末から送信される IGMP(Multicast Addressへの参加)を監視し、端末 B と端末 D への送信を抑制し、端末 A と端末 C のみに送信することができます。
この IGMP は、マルチキャストルーティングを行うときに使うものです。同一セグメントにマルチキャストの送信者と受信者がいる場合にこの IGMP snooping を有効にしている場合、不具合が発生することがありますので注意が必要です。つまり、同一セグメント内でマルチキャストの送受信を行いたい場合は、IGMP snooping は無効にし、全ポートからブロードキャストさせるのがベストプラクティスになります。