IGMP and PIM

43
1 IGMP and PIM Suman Pandey EECS702: Topics in Computer Systems - Future Internet (Spring 2008) DPNM Lab

description

IGMP and PIM. Suman Pandey EECS702: Topics in Computer Systems - Future Internet (Spring 2008) DPNM Lab. Modern Applications. Outline. Concepts behind protocols IGMP and PIM Multicasting Addressing scheme Group management IGMP Multicast Routing PIM. RFC. RFC IGMP v1 [RC 1112] - PowerPoint PPT Presentation

Transcript of IGMP and PIM

Page 1: IGMP and PIM

1

IGMP and PIM

Suman PandeyEECS702: Topics in Computer Systems -

Future Internet (Spring 2008) DPNM Lab

Page 2: IGMP and PIM

2

Modern Applications

Page 3: IGMP and PIM

3

Outline Concepts behind protocols IGMP

and PIM Multicasting Addressing scheme Group management IGMP Multicast Routing PIM

Page 4: IGMP and PIM

4

RFC RFC

IGMP v1 [RC 1112] IGMP v2 [RFC 2236] IGMP v3 [draft] PIM v2 –SM [RFC 2362] PIM v2 –DM [RFC 2365]

Supported on Macs, PCs, UNIX

Page 5: IGMP and PIM

5

Multicasting Multicast communications refers to one-to-

many or many-to-many communications. Application level multicast Network multicast

IP Multicasting refers to the implementation of multicast communication in the Internet

Page 6: IGMP and PIM

6

ToolsMulticasting Tools SDR, VIC and RAT for Sun, Linux and Windows

multicasting. Quicktime will be the Macintosh application for viewing

multicast sessions.Products: Apple's QuickTime Conferencing software. ICAST Express Media, video, audio and text clients and servers, beta

version available on request. Merit Network's mrouted, multicast router daemon (server). Microsoft's NetShow-- Windows video/audio client and server.

Multicast-capable. Precept's IP/TV -- Windows client for receiving video/audio/slide

broadcasts. Van Jacobson's popular multimedia multicasting tools for a Unix X

Window server: video (VIC), and audio (VAT).

Page 7: IGMP and PIM

7

Multicast

Page 8: IGMP and PIM

8

Network Multicast

Page 9: IGMP and PIM

9

Multicast Semantics

IP multicast works as follows: Multicast groups are identified by IP addresses in the range

224.0.0.0 - 239.255.255.255 (class D address) Every host (more precisely: interface) can join and leave a

multicast group dynamically Every IP datagram send to a multicast group is transmitted to all

members of the group by routers no security, no “floor control”

Page 10: IGMP and PIM

10

IP Multicast Protocol stack IP Multicasting only supports UDP

as higher layer There is no multicast TCP !

Page 11: IGMP and PIM

11

Multicasting There are three essential

components of the IP Multicast service: IP Multicast Addressing IP Group Management (IGMP v1 & v2) Multicast Routing (PIM v1 & v2)

Page 12: IGMP and PIM

12

Addressing How do you talk to a group of hosts (our

multicast group), where each host has a different MAC address. Ensure that the other hosts, which are not part of the multicast group, don't process the information ?

Break things down Hardware/Ethernet Multicasting IP Multicasting Mapping IP Multicast to Ethernet Multicast

Page 13: IGMP and PIM

13

Hardware/Ethernet multicasting The network card (NIC) must be multicast aware, it is configured, via its drivers,

to watch out for particular multicast MAC addresses apart from its own Ethernet uses the low-order bit set to ZERO (0) for unicast and ONE (1) for

multicast Lower order bit of the higher order octet is set to 1. The multicast MAC address is that can be recognized by computers that are part

of the multicast group The IEEE group used a special Rule to determine the various MAC addresses

that will be considered for multicasting for ex: MAC address 01:00:5E:00:00:05 will be used for the OSPF protocol

Page 14: IGMP and PIM

14

IP Multicast The IP Multicast combined with the hardware multicasting, gives us a multicasting model that works for our

Ethernet network Once Layer 2 (Datalink) picks the multicast packet from the network (because it recognises it, as the destination

MAC address is a multicast) it will strip the MAC addresses off and send the rest to the above layer, which is the Network Layer.

Class D IP address is used for multicast addresses (decided by IANA) Class D is “flat”- that is, subnetting is not used, so no network and host partition. In class D address first 4 bits will always be 1110, the rest of 28 bits are group id, and there can be 228 multicast

groups The group can be permanent such as (assigned by IANA)

224.0.0.0 Base Address (Reserved) [RFC1112,JBP] , 224.0.0.1 All Systems on this Subnet [RFC1112,JBP] ,224.0.0.2 All Routers on this Subnet [JBP] ,224.0.0.3 Unassigned [JBP] ,224.0.0.4 DVMRP Routers [RFC1075,JBP],224.0.0.5 OSPFIGP OSPFIGP All Routers [RFC2328,JXM1]

Group can be transient. IPv6 has similar address allocations

Page 15: IGMP and PIM

15

Mapping IP multicast to Ethernet Multicast

Rule for the mapping To map an IP Multicast address to the

corresponding Hardward/Ethernet multicast address, place the low-order 23 bits of the IP multicast address into the low-order 23 bits of the special Ethernet multicast address. The rest of the high-order bits are defined by the IEEE (yellow color in the example)

23 bits are mapped to the base MAC address of the computer

When combined makes one multicast Mac address

Page 16: IGMP and PIM

16

Group Management and IGMP

We will examine issues of joining and leaving group

Then see how these issues are handled by IGMP

Page 17: IGMP and PIM

17

Advertise Group membership

One Way of Locating Multicast Groups Is Through Web-Based Announcements, Such as This Schedule of MBone Sessions at www.cilea.it/MBone/browse.htm

Applications Such as Multikit Listen for SDP and SAP and Display the Multicast Sessions Advertised by Those Protocols

Page 18: IGMP and PIM

18

Local and wide area multicast

Page 19: IGMP and PIM

19

IGMP Join and Leave

Page 20: IGMP and PIM

20

Joining and Leaving a Group cont…

Page 21: IGMP and PIM

21

Increasing efficiency of Joining and Leaving a Group cont… Allowing host to sends message to Router to

join a group without waiting for query If routers have no group member then it doesn’t

forward any message Allowing a host to explicitly notify its local

router when it leaves a group can increase efficiency

After receiving leave request, router sends query to subnet asking if there is any other group members, if it doest get response, it ceases the packet forwarding

Then router can prune itself from the multicast tree

Page 22: IGMP and PIM

22

IGMP v2 Host functions

Leave Group message•when host want to leave group

Membership Report messages•when host want to join a group•In response to the router query

Version 1 Membership Report messages•IGMPv2 hosts support IGMPv1 Membership Reports for backward compatibility.

Page 23: IGMP and PIM

23

IGMP v2 Host function cont..

Join Multicast sessions are identified in the routers by a (source, group) pair of addresses

source is the address of the session's originator group is the Class D group address

The destination address of the Membership Report message's IP header is the group address

other group members that might be on the subnet hear the report in addition to the router. message itself also contains the group address host sends one or two duplicate reports separated by a short interval 10 sec. for reinsurance.

The local router periodically polls the subnet with queries Each query contains a value called the Max Response Time 10 sec If timer expires, the host responds to the query with one Membership Report for each group to

which it belongs. Other group member also hear it, but the timer plays a role, If the host receives a Membership

Report for a group before its delay timer expires, it does not send a Membership Report for that group. In this way, the router is informed of the presence of at least one group member on the subnet, without all members flooding the subnet with reports.

Leave The message contains the address of the group being left, but unlike Membership Report

messages, the Leave Group message is addressed to the "all routers on this subnet address of 224.0.0.2

because only the multicast routers on the subnet need to know that the host is leaving; other group members do not.

Page 24: IGMP and PIM

24

IGMP v2 Router Function

Group-Specific Query •when host want to leave group

General Query

Page 25: IGMP and PIM

25

IGMP Querier ElectionQuerier Election

Only one IGMP Querier per LAN Querier with lowest numbered IP source address (v2)

Page 26: IGMP and PIM

26

IGMP v2 Router function cont..

General Query For checking the presence of the group members queries are sent every 60 seconds query also contains a value called the Max Response Time. By default,

the Max Response Time is 10 seconds; sent to the "all systems on this subnet" address of 224.0.0.1 and does

not contain a reference to any specific group As a result, the single message polls for reports from members of any

and all groups that might be active on the subnet. The router tracks known groups and the interfaces attached to subnets

with active members If router does not hear anything from the group in the twice the query

interval plus one Max Response Time interval, then it considers there is no members to the group

Group-Specific Query When a router receives a Leave Group message, it must determine

whether any remaining members of that group are on the subnet by sending this query

It contains the group address. Uses that as a destination address

Page 27: IGMP and PIM

27

IGMPv1 Vs IGMPv2 IGMPv1 has no Leave Group message, meaning that there is a longer period

between the time the last host leaves a group and the time the router stops forwarding the group traffic.

IGMPv1 has no Group-Specific Query. This follows from the fact that there is no Leave Group message.

IGMPv1 does not specify a Max Response Time in its query messages. Instead, hosts have a fixed Max Response Time of 10 seconds.

IGMPv1 has no querier election process. Instead, it relies on the IP multicast routing protocol to elect a designated router on the subnet. Because different protocols use different election mechanisms, it is possible under IGMPv1 to have more than one querier on a subnet.

RFC 2236 describes several mechanisms that allow IGMPv2 to adapt in earlier versions

IGMPv3 inclusion of group to be identified not only by group address, but also by source address. If certain member wants to receive traffic from specific source or exclude to receive traffic from some specific source. The member can express these wants in a Membership Report with Include or Exclude filter requests.

Page 28: IGMP and PIM

28

IGMP message format

Page 29: IGMP and PIM

29

PIM

Page 30: IGMP and PIM

30

Multicast Routing concepts source-based tree: one tree per source

shortest path trees, reverse path forwarding

group-shared tree: group uses one tree minimal spanning (Steiner) , center-based trees

Page 31: IGMP and PIM

31

Shortest Path Tree

Page 32: IGMP and PIM

32

Reverse Path Forwarding Rule

forward packet from Source (R1) to all interfaces if and only if packet arrives on the interface that corresponds to the shortest path to Source

no need to remember past packets R5 need not forward packet received from R6

Page 33: IGMP and PIM

33

RPF / Pruning

Page 34: IGMP and PIM

34

Core-based Trees: An Example One router identified as “center” of tree. To join:

edge router sends unicast join-msg addressed to center router

join-msg “processed” by intermediate routers and forwarded towards center

join-msg either hits existing tree branch for this center, or arrives at center

path taken by join-msg becomes new branch of tree for this router

Page 35: IGMP and PIM

35

Core-based Trees: An Example

Suppose R6 chosen as center:

Page 36: IGMP and PIM

36

Core based tree pros and cons Pros

routers not part of a group are not involved in pruning

explicit join/leave makes membership changes faster

router needs to store only one record per group

Cons all multicast traffic traverses core, which is a

bottleneck traffic travels on non-optimal paths

Page 37: IGMP and PIM

37

PIM v2 Protocol independent because other protocols are dependent on Link

state routing (MOSPF) and distance vector routing (DVMRP) This is the only protocol fully supported by Cisco. PIMv1 Vs PIMv2

Version 1 of the protocol encapsulates its messages in IP packets with protocol number 2 (IGMP) and uses the multicast address 224.0.0.2.

PIM v2 uses its own protocol number of 103 and the reserved multicast address 224.0.0.13.

PIM Choose different strategies depending on whether multicast tree is dense or sparse

In dense mode the receivers are densely situated and most f the routes need to participate in the multicast forwarding

flood and prune good for dense groups only need a few prunes CBT needs explicit join per source/group

In sparse mode receivers are sparsely situated Flood and prune is a wastage. Too many prune message. Join and prune is better Center based tree is good for sparse groups

Page 38: IGMP and PIM

38

PIM v2 Continue PIM uses a notion of central node (rendezvous point) RP

for each group, which maintains multicast shortest path tree for each group

We assume in a domain of routers each router knows the unicast IP address for RP of a particular group

In PIM sparse there are two type of trees : shared tree for a group and source specific tree

Typically shared tree is built first and then source specific tree if required

Page 39: IGMP and PIM

39

PIM-DM Uses five PIMv2 message

Hello Join/Prune Graft Graft-Ack Assert

Uses flood-and-prune to build the multicast tree. Flood hello to entire PIM domain, because it does not have a build in routing

protocol Join and Prune happens the same way as explained in the IGMP protocol,

same mechanism of waiting and prune overriding happens. The Graft message used mainly when there is change in topology.

Recalculation of the RPF interface when the unicast routing table changes Needs to elect a Designated router. IGMP needs a DR. If there are two router to reach the destination, then PIM uses Assert to

decide which route to select. (This is required because there is no routing protocol)

Page 40: IGMP and PIM

40

PIM-SM Supports both shared and source-based trees. This is why popular. It has following packets

Hello Bootstrap Candidate-RP-Advertisement Join/Prune Assert Register Register-Stop

In Shared tree model we have core router. This is called rendezvous point (RP) in PIM-SM.

RP can be configured in routers statically Open standard bootstrap protocol can be used Cisco-proprietary Auto-RP protocol can be used to designate and advertise the RP. In shared Tree the multicast tree is rooted towards the core rather than source.

CBT uses bidirectional tree, because source might need to deliver the packets to the RP over the branches of the tree. This can lead to a loop in topology, because “RPF” checks can not be performed if there is “upstream” and “downstream” as it is protocol independent.

To achieve this PIM-SM uses register and register stop message, and encapsulate the multicast packet in these messages.

If there are too many encapsulated message then it sends register-stop message to stop this process and chooses “source based” STP rather than “Shared Once” STP

Depending on the situation different scheme can be chosen.

Page 41: IGMP and PIM

41

Some experiments I wanted to see whether

our network supports multicast of not http://detective.internet2.edu

Try a simple multicast application

Vic, rat, sdr - http://www.openmash.org/

Listen to some multicast stream - http://people.internet2.edu/~bdr/dvguide.html

There is no multicast streams in our network, no IGMP no PIM

Tool for testing multicast enabled network List of multicast server

Page 42: IGMP and PIM

42

Some experiments cont…Enabling IP multicast Configuring routers on your network

Enable multicast for the network (globally). Determine the interfaces on which to use multicast, and

enable multicast on those interfaces. Enable multicast routing protocols on specific devices. For

example: PIM Sparse mode for links that have limited bandwidth. PIM Dense mode for links that have broad bandwidth. IGMP or DVMRP4. Create access lists specifying the

range of multicast group addresses allowed to cross the router.

Associate access lists with specific interfaces on different routers.

http://technet2.microsoft.com/windowsserver/en/library/1eacd6dc-f51e-474f-9a49-ba524a15d6691033.mspx?mfr=true

Page 43: IGMP and PIM

43

Finally we can see something like ……