Lecture 15 and 16 Ch 12: Multicast Routing Section 12

Slides:



Advertisements
Similar presentations
Multicast on the Internet CSE April 2015.
Advertisements

Computer Networks21-1 Chapter 21. Network Layer: Address Mapping, Error Reporting, and Multicasting 21.1 Address Mapping 21.2 ICMP 21.3 IGMP 21.4 ICMPv6.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Internet Control Message Protocol (ICMP)
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 12 Multicasting And Multicast.
TCP/IP Protocol Suite 1 Chapter 15 Upon completion you will be able to: Multicasting and Multicast Routing Protocols Differentiate between a unicast, multicast,
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Internet Networking Spring 2002
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
TCP/IP Protocol Suite 1 Chapter 9 Upon completion you will be able to: Internet Control Message Protocol Be familiar with the ICMP message format Know.
TCP/IP Protocol Suite 1 Chapter 9 Upon completion you will be able to: Internet Control Message Protocol Be familiar with the ICMP message format Know.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 9 Internet Control Message.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
Internet Control Message Protocol (ICMP)
Multicasting  A message can be unicast, multicast, or broadcast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
22.1 Chapter 22 Network Layer: Delivery, Forwarding, and Routing Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Covering ICMP (Ch 9) and IGMP (Section 12.3)
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
TCP/IP Protocol Suite 1 Chapter 8 Upon completion you will be able to: Internet Protocol Understand the format and fields of a datagram Understand the.
Error and Control An IP datagram travels from node to node on the way to its destination Each router operates autonomously Failures or problems may occur.
TCP/IP Protocol Suite 1 Chapter 10 Upon completion you will be able to: Internet Group Management Protocol Know the purpose of IGMP Know the types of IGMP.
TCP/IP Protocol Suite 1 Chapter 8 Upon completion you will be able to: Internet Protocol Understand the format and fields of a datagram Understand the.
Information and Communication engineering (ICE) MUT ITEC4610 Network Switching and Routing ดร. ประวิทย์ ชุมชู หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่อสาร.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Chapter 21 Multicast Routing
Network Layer: Address Mapping, Error Reporting, and Multicasting
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
CS4500CS4500 Dr. Clincy1 Continuing Chapter 11 Unicast Routing Protocols (RIP, OSPF, BGP) (How the routers’ tables are filled in) Lecture 6.
22.1 Network Layer Delivery, Forwarding, and Routing.
1 Kyung Hee University Chapter 9 ICMP. 2 Kyung Hee University 9.1 Introduction  IP protocol has no error-reporting or error-correcting mechanism When.
ICMP The IP provides unreliable and connectionless datagram delivery. The IP protocol has no error-reporting or error-correcting mechanism. The IP protocol.
Chapter 19 Network Layer Protocols
Multicasting protocols
(How the routers’ tables are filled in)
(How the routers’ tables are filled in)
21-2 ICMP(Internet control message protocol)
Chapter 9 ICMP.
ICMP ICMP – Internet Control Message Protocol
Chapter 6 Delivery & Forwarding of IP Packets
8 Network Layer Part V Computer Networks Tutun Juhana
Byungchul Park ICMP & ICMPv DPNM Lab. Byungchul Park
Delivery, Forwarding, and Routing
Agenda Answer any questions regarding OSPF or BGP
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
UNIT III ROUTING.
(How the routers’ tables are filled in)
Multicasting and Multicast Routing Protocols
(How the routers’ tables are filled in)
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol Version 4 (ICMPv4)
Chapter 10 IGMP Prof. Choong Seon HONG.
Internet Control Message Protocol
Internet Control Message Protocol
IP Multicast COSC /5/2019.
Chapter 12 Multicasting And Multicast Routing Protocols
Implementing Multicast
Optional Read Slides: Network Multicast
TCP/IP Protocol Suite 1 Chapter 9 Upon completion you will be able to: Internet Control Message Protocol Be familiar with the ICMP message format Know.
Presentation transcript:

Lecture 15 and 16 Ch 12: Multicast Routing Section 12 Lecture 15 and 16 Ch 12: Multicast Routing Section 12.3 IGMP Chapter 9: ICMPv4 Dr. Clincy Lecture

Lecture 15 Ch 12: Multicast Routing Dr. Clincy Lecture

Put Your Unicast Routing HAT on Dr. Clincy Lecture

Recall Unicasting Vs Multicasting Vs Broadcasting Unicasting Case: In unicast routing, the router forwards the received packet through only one of its interfaces. Both the source and destination addresses are unicast addresses One-to-One Relationship Dr. Clincy Lecture

Multicasting Case Packet starts from source, S1, and goes to all destinations belonging to group, G1 In multicast routing, the router may forward the received packet through several of its interfaces. The source address is unicast and the destination address is a group address (Class D) Group address define a set of Rx’s One-to-Many Relationship Actually, the packet is DUPLICATED at each router – only one copy travels in between any two routers Dr. Clincy Lecture

Broadcasting Case One-to-all case would cause traffic problems Dr. Clincy Lecture

Multicasting versus multiple unicasting Recall Multicasting One packet start from source and is duplicated at each router Only one copy of the packet travels in between any two routers Packet has a single group address Multiple Unicast Case More than one copy of the packet starts from the source Each copy of the packet has a different destination address In this case, there could be multiple copies traveling between any two routers Multicast is more efficient than multiple unicast because in the unicast cast, some links will use more bandwidth in handling more packet copies. Also for the unicast case, there is more delay at the source due to packet duplication Dr. Clincy Lecture

MULTICAST ROUTING Now we understand what multicasting is Now let’s understand how packets are routed in the multicast case Some Objectives of multicast routing (very complex) Each Rx of the group must get only one copy of the packet Rx’s not belonging to the group DO NOT get a copy of the packet The packet can not visit the same router more than once (no loops) The route from Tx to various Rx’s must be optimal (shortest path) Dr. Clincy Lecture

MULTICAST TREES Recall in the RIP/OSPF unicast World, we converted networks to graphs in finding the optimal routes For graphs, nodes can have both successors and predecessors In the multicast World, networks are converted to trees Tree has a hierarchical structure Each node on a tree has (1) a single parent and (2) zero to multiple off-springs (children) The root (source or Tx) of the tree is the initial node (has no parent) A leaf (group members) of a tree has no child Called Spanning Tree provided all nodes are connected NOTE: show students difference between graph & tree Dr. Clincy Lecture

Two Types of Trees are used for multicasting by protocols: Source-Based Trees – a single tree is created for each Source-to-Group combination. For example, given M sources and N groups, there would be a maximum of MxN trees Group-Shared Trees – each group has it’s own tree. Given N groups, there would be a maximum of N trees. Dr. Clincy Lecture

Source-Based Tree Given a source needs to send a packet to group-1, a certain tree is used Given the same source needs to send a packet to group-5, a different tree is used Challenge: (1) determining all source-to-group combinations, (2) each tree needs to be optimal Two approaches used to create optimal source-based trees: (1st) An extension to the unicast distance vector routing we covered in regards to RIP – used by DVMRP (Distance Vector Multicasting Routing Protocol) (2nd) An extension to the unicast link state routing we covered in regards to OSPF – used by MOSPF (Multicast Open Shortest Path First) Another protocol called PIM-DM (Protocol Independent Multicast – Dense Mode) uses either RIP or OSPF depending on need Dr. Clincy Lecture

Group-Shared Tree Given a source (source x) needs to send a packet to group-1, a certain tree is used Given a different source (source y) needs to send a packet to the same group, group-1, the same tree is used If either source-x or source-y need to send to a different group, the tree would change Note: the tree changes when the group changes – the tree remains the same for a group regardless if the source changes – the group determines the tree Two approaches used to create optimal group-shared trees: (1st) Steiner Tree – the optimal tree has the minimum cost routes like Dijkstra’ algorithm however, instead of it being based around a source node, it is not based around any particular source (very complex and has to re-run every time the topology changes) – not really used by the Internet (2nd) Rendezvous-Point Tree – a tree is created for each group and a single router is selected as the core or rendezvous point or root of the tree. The CBT (Core-Based Tree Protocol) and PIM-SM (Protocol Independent Multicast – Sparse Mode) use the rendezvous-point tree approach. Dr. Clincy Lecture

Multicast routing protocols Dr. Clincy Lecture

DVMRP Distance Vector Multicast Routing Protocol –similar to the distance vector routing protocol we covered for the unicast case – next hop scenario. For DVMRP, the optimal tree is not pre-defined – only the next hop How do we build a tree using the DVMRP approach ? Use a modified “flooding” approach Recall what flooding is: a router sends a copy of a packet out of all of it’s interfaces – all interfaces except the interface the packet came in on Flooding will cause looping problems (ie. the same packet copy that left the router will re-visit the router) The flooding is modified to stop the looping problem How is the flooding modified ?????? Dr. Clincy Lecture

DVMRP - How is the flooding modified ?????? Instead of forwarding copies of the packet through all interfaces (except the receiving interface), ONLY FORWARD THE PACKET IF IT CAME IN ON THE SHORTEST PATH If it comes in on the non-shortest path – drop it This approach of only forwarding the packet if it comes in on the shortest path is called Reverse Path Forwarding (RPF) – RPF prevents looping How does the router determines if the packet came in on the shortest path ??? Recall that the unicast routing tables contain the next hop based around the shortest path – the table has destinations, interfaces and next hops en route to destinations If the router used the packet’s source address (instead of destination address), the router could determine the NEXT HOP and desired INTERFACE to exit en route to the packet’s source address Punch Line: if the INTERFACE the packet arrived at, is the same INTERFACE the packet needs to take in achieving the shortest path en route to the source address – then the PACKET ARRIVED USING THE SHORTEST PATH – make sense ?? Dr. Clincy Lecture

DVMRP Continuing EXAMPLE A multicast router receives a packet with source address 195.34.23.7 and destination address 227.45.9.5 from interface 2. Should the router discard or forward the packet based on the following unicast table ? Destination Interface 121.0.0.0 1 185.67.0.0 2 195.34.0.0 3 SOLUTION: In interpreting the source address of 195.34.23.7 using the default mask, the router would send the packet to network 195.34.0.0 via interface 3 (not interface 2). Recall the packet came in on interface 2 – therefore, the router would DROP the packet (and not forward it) Dr. Clincy Lecture

DVMRP Continuing What RPF guarantees is: each network will receive a copy of the multicast packet WITHOUT the loop problem What RPF doesn’t guarantee is: each network will receive ONLY ONE COPY With the Reverse Path Forwarding approach, networks could received multiple copies (see example below) In fixing this problem, a policy called Reverse Path Broadcasting (RPB) can be implemented. Dr. Clincy Lecture

Reverse Path Broadcasting (RPB) To eliminate networks (nodes) receiving more than one copy, ONLY THE PARENT HAS THE RIGHT TO FORWARD (this is the RPB policy) Recall: with a tree, each node has only ONE PARENT Therefore, if the parent is the only node that can forward, no node should receive duplicates Policy: the router sends the packet only out of those interfaces for which it is the designated parent. See the example  The next question: “How is the parent determined ????” The router with the shortest path to the source is designated as the PARENT Recall: because routers share info with their neighbors, they can easily determine which router has the shortest path to the source Dr. Clincy Lecture

RPB creates a shortest path broadcast tree (not multicast tree) from the source to each destination. It guarantees that each destination receives one and only one copy of the packet. Dr. Clincy Lecture

Reverse Path Multicasting (RPM) Recall RPB broadcast a packet versus multicast How is multicasting achieved ? (1) the first packet is broadcasted no matter what, (2) the remaining packets are multicasted based on pruning and grafting Another name for pruning and grafting is Reverse Path Multicasting (RPM) Based on pruning Using the IGMP (Internet Group Management Protocol), each PARENT ROUTER holds a membership and knows which groups it is not responsible for. The PARENT ROUTER sends a “prune message” to it’s upstream router letting the upstream router know NOT to send any packets belonging to certain no-interest groups through that corresponding interface. That upstream router will do the same to it’s upstream router This creates a “pruning” effect in that only the packets belonging to a group are forwarded through a particular interface Based on grafting Suppose a “leaf” router (a router with NO children) had previously sent a prune message and suddenly realize it NOW INTERESTED in receiving the multicast packet The leaf router will issue a grafting message upstream and as a result, multicasting will resume Dr. Clincy Lecture

RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes. Dr. Clincy Lecture

MOSPF MOSPF stands for Multicast Open Shortest Path First Extension of the OSPF protocol Instead of the tree being generated gradually – it’s generated all at once – by using the link state database (recall) With the link state database, the router can see the entire topology Each router could then use Dijikstra’s algorithm and obtain a least cost tree for each router (or node) For multicasting routing, we need a tree for each source/group pair For the source/group trees, the only hosts with the particular group address are included We do the previous by associating the unicast address with the group address – with this approach, we do the calculation the same way using the unicast address however, the associated group address dictates if the host is added to the tree or not MOSPF is a data-driven protocol – the first time a MOSPF router sees a datagram with a given source and group address, the router calculates Dijkstra Dr. Clincy Lecture

Core-Based Tree (CBT) Protocol Is a group-shared protocol Autonomous systems are divided into regions and a core router or rendezvous point is used for each region In forming a tree: 1st: the core router or rendezvous router is selected (very complex - will not cover this process – not covered in your book as well) 2nd: all other routers are informed of the unicast address of rendezvous router 3rd: all routers wanting to join group sends a “join message” to the rendezvous router 4th: the intermediate routers between the rendezvous router and Tx router record the address of the source and the interface in which the packet came into the router on 5th: after the rendezvous has received all joined messages – the tree is formed Dr. Clincy Lecture

CBT - Sending a multicast packet Now that the tree is formed, how are multicast packets sent ? Any particular source can send a multicast packet to the group by: 1st: source (inside or outside of the shared tree) sends packet to rendezvous router (via the rendezvous router’s unicast address) 2nd: rendezvous router then sends the packet to the group members Dr. Clincy Lecture

DVMRP & MOSPF Versus CBT For DVMRP and MOSPF, the tree is created from the root For CBT, the tree is created starting from the leaves For DVMRP, the tree is first made via broadcast and then pruned into a multicast tree For CBT, initially there is no tree and then a tree is created gradually via grafting (ie. announcing to the core you want to be apart of the group) Dr. Clincy Lecture

Protocol Independent Multicast – Dense Mode (PIM-DM) PIM-DM is used in a dense multicast environment, such as a LAN environment. PIM-DM is justifiably used when each router is involved in multicasting – therefore broadcasting is justified PIM-DM uses reverse path forwarding, pruning and grafting techniques for multicasting Dr. Clincy Lecture

Protocol Independent Multicast – Sparse Mode (PIM-SM) PIM-SM is used in a sparse multicast environment, such as a WAN environment. PIM-SM is used when there is a slight possibility each router is involved in multicasting – therefore NOT justifying broadcasting PIM-SM operates more like CBT PIM-SM allows the ability to switch between source-based tree and group- shared tree strategies Dr. Clincy Lecture

Multicast Backbone (MBONE) There are many more unicast oriented routers in the Internet than multicast routers (ie. routers able to multicast) In creating more links between multicast routers, the concept of “tunneling” is used Tunneling - via unicast routers, multicast routers are logically connected – in essence we create a multicast backbone in logically linking the multicast routers Dr. Clincy Lecture

MBONE – How are tunnels created ? How to create a tunnel 1st: encapsulate multicast packet inside a unicast packet (in the data field) 2nd: the unicast intermediate routers route the packet to the next multicast router Dr. Clincy Lecture

Internet Control Message Protocol Chapter 9 Internet Control Message Protocol Dr. Clincy Lecture

Recall - (1) Explain Creating a Table Recall – (2) Explain How the Router Uses the Table Mask Destination Next Hop I. 255.255.0.0 134.18.0.0 -- m0 255.255.0.0 129.8.0.0 222.13.16.40 m1 255.255.255.0 220.3.6.0 222.13.16.40 m1 0.0.0.0 0.0.0.0 134.18.5.2 m0 U UG Dr. Clincy Lecture

ICMP IP, as an unreliable protocol, is not concerned with error checking and error control. ICMP was designed, in part, to compensate for this shortcoming. ICMP does not correct errors, it simply reports them. ICMP messages are divided into error-reporting messages and query messages. The error-reporting messages report problems that a router or a host (destination) may encounter. The query messages get specific information from a router or another host. Dr. Clincy Lecture

ICMP encapsulation Dr. Clincy Lecture

ICMP messages Dr. Clincy Lecture

9.2 MESSAGE FORMAT An ICMP message has an 8-byte header and a variable-size data section. Although the general format of the header is different for each message type, the first 4 bytes are common to all. Dr. Clincy Lecture

ICMP always reports error messages to the original source. Error-reporting messages ICMP always reports error messages to the original source. Dr. Clincy Lecture

Note: The following are important points about ICMP error messages: No ICMP error message will be generated in response to a datagram carrying an ICMP error message. No ICMP error message will be generated for a fragmented datagram that is not the first fragment. No ICMP error message will be generated for a datagram having a multicast address. No ICMP error message will be generated for a datagram having a special address such as 127.0.0.0 or 0.0.0.0. Dr. Clincy Lecture

Other destination-unreachable messages can be created only by routers. Destination-unreachable format Destination-unreachable messages with codes 2 or 3 can be created only by the destination host. Other destination-unreachable messages can be created only by routers. Dr. Clincy Lecture

NOTE: IP doesn’t have Flow Control. Source-quench format NOTE: IP doesn’t have Flow Control. A source-quench message informs the source that a datagram has been discarded due to congestion in a router or the destination host. The source must slow down the sending of datagrams until the congestion is relieved. Dr. Clincy Lecture

Time-exceeded message format Whenever a router decrements a datagram with a time- to-live value to zero, it discards the datagram and sends a time-exceeded message to the original source. When the final destination does not receive all of the fragments in a set time, it discards the received fragments and sends a time-exceeded message to the original source. In a time-exceeded message, code 0 is used only by routers to show that the value of the time-to-live field is zero. Code 1 is used only by the destination host to show that not all of the fragments have arrived within a set time. Dr. Clincy Lecture

Parameter-problem message format A parameter-problem message can be created by a router or the destination host. Dr. Clincy Lecture

Redirection concept A host usually starts with a small routing table that is gradually augmented and updated. One of the tools to accomplish this is the redirection message. A redirection message is sent from a router to a host on the same local network. Router forwards packet to correct router and sends “redirection” message to host so host can correct table Dr. Clincy Lecture

9.4 QUERY ICMP can also diagnose some network problems through the query messages, a group of four different pairs of messages. In this type of ICMP message, a node sends a message that is answered in a specific format by the destination node. The topics discussed in this section include: Echo Request and Reply Timestamp Request and Reply Address-Mask Request and Reply Router Solicitation and Advertisement Dr. Clincy Lecture

Echo-request and echo-reply messages An echo-request message can be sent by a host or router. An echo- reply message is sent by the host or router which receives an echo- request message. Echo-request and echo-reply messages can be used by network managers to check the operation of the IP protocol. Echo-request and echo-reply messages can test the reachability of a host. This is usually done by invoking the ping command. Dr. Clincy Lecture

Timestamp-request and Timestamp-reply message format Timestamp-request and timestamp-reply messages can be used to calculate the round-trip time between a source and a destination machine even if their clocks are not synchronized. The timestamp-request and timestamp-reply messages can be used to synchronize two clocks in two machines if the exact one-way time duration is known. Dr. Clincy Lecture

Mask-request and mask-reply message format Mask-request and Mask-reply messages can be used to get a mask for a particular IP address Dr. Clincy Lecture

Router-solicitation/advertisement message format Router-Solicitation Message – router uses this message in determining if adjacent routers are alive or not Router-Advertisement Message – router uses this message in gathering info on the other routers connected to the same network Dr. Clincy Lecture

ICMP CHECKSUM In ICMP the checksum is calculated over the entire message (header and data). Dr. Clincy Lecture

9.6 DEBUGGING TOOLS We introduce two tools that use ICMP for debugging: ping and traceroute. The topics discussed in this section include: Ping Traceroute Dr. Clincy Lecture

The ping program operation We use the ping program to test the server fhda.edu. The result is shown below: $ ping fhda.edu PING fhda.edu (153.18.8.1) 56 (84) bytes of data. 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=1.91 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=1 ttl=62 time=2.04 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=2 ttl=62 time=1.90 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=3 ttl=62 time=1.97 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=4 ttl=62 time=1.93 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=5 ttl=62 time=2.00 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=6 ttl=62 time=1.94 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=7 ttl=62 time=1.94 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=8 ttl=62 time=1.97 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=9 ttl=62 time=1.89 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=10 ttl=62 time=1.98 ms --- fhda.edu ping statistics --- 11 packets transmitted, 11 received, 0% packet loss, time 10103ms rtt min/avg/max = 1.899/1.955/2.041 ms Dr. Clincy Lecture

Trace Route We use the traceroute program to find the route from the computer voyager.deanza.edu to the server fhda.edu. The following shows the result: $ traceroute fhda.edu traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets 1 Dcore.fhda.edu (153.18.31.254) 0.995 ms 0.899 ms 0.878 ms 2 Dbackup.fhda.edu (153.18.251.4) 1.039 ms 1.064 ms 1.083 ms 3 tiptoe.fhda.edu (153.18.8.1) 1.797 ms 1.642 ms 1.757 ms Dr. Clincy Lecture

Section 12.3: Internet Group Management Protocol Dr. Clincy Lecture

Unicast – one-to-one relationship Position of IGMP in the network layer Unicast – one-to-one relationship Multicast – one-to-many relationship – IGMP helps facilitate that one-to-many relationship Like ICMP, IGMP is a companion to IP IGMP is NOT a multicast routing protocol – but rather a protocol that manages the group membership IGMP gives the multicast routers info about the membership status of hosts (routers) connected to the network. . Dr. Clincy Lecture

Note: IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface. (Visualize a set of “multicast” routers amongst a set of “unicast” routers – and IGMP’s job is to facilitate this communication and info amongst the “multicast” routers”) Dr. Clincy Lecture

IGMP MESSAGES IGMP has three types of messages: the query, the membership report, and the leave report. There are two types of query messages, general and special. Dr. Clincy Lecture

IGMP message format Amount of time a query must be answered in – 10ths of a second units Checksum over the entire 8-byte message Shows the type of message 0 for general query: contains group id for special query, membership report and leave report messages Dr. Clincy Lecture

IGMP OPERATION A multicast router connected to a network has a list of multicast addresses of the groups with at least one loyal member in that network. For each group, there is one router that has the duty of distributing the multicast packets destined for that group. The topics discussed in this section include: Joining a Group Leaving a Group Monitoring Membership Dr. Clincy Lecture

IGMP operation A multicast router connected to a network has a list of multicast addresses of the groups with at least one loyal member in that network. For each group, there is one router that has the duty of distributing the multicast packets destined for that group. A host can have a membership in a group – this means one of that host’s processes receives a multicast packet Routers R1, R2 and R list of groupids are mutually exclusive A muticast router can have a membership in a group – this means one of that router’s interfaces receives a multicast packet Dr. Clincy Lecture

Membership report – Joining A Group A host or router can join a group A host maintains a list of processes that have group membership If a process wants to join a group, the host adds process and the desired group to its list If it is the first time entry, the host sends a “membership report” message to the distributing router (in order to receive multicast packets fro that desired group) A router can join a group A router maintains a list of interfaces that have group membership If an interface wants to join a group, the router adds the interface and the desired group to its list If it is the first time entry, the router sends a “membership report” message. The message is sent out of all interfaces other than one from which the new interest comes Dr. Clincy Lecture

In IGMP, a membership report is sent twice, one after the other. Note: In IGMP, a membership report is sent twice, one after the other. (if the first is lost or damaged, the second one should make it.) Dr. Clincy Lecture

Leave report When a host (or router) sees that no process is interested in a specific group, it sends a leave report After receiving a leave report, the router doesn’t automatic remove the groupid – there could be other interested hosts or interfaces – therefore the router sends a special query message – if no feedback is received in a specified amount of time – it then purges the groupid from the list Dr. Clincy Lecture

General query message What about the case when there is only 1 host interested in a particular groupid and that host goes down ? Does the router maintain that groupid or what ? The router periodically sends “general query” messages – the general query message queries for membership continuation for all groups (not just one) – if no response is received for a particular groupid (it is removed) – if more than one host/router are interested in the same group – only one host/router responds – cuts down on traffic Dr. Clincy Lecture

Delayed Response If more than one host/router are interested in the same group – only one host/router responds – cuts down on traffic – how is this implemented ? Delayed Response Each router needing to send a response has randomly generated wait times before sending a report FOR EACH group – because the reports are broadcasted – the router will know if some other router has already sent a report regarding the groupid (therefore relinquishing it from having to send a report Dr. Clincy Lecture

Example 1 Imagine there are three hosts in a network as shown below. A query message was received at time 0; the random delay time (in tenths of seconds) for each group is shown next to the group address. Show the sequence of report messages. Dr. Clincy Lecture

Example 1 (Continued) Solution The events occur in this sequence: a. Time 12: The timer for 228.42.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host B which cancels its timer for 228.42.0.0. b. Time 30: The timer for 225.14.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host C which cancels its timer for 225.14.0.0. c. Time 50: The timer for 238.71.0.0 in host B expires and a membership report is sent, which is received by the router and every host. d. Time 70: The timer for 230.43.0.0 in host C expires and a membership report is sent, which is received by the router and every host including host A which cancels its timerfore 230.43.0.0. Note that if each host had sent a report for every group in its list, there would have been seven reports; with this strategy only four reports are sent. Dr. Clincy Lecture

Encapsulation of IGMP packet The IGMP message is encapsulated in an IP datagram, which is itself encapsulated in a frame. Because the IGMP occurs within the physical LAN, the TTL of the IP is set to 1 – guarantees the message doesn’t leave the LAN Regarding the data link layer: Because the IP packet has a MULTICAST address, ARP can’t be used in finding the physical address and forwarding – therefore, the data link layer (or underlying technology) must support multicast addressing Dr. Clincy Lecture

Mapping class D to Ethernet physical address Ethernet supports physical multicast addressing If the first 25 bits indicate this pattern, then the remaining 23 bits can take on a group The router extracts the least significant 23 bits of the class D – however, the class D is 28 bits – therefore, 25 (32) multicast addresses are mapped to a single multicast address at the IP level Therefore, the host must check the IP and discard any packets that do not belong to it. Dr. Clincy Lecture

Note: An Ethernet multicast physical address is in the range 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF. Dr. Clincy Lecture

Solution We can do this in two steps: Example 2 Change the multicast IP address 230.43.14.7 to an Ethernet multicast physical Solution We can do this in two steps: a. We write the rightmost 23 bits of the IP address in hexadecimal. This can be done by changing the rightmost 3 bytes to hexadecimal and then subtracting 8 from the leftmost digit if it is greater than or equal to 8. In our example, the result is 2B:0E:07. b. We add the result of part a to the starting Ethernet multicast address, which is (01:00:5E:00:00:00). The result is 01:00:5E:2B:0E:07 Dr. Clincy Lecture

Example 3 Change the multicast IP address 238.212.24.9 to an Ethernet multicast address. Solution a. The right-most three bytes in hexadecimal are D4:18:09. We need to subtract 8 from the leftmost digit, resulting in 54:18:09.. b. We add the result of part a to the Ethernet multicast starting address. The result is 01:00:5E:54:18:09 Dr. Clincy Lecture

Tunneling Most WANs do not support physical multicast addressing – therefore tunneling is used – the multicast packet is encapsulated in the unicast packet and sent through the network Dr. Clincy Lecture

Example 4 We use netstat with three options, -n, -r, and -a. The -n option gives the numeric versions of IP addresses, the -r option gives the routing table, and the -a option gives all addresses (unicast and multicast). Note that we show only the fields relative to our discussion. $ netstat -nra Kernel IP routing table Destination Gateway Mask Flags Iface 153.18.16.0 0.0.0.0 255.255.240.0 U eth0 169.254.0.0 0.0.0.0 255.255.0.0 U eth0 127.0.0.0 0.0.0.0 255.0.0.0 U lo 224.0.0.0 0.0.0.0 224.0.0.0 U eth0 0.0.0.0 153.18.31.254 0.0.0.0 UG eth0 Any packet with a multicast address from 224.0.0.0 to 239.255.255.255 is masked and delivered to the Ethernet interface. Dr. Clincy Lecture