,<
資 管 Lee <A0 -2>
IGMP in IPv4
Class D address◦ Range 224.0.0.0 ~ 239.255.255.255
1 1 1 0 Group identifier
Report
Query
ICMPIGMP
IPARP RAR
P
,<
資 管 Lee <A0 -3>
IGMP message format
Ver Type
Unused Checksum
Group address in report, all 0s in query
Ver: four-bit field defines the version of the protocol, version 1Type: four-bit defines the type of the message: 1 for query and 2 for reportChecksum: 16-bit field defines the checksumGroup address:this 32-bit field defines the group address in a report message. It isFilled with 0s in the query message. In a report message, this field defines eitherThe groupid that a system wants to join or the groupid wants to continue the Membership.
,<
資 管 Lee <A0 -4>
LANLAN
List of groupsHaving loyal members225.70.8.20231.24.60.9...229.60.12.8
Four situations of IGMP:Joining a group:Monitoring the group:Membership continuing:Leaving a Group:
,<
資 管 Lee <A0 -6>
Changing IP address to Physical Addresses
1110
5 bits
23 bits of multicast address
23 bits of multicast address
0000000100000000010111100
32-bit class D address
48-bit Ethernet address
unused
IGMPmessage
IPData
IPheader
Trail(if any)
FrameData
Frameheader
Encapsulation
,<
資 管 Lee <A0 -7>
Teaching Objects in Multicast Design
Group-Joiningmodule
Group-leavingmodule
Inputmodule
Outputmodule
TimersGroup table
Multicast Lister reportMulticast Lister Query/report
A request to join a group
A request to leave a group
Application Layer
IP Layer
Group table: four fieldsState: FREE, DELAYING, IDLEInterface no.: interface no. to which multicast is sent.Group address:Reference count:
,<
資 管 Lee <A0 -8>
Group-Joining Module Receive: a request from a process to join a group1. Look for the corresponding entry in the table2. If (found)
1. increment the reference count3. If (not found)
1. create an entry with reference count set to one2. Add the entry to the table3. Inform the data link layer to update its configuration table.
4. Set the state to DELAYING.5. Start a timer.6. Return
,<
資 管 Lee <A0 -9>
Group-Leaving Module Receive: a request from a process to leave a group1. Look for the corresponding entry in the table2. If (found)
1. Decrement the reference count2. if (reference count is zero)
1. if (any timer for this entry) cancel the timer.
2. Change the state to FREE. 6. Return
,<
資 管 Lee <A0 -10>
Input Module Receive: an Multicast listener query/report1. Check the message type2. If (query)
1. Start a timer for each entry in the table with the state IDLE2. Change each IDLE state to DELAYING state3. Return
3. If (report) 1. Look for the corresponding entry in the table2. if (found and state is DELAYING)
1. Cancel the timer for this entry.2. Change the state to IDLE
4. Return
,<
資 管 Lee <A0 -11>
Output Module Receive: a signal from a timer1. Look for the corresponding entry in the table2. If (found and state is DELAYING)
1. Create a report2. Send the report3. Reset the state to IDLE
3. Return
,<
資 管 Lee <A0 -13>
Lesson Objectives
Multicast Listener Discovery (MLD) protocol
Describe how IPv6 hosts and routers support multicast communication
Describe the structure of an MLD messages
Describe the structure and purpose of each type of MLD messages
,<
資 管 Lee <A0 -14>
Overview of Multicast Listener DiscoveryIPv6 equivalent of Internet Group
Management Protocol version 2 (IGMPv2) for IPv4
Enables routers to discover the set of multicast addresses for which there are listening nodes for each attached interface
,<
資 管 Lee <A0 -15>
IPv6 Multicast OverviewIn IPv4, multicast support is
optional. In IPv6,multicast support is required.
Elements in multicast are:◦Multicast provides one-to-many delivery◦The set of hosts listening on a specific
IPv6 multicast address is called a multicast group
◦Multicast group membership is dynamic, and hosts can join and leave the group at any time
◦There are no limitations to the size of a multicast group
◦A multicast group can span IPv6 routers across multiple subnets
◦A host can send traffic to a multicast address without being a member of the group
,<
資 管 Lee <A0 -16>
Host Support for Multicast
To send multicast packets:◦ Determine the IPv6 multicast address to use◦ Place the IPv6 multicast packet on the medium
To receive multicast packets:◦ Applications inform IPv6 to receive multicast traffic◦ Register the multicast MAC address with the network
adapter: instructs the network adapter to listen for and pass to higher protocol layers
◦ Inform local routers The host must inform local subnet routers that it is listening for
multicast traffic at a specific multicast address. The protocol that registers multicast group information for IPv6 is MLD. The host sends an MLD Multicast Lister Report message to register membership in a specific multicast group.
,<
資 管 Lee <A0 -17>
Router Support for Multicast
Receive all IPv6 multicast trafficForward IPv6 multicast trafficReceive and process MLD Multicast
Listener Report and Multicast Listener Done messages
Query attached subnets for host membership status
Communicate group membership to other IPv6 multicast routers
,<
資 管 Lee <A0 -19>
Structure of an MLD Message Packet
IPv6 HeaderNext Header = 0 (Hop-by-hop Options)
MLD MessageHop-by-Hop Options HeaderIPv6 Router Alert OptionNext Header = 58 (ICMPv6)
,<
資 管 Lee <A0 -20>
Structure of the Multicast Listener Query Message
TypeCode
ChecksumMaximum Response
DelayUnused
Multicast Address
= 0= 130
= 0
,<
資 管 Lee <A0 -21>
Structure of the Multicast Listener Report Message
TypeCode
ChecksumMaximum Response
DelayUnused
Multicast Address
= 0= 131
= 0
= 0
,<
資 管 Lee <A0 -22>
Structure of the Multicast Listener Done Message
TypeCode
ChecksumMaximum Response
DelayUnused
Multicast Address
= 0= 132
= 0
= 0