91-414 Data Communications II LAB5 IP MULTICAST Sources: Mastering Networks, Liebeherr & Zarki Kurose & Ross Resources: man pages msend, mreceive IETF IGMP RFC Save data needed in directory /labdata. Save files to floppy. Send answers to numbered questions via email. Ethereal data traces should be submitted in printed or printable form. Note: On the PCs, eth0 is the port below and eth1 is the port above. PC PC1 PC2 PC3 PC4 Eth0 10.0.1.11/24 10.0.1.21/24 10.0.1.31/24 10.0.1.41/24 Eth1 10.0.2.12/24 10.0.2.22/24 10.0.2.32/24 10.0.2.42/24 Cisco Router Ethernet0 Ethernet1 Router1 10.0.1.1/24 10.0.2.1/24 Multicast on a single segment Reboot the PCs. Connect eth0 interfaces of the four PCs to the same hub. Make sure the eth1 interface on each of the four PCs is disabled Verify that the PCs are connected to the console ports of routers. PC1 should be connected to Router1 and so on. Verify that you can connect to the routers using the Kermit command. Use ping to verify that all interfaces are correctly configured. On each PC, add a route to address 224.0.0.0/8 for eth0: o route add –net 224.0.0.0/8 dev eth0. Start ethereal to capture traffic on eth0 of PC1. Start a multicast sender on PC1: o msend –I eth0 –g 224.1.2.3 –p 4444 –text “PC1” Observe the traffic with ethereal: 1. What are the MAC address and destination IP address of the transmitted packets? 2. What is the transport protocol used? 3. Which IGMP messages do you observe? How many IGMP packets do you observe? 1 91-414 Data Communications II Start a multicast receiver on PC2 and PC3 o mreceive –g 224.1.2.3 –p 4444 4. What, if any, extra packets do PC2 and PC3 generate? Start a new multicast sender on PC4 o msend –g 224.1.2.3 –p 4444 –text “PC4” 5. How do the receivers handle the transmissions from multiple senders? 6. There is no IP multicast support for TCP. What are the implications? Speculate why there is no multicast version for TCP. 7. What is the impact of adding and deleting multicast senders and receivers to a multicast group. Stop everything. Enable IGMP at a router Set up Router1 so that it used IGMP. For now, don’t enable multicast packet forwarding since there is only one IP network segment, but set up for pim dense mode as the multicast routing protocol. Router> enable Router(config)# ip routing Password: <enable secret> Router# configure terminal Router(config)# no ip routing Router(config)# ip routing Router(config)# no ip multicast-routing Router(config-if)# interface Ethernet0 Router(config-if)# no shutdown Router(config-if)# ip pim dense-mode Router(config-if)# end The following IOS commands may be useful: ip mroute - displays the multicast routing table for all groups clear ip mroute * - deletes all multicast routing table entries show ip igmp groups - displays multicast groups with members IGMP Packets Start ethereal on PC4. Observe the IGMP packets that are exchanged between hosts and the router. Start multiple senders and/or receivers on the PCs. Start each in a separate window. On PC1: msend –g 224.1.1.1 –p 1111 –t 8 –text “PC1” msend –g 224.2.2.2 –p 2222 –t 8 –text “PC1” mreceive –g 224.3.3.3 –p 3333 2 91-414 Data Communications II On PC2: msend –g 224.3.3.3 –p 3333 –t 8 –text “PC2” msend –g 224.1.1.1 –p 1111 –t 8 –text “PC2” On PC3: msend –g 224.2.2.2 –p 2222 –t 8 –text “PC3” msend –g 224.3.3.3 –p 2222 –t 8 –text “PC3” On PC4: mreceive –g 224.1.1.1 –p 1111 mreceive –g 224.2.2.2 –p 2222 mreceive –g 224.3.3.3 –p 3333 8. Which types of IGMP message do you see? 9. What are their TTL values: 10. What is the destination IP address of IGMP Leave messages? On PC4, ping a mcast group (ping –c 5 224.0.0.1) 224.0.0.1 is a special mcast group that all IP interfaces that are IP mcast enabled are joined to. 11. How many hosts responded? Stop everything Multicast on multiple segments This part involves how IP multicast works on a network with multiple IP neworks. Here, two segments are connected by a multicast enabled router. For each segment, the router keeps track of which hosts have joined a multicast group. Ethernet0 10.0.1.1/24 Router1 Ethernet1 10.0.2.1/24 Hub2 Hub1 Eth0 10.0.1.11/24 24 PC1 Eth0 10.0.1.21/24 24 PC2 Eth1 10.0.2.32/24 24 PC3 PC4 Eth1 10.0.2.42/24 24 Set up the network as above using instructions from previous labs. Note that PC3 and PC4 are connected to the hub via Eth1. For each PC, add a default route for Router1. For PC1 and PC2, a default route is set to 10.0.1.1. For PC3 and PC4, a default route is set to 10.0.2.1. On each PC add a second route for 224.0.0.0/8. 3 91-414 Data Communications II o On PC1 and PC2: route add –net 224.0.0.0/8 dev eth0 o On PC3 and PC4: route add –net 224.0.0.0/8 dev eth1 Disable the unused interfaces on each PC. Use the ping command to verify that all interfaces are correctly configure. Set up Router1 so that if runs IGMP on both interfaces but IP multicast forwarding remains disabled on the router. Refer to instructions above. Start an ethereal session on PC1 that captures data on eth0 and a session on PC3 that captures data on eth1. Use the same commands above to start multicast senders and receivers as were used above. 12. At the router, show the igmp groups and include the output in the lab report. Stop everything. Enable multicast forwarding Make sure PIM-DM is enabled on both router interfaces. Enable IP multicast forwarding on Router 1 (Router(config) ip multicastrouting). Start an ethereal capture of IGMP as before. Start msends and mreceives as before. 13. What are the destination IP addresses of IGMP queries from the multicast router? 14. What is the destination IP address of an IGMP report? 15. Is a report generated for every host for each group it joins? 4