IGMP and PIM - PowerPoint PPT Presentation

About This Presentation
Title:

IGMP and PIM

Description:

1. IGMP and PIM. Suman Pandey. EECS702: Topics in Computer Systems - Future ... Precept's IP/TV -- Windows client for receiving video/audio/ broadcasts. ... – PowerPoint PPT presentation

Number of Views:1112
Avg rating:3.0/5.0
Slides: 44
Provided by: Sum477
Category:
Tags: igmp | pim | precept

less

Transcript and Presenter's Notes

Title: IGMP and PIM


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

2
Modern Applications
3
Outline
  • Concepts behind protocols IGMP and PIM
  • Multicasting
  • Addressing scheme
  • Group management
  • IGMP
  • Multicast Routing
  • 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

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

6
Tools
  • Multicasting 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).

7
Multicast
8
Network Multicast
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

10
IP Multicast Protocol stack
  • IP Multicasting only supports UDP as higher layer
  • There is no multicast TCP !

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)

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

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
    01005E000005 will be used for the OSPF
    protocol

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

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

16
Group Management and IGMP
  • We will examine issues of joining and leaving
    group
  • Then see how these issues are handled by IGMP

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
18
Local and wide area multicast
19
IGMP Join and Leave
20
Joining and Leaving a Group cont
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 doesnt
    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

22
IGMP v2 Host functions
  • Membership Report messages
  • when host want to join a group
  • In response to the router query
  • Leave Group message
  • when host want to leave group
  • Version 1 Membership Report messages
  • IGMPv2 hosts support IGMPv1 Membership Reports
    for backward compatibility.

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.

24
IGMP v2 Router Function
General Query
  • Group-Specific Query
  • when host want to leave group

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

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

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.
28
IGMP message format
29
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

31
Shortest Path Tree
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

33
RPF / Pruning
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

35
Core-based Trees An Example
Suppose R6 chosen as center
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

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

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

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)

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.

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
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/lib
    rary/1eacd6dc-f51e-474f-9a49-ba524a15d6691033.mspx
    ?mfrtrue

43
Finally we can see something like
Write a Comment
User Comments (0)
About PowerShow.com