multi casting

95
IP Multicasting CIS 185 Advanced Routing CCNP 1 Rick Graziani Fall 2008

Upload: vimalm15

Post on 19-Dec-2015

12 views

Category:

Documents


1 download

DESCRIPTION

IP Multicasting

TRANSCRIPT

  • IP Multicasting

    CIS 185 Advanced RoutingCCNP 1

    Rick GrazianiFall 2008

  • Rick Graziani [email protected] 2

    Multicast Topics

    Sender Receiver

    Receiver

    Non-Receiver

    Receiver

    CGMP

    CGMP

    MulticastTraffic

    MulticastTraffic

    Join/Leave

    IGMPIGMP

    CGMP

    MulticastTraffic

    MulticastRouting

    Protocols

    PIM

  • IP Multicast

  • Rick Graziani [email protected] 4

    Multimedia traffic using Unicast

    Application sends one copy of each packet to every client's unicast address.

    As a result, unicast transmission has significant scaling restrictions. If the group is large, the same information must be carried multiple

    times, even on shared links.

    Best case: known unicasts

    Worst case: unknown unicasts

  • Rick Graziani [email protected] 5

    Multimedia traffic using Broadcast

    Application sends only one copy of each packet using a broadcast. Inefficient, if only for a small subset of the network. Every host device must process the broadcast multimedia data frame. Transmissions may reach data rates as high as 13 Mbps or more. All devices must still process the broadcast traffic, even if not

    using it. May use most, if not all, of the allocated bandwidth for each device. Cisco highly discourages broadcast implementation for

    applications delivering data, voice, or video to multiple receivers.

  • Rick Graziani [email protected] 6

    Multimedia traffic using Multicast

    The most efficient solution in between broadcast and unicast. Server sends one copy of each packet to a special address that

    represents multiple clients. Server sends out a single data stream to multiple clients. Client device decides whether or not to listen to the multicast

    address. Saves bandwidth and controls network traffic by forcing the network to

    replicate packets only when necessary. Reduces network bandwidth consumption and host processing. Cisco switches can process IP multicast packets and deliver those

    packets only to requesting receivers at both Layer 2 and Layer 3.

  • Rick Graziani [email protected] 7

    Less stress on server

    In a unicast scenario, the server sequences through transmission of multiple copies of the data, so variability in delivery time is large, especially for large transmissions or large distribution lists.

  • Rick Graziani [email protected] 8

    Uses UDP

    IP multicast traffic uses UDP as the transport layer. UDP adds no reliability, flow control, or error-recovery

    functions to IP. UDP, simplicity, data-packet headers contain fewer

    bytes and consume less network overhead than TCP. Reliability in multicast is therefore managed at the

    receiving client and by QoS in the network.

    Application Header + data

    0 15 16 31

    16-bit Source Port Number

    16-bit Destination Port Number

    16-bit UDP Length

    16-bit UDP Checksum

    Data (if any)

  • Rick Graziani [email protected] 9

    IP Multicast Routing

    IP multicast uses a virtual group address called the multicast IP address.

    IP unicast, a packet is routed from a source address to a destination address, hop by hop.

    IP multicast, the packet's destination address is not assigned to a single destination.

    Instead, receivers join a group. All members of the group

    receive the packet. A host must be a member of the

    group to receive the packet. Multicast sources do not need

    to be members of that group.

  • Rick Graziani [email protected] 10

    IP Multicast Routing

    Packets sent by group member 3 are received by group members 1 and 2, but not by the nonmember of the group.

    The nonmember host sends packets to the multicast group that are received by all three group members.

    Group members 1 and 2 do not send any multicast packets.

    The multicast router sends the packets to respective multiple interfaces to reach all the hosts.

    To avoid duplication, several multicast routing protocols use reverse path forwarding (RPF), discussed later.

  • Rick Graziani [email protected] 11

    Multicast IP Address Structure

    IP multicast uses the Class D addresses, which range from 224.0.0.0 to 239.255.255.255.

    These addresses consist of binary 1110 as the most significant bits (MSBs) in the first octet, followed by a 28-bit group address.

    Unlike with Class A, B, and C IP addresses, the last 28 bits of a Class D address are unstructured.

    224.0.0.0 to 239.255.255.255

  • Rick Graziani [email protected] 12

    Multicast IP Address Structure

    The Internet Assigned Numbers Authority (IANA) controls the assignment of IP multicast addresses.

    The Class D address range is used only for the group address or destination address of IP multicast traffic.

    The source address for multicast datagrams is always the unicast source address.

    Destin. IP: Multicast Src. IP: Unicast

  • Rick Graziani [email protected] 13

    Multicast IP Address Structure

    Applications allocate multicast addresses dynamically or statically. Dynamically:

    Provides applications with a group address on demand. Have a specific lifetime Applications must request this type of address only for as long as

    the address is needed. Statically:

    Reserved for specific protocols that require well-known addresses Such as OSPF Hello packets (224.0.0.5, AllSPFRouters). IANA assigns these well-known addresses.

  • Rick Graziani [email protected] 14

    Reserved Link Local Addresses

    224.0.0.0 to 224.0.0.255 (link local destination addresses) to be used by network protocols on a local network segment.

    Routers do not forward packets in this address range. Typically sent with a Time-to-Live (TTL) value of 1. For example, OSPF uses the IP addresses 224.0.0.5 and

    224.0.0.6 to exchange link-state information. 224.0.0.5, All SPF Routers 224.0.0.6 ALL DR Routers

  • Rick Graziani [email protected] 15

    Reserved Link Local Addresses

    Address 224.0.0.1 identifies the all-hosts group. Every multicast-capable host must join this group when initializing

    its IP stack. If you send an ICMP echo request to this address, all

    multicast-capable hosts on the network answer the request with an ICMP echo reply.

    Address 224.0.0.2 identifies the all-routers group. Multicast routers join this group on all multicast-enabled interfaces.

  • Rick Graziani [email protected] 16

    Multicast MAC Address Structure

    The destination IP address of IP multicast packets maps to a multicast MAC address.

    The multicast MAC address is derived from the IP multicast address.

  • Rick Graziani [email protected] 17

    Multicasts MAC address First 3 bytes (24 bits) are always 01-00-5E. Binary: 00000001.00000000.01011110.0xxxxxxx.xxxxxxxx.xxxxxxxx

    Indicates a multicast applicationIndicates a multicast application. 25th bit set to 0. Usually, is the Organizational Unique Identifier.

    So, if multicast L2 addresses always begin with 01-00-5E, where does the other half (24 bits) of the address come from? 0 + 23 bits (copied from the IP address)0 + 23 bits (copied from the IP address)

    Multicast MAC Address Structure

  • Rick Graziani [email protected] 18

    The second half of the MAC address (24 bits) derives from:0 + 23 bits (copied from the IP address)0 + 23 bits (copied from the IP address)

    The host copies the last 23 bits of the multicast IP address into the last 23 bits of the MAC address.

    Why the conversion? Host: If I join multicast group 224.10.8.5, I will listen for the MAC

    address 01-00-5E-0A-08-05.

    Multicast MAC Address Structure

  • Rick Graziani [email protected] 19

    Multicast MAC Address Structure

    Because all the IP multicast addresses have the first 4 bits set to 1110, the remaining 28 least significant bits (LSBs) of multicast IP addresses must map into the 23 LSBs of the MAC address.

    As a result, the MAC address loses 5 bits of uniqueness in the IP-to-MAC address mapping process (uniqueness of IP address).

    Multicast MAC: 00000001.00000000.01011110.0xxxxxxx.xxxxxxxx.xxxxxxxx

    IP:1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxxLoose 5 bits of IP Address

  • Rick Graziani [email protected] 20

    Every multicast IP address starts with 1110, so this part doesnt need to be in the MAC address

    23 bits of the actual IP multicast address get translated into the MAC address.

    BUT, these 5 bits dont make it to the MAC address.

    Multicast MAC Address Structure

    224 - 239

  • Rick Graziani [email protected] 21

    Multicast MAC Address Structure

    MAC:

    00000001.00000000.01011110.00000001.00000001.00000010

    IP:

    11100000.00000001.00000001.00000010 224.1.1.2

    11100000.10000001.00000001.00000010 224.129.1.2

    11100001.00000001.00000001.00000010 225.1.1.2

    TO

    11101111.10000001.00000001.00000010 239.129.1.2

    This method for mapping multicast IP addresses to MAC addresses results in a 32:1 mapping, whereas each multicast MAC address represents a possible 32 distinct IP multicast addresses.

    02

  • Rick Graziani [email protected] 22

    Multicast MAC Address Structure

  • Rick Graziani [email protected] 23

    Convert 224.0.9.45 to a multicast MAC address.

    224 | 0 | 9 | 451110 0000 0000 0000 0000 1001 0010 1101

    01-00-5E First 3 bytes25th bit 0 00000 0000 0000 1001 0010 1101

    00000 0000 0000 1001 0010 1101 01-00-5E- 0 0 - 0 9 - 2 D(13)

    01-00-5E-00-09-2D

    Multicast MAC Address Structure

  • Rick Graziani [email protected] 24

    Convert 224.192.255.30 to a multicast MAC address.

    224 | 192 | 255 | 301110 0000 1100 0000 1111 1111 0001 1110

    01-00-5E First 3 bytes25th bit 0 00100 0000 1111 1111 0001 1110

    00100 0000 1111 1111 0001 1110

    01-00-5E- 4 0 - F(15) F - 1 E(14)

    01-00-5E-40-FF-1E

    Multicast MAC Address Structure

  • Rick Graziani [email protected] 25

    Multicast MAC Address Structure

    A host that joins one multicast group programs its network interface card to listen to the IP-mapped MAC address.

    If the same MAC address maps to a second MAC multicast address already in use, the host processes both sets of IP multicast frames.

    A host that registered to group 224.129.1.2 also receives the traffic from 225.1.1.2 because the same MAC multicast address is used by both IP multicast flows.

    Remember: Each multicast MAC address represents a possible 32 distinct IP multicast addresses

    IP Mapped Ethernet Multicast Frames

    01:00:5E:01:01:02 [IP 224.129.1.2]

    Joined 224.129.1.2 so NIC is listening for 01-00-5E-01-01-02.

    This multicast MAC can belong to several multicast IP addresses: 224.129.1.2 and 225.1.1.2.

    01:00:5E:01:01:02 [IP 225.1.1.2]

  • Rick Graziani [email protected] 26

    Multicast MAC Address Structure

    It is recommended to avoid overlapping when implementing multicast applications in the multilayer switched network by tuning the destination IP multicast address at the application level.

    In this case where multiple groups map to the same MAC address, usually higher-layer protocols let hosts interpret which packets are for the application, using UDP port numbers (normally different per application).

    IP Mapped Ethernet Multicast Frames

    01:00:5E:01:01:02 [IP 224.129.1.2]

    Joined 224.129.1.2 so NIC is listening for 01-00-5E-01-01-02

    Ill let UDP port numbers determine which one I want to process.

    01:00:5E:01:01:02 [IP 225.1.1.2]

  • Rick Graziani [email protected] 27

    Multicast MAC Address Structure

    Furthermore, because switches forward frames based on the multicast MAC address if configured for Layer 2 multicast snooping, they forward frames to all the members corresponding to other IP multicast addresses of the same MAC address mapping, even if the frames belong to a different IP multicast group.

    Multicast Traffic: 01:00:5E:01:01:02 [IP 224.129.1.2] Multicast Group:

    01:00:5E:01:01:02 [IP 224.129.1.2]

    Multicast Group: 01:00:5E:01:01:02 [IP 225.1.1.2]

  • Rick Graziani [email protected] 28

    Reverse Path Forwarding

    Multicast-capable routers and multilayer switches create distribution trees that control the path that IP multicast traffic takes through the network.

    Reverse path forwarding is the mechanism that performs an incoming interface check to determine whether to forward or drop an incoming multicast frame.

    RPF is a key concept in multicast forwarding. This RPF check helps to guarantee that the distribution tree for

    multicast is loop-free. In addition, RPF enables routers to correctly forward multicast traffic

    down the distribution tree.

  • Rick Graziani [email protected] 29

    Reverse Path Forwarding

    In unicast routing (by default): Traffic is routed through the network along the path from the single source

    to the single destination host. Router does not consider the source address, Considers only the destination address.

    In multicast forwarding: Single source is sending traffic to group of hosts

    Represented by a single multicast group address. When a multicast router receives a multicast packet:

    Determines which direction is the upstream direction (toward the source)

    Which one is the downstream direction (or direction toward the receivers).

    A router forwards a multicast packet only if the packet is received on the correct upstream interface determined by the RPF process.

  • Rick Graziani [email protected] 30

    Reverse Path Forwarding

    For traffic flowing down a source tree, the RPF check procedure works as follows:

    1. The router looks up the source address in the unicast routing table to determine whether it arrived on the interface that is on the reverse path back to the source.

    2. If the packet has arrived on the interface leading back to the source, the RPF check is successful and the router replicates and forwards the packet to the outgoing interfaces.

    3. If the RPF check in the previous step fails, the router drops the packet and records the drop as an RPF failed drop.

  • Rick Graziani [email protected] 31

    RPF check fails

    The router in the figure receives a multicast packet from source 151.10.3.21 on interface S0.

    A check of the unicast route table shows that this router uses interface S1 as the egress (exit) interface for forwarding unicast data to 151.10.3.21.

    Because the packet instead arrived on interface S0, the packet fails the RPF check, and the router drops the packet.

    151.10.3.21 224.1.1.1

  • Rick Graziani [email protected] 32

    RPF check succeeds

    With this example, the multicast packet arrives on interface S1. The router checks the unicast routing table and finds that interface

    S1 is the correct ingress (incoming) interface. The RPF check passes:

    Router forwards the packet.

    151.10.3.21 224.1.1.1

  • Rick Graziani [email protected] 33

    Multicast Forwarding Tree

    Multicast-capable routers create multicast distribution trees that control the path that IP multicast traffic takes through the network to deliver traffic to all receivers.

    The following are the two types of distribution trees: Source trees Shared trees

    Source Tree

    Shared Tree

  • Rick Graziani [email protected] 34

    Source Trees

    The simplest form of a multicast distribution tree is a source tree with: Its root at the source Its branches forming a tree through the network to the receivers.

    Because this tree uses the shortest path through the network, it is also referred to as a shortest path tree (SPT).

    SPT for group 224.1.1.1 rooted at the source, host A, and connecting two receivers, hosts B and C.

  • Rick Graziani [email protected] 35

    Source Trees

    Using the (S,G) notation, the SPT for the example shown is (192.168.1.1, 224.1.1.1). Implies that a separate SPT exists for each individual source

    sending to each group. If host B is also sending traffic to group 224.1.1.1 and hosts A

    and C are receivers, a separate (S,G) SPT would exist with a notation of (192.168.2.2, 224.1.1.1).

  • Rick Graziani [email protected] 36

    Shared Trees

    The shared unidirectional tree for the group 224.1.1.1 with the shared root located at router D the RP.

    Source traffic is sent toward the RP on a source tree. The traffic is then forwarded down the shared tree from the RP to

    reach all the receivers unless the receiver is located between the source and the RP, in which case the multicast traffic is serviced directly.

    Unlike source trees, which have their root at the source, shared trees use a single common root placed at some chosen point in the network.

    This shared root is called a rendezvous point (RP).

  • Rick Graziani [email protected] 37

    Shared Trees

    Because all sources in the multicast group use a common shared tree, a wildcard notation written as (*, G), pronounced star comma G, represents the tree.

    In this case, * means all sources, and G represents the multicast group.

    Therefore, the shared tree shown in the figure is written as: (*, 224.1.1.1).

  • Rick Graziani [email protected] 38

    Comparing:Source Trees

    This advantage guarantees the minimum amount of network latency for forwarding multicast traffic.

    However, this optimization requires additional overhead because the routers maintain path information for each source.

    In a network that has thousands of sources and thousands of groups, this overhead quickly becomes a resource issue on routers or multilayer switches.

    Source trees have the advantage of creating the optimal path between the source and the receivers.

  • Rick Graziani [email protected] 39

    Comparing:Shared Trees

    The disadvantage of shared trees is that, under certain circumstances, the paths between the source and receivers might not be the optimal paths, which may introduce additional latency in packet delivery.

    May overuse some links and leave others unused For example, the shortest path between host A (source 1) and host B

    (a receiver) is between router A and router C. Network designers need to carefully consider the placement of the RP

    when implementing a shared treeonly environment.

    Shared trees have the advantage of requiring the minimum amount of state information in each router.

    This advantage lowers the overall memory requirements and complexity for a network that only allows shared trees.

    Better Path

  • IP Multicast Routing

  • Rick Graziani [email protected] 41

    IP Multicast Routing

    Similar to IP unicast, IP multicast uses its own routing, management, and Layer 2 protocols.

    The following are two important multicast protocols: Protocol Independent Multicast (PIM)

    PIM Dense Mode PIM Sparse Mode (Sparse-dense mode is most common in

    large enterprise networks.) Internet Group Management Protocol (IGMP)

    PIM Dense Mode

    PIM Sparse Mode

  • Rick Graziani [email protected] 42

    PIM

    A multicast routing protocol is responsible for the construction of multicast delivery trees and enabling multicast packet forwarding.

    Different IP multicast routing protocols use different techniques to construct multicast trees and to forward packets.

    The PIM routing protocol leverages whichever unicast routing protocols are used to populate the unicast routing table to make multicast forwarding decisions.

    PIM Dense Mode

    PIM Sparse Mode

  • Rick Graziani [email protected] 43

    PIM

    Routers use the PIM neighbor discovery mechanism to establish PIM neighbors using hello messages to: Build and maintain PIM multicast distribution trees

    ALL-PIM-Routers (224.0.0.13) multicast address Elect the designated router (DR) for a multicast LAN network.

    Two distinct versions: PIM version 1 and PIM version 2.

    PIM Dense Mode

    PIM Sparse Mode

  • Rick Graziani [email protected] 44

    PIM Dense Mode

    PIM dense mode (PIM-DM) multicast routing protocols relies on: Periodic flooding of the network with multicast traffic to set up and

    maintain the distribution tree. Neighbor information to form the distribution tree. Source distribution tree to forward multicast traffic

    Built by respective routers as soon as any multicast source begins transmitting.

    Source Tree

  • Rick Graziani [email protected] 45

    PIM Dense Mode

    PIM-DM assumes that the multicast group members are densely distributed throughout the network and that bandwidth is plentiful, meaning that almost all hosts on the network belong to the group.

    When a router configured for PIM-DM receives a multicast packet: The router performs the RPF check to validate the correct interface

    for the source. Forwards on the packet all the interfaces configured for

    multicasting until pruning and truncating occurs.

    Source Tree

  • Rick Graziani [email protected] 46

    PIM Dense Mode

    All downstream routers receive the multicast packet until the multicast traffic times out.

    PIM-DM sends a pruning message upstream when: Traffic arrives on a non-RPF, point-to-point interface. A leaf router without any receivers sends a prune message,

    where the router, which does not have any members or receivers, sends the prune message to the upstream router.

    A non-leaf router receives a prune message from all of its neighbors.

    Source Tree

  • Rick Graziani [email protected] 47

    PIM Dense Mode

    In summary: PIM-DM works best when numerous members belong to each

    multimedia group. PIM floods the multimedia packet to all routers in the network and then

    prunes routers that do not service members of that particular multicast group.

    PIM-DM is most useful in the following cases: Senders and receivers are in close proximity to one another. There are few senders and many receivers. The volume of multicast traffic is high. The stream of multicast traffic is constant.

    Nevertheless, PIM-DM is not the method of choice for enterprise and service provider customers because of its scalability and flooding properties.

  • Rick Graziani [email protected] 48

    PIM Sparse Mode

    PIM sparse mode (PIM-SM), is based on the assumptions that the multicast group members are sparsely distributed throughout the network and that bandwidth is limited.

    PIM-SM does not imply that the group has few members, just that they are widely dispersed.

    In this case, flooding would unnecessarily waste network bandwidth and could cause serious performance problems.

    Therefore, PIM-SM multicast routing protocols rely on more selective techniques to set up and maintain multicast trees.

    Shared Tree

  • Rick Graziani [email protected] 49

    PIM Sparse Mode

    With PIM-SM, each data stream goes to a relatively small number of segments in the campus network.

    Instead of flooding the network to determine the status of multicast members, PIM-SM defines an RP.

    When a sender wants to send data, it first does so to the RP. When a receiver wants to receive data, it registers with the RP. When the data stream begins to flow from sender to RP to receiver,

    the routers in the path automatically optimize the path to remove any unnecessary hops.

    Shared Tree

  • Rick Graziani [email protected] 50

    PIM Sparse Mode

    PIM-SM assumes that no hosts want the multicast traffic unless they specifically ask for it.

    In PIM-SM, the shared tree mode can be switched to a source tree after a certain threshold to have the best route to the source.

    All Cisco IOS routers and switches, by default, have the SPT threshold set to 0, such that the last-hop router switches to SPT mode as soon as the host starts receiving the multicast, to take advantage of the best route for the multicast traffic.

    Shared Tree

  • Rick Graziani [email protected] 51

    PIM Sparse Mode

    PIM-SM is optimized for environments where there are many multipoint data streams.

    Shared Tree

  • Rick Graziani [email protected] 52

    PIM Sparse-Dense Mode

    PIM can simultaneously support dense mode operation for some multicast groups and sparse mode operation for others.

    It turned out that it was more efficient to choose sparse or dense mode on a per-group basis rather than a per-router interface basis.

    PIM sparse-dense mode allows individual groups to use either sparse or dense mode depending on whether RP information is available for that group.

    If the router learns RP information for a particular group, it is treated as sparse mode; otherwise, that group is treated as dense mode.

    PIM Dense Mode

    PIM Sparse Mode

  • Rick Graziani [email protected] 53

    Automating Distribution of RP

    PIM-SM and PIM sparse-dense modes use various methods, discussed in this section, to automate the distribution of the RP.

    This mechanism has the following benefits: It eliminates the need to manually configure RP information in

    every router and switch in the network. It is easy to use multiple RPs within a network to serve different

    group ranges. It allows load-splitting among different RPs It allows the arrangement of RPs according to the location of

    group participants. It avoids inconsistency; manual RP configurations may cause

    connectivity problems, if not configured properly. PIM uses the following mechanisms to automate the distribution of the

    RP: Auto-RP Bootstrap router (BSR)

  • Rick Graziani [email protected] 54

    Auto-RP: Cisco-RP-announce

    Mapping agents discover which routers in the network are possible candidate RPs.

    RP mapping agent uses the information contained in the announcement to create entries in group-to-RP cache.

    Im a member of the 224.0.1.39 multicast group, Cisco-RP-announce. This will tell

    me who the candidate RPs are.

    Im a candidate RPs. I will send this every 60

    secs to 224.0.1.39.

  • Rick Graziani [email protected] 55

    Auto-RP: Cisco-RP-discovery

    All routers in the PIM network learn about the active group-to-RP mapping from the RP mapping agent.

    Note: It is recommended that a RP mapping agent be configured on the router with the best connectivity and stability.

    Auto-RP

    Im going to learn about group-to-RP mappings

    because I am a member of the 224.0.1.40 multicast group,

    Cisco-RP-discovery.

    Im the RP Mapping Agent, here are the group-to-RP mappings. (every 60 secs)

  • Rick Graziani [email protected] 56

    Auto-RP Auto-RP automates the distribution of group-to-RP mappings.

    defines which multicast groups use which RP. All routers in the PIM network learn about the active group-to-RP

    mapping from the RP mapping agent by automatically joining the Cisco-RP-discovery (224.0.1.40) multicast group.

    The RP mapping agent is the router that sends the authoritative discovery packets that notify other routers which group-to-RP mapping to use (every 60 seconds).

    Such a role is necessary in the event of conflicts (such as overlapping group-to-RP ranges).

    Im going to learn about group-to-RP mappings

    because I am a member of the 224.0.1.40 multicast group,

    Cisco-RP-discovery.

    Im the RP Mapping Agent, here are the group-to-RP mappings. (every 60 secs)

    FYI

  • Rick Graziani [email protected] 57

    Mapping agents also use IP multicast to discover which routers in the network are possible candidate RPs by joining the Cisco-RP-announce (224.0.1.39) group to receive candidate RP announcements.

    Candidate RPs send RP-announce multicast messages for the particular groups every 60 seconds.

    The RP mapping agent uses the information contained in the announcement to create entries in group-to-RP cache. RP mapping agents create only one entry per group. If more than one RP candidate announces the same range, then the

    RP mapping agent uses the IP address of the RP to break the tie.

    Im a member of the 224.0.1.39 multicast group, Cisco-RP-announce. This will tell

    me who the candidate RPs are.

    Im a candidate RPs. I will send this every 60

    secs to 224.0.1.39. FYI

  • Rick Graziani [email protected] 58

    Bootstrap Router

    A bootstrap router (BSR) is a router or Layer 3 device that is responsible for distributing RP. Another way to distribute group-to-RP mapping information. BSR works only with PIM version 2. Uses hop-to-hop flooding of special BSR messages instead of

    multicast to distribute the group-to-RP mapping.

  • Rick Graziani [email protected] 59

    BSR Election

    BSR uses an election mechanism to select the BSR router from a set of candidate routers and multilayer switches in the domain.

    The BSR election uses the BSR priority of the device contained in the BSR messages that flow hop-by-hop through the network.

  • Rick Graziani [email protected] 60

    Whos the BSR?

    BSR sends BSR messages with a TTL of 1 with its IP address to enable candidate BSRs to learn automatically about the elected BSR.

    Neighboring PIM version 2 routers or multilayer switches receive the BSR message and multicast the message out all other interfaces (except the one on which it was received) with a TTL of 1 to distribute the BSR messages hop-by-hop.

    TTL=1

    TTL=1 TTL=1

  • Rick Graziani [email protected] 61

    Candidate RPs

    Candidate RPs send candidate RP advertisements showing the group range for which each is responsible to the BSR, which stores this information in its local candidate RP cache.

    The BSR includes this information in its bootstrap messages and disseminates it to all PIM routers using 224.0.1.13 with a TTL of 1 in the domain hop-by-hop.

    Based on this information, all routers can map multicast groups to specific RPs. As long as a router is receiving the bootstrap message, it has a current RP

    map. Routers and multilayer switches select the same RP for a given group because

    they all use a common RP hashing algorithm.

    TTL=1

    TTL=1 TTL=1

    Candidate RPs send advertisement to BSR with groups they are responsible for.

    BSR sends this info to all PIM routers

    All routers can now map mulitcast groups to a specific RP.

  • Rick Graziani [email protected] 62

    Comparison and Compatibility of PIM Version 1 and Version 2

    PIM version 2 is a standards-based multicast protocol in the Internet Engineering Task Force (IETF).

    Cisco highly recommends using PIM version 2 in the entire multilayer switched network.

    Cisco's PIM version 2 implementation allows interoperability and transition between version 1 and version 2, although there are a few caveats.

  • Rick Graziani [email protected] 63

    Configuring Multicast

  • Rick Graziani [email protected] 64

    Configuring PIM DM/SM

    First, enable multicast routing (disabled by default):Router(config)#ip multicast-routing

    Next, enable PIM on each interface. The recommended method for enabling multicast

    on an interface is the use of the ip pim sparse-dense-mode command.

    Router(config-if)#ip pim {dense-mode | sparse mode | sparse-dense-mode}

  • Rick Graziani [email protected] 65

    Configuring RPs

    Manually designate the RP:

    Router(config)#ip pim rp-address

  • Rick Graziani [email protected] 66

    Configuring RPs

    Auto RP Configure a mapping agent to learn of about all candidate RPs so it

    can compike a list of which routers are RP for which grpups and advertise the list to client routers.

    Router(config)#ip pim send-rp-discovery scope

    Configure a candidate RP to announce itself as a possible RP for a multicast range.

    Router(config)#ip pim send-rp-announce scope

  • Rick Graziani [email protected] 67

    Configuring RPs

    BSR Define the BSR.

    Router(config)#ip pim bsr-candidate

    Configure a candidate RP.

    Router(config)#ip pim rp-candidate

  • Rick Graziani [email protected] 68

    IGMP - Internet Group Management Protocol

    Hosts use IGMP to dynamically register themselves in a multicast group on a particular LAN.

    Hosts identify group memberships by sending IGMP messages to their local multicast router.

    Routers and multilayer switches, configured for IGMP, listen to IGMP messages and periodically send out queries to discover which groups are active or inactive on a particular subnet or VLAN.

    The following list indicates the current versions of IGMP: IGMP version 1 (IGMPv1) RFC 1112 IGMP version 2 (IGMPv2) RFC 2236 IGMP version 3 (IGMPv3) RFC 3376 IGMP version 3 lite (IGMPv3 lite)

    ReceiverJoin/Leave

    IGMPIGMP

  • Rick Graziani [email protected] 69

    IGMP

    IGMP v1 IGMP v1 version v1 No way to expressly leave a multicast group. Its up to the router to timeout the group membership

    IGMP v2 IGMP v2 version v2 Includes leave processing mechanism

    IGMP v3 IGMP v3 version v3 Supports "source filtering," which enables a multicast receiver host

    to signal to a router which groups it wants to receive multicast traffic from, and from which source(s) this traffic is expected.

    IOS release 12.1(5) and later. Current IOS release (12.2) still uses IGMPv2 as the default

    ReceiverJoin/Leave

    IGMPIGMP

  • Rick Graziani [email protected] 70

    IGMPv1

    IGMP query messages are addressed to the all-host group (224.0.0.1) and have an IP TTL equal to 1.

    A TTL of 1 ensures that the corresponding router does not forward the query messages to any other multicast router.

    When the end station receives an IGMP query message, the end station responds with a host membership report for each group to which the end station belongs.

    IGMP messages are specified in the IP datagram with a protocol value of 2.

    One multicast router per LAN must periodically transmit host membership query messages to determine which host groups have members on the router's directly attached LAN networks.

  • Rick Graziani [email protected] 71

    IGMPv1

    Routers use IGMP to query hosts on a subnet as to what multicast groups they belong to. Hosts dont have to wait for the query to join a group; they can

    immediately send a join request Routers keep track of the multicast groups that are active on a

    subnet (not the actual hosts that are in each group)

  • Rick Graziani [email protected] 72

    IGMPv1

    IGMP Queriers (routers) send queries every 60 seconds. If a host does not respond with its membership information, the

    router will timeout the hosts group membership IGMPv1 Queriers are determined by a multicast routing protocol, not

    IGMPv1. The specific multicast routing protocol elects a designated router for

    the subnet. This router also becomes the IGMPv1 Querier.

  • Rick Graziani [email protected] 73

    IGMPv1

    From the routers perspective, it is not a host that joins the multicast group, but an interface.

    All the router wants to know is if a segment is supposed to receive the multicast traffic.

    It does not keep track of the exact hosts that are making the multicast requests. (Unless using CGMP)

    The multicast traffic is sent to an entire cable segment, not to a single host.

  • Rick Graziani [email protected] 74

    IGMPv2

    RFC 2236 (November 1997) Primarily to address the issues of leave and join latencies. IGMP Queriers (routers) send two kinds of queries:

    General queries (same as IGMPv1 queries) Group-specific queries (directed at single group)

  • Rick Graziani [email protected] 75

    IGMPv2 - Join

    The process of joining a multicast group is the same in IGMPv2 as in IGMPv1.

    Like IGMPv1, IGMPv2 hosts do not have to wait for a query to join. When a host wants to join a multicast group, it sends a host

    membership report to the all-router group address 224.0.0.2.

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 76

    IGMPv2 - Join

    When the router receives a multicast packet, it forward the packet to only those interface that have hosts with processes belonging to that group.

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 77

    IGMPv2 - Join

    IGMPv2 defines a procedure for electing the multicast querier (router) for each network segment. Router with the lowest IP address becomes the Querier.

    Initially, every router believes itself to be the querier for every one of the routers interface that are multicast-enabled.

    IGMPv2 has group-specific queries. General query multicasts to the all-hosts 224.0.0.1 Group-specific query multicasts to the multicast group address.

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 78

    IGMPv2 - Join

    Similar to IGMPv1, IGMPv2 router multicasts periodic membership queries to the all-hosts (224.0.0.1) group address.

    Only one member (host) per group responds with a report to a query.

    IGMP uses interval and timeout timers for this process. http://www.cisco.com/univercd/cc/td/doc/product/lan/c3550/1214ea

    1/3550scg/swmcast.htm

    General Membership Query 224.0.0.1

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 79

    IGMPv2 - Leave

    Leave group messages provides hosts with a method of notifying routers and multilayer switches on the network that they are leaving a group.

    Leave msg to 224.0.0.2

    Group-specific Query 224.1.1.1

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 80

    Hosts 2 and 3 are members of multicast group 224.1.1.1. Host 2 sends an IGMPv2 leave message to the all-multicast-routers group (224.0.0.2)

    to inform all routers and multilayer switches on the subnet that it is leaving the group. Router 1, the query router, receives the message, but because it keeps a list only of

    the group memberships that are active on a subnet and not individual hosts that are members, it sends a group-specific query to the target group (224.1.1.1) to determine whether any hosts remain for the group.

    Host 3 is still a member of multicast group 224.1.1.1 and receives the group-specific query.

    It responds with an IGMPv2 membership report to inform Router 1 that a member is still present.

    When Router 1 receives the report, it keeps the group active on the subnet. If no response is received, the query router stops forwarding its traffic to the subnet.

    IGMPv2 - Leave

    Leave msg to 224.0.0.2

    Group-specific Query 224.1.1.1

    Membership report to 224.0.0.2

  • Rick Graziani [email protected] 81

    IGMPv3

    IGMPv3 is the next step in the evolution of IGMP. IGMPv3 adds support for source filtering that enables a multicast

    receiver to signal to a router the groups from which it wants to receive multicast traffic, and also from which sources to expect traffic.

    This membership information enables Cisco IOS software to forward traffic from only those sources from which receivers requested the traffic.

    IGMPv3 supports applications that explicitly signal sources from which they want to receive traffic.

  • Rick Graziani [email protected] 82

    Layer 2 Multicast Protocols

    Similar to Layer 3 hardware switching properties of switches, switches also have Layer 2 features to control multicast traffic.

    The default behavior for a Layer 2 interface on a switch is to forward all multicast traffic to every Layer 2 interface that belongs to the destination VLAN on the switch.

    This behavior reduces the efficiency of multilayer switching at Layer 2, whose purpose is to limit traffic to the interfaces that need to receive the data.

    Multicast Traffic: 1.5-Mbps IP multicastbased video feed sent from a corporate video server

    Sent out all interface on that VLAN

  • Rick Graziani [email protected] 83

    Layer 2 Multicast Protocols

    Layer 2 switches have some degree of multicast awareness to avoid flooding multicasts to all switch ports.

    The following are the two methods to control multicast at Layer 2 on multilayer switches: IGMP snooping Cisco Group Management Protocol (CGMP)

    Multicast Traffic: 1.5-Mbps IP multicastbased video feed sent from a corporate video server

    Sent only to those hosts that have joined that multicast group.

    Multicast Table

  • Rick Graziani [email protected] 84

    IGMP Snooping

    IGMP snooping is an IP multicast constraining mechanism that examines Layer 2 and Layer 3 IP multicast information to maintain a Layer 2 multicast table.

    IGMP snooping operates on multilayer switches, even switches that do not support Layer 3 routing.

    IGMP snooping requires the LAN switch to examine, or snoop, the IGMP join and leave messages, sent between hosts and the first-hop multicast router.

    The IGMP protocol transmits messages as IP multicast packets; as a result, switches cannot distinguish IGMP packets from normal IP multicast data at Layer 2.

    Multicast Traffic: 1.5-Mbps IP multicastbased video feed sent from a corporate video server

    Sent only to those hosts that have joined that multicast group.

    I have to examine every multicast packet to see if there are any join or leave requests. Whew! This is a lot of work!

    Multicast Table

  • Rick Graziani [email protected] 85

    IGMP Snooping

    Therefore, a switch running IGMP snooping must examine every multicast data packet to determine whether it contains any pertinent IGMP control information.

    If IGMP snooping is implemented on a low-end switch with a slow CPU, this could have a severe performance impact when data is transmitted at high rates.

    The solution to this problem is to implement IGMP snooping with special ASICs that can perform IGMP snooping in hardware.

    Without specialized ASICs for IGMP snooping to operate with hardware switching, CGMP is the preferable choice for low-end switches.

    Multicast Traffic: 1.5-Mbps IP multicastbased video feed sent from a corporate video server

    Sent only to those hosts that have joined that multicast group.

    I have to examine every multicast packet to see if there are any join or leave requests. Whew! This is a lot of work!

    Multicast Table

  • Rick Graziani [email protected] 86

    Configuring IGMP

    IGMP Version 2 mode is the default for all systems using Cisco IOS Release 11.3(2)T or later. To determine the current version use:

    Router#show ip igmp interface type-number

    To change versions (per interface only):

    Router(config-if)#ip igmp version {2 | 1}

  • Rick Graziani [email protected] 87

    Configuring IGMP joins

    A router is configured to be a member of a specific multicast group if you want that router to respond to commands addressed to that group, such as pings.

    Typically, you will manually configure your router to belong to a multicast group for testing purposes.

    To have the router join a multicast group, enter the following command in interface configuration mode.

    Router(config-if)#ip igmp join-group group-address

  • Rick Graziani [email protected] 88

    CGMP

    CGMP is based on a client/server model. The router is considered a CGMP server, with the switch taking on

    the client role. The basis of CGMP is that the IP multicast router sees all IGMP

    packets and, therefore, can inform the switch when specific hosts join or leave multicast groups.

    The switch then uses this information to construct a forwarding table.

    CGMP (Cisco Group Management Protocol) is a Cisco-developed protocol that allows Catalyst switches to learn about the existence of multicast clients from Cisco routers and Layer 3 switches.

  • Rick Graziani [email protected] 89

    CGMP

    When the router sees an IGMP control packet, the router creates a CGMP packet.

    This CGMP packet contains the request type (either join or leave), the multicast group address, and the actual MAC address of the client.

    The packet is sent to a well-known address to which all switches listen.

    Each switch then interprets the packet and creates the proper entries in a forwarding table.

    IGMP Join Request

    Multicast Packets

  • Rick Graziani [email protected] 90

    CGMP

    CGMP is a legacy multicast switching protocol. All current-generation (and future) Catalyst switches

    support IGMP snooping. IGMP snooping has several advantages over CGMP, such

    as the ability to operate without a first-hop router, and is less CPU intensive.

  • Rick Graziani [email protected] 91

    Configuring CGMP

    CGMP can run on an interface only if PIM is configured on the same interface.

    CGMP is disabled by default. To enable CGMP on the router, enter the following command in the

    interface configuration mode:

    Router(config-if)#ip cgmp

  • Rick Graziani [email protected] 92

    Configuring CGMP

    Configuring CGMP on the switch allows IP multicast packets to be switched to only those ports that have IP multicast clients.

    The switch must be connected to an CGMP-enabled router. CGMP on the switch automatically identifies the ports to which the

    CGMP-capable router is attached. IOS-based switch: (enabled by default) Switch(config) cgmp

    Set-based switch: Switch(enable) set cgmp enable

  • Rick Graziani [email protected] 93

    FYI - Non-RPF Traffic

    In multilayer switched networks where multiple routers connect to the same LAN segment, only one PIM-designated router forwards the multicast traffic from the source to the receivers on the outgoing interfaces.

    Router A, the PIM-designated router (PIM DR), forwards data to VLAN 1 and VLAN 2.

    Router B receives the forwarded multicast traffic on VLAN 1 and VLAN 2, and it drops this traffic because the multicast traffic fails the RPF check. (Source IP is via the other interface.)

    Traffic that fails the RPF check is called non-RPF traffic.

    Do Not Forward

    Source IP Address is not on these interfaces, but interface connected to Campus Network Router.

  • Rick Graziani [email protected] 94

    Suggested Reading:Developing IP Multicast Networks: The Definitive Guide to Designing and

    Deploying CISCO IP Multicast Networksby Beau WilliamsonCisco Press; ISBN: 1578700779

  • IP Multicasting

    CIS 185 Advanced RoutingCCNP 1

    Rick GrazianiFall 2008

    IP MulticastingMulticast TopicsIP MulticastMultimedia traffic using BroadcastMultimedia traffic using MulticastLess stress on serverIP Multicast RoutingSlide 10Slide 13Reserved Link Local AddressesSlide 15Multicast MAC Address StructureSlide 17Slide 18Slide 22Reverse Path ForwardingSlide 29Slide 30Slide 40Slide 47Automating Distribution of RPBootstrap RouterBSR ElectionComparison and Compatibility of PIM Version 1 and Version 2Configuring MulticastConfiguring PIM DM/SMConfiguring RPsSlide 66Slide 67IGMP - Internet Group Management ProtocolIGMPSlide 71IGMPv1Slide 73IGMPv2IGMPv3Configuring IGMPConfiguring IGMP joinsSlide 90Configuring CGMPSlide 92Slide 94Slide 95