IGMP - Internet Group Management Protocol ========================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is IGMP?** IGMP stands for Internet Group Management Protocol. It's a communication protocol used by devices and routers to manage multicast group memberships on IPv4 networks. It allows devices to join or leave multicast groups, enabling efficient delivery of data to multiple recipients. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is IGMP useful?** IGMP is essential for multicast communication, where data is sent to multiple devices simultaneously without sending separate copies to each one. * This is useful for: * Streaming media (like IPTV) * Online gaming * Real-time data feeds (like stock tickers or live sports scores) .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * Device wants to join a multicast group – It sends an IGMP Membership Report to the router. * Router listens – The router keeps track of which devices are interested in which multicast groups. * Multicast data is sent – The router forwards multicast traffic only to the devices that requested it. * Leaving the group – When a device no longer wants the data, it sends a Leave Group message. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is IGMP used?** * IPTV and video conferencing – To deliver the same video stream to many viewers efficiently. * Online multiplayer games – For real-time updates to multiple players. * Financial services – For distributing live market data to many clients. * Enterprise networks – For internal broadcasts like training or announcements. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * Works with IP multicast addresses (Class D addresses: 224.0.0.0 to 239.255.255.255). * Manages group membership for multicast routing. * Interacts directly with routers and IP-level multicast mechanisms. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`IGMP Version&RFC Details ` * :ref:`IGMP Basic Setup on Ubuntu using IGMP ` * :ref:`IGMP Basic Setup on Ubuntu using IGMP ` * :ref:`IGMP Protocol Packet Details ` * :ref:`IGMP Usecases ` * :ref:`IGMP Basic Features ` * :ref:`IGMP Feature : Multicast Group Management ` * :ref:`IGMP Feature : Efficient Bandwidth Usage ` * :ref:`IGMP Feature : Host-Router Communication ` * :ref:`IGMP Feature : Dynamic Membership ` * :ref:`IGMP Feature : Version Compatibility ` * :ref:`IGMP Feature : Query and Report Mechanism ` * :ref:`IGMP Feature : Leave Group Notification ` * :ref:`IGMP Feature : Support for Source Filtering ` * :ref:`IGMP Feature : Minimal Overhead ` * :ref:`IGMP Feature : Integration with Multicast Routing Protocols ` * :ref:`Reference links ` .. _IGMP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _IGMP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _IGMP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _IGMP_step5: .. tab-set:: .. tab-item:: IGMP Version&RFC Details .. csv-table:: :file: ./IGMP/IGMP_Version_RFC_details.csv :widths: 10,10,10,30 :header-rows: 1 .. _IGMP_step20: .. tab-set:: .. tab-item:: IGMP Basic Setup on Ubuntu using IGMP * Setup .. _IGMP_step21: .. tab-set:: .. tab-item:: IGMP Basic Setup on Ubuntu using IGMP * Setup .. _IGMP_step6: .. tab-set:: .. tab-item:: IGMP Protocol Packet Details **IGMP Membership Query Packet** .. csv-table:: :file: ./IGMP/IGMP_Packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **IGMP Membership Report Packet** .. csv-table:: :file: ./IGMP/IGMP_Packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 **IGMP Leave Group Packet** .. csv-table:: :file: ./IGMP/IGMP_Packetdetails3.csv :widths: 10,20,30,10 :header-rows: 1 .. _IGMP_step7: .. tab-set:: .. tab-item:: IGMP Usecases .. csv-table:: :file: ./IGMP/IGMP_Use_Cases.csv :widths: 10,20,30 :header-rows: 1 .. _IGMP_step8: .. tab-set:: .. tab-item:: IGMP Basic Features .. csv-table:: :file: ./IGMP/IGMP_Basic_Features.csv :widths: 10,10,30 :header-rows: 1 .. _IGMP_step9: .. tab-set:: .. tab-item:: IGMP Feature : Multicast Group Management **Multicast Group Management - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature1_Multicast_Group_Management_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step10: .. tab-set:: .. tab-item:: IGMP Feature : Efficient Bandwidth Usage **Efficient Bandwidth Usage - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature2_Efficient_Bandwidth_Usage_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step11: .. tab-set:: .. tab-item:: IGMP Feature : Host-Router Communication **Host-Router Communication - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature3_Host_Router_Communication_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step12: .. tab-set:: .. tab-item:: IGMP Feature : Dynamic Membership **Dynamic Membership - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature4_Dynamic_Membership_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step13: .. tab-set:: .. tab-item:: IGMP Feature : Version Compatibility **Version Compatibility - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature5_Version_Compatibility_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step14: .. tab-set:: .. tab-item:: IGMP Feature : Query and Report Mechanism **Query and Report Mechanism - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature6_Query_Report_Mechanism_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step15: .. tab-set:: .. tab-item:: IGMP Feature : Leave Group Notification **Leave Group Notification - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature7_Leave_Group_Notification_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step16: .. tab-set:: .. tab-item:: IGMP Feature : Support for Source Filtering **Support for Source Filtering - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature8_Support_for_Source_Filtering_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step17: .. tab-set:: .. tab-item:: IGMP Feature : Minimal Overhead **Minimal Overhead - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature9_Minimal_Overhead_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step18: .. tab-set:: .. tab-item:: IGMP Feature : Integration with Multicast Routing Protocols **Integration with Multicast Routing Protocols - Testcases** .. csv-table:: :file: ./IGMP/IGMP_Feature10_Integration_with_Multicast_Routing_Protocols_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _IGMP_step19: .. tab-set:: .. tab-item:: Reference links * Reference links