Question about how multicast frames travel.

Params7Params7 Member Posts: 254
So I was restudying IPV6 in ICND1 using Odom's book. I understand Ipv6 has no concept of a broadcast (but it can send to all hosts using a multicast). I understand that this is better since only a subset of NIC's now need to process the equivaled of ipv4's ARP packets (NDP) and bunch of other stuff. But how? What information goes in Layer 2 fields that when the switch receives it, it only sends out to select ports? And how does the Switch know about the multicast groups?

Comments

  • OfWolfAndManOfWolfAndMan Member Posts: 923 ■■■■□□□□□□
    Internet Group Management Protocol - Wikipedia, the free encyclopedia

    That's your L2 protocol. As for after the first hop router, you'll have to check out PIM. Each mode has its own unique way of pushing the traffic down the tree, but it all depends on customer requirements. Don't bother with MOSPF (Cisco doesn't support it) or DVMRP. Just check out PIM and the difference between ASM, SSM and Bidir
    :study:Reading: Lab Books, Ansible Documentation, Python Cookbook 2018 Goals: More Ansible/Python work for Automation, IPSpace Automation Course [X], Build Jenkins Framework for Network Automation []
  • ccie14023ccie14023 Member Posts: 183
    Great question. The switch, in fact, by default, does not know anything about multicast groups. When it receives a frame with a multicast destination address, it just floods it out all ports. Therefore, everybody sees it, even if they are not a receiver. NICs that do not need a particular group silently drop it. In order for the switch to properly handle multicast, an additional protocol called IGMP snooping needs to be enabled. With IGMP snooping enabled, the switch actually monitors IGMP packets between the end hosts and their first hop router, and keeps track of what receivers are on what ports.

    I actually forget how that works with IPv6 but it would have to be something similar, where the switch is listening in. If I have time I will look it up and get back to you, or possibly someone else can answer it.
  • EdTheLadEdTheLad Member Posts: 2,111 ■■■■□□□□□□
    I think you are misunderstanding the concept regarding the NICs processing the ipv4 packets. On a broadcast segment an arp is sent with destination ip FFFF.FFFF.FFFF i.e. all devices. This means all devices listening will accept the frames remove the layer 2 header and forward the packet to layer 3, if the destination ip is not belonging to the local machine the packet is dropped, the processor just wasted valuable time.

    Now with multicast, the layer 2 address is only accepted by devices in the multicast group, if a non group member listening on the wire receives a frames, it checks the destination mac, it doesn't match any local groups so the frame is immediately dropped, no passing to layer 3 and saving the processor excess work.

    Ipv6 replaces arp with neighbor solicitation(NS) and neighbor advertisements(NA). The NS is the same as an arp request except its sent to a multicast destination rather than a broadcast destination. The purpose of arp/NS is to find the mac address of a remote machine using the remote machines ip address.

    The question is, how does the sender know which destination addresses to use in the NS frame. This is where the "Solicited Node Address" comes in. The SNA is a fixed 104 bit prefix that is added in front of the last 24 bits of a particular ipv6 address.

    IPv6 address is 2001::1245:1345/64
    SNA prefix = FF02::1:FF00:0/104
    SNA address = FF02::1:FF45:1345
    SNA mac = 33:33:ff:yy:yy:yy, i.e. in this case 33:33:ff:45:1345


    Whenever an ipv6 address is configured on an interface, a corresponding ipv6 multicast group is created for that interface which activates listening for the SNA mac and SNA ipv6 address. This means if frames are received on the interface addressed to the multicast group, they are accepted.
    The sending device knows the destination ipv6 address, it also knows the rule regarding creating the "solicited node addresses" so using the destination ipv6 address it can work out the destination ipv6 addresses to put in the layer 2 frame.

    Same thing as before, if an interface receives a frame with a layer 2 multicast address that doesn't match any local multicast groups, the frame is dropped. A switch will flood multicast frames unless some snooping is enabled. So by default ipv4 arp and ipv6 NS are the same performance wise for the switch, the benefit is seen on the layer 3 devices.
    Networking, sometimes i love it, mostly i hate it.Its all about the $$$$
  • Params7Params7 Member Posts: 254
    Interesting, I will look into IGMP.

    @EdTheLad: Explains a lot! Understand a lot more about multicasts now. So simply they are flooded without IGMP working for them but the NICs don't strip them past Layer 2 if the d.mac does not match one of their groups.
Sign In or Register to comment.