0% found this document useful (0 votes)
15 views

Intro Multicast

Uploaded by

marcelo zapata
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Intro Multicast

Uploaded by

marcelo zapata
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
You are on page 1/ 45

Introduction to Multicast

© 2012 Juniper Networks, Inc. All rights reserved. | www.juniper.net


Address Types and Traffic Flows
 Address types
• Unicast addresses: one-to-one
• Broadcast addresses: one-to-all
• Multicast addresses: one-to-many

lticast: A single data stream from the server is needed to reach all client
Single Data
Stream Network

Server
Clients

Network devices replicate data stream


toward interested clients

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 2


Multicast Advantages and
Disadvantages
 Advantages of multicast traffic:
• Increased efficiency for multicast sources
• Single session needed instead of multiple unicast
sessions
• Increased bandwidth efficiency in the network
• Effect depends on receiver distribution throughout the
network
• Allows traffic to unknown receivers
 Disadvantages of multicast traffic:
• Mostly UDP-based best-effort delivery
• Network CoS is harder to achieve

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 3


Multicast Components (1 of 2)
10.0.101.2 Network
DR

Source Receivers
10.0.101.2224.7.7.7 UDP M-cast
SA DA Data

 Components:
• Source: Originator of multicast IP packets
• Multicast IP packet: An IP packet destined for a
multicast group address
• Group address: An IP address in the range of 224/4
• Receivers: IP hosts interested in receiving data destined
for a particular group address (also called group
members)
• DR: Router closest to the source that forwards multicast
IP packets
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 4
Multicast Components (2 of 2)
Group
Network Membershi
p Protocol

Source Multicast Routing Receivers


Protocol
No special
protocol needed
 Components (contd.):
• Group membership protocol: Protocol used by receivers
to communicate group membership to the closest
attached router
• IGMP for IPv4
• Multicast routing protocol: Protocol used between routers
in the network to build and maintain the multicast
forwarding trees between sources and receivers
• PIM and DVMRP

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 5


Multicast Terminology (1 of 4)
 Service models:
• Any-source multicast:
• Supports one-to-many and many-to-many applications
• Source-specific multicast:
• Supports only one-to-many applications

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 6


Multicast Terminology (2 of 4)
 Distribution modes:
• Dense mode:
• Flood and prune
• Prune signals no interest in receiving multicast traffic
• Graft overrides previous prune messages
• Sparse mode:
• Explicit subscriptions only
• Join signals interest in receiving multicast traffic
(subscribe)
• Prune sent to unsubscribe from multicast traffic
• Sparse-dense mode:
• Router interface performs either mode for individual
multicast groups
• Uses dense-mode and sparse-mode rules

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 7


Multicast Terminology (3 of 4)
 Distribution trees:
• Source tree or shortest-path tree
• Known source
• S, G forwarding state
• Used in dense mode and in sparse mode
• Shared tree or rendezvous point tree
• Unknown source
• *, G forwarding state
• Used only in sparse mode

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 8


Multicast Terminology (4 of 4)
 Multicast forwarding:
• Source is considered upstream (root of tree)
• Receiver is considered downstream (leaf on
branch of tree)

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 9


Source Tree and Shared Tree in PIM
Sparse Mode
Source
192.168.100.10

RP
10.1.1.1

R1
R2
R3 R4
Source Tree R5
(S, G) State
Group: 224.7.7.7
R6
Source: Shared RPT
192.168.100.10 Tree
(*,G) State
Group:
224.7.7.7
Source: *
Receiver
224.7.7.7

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 10


Multicast Routing Considerations
 Multicast routing:
• Network between source and receiver must be
enabled for multicast forwarding
• Run multicast routing protocol within own domain
• If receiver is in different domain than the source,
it might be more complicated
• Not all ISPs offer multicast traffic to their subscribers
 Automatic multicast tunneling:
• Connects source and receiver across islands of
unicast-only connectivity
• Dynamically establishes unicast tunnels between
AMT gateway and AMT relay
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 11
IP Multicast Addressing
 IP multicast addressing (destination address only)
• Class D range: 224.0.0.0–239.255.255.255 (224/4)
0 1 2 3 31

1 1 1 0 Multicast Group ID

• IANA designates some address28 ranges


bits
for specific use:
• 224.0.0.0–224.0.0.255: local network control block
– 224.0.0.1–All systems on this subnet
– 224.0.0.2–All routers on this subnet
• 224.2.0.0–224.2.255.255: SDP / SAP block
• 232.0.0.0–232.255.255.255: SSM block
• 233.0.0.0–233.251.255.255: GLOP block
• 234.0.0.0–234.255.255.255: Unicast-prefix-based IPv4 block
• 239.0.0.0–239.255.255.255: Administratively scoped block

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 12


Reserved Multicast Address Ranges
 Address ranges:
• 239.0.0.0/8: Administratively scoped addresses (RFC
2365)
• Only to be used within a locally administered network, similar to
RFC 1918 address space
• 233.0.0.0/8: GLOP addressing (RFC 3180)
• Every autonomous system is statically and automatically
assigned 255 globally usable multicast addresses from this range
233 AS Number Locally Assigned Bits

8 bits 16 bits 8 bits

• 232.0.0.0/8: SSM addressing (RFC 4607)


• A router ignores a request for group membership (IGMPv3) in this
address range when a specific source is not specifically
requested
• 224.2.0.0/16: SDP/SAP addressing (RFC 2974)
• For use by applications that advertise multicast sessions (SDR)
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 13
IP Multicast-to-Ethernet Mapping
IPv4 prefix (32 Bits)

First 4 high- 28 bits remain


order 111
bits are 0
stripped 224. 10. 8.
5 remaining high- 5 23 bits remain
order bits are for mapping
stripped

01-00-5e-0A-08-05
25 bits 23 bits
MAC Address (48 Bits)

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 14


IP Multicast-to-Ethernet Mapping
Example
E 0 0 A 0 8 0 5

Class D Address: 224.10.8.5 1 1 1 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1

Not Used Low Order 23 bits mapped

0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 00 0 0 0 1 0 1

0 1 0 0 5 E 0 A 0 8 0 5

Resulting Ethernet Multicast Address

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 15


Multicast Forwarding Overview
 Multicast forwarding overview:
• Unicast forwarding bases decisions on destination
IP address
• Forwards traffic to the next hop of the best route
• Multicast forwarding bases decisions on source IP address
• Forwards traffic away from the source along the distribution tree
• Forwards only traffic that passes RPF check
• RPF:
• Prevents looped and duplicated multicast packets
• Compares incoming interface of multicast packet with outgoing
next-hop interface of unicast route toward the source of the packet
– If interfaces are the same, the packet passes the RPF check
– If interfaces are different, the packet fails the RFP check

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 16


The RPF Check (1 of 2)
RPF Table at R1 Source 1
user@R1> show multicast rpf 192.168.100.10 192.168.100.10
Multicast RPF table: inet.0 , 16 entries

192.168.100.0/24
Protocol: OSPF
Interface: ge-0/0/4.125
Neighbor: 172.18.1.1

172.18.1.1

ge-0/0/4.125
Packet

Packet from Source 1 arrives on R1 ge-0/0/1.0


wrong interface: RPF check fails,
discard the packet!

Multicast Traffic

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 17


The RPF Check (2 of 2)
RPF Table at R1
user@R1> show multicast rpf 192.168.100.10 Source 1
Multicast RPF table: inet.0 , 16 entries 192.168.100.10
192.168.100.0/24
Protocol: OSPF
Interface: ge-0/0/4.125
Neighbor: 172.18.1.1

et
ck
172.18.1.1

Pa
ge-0/0/4.125

R1
Packet from Source 1 arrives on correct
interface: forward out all outgoing
interfaces.

Multicast Traffic

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 18


Multicast Forwarding Terms
 Multicast forwarding terms:
• Incoming interface or upstream interface
• Interface on which traffic is received that passes the RPF
check
• Interface to which PIM join messages are sent
• Traffic that passes the RPF check can be forwarded
• If receiving router has knowledge of downstream
receivers, the router receives IGMP reports from directly
connected receivers and also receives PIM join
messages from neighbors with downstream receivers
• Outgoing interface list or downstream interfaces
• Interfaces to which traffic must be forwarded down the
distribution tree
• Forwarding decision is cached in the inet.1 table

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 19


Multicast Routing Tables
 Multicast routing tables:
• inet.0
• Default table used for RPF check lookups
• inet.1
• Forwarding cache for successful RPF-checked traffic
• inet.2
• Alternate table for RPF check lookups
• Multicast topology independent from unicast topology
• Use of RIB groups required

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 20


Alternate Multicast Topology (M-BGP)

Multicast Preferred
inet.0 MED = 100
inet.2 MED = 50

RPF

RPF

Unicast Preferred
inet.0 MED = 50
AS 65011 AS 65013
inet.2 MED = 100

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 21


RIB Groups
 RIB groups:
• For multicast networking:
• Share routes between routing tables
• Change the RPF table used by multicast routing
protocols

inet.0 Rout inet.2


es

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 22


RIB Groups: Sharing Routes
 Defined under the routing-options
hierarchy level
[edit routing-options]
user@router# show
rib-groups {
to-inet2 {
The import-rib indicates to place
import-rib [inet.0 inet.2];
routes in inet.0 and inet.2
import-policy policy-name;
}
}

The import-policy is used to control which


routes are installed in the routing table
group
 Applied to routing protocols, interface routes,
or both
[edit protocols ospf]
user@router# set rib-group ?
Possible completions:
rib-group Routing table group for importing OSPF routes

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 23


RIB Groups: Changing the RPF Table
 Use RIB groups to change the RPF table
user@router> show multicast rpf summary Default inet.0
being used for RPF
Multicast RPF table: inet.0, 20 entries lookups

[edit routing-options]
user@router# show rib-groups Define the RIB
inet2-rpf { group indicating use
of inet.2 for
import-rib inet.2;
lookups
}

[edit] Apply the RIB group


user@router# set protocols pim rib-group inet2-rpf to the multicast
user@router# set protocols msdp rib-group inet2-rpf routing protocols

user@router> show multicast rpf summary


Multicast RPF table: inet.2, 17 entries inet.2 being used
for RPF lookups

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 24


Internet Group Management Protocol
 IGMP:
• Hosts send IGMP report message to signal interest in
receiving specific multicast traffic to their subnet routers
• IGMP works between hosts and routers (Layer 3 device)
• Three versions of IGMP:
• IGMP version 1 (RFC 1112)
– ASM mode
• IGMP version 2 (RFC 2236)
– Junos default
– Supports leave-group message that speed up convergence
– ASM mode
• IGMP version 3 (RFC 3376)
– Required for SSM mode but also supports ASM mode

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 25


Multicast Groups and Routing
Group Membership Protocol

Multicast Routing Protocol

 IGMP operates between receivers (hosts) and


routers
• IGMP is not a routing protocol
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 26
IGMP Operation: Join Process
 Report messages establish host membership
for particular multicast groups on a given
network
• Reports are sent to the group address being
reported
• Reports inform local router that a host wants to
receive traffic associated
Host 1 with the specified
multicast group
Report:
DA=224.10.1.1
Group=224.10.1.1

Querier Non-
Querier
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 27
IGMP Query-Response Process
 Query-response process:
1. Querier router sends general query to all-hosts multicast
group (224.0.0.1)
2. Host 2 sends its report for group 224.10.1.1 first
3. Host 1 hears the response from Host 2 and suppresses its
report
4. Host 3 sends its report for the group 224.20.1.1
Host 1 Host 2 Host 3
2 4
3 Report
Report Report
224.10.1.1
224.10.1. 224.20.1.
Suppressed 1 1

General
1 Query

Router A: Router B:
Querier Non-Querier

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 28


IGMPv2 Group Leave
 Process for leaving a group:
1. Host 2 sends leave message for 224.10.1.1 to the all-routers
multicast group address (224.0.0.2)
2. Querier router sends group-specific query for 224.10.1.1
3. Group 224.10.1.1 times out if no IGMP reports are received
within ~3 seconds

Host 2 Host 3
1
Leave-group
Group=224.10.1
.1

Group-Specific
Query
2 Group=224.10.1
.1
Router A
(Querier)

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 29


Layer 2 Switches and Multicast
 Layer 2 switches and multicast
• Layer 2 switches are often in use between routers and
hosts
• By default, Layer 2 switches treat multicast traffic like
broadcast traffic, which results in forwarding to all ports
• Not an efficient use of bandwidth on ports without any receivers
 IGMP snooping
• IGMP snooping allows the Layer 2 switch to view IGMP
traffic between receivers and router
• Allows the Layer 2 switch to make more informed decisions
• Forwards multicast traffic only to ports where receivers are located
– 224.0.0.0/24 address block is an exception, because it still must
be sent to all ports

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 30


IGMP Snooping
 IGMP snooping
• IGMP snooping divides the ports into two categories:
• Multicast-router interfaces:
– IGMP query message received
– Statically configured
• Host-side interface: All other interfaces
• Multicast forwarding as a result of IGMP snooping
• IGMP packets are sent to the RE for snooping processing
• Traffic for 224.0.0.0/24 destination address is flooded to all
ports except the incoming port
• Remaining multicast traffic is sent to:
– All multicast-router interfaces
– Host-side interfaces with hosts interested in receiving
that multicast group

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 31


IGMP Snooping:
Standard Implementation and Proxy
 IGMP snooping: Standard implementation
• Standard IGMP snooping only checks received IGMP
packets; it does not generate any IGMP packets
• Standard IGMP snooping does not result in a reduction
of IGMP reports sent to the router
 IGMP snooping: Proxy
• Allows the Layer 2 switch to act as a proxy to the
router and the hosts
• Acts like a router toward the host-side interfaces
• Acts like a single receiver toward the multicast-router
interfaces
– Reduces the amount of IGMP reports sent to the actual
router

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 32


IGMP Snooping Configuration
 IGMP snooping  IGMP snooping
(MX Series) (EX Series)
edit bridge-domains domain1 protocols] user@ex1# show protocols igmp
lab@mxD-1# show vlan-employee-vlan {
igmp { interface ge-0/0/1.1 {
proxy; host-only-interface;
interface ge-0/0/1.1 { }
host-only-interface; interface ge-0/0/2.1 {
} multicast-router-interface;
interface ge-0/0/2.1 { }
multicast-router-interface; interface ge-0/0/3.1 {
} static {
interface ge-0/0/3.1 { group 225.100.100.100;
static { }
group 225.100.100.100; }
} }
}
}

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 33


IGMP Version 1
 IGMP version 1 operation:
• Hosts send report message to join
• Hosts leave silently
• Router stops forwarding to group after time-out
• Defaults: (A * B) + (1 *C) = 260 seconds
– A = Robustness count = 2
– B = IGMP Query Interval = 125 seconds
– C = IGMP Query Response Interval = 10 seconds
• No mechanism for querier election
• Multicast routing protocol must provide election
mechanism

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 34


IGMP Version 1 Packet Format
 IGMP version 1 packet format:
0 31

Protocol Type Unused Checksum


Version

Group Address

• Protocol version = 1
• Type
• Host membership query
• Host membership report
• Group address = group reported

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 35


IGMP Version 2
 IGMP version 2 operation:
• Hosts send report messages to join
• Hosts sent leave-group messages
• Routers send group-specific messages to check for
remaining receivers for that group
• Routers stop forwarding traffic for group if no
response
• Defaults: A * B = 2 seconds
– A = Robustness count = 2
– B = IGMP Last Member Query interval = 1 second
• Querier election within IGMP
• Lowest IP address becomes IGMP querier
• Non-querier router takes over in case querier fails

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 36


IGMP Version 2 Packet Format
 IGMP version 2 packet format:
0 31

Type Max Checksum


Response
Time
Group Address

• Type:
• 0x11 = Membership Query
• 0x16 = Version 2 Membership Report
• 0x17 = Leave Group
• 0x12 = Version 1 Membership Report
• Max Response Time = Time allowed to respond to
query
• Group address = Group reported
© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 37
IGMP Version 3
 IGMP version 3 operation:
• Report message can include source information
• Required for SSM mode of operation

Router A Router B

Source=192.168.30.1
Source=172.16.20.1 IGMPv3 group-source report:
Group=224.10.1.1
Group=224.10.1.1 X D: 224.0.0.22 (All IGMPv3
(Pruned) routers)
Router C
Include 172.16.20.1,
224.10.1.1
Exclude 192.168.30.1,
Host 1 member of 224.10.1.1 224.10.1.1

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 38


IGMP Configuration (1 of 2)
 IGMP configuration:
• IGMP version 2 enabled automatically for interfaces
configured under the [edit protocols pim]
hierarchy
• When nondefault settings are required, manually
configure IGMP interfaces under the [edit
protocols igmp] hierarchy:

[edit protocols igmp]


user@router# show
interface ge-0/0/0.0 {
version 1;
}

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 39


IGMP Configuration (2 of 2)
 Modifying default IGMP settings:
[edit protocols igmp]
user@router# show
query-interval 30; Options to change IGMP latency timers
query-response-interval 5;
query-last-member-interval 1;
robust-count 3;
interface ge-1/0/0.0 {
static { Static IGMP join if receivers are not
group 229.9.9.9; capable of sending joins; also useful for
testing.
}
}
interface ge-1/0/1.100 {
version 3; Option to change IGMP version
}

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 40


Monitoring IGMP (1 of 4)
 Monitoring IGMP interfaces:
user@router> show igmp interface
Interface: ge-1/0/0.0
Querier: 10.0.117.6
State: Up Timeout: 162 Version: 2 Groups: 2
Immediate leave: Off
Promiscuous mode: Off
Passive: Off

Configured Parameters:
IGMP Query Interval: 125.0
IGMP Query Response Interval: 10.0
IGMP Last Member Query Interval: 1.0
IGMP Robustness Count: 2

Derived Parameters:
IGMP Membership Timeout: 260.0
IGMP Other Querier Present Timeout: 255.0

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 41


Monitoring IGMP (2 of 4)
 Monitoring IGMP groups:
user@router> show igmp group
Interface: ge-1/0/7.807, Groups: 3
Group: 224.0.0.2
Source: 0.0.0.0
Last reported by: 10.0.117.7
Timeout: 160 Type: Dynamic
Group: 224.7.7.7
Source: 0.0.0.0
Last reported by: 10.0.117.2
Timeout: 152 Type: Dynamic
Group: 229.9.9.9
Source: 0.0.0.0
Last reported by: Local
Timeout: 0 Type: Static

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 42


Monitoring IGMP (3 of 4)
 Monitoring IGMP statistics:
user@router> show igmp statistics
IGMP packet statistics for all interfaces
IGMP Message type Received Sent Rx errors
Membership Query 528 528 0
V1 Membership Report 0 0 0
DVMRP 0 0 0
PIM V1 0 0 0
Cisco Trace 0 0 0
V2 Membership Report 3165 0 0
Group Leave 0 0 0
Mtrace Response 0 0 0
Mtrace Request 0 0 0
Domain Wide Report 0 0 0
V3 Membership Report 0 0 0
Other Unknown types 0
IGMP v3 unsupported type 0
IGMP v3 source required for SSM 0
IGMP v3 mode not applicable for SSM 0

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 43


Monitoring IGMP (4 of 4)
 IGMP traceoptions
• Configured under [edit protocols igmp]
[edit protocols igmp]
user@router# show
traceoptions {
file igmp-debug;
flag packets detail;
flag general detail;
}

user@router> monitor start igmp-debug


Jan 22 00:07:12.254229 XMT IGMP V2 Query len 8 to 224.0.0.1 intf ge-1/0/0.0
Jan 22 00:07:12.254295 Max_resp 0x64 (100), group 0.0.0.0
Jan 22 00:07:12.515154 RCV IGMP V2 Report len 8 from 10.0.117.2 intf ge-1/0/0.0

© 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net | 44

You might also like