Configuring IP Multicast Routing
The overview of multicast routing
Basic multicast routing configuration task list
Advanced
multicast routing configuration task list
Enable multicast function on the interface
IGMP feature configuration task list
Configure the ttl threshold value
Cancel
multicast quick forward
Configure static multicast routing
Configure IP multicast boundary
Configure Stub multicast router
The
supervision and maintenance of multicast router
Examples of multicast routing configuration
The
overview of multicast routing
This chapter describes how to configure multicast routing protocol.
For a detail description of multicast routing commands in this chapter, please
refer to other chapters concerning “multicast routing command”.
Traditional IP transmission only permits one host to one host
(unicast communication) or to all hosts (broadcast communication), multicast
technique provides the third choice: permits one host to send messages to some
hosts. These hosts are called the group members.
The target address of a message sent to the group member is a Class
D address (224.0.0.0~239.255.255.255). The transmission of multicast message is
similar to UDP, which is only a kind of service with
“best-effort”
reliability, yet does not provide reliable delivery and error control similar to
TCP.
The application of multicast requires the sender and receiver. The
sender can send multicast messages without joining a certain group, but the
receiver must join a certain group to receive the messages from this group.
The relationship between the group members is dynamic, the host can
join or leave a certain group at any moment, yet the position and the number of
group members does not have any limitation. If required, a host can be members
of many groups. So, the state of the group and the number of group members can
change with time.
The router maintains the mroute routing table which forwards
multicast messages by running multicast routing protocol (such as PIM-DM,
PIM-SM, etc.), and gets to know the state of group members on the connected
address by IGMP protocol. The host can
join a certain IGMP group by sending IGMP Report information.
The multicast routing
includes the following protocols in Boda’s router software.
?
IGMP is functioning
between the router and host in the LAN and tracking the relations between the
group members.
?
OLNK is a kind of
static mroute technique used in simple topology,
it cannot only forward multicast, but also effectively reduce the waste of CPU
and bandwidth for multicast routing protocol.
?
PIM-DM/PIM-SM/DVMRP
is a dynamic multicast routing protocol running between the routers and makes
multicast forward by establishing multicast routing table.
IGMP is a kind of protocol aiming at the management of multicast
group members; IGMP is the abbreviation of Internet Group Management Protocol.
IGMP is an asymmetrical protocol, it includes content of two aspects (the host
and the router): the host protocol defines how the host, as the member of
multicast group member, reports its ID as part of different multicast group, and
how the host corresponds to the Query messages from the router; the router
protocol defines how the router, which supports IGMP, acquires the membership of
multicast group of the host in LAN, how to change the members’ information of
the multicast group saved by the router according to the report messages form
the host.
The realization of IGMP router protocol in our router can provide
the members’ existence situation in the current network to the multicast
routing protocol of the router, so as to decide whether to forward multicast
messages. As a conclusion, in order to let our router support the multicast
procedure of IP messages, the realization of multicast protocol and IGMP router
protocol is a must. Currently, our router has realized IGMP router protocol, it
supports the newest version—IGMP V.3.
Strictly speaking, OLNK(IGMP only-link)is not a multicast routing protocol, because it
does not have an interaction of protocol. But, OLNK
will have great effect under certain situations and simple topology
environment. It is similar to the PIM-DM protocol without process of
negotiation, can process the change of local IGMP group member, timely adjust
RPF interface according to the topological change, namely, guarantee the forward
of multicast and avoid the control messages of multicast routing protocol’s
waste of bandwidth.
PIM-DM(Protocol
Independent Multicast Dense Mode)is
a kind of dense mode multicast routing protocol, defaultly, when the multicast
source begins to send multicast data, all the nodes in areas
of the network need
to receive these data. So, PIM-DM forward the multicast packets by the means of
flooding and pruning. When multicast source
begins to send data, routers along the way forward multicast data packets to all
the PIM activation interfaces except the RPF interface toward the source. So,
all the nodes in the PIM-DM net area will receive these multicast data packets.
In order to enable multicast forward, routers along the way need to establish
corresponding multicast routing entry (S.G) for group G and source S. (S.G)
routing entry includes multicast source address, multicast group address,
incoming interface, outgoing interface list, timers and tags, etc.
If one area in the network does not have any
multicast group member, the mechanism of PIM-DM protocol will require to send
prune packet, transform to pruned state upon upon the forward interface to this
area,and set up a pruned state. The
pruned state has a prune time-out timer.
When the prune timer times out, pruned state changes into forwarding state,
enables the multicast data flowing along these branches again. In addition, the
prund state includes the information of the multicast source and multicast
group. When multicast group member joined in the pruned field, the protocol need
not wait for the time out for the upstream pruned state, but actively send
graft packets to
the upstream, so as to change prundstate to forwarding state.
If
only source S still send messages to G group, the first hop router will
periodically send (S.G) state refresh information to the intial downstream
broadcast tree to refresh. The state refresh mechanism of PIM-DM can refresh the
downstream’s state, so the pruning of the broadcast tress branch will not time
out.
In
the multi-access network, PIM-DM introduces the following mechanisms besides the
election for DR: using assert mechanism to elect the only forwarder to prevent
overlaped forwarding of multicast packet to the same address; using join/pune
refrain mechanism to reduce the redundance of
join/prune information; Using pruned rejection mechanism to override
unnecessary pruned activities.
In
PIM-DM area, the router running PIM-DM protocol periodically sends Hello
message, in order to find adjacent PIM router, adjudge leaf network, leaf
router, and to be in charge of the electing on the designated router (DR) in the
multi-access network.
In
order to be used on IGMP v1, PIM-DM takes charge of the DR election. When all
the PIM neighbors on the port support DR priority option, we selects the one
with the highest DR priority as DR. For the ones with the same priority, select
the router with highest IP address on the interface as DR; If any router does
not announce its priority in the hello message or several routers have the same
situation, select the router with highest IP address value on the interface as
DR.
Boda router’s PIM-DM v2 supports neighbour filtering list, classless interdomain Router (CIDR)、Variable length son-network mask(VLSM)and IGMP v1、v2、v3。
Basic
multicast routing configuration task list
Basic multicast configuration includes:
Start multicast routing (Optional)
Enable multicast function on the interface (Optional)
IGMP feature configuration task list (Optional)
Configure the ttl threshold value (Optional)
Cancel
multicast quick forward
(Optional)
Advanced
multicast routing configuration task list
Advanced multicast configuration includes:
Configure PIM-DM task list (Optional)
Configure
static multicast routing (Optional)
Configure
IP multicast boundary (Optional)
Configure IP multicast flow control (Optional)
Configure IP multicast Helper (Optional)
Configure Stub multicast router (Optional)
The
supervision and maintenance of multicast router (Optional)
Clear
multicast cache, routing list
Show multicast routing table and system statistical information
Start
multicast routing in order to allow Boda router software to forward multicast
messages. Input the following command to enable multicast message forward under
global configuration mode:
Command |
Function |
Router_config#ip
multicast-routing |
Enable
multicast routing |
Enable
multicast function on the interface
Running
multicast routing protocol on the interface will simultaneously activate the
operation of IGMP on the interface. Multicast routing protocol includes OLNK,
PIM-DM, PIM-SM or DVMRP. Maximum of one multicast routing protocol is allowed to
run on the same interface. When Boda router connects several multicast fields,
it can run different multicast protocol on different interfaces.
Although Boda router software can perfectly function as multicast boundary router (MBR), if possible, please guarantee that: do not simultaneously run several multicast routing protocols on the router, because this will produce unnecessary effect to some multicast routing protocols. For example, when PIM-DM (only supports (S,G) entry) abd BIDIR PIM-SM (only supports (*,G) item) runs, chaos emerges.
Run
OLNK on the interface to enable multicast function. Input the following commands
under interface configuration mode:
Command |
Function |
Router_config_f0/0#ip
olnk |
Start
multicast routing |
Run
PIM-DM on the interface to activate dense mode multicast function, follow the
steps below:
Command |
Function |
ip pim-dm |
Enter the interface which needs to run PIM-DM, activate PIM-DM
multicast routing process under interface configuration state |
IGMP
feature configuration task list
IGMP-Router feature configuration command mainly adjusts IGMP parameter, the following is the brief introduction of IGMP-Router basic configuration command. For full information about IGMP-Router realization, please refer to the command explanation document of IGMP.
Change the version of IGMP currently running
Configure IGMP Querier interval
Configure the maximum response time of IGMP
Configure query interval of the last group member of IGMP
Configure IGMP Immediate-level list
Change
the version of IGMP currently running
After the introduction of IGMP, there are already 3 formal
versions, the corresponding rfc is respectively: rfc1112, rfc2236 and rfc3376.
Among these versions, IGMP v1 only realizes simplest multicast member recording
function; v2 realizes the search function aims at certain multicast member and
leave message of IGMP host to leave certain multicast group, reduces the latency
time of group member change; v3 realizes the update and maintanence of multicast
group member identity corresponding host source address, in addition, IGMP
Router of v3 is fully compatible with IGMP host of v1 and v2, our router
software system provides the full support to these 3 versions of IGMP Router
protocol.
As IGMP is configured according to the interface of the router,
i.e, IGMP-Router function can be configured on different interfaces respectively
(respectively started with multicast routing protocol configured on different
interfaces), and different versions of IGMP can be run on different interfaces.
The thing to be notified is that, for a certain multicast router,
IGMP-router function can only be turned on on one interface of the various
interfaces connect to the same network.
To change the version of IGMP-Router protocol run on one certain
interface, use the following commands under interface configuration state:
Step |
Command |
Function |
1 |
ip igmp version version_number |
Change IGMP version running on
current interface |
The example of
the change of IGMP version
Because the new version of IGMP-Router protocol can be fully
compatible with the old version IGMP host, so when old version of IGMP host
exists in the network, there is no need to change the IGMP-Router protocol
version run by multicast router, but new version of IGMP-Router protocol is not
compatible with the old version, so when old version of IGMP-Router protocol
router runs in the network, the user need to change the the IGMP-Router protocol
version on the related interface of IGMP router with newer version, the
principle of change is: change the IGMP-Router protocol version to the oldest
version on the same address.
Suppose the system administrator knows that there exists the router running IGMP-Router v1 and IGMP-Router v2 in the network connected with certain interface of the router, he/she should change the version number of IGMP-Router protocol of the corresponding interface of the router running newer version of IGMP-Router protocol to 1. The following example demonstrates the process of system administrator to change the IGMP version running on certain interface (in the folloing example, it is Ethernet 1/0 interface) to version 1:
ip
igmp version 1
Whatever the currently running version of IGMP-Router protocol is,
multicast router will send a IGMP General Query message every certain time
through the interface with IGMP-Router interface function turned on, the address
of sending is 224.0.0.1, with the aim to acquire the report message corresponds
to IGMP host, thus acquires the information of IGMP host’s (the host on the
current interface connected network) individual ascription to the certain
multicast group. The interval of General Query message sending is called IGMP
Query Interval, if too long the interval is set, the router cannot quickly
acquire the ascription information of current IGMP host, but if the interval is
set too short, it will increase the traffic of IGMP message of current network.
To change IGMP query interval on one certain interface, use the
following commands under interface configuration state:
Step |
Command |
Function |
1 |
ip igmp query-interval time |
change the IGMP query interval of current interface, counted with
the unit of second |
The example of
the configuration of IGMP query interval
The following example demonstrates
the process of system administrator to change the IGMP query interval on certain
interface (in the folloing example, it is Ethernet 1/0 interface) to 50 seconds:
ip
igmp query-interval 50
Configure
IGMP Querier interval
Regarding IGMP-Router protocol version 2 and 3, if multiple routers
running IGMP-Router protocol exists in the same network, the problem of querier
selection emerges, the so called “querier”, indicates the router which is
able to send query message (in fact an interface of router turned on IGMP-Router
protocol), under normal operation, only one querier exists in the same network,
which indicates that only one router sends IGMP Query message. For IGMP-Router
protocol v1, there is no problem of querier selection, because in IGMP-Router
v1, which router to send IGMP Query message is appointed by multicast routing
protocol.
For IGMP-Router protocol v2 and v3, the same querier selection
mechanism applies: the router with smallest IP address is set to be the querier
of this network, for non-querier, a clock should be saved to record the time of
querier existence, when this clock expires, non-querier changes into querier and
start to transmit IGMP Query messages, this router once again changes into
non-querier until it receives IGMP Query messages from a router with smaller IP
address.
For IGMP-Router protocol version 2,
the interval of other queriers can be configured through the following command:
Step |
Command |
Function |
1 |
ip igmp querier-timeout time |
Configure the interval of other querier, unit is set to second |
For IGMP-Router protocol v1, the interval value of other
queriers’ existence does not have actual effect; for IGMP-Router protocol v3,
the interval is defined within the protocol and cannot be configured, so the
above configuration commands only apply to IGMP-Router protocol v2.
The example of
the configuration of IGMP Querier interval
ip
igmp querier-timeout 100
Configure
the maximum response time of IGMP
Regarding IGMP-Router protocol v2 and v3, when sending IGMP General
Query messages, there is special data field in IGMP messages to notify the
maximum response time of IGMP host, namely IGMP host must send the response
messages to IGMP general query message within the maximum response time interval
after receiving this General Query. If the maximum response time is set too
long, the result will be delay of the change of IGMP host multicast group member
identity, if it is set too short, the result will be an excess traffic of IGMP
messages on the network.
Notice: the maximum response time of IGMP should be smaller than
IGMP query interval, when using this command, if the maximum response time is
longer than query interval, the system will automatically change the maximum
response time to (query-interval - 1) second.
For IGMP-Router protocol v2 and v3,
the maximum response time can be configured through the following command under
interface configuration state:
Step |
Command |
Function |
1 |
ip igmp
query-max-response-time time |
Configure
maximum response time of IGMP, the unit is set as second |
For IGMP-Router protocol v1, the maximum response interval value is defined within the protocol and can not be configured, so the above configuration command is not effective for IGMP-Router protocol v1 only.
The example of
the configuration of IGMP maximum response time
ip
igmp query-max-response-time 15
Configure
query interval of the last group member of IGMP
For IGMP-Router protocol v2 and v3, when sending Group Specific
Query messages aiming at certain multicast group, it will use last member query
interval as the maximum response time of the host in the IGMP Query messages,
which is, IGMP host should send the response message of group specific Query
message within the last group member query interval after receiving this query
message. If IGMP host finds out that there is no need to respond to this query
message through query of its state, and after the interval, there is still no
sending of response messages, then multicast router will make corresponding
updating to the saved multicast group member information. If this interval is
too long, the result is the delay of the change of IGMP host multicast group
member identity, if the interval is too short, the traffic of IGMP messages on
the network will be too heavy.
For IGMP-Router protocol v2 and v3, the user can configure the last
member query interval time of IGMP through the following command under the
interface configuration state:
Step |
Command |
Function |
1 |
ip igmp last-member-query-interval
time |
Configure the last member query interval of IGMP, the unit is set
as millisecond |
For IGMP-Router protocol v1, the last group member’s query
interval configured is not used, although when running IGMP v1 on the interface
this command can be configured, but with no actual effect.
The example of
the configuration of the last group member query interval
The following example demonstrates the process of system
administrator’s change of IGMP’s last member group member query interval on
certain interface (in
the following example, it is Ethernet 1/0 interface) to 2000 milliseconds:
ip igmp last-member-query-interval 2000
During the realization of IGMP-Router protocol by our router, the
router supports the static multicast group configuration on the interface
besides the stated functions of the protocol. The so-called “static” is
differentiated from the “dynamic” information of the IGMP host report, for
IGMP host, its multicast member relation may be variable, suppose it only
belongs to multicast group1 currently, and hopes to receive the multicast
message to multicast group1; but after a period of time, it may also belong to
multicast group2, and hopes to receive the multicast message to multicast
group2; then after a period of time, this IGMP host may not belong to any
multicast group, so the information of belonging to multicast group reported by
the host is changed dynamically.
Different from the above mentioned “dynamic multicast group”,
if a certain interface is statically configured to be part of a certain
multicast group, then, except using “no” command to cancel this
configuration, the multicast protocol will consider that this interface always
need to receive the multicast messages to this multicast group. Additionally, in
order to provide a better compatibility with IGMP-Router protocol v3, statically
configured multicast group can specify the source addresses of multicast
messages it wishes to receive, namely, increase the source-filter function of
multicast message receiving.
The user can configure the static multicast group attributes of the
interface under interface configuration state through the following command:
Step |
Command |
Function |
1 |
ip igmp static-group { * | group-address} {include
source-address | <cr> } |
Configure the static multicast group on the interface |
Examples of IGMP
static configuration
Static multicast configuration command can define static multicast
groups of various kinds with different parameters; the following example will
introduce the result after using different command parameters respectively:
interface ethernet 1/0
ip igmp static-group *
The above mentioned configuration command has statically configured
all the multicast groups on the Ethernet 1/0 interface, which means this
interface belongs to all the multicast groups, multicast routing protocol will
forward all the IP multicast messages to this interface.
interface ethernet 1/0
ip igmp static-group 224.1.1.7
The above mentioned configuration command has statically configured
multicast group 224.1.1.7 on the Ethernet 1/0 interface, which means this
interface belongs to multicast group 224.1.1.7, multicast routing protocol will
forward all the IP multicast messages of this interface to multicast group
224.1.1.7.
interface ethernet1/0
ip igmp static-group 224.1.1.7
include 192.168.20.168
The above mentioned configuration command has statically configured
multicast group 224.1.1.7 on the Ethernet 1/0 interface, but also defines the
source-filter 192.168.20.168 of this multicast, which means this interface
belongs to multicast group 224.1.1.7, but can only receive IP multicast messages
from 192.168.20.168, multicast routing protocol will only forward the IP
multicast messages of 192.168.20.168 to multicast group 224.1.1.7.
For the above example, if the router hopes to receive IP multicast
messages from 192.168.20.169 to 224.1.1.7, then another command should be
configured under interface configuration state:
ip igmp static-group 224.1.1.7
include 192.168.20.169
If other source-filter information
of this multicast group needs to be added, the user can execute the
above-mentioned command several times, and defines different source-address.
Notice: When using the above mentioned configuration command, the user can not both configure the multicast information of a certain source address and the multicast group information of all source addresses to the same multicast group; similarly, the user can not both configure the multicast information of all source addresses and the multicast group information of a certain source address to the same multicast group. The command configured after will be neglected. For example, if command “ip igmp static-group 224.1.1.7” is already configured, and then command “ip igmp static-group 224.1.1.7 include 192.168.20.168” is added, the later command will be neglected.
Configure
IGMP Immediate-level list
If IGMP v2 is started on one interface of the router, and only one
IGMP host exists on the network connected with this interface, the user can
realize the “Immediate leave” function through the configuration of IGMP
Immediate-leave list. According to the regulation of IGMP v2, when a certain
host needs to leave the specific multicast group, this host will send
“leave” message to all the multicast routers, and the multicast router will
send “group specific” message to confirm. whether there is any host on the
interface to receive the multicast message to this multicast group. But if
“Immediate Leave” function is configured, the user can both avoid the
message interaction between IGMP host and multicast router, and the delay of the
change of multicast group member identity maintained by the multicast router.
Notice: because the user can both configure this command both under
global configuration state and interface configuration state, but the priority
of this command under global configuration state will be higher than the command
under interface configuration state, so if the command is first configured under
global configuration state, the command then configured under interface
configuration state will be neglected; but if the command is first configured
under interface configuration state, then the command configured under global
configuration state will delete the original command configured under interface
configuration state.
For IGMP-router protocol v2, the user can configure IGMP
Immediate-leave list through the following commands under interface
configuration state:
Step |
Command |
Function |
1 |
ip igmp immediate-leave group-list
list-name |
Configure the IGMP host accessing
list which can realize “Immediate leave multicast group” function |
2 |
ip access-list standard list-name |
Establish the IP standard
accessing list named “list-name” |
3 |
permit source-address |
Configure the IP address of IGMP
host we wish to realize “Immediate leave” function under the
configuration mode of IP standard accessing list. |
Because there are great differences in operating process of
“leave” message by IGMP-Router protocol v1,
v3 and v2, so the above mentioned configuration commands only not applies to
IGMP-Router protocol v1 and v3.
The example of the configuration of
IGMP Immediate-leave list
The following example demonstrates that the system administrator configures the accessing list name with the function to realize “Immediate leave” to be imme-leave on a certain interface ( Ethernet 1/0 interface in the following example) , and the complete process of adding a IGMP host address (192.168.20.168 in the following example) to this accessing list. Through these configuration processes, the user can guarantee the IGMP host with the IP address of 192.168.20.168 to realize “immediate leave” multicast group function.
ip igmp immediate-leave imme-leave
exit
ip access-list standard imme-leave
permit
192.168.20.168
Configure
the ttl threshold value
Using
“ip multicast ttl-threshold” to configure the threshold value of multicast
message TTL permitted to forward on the interface, using “no ip multicast
ttl-threshold” to use default value. The default value is 1.
Step |
Command |
Function |
1 |
ip multicast ttl-threshold ttl-value |
Configure the ttl threshold value of interface |
The demonstration
of the configuration of TTL threshold value
The following example demonstrates that the system administrator configures the TTL threshold value on a certain interface
ip multicast ttl-threshold 200
Cancel
multicast quick forward
Use
“ip multicast mroute-cache” configuration to enable the interface to use
multicast’s quick forward function, use “no ip multicast mroute-cache” to
diable that function
Step |
Command |
Function |
1 |
ip multicast mroute-cache |
Enable multicast’s quick forward function on the interface |
The example of
the cancellation of multicast’s quick forward function
no ip mroute-cache
Refresh the configuration state
The routing protocol uses several timers to decide the frequency of
sending “hello” message and state refresh control packet. The interval of
“Hello”message sending has an influence on the correctness of neighbourship.
In order to adjust the timer, use the following commands under
router interface configuration mode:
Command |
Function |
ip
pim-dm hello-interval |
Specify how much time interval(unit: second) does it take to send
“hello” message from the interface to the neighbour |
ip
pim-dm state-refresh origination-interval |
For
the first hop router connected to the source, it is the interval of
periodical sending of state refresh message, only applies to the
configuration by upstream interface; for the later router, it is the time
interval of the interface permits to receive and process state refresh
message |
D-Link router’s PIM-DM only supports PIM
v2.
As PIM v1 is stale, so whether we configure version or not, we
support PIM v2 by default. The Function of this command is only for the
compatibility of the style with the previous version:
Command |
Function |
ip
pim-dm version [version] |
Configure
PIM-DM version on the interface of the router |
Refresh
the configuration state
Under
configure mode, the router permits to run forward PIM dense mode state refresh
control information. The configuration command under interface configuration
state, for the first hop router connects to the source, is the interval of
periodical sending for state refresh message, here only applies to the
configuration of upstream interface; for later router, it is the time interval
of the interface’s permittance between the receiving and processing of the
state refresh messages.
Step |
Command |
Function |
1 |
no
ip pim-dm state-refresh disable |
Allow to receive and send state refresh messages on the interface |
2 |
ip
pim-dm state-refresh origination-interval |
The interval between the sending and receiving of state refresh
message on the interface |
PIM-DM
does not set the filter list by default condition, includes the neighbour filter
list and multicast boundary filter list, are all configured under interface
configuration mode.
If the user wants to prevent certain router or router with certain
address from joining into PIM-DM negotiation, he/she should configure neighbor
filter list. If the user wants to prevent or allow certain groups to join into
current region, he/she need to configure boundary group filter list.
Command |
Function |
ip
pim-dm neighor-filter |
Configure neighbour filter list |
ip
multicast boundary |
Configure group filter list |
Perform
the selection of DR, so as to be adaptable to IGMP v1. By default, the priority
of router DR is 1. When all the neighbours on the interface support DR Priority,
select the one with highest priority as DR. If the priorities are the same,
select the router with highest interface IP address value as DR; if there is any
router that does not report its priority or several routers also have the same
problem, select the router with highest interface IP value as DR.
Prerform the configuration
of this command under interface configuration state
Command |
Function |
ip
pim-dm dr-priority |
Set the DR priority of local router on the specified interface |
Under normal condition, the user may need to clear the (S.G) item
in local MRT or the totaled number of multicast messages forwarded through (S.G)
entry. Use the following commands under configure mode:
Command |
Function |
clear
ip mroute pim-dm {* | group [source]} |
Clear
the (S.G) entry in the local MRT, this operation will delete all or part
of the items in local multicast routing list, and may influence normal
forward of multicast messages, this command can only delete (S.G) entry
which upstream interface is created by PIM-DM multicast routing protocol |
clear
ip pim-dm interface |
Reset
the statistic of multicast message forwarded through (S.G) from PIM-DM
interface, this command can only reset (S.G) entry which upstream
interface is created by
PIM-DM multicast routing protocol |
Configure
static multicast routing
Multicast
forward path is allowed to be different from unicast routing by static multicast
routing. RPF check is always taken while forwarding multicast messages: the real
interface receiving the messages is the expected one to receive the messages
(the critical interface is the unicast next hop interface toward the
transmitter). If the topology of unicast is the same as that of multicast, this
check is reasonable. But, under certain circumstances, the path of multicast and
unicast is still expected to be different.
The
most familiar example is the using of tunnel technology. When the router on one
path does not support multicast protocol, the solution is to configure GRE
tunnel between the two routers. In the following chart, any of the unicast
routers (UR) only supports unicast message; any of the multicast routers only
supports multicast message. The source sends the multicast message to the
destination through MR1 and MR2. For MR2, only until multicast message are
received from the tunnel does it forward the message. If so, when sending
unicast messages from destination to the source, it is also passing the tunnel.
We know, sending a message through the tunnel is slower than sending directly.
Through
the configuration of multicast static routing, the router is enabled to carry
out RPF check with the configuration information, not the unicast routing table.
So, multicast messages use tunnel, unicast messages do not. Multicast static
routing only exsits locally, it will not announce or process routing forward.
Using
the following commands to configure multicast static routing in global
configuration mode:
Command |
Function |
Router_config#ip
mroute source-address mask
rpf-address type number[ distance] |
Configure
multicast static routing |
Configure
IP multicast boundary
Using
“ip multicast boundary” to configure interface multicast boundary, using
“no ip multicast boundary to cancel the defined boundary. The second
configured command will override the first configured one.
Step |
Command |
Function |
1 |
ip multicast boundary access-list |
Configure IP multicast boundary on the interface |
Configure IP multicast flow control
Use ip multicast rate-limit Command to limit the packet receiving and sending flow on a source/group. Use no ip multicast rate-limit Command to cancel flow control.
To configure input flow control as n kbps
Step |
Command |
Function |
1 | ip multicast rate-limit in group-list access-list1 source-list access-list2 nkbps | To configure the max input flow control on a port |
To configure input flow control as n kbps
Step |
Command |
Function |
1 | ip multicast rate-limit out group-list access-list1 source-list access-list2 kbps | Configure the max output flow control on a port |
Using “ip multicast helper-map to configure so as to
enable the using of multicast routing on the multicast network to connect two
broadcasting networks. Using “no ip multicast helper-map” to cancel that
command.
The first hop router connects to the original broadcasting
network
Step |
Command |
Function |
1 |
router_config#interface type
number |
Enter into interface configuration
mode |
2 |
route_config_if#ip multicast
helper-map broadcast group-address access-list |
Configure “ip multicast helper” command, convert the
broadcast messages to multicast ones |
3 |
route_config_if#ip
directed-broadcast |
Allow directed broadcast |
4 |
router_config_if#ip
forward-protocol [port] |
Configure the message port number allowed to be forwarded |
The last router connects to the target broadcasting
network
Step |
Command |
Function |
1 |
router_config#interface type
number |
Enter into interface configuration
mode |
2 |
router_config_if#ip
directed-broadcast |
Allow directed broadcast |
3 |
router_config_if#ip multicast
helper-map group-address broadcast-address access-list |
Configure “ip multicast
helper”command, change the multicast messages to broadcast messages |
4 |
router_config_if#ip
forward-protocol [port] |
Configure the message port number
to forward |
Configure
Stub multicast router
Using “ip igmp helper-address” and “ip pim-dm
neignbor-filter” to configure Stub multicast router .
Configure
on the intrerface where stub router and host are connected
Step |
Command |
Function |
1 |
router_config#interface type
number |
Enter into the interface
configuration mode |
2 |
route_config_if#ip igmp
helper-address destination-address |
Configure “ip igmp helper-address command, convert the
multicast messages to the central router |
The interface where central router and stub router
are connected
Step |
Command |
Function |
1 |
router_config#interface type
number |
Enter into the interface
configuration mode |
2 |
router_config_if#ip pim
neighbor-filter access-list |
Filter all the pim messages sent
to the stub router |
The
supervision and maintenance of multicast router
Clear
multicast cache, routing list
If
certain cache or routing table are suspected to be invalid, its content can be
cleared. Input the following
commands under management status:
Command | Function |
Router#clear
ip igmp group [type number] [group-address
| <cr>] |
Clear
the list items in the IGMP cache |
Router#clear
ip mroute [* | group-address |
source-address] |
Clear entries in multicast routing table |
Show
multicast routing table and system statistical information
The
user can estimate the resource usage information and solve the network problem
through the showing of IP multicast routing table, related cache or database.
Using
the following commands to observe the statistical information of multicast
routing in management mode:
Command |
Function |
Router#show ip igmp
groups [type number | group-address] [detail] |
Show the multicast group
information in IGMP cache |
Router#show ip igmp
interface [type number] |
Show IGMP configuration
information in the interface |
Router#show ip mroute mfc |
Show multicast forward
cache |
Router#show ip rpf [ucast
| mstatic | pim-dm | pim-sm | dvmrp] source-address |
Show RPF information |
Examples
of multicast routing configuration
The example of PIM-DM configuration
The example of PIM-DM state refresh configuration
The example of management boundary configuration
The example of multicast helper configuration
Examples of Stub multicast configuration
The
example of PIM-DM configuration
This section includes the example of PIM-DM configuration:
The
basic configuration of pim-dm
A 17 series router, a cisco 2620 configured as the following:
The 17 series router is configured as follows:
!
ip multicast-routing
!
interface Null0
!
interface Loopback1
ip address 1.1.1.1 255.255.255.0
no ip directed-broadcast
ip pim-dm
ip igmp static-group *
!
interface Ethernet1/1
ip address 192.167.20.132 255.255.255.0
no ip directed-broadcast
duplex half
ip pim-dm
ip igmp static-group 239.1.1.1
!
!
interface Ethernet2/1
ip address 192.168.20.132 255.255.255.0
no ip directed-broadcast
duplex half
ip pim-dm
ip pim-dm neighbor-filter nbr_filter
!
!
ip access-list standard nbr_filter
deny 192.167.20.132 255.255.255.255
permit 192.168.20.0 255.255.255.0
!
interface ethernet 1/1
ip address 192.168.20.82 255.255.255.0
interface loopback 0
ip address 20.1.1.1 255.0.0.0
!
router PIM-DM
network 192.168.20.0
network 20.0.0.0
!
Configuration of cisco 2620 can be like that:
!
ip multicast-routing
!
interface Loopback1
ip address 10.10.20.1 255.255.255.0
ip igmp static-group 239.1.1.1
ip pim dense-mode
!
interface FastEthernet0/0
ip address 192.168.20.204 255.255.255.0
ip pim dr-priority 20
ip pim query-interval 40
ip pim dense-mode
!
interface FastEthernet0/1
ip address 192.168.20.204 255.255.255.0
ip pim dr-priority 20
ip pim query-interval 40
ip pim dense-mode
!
The
example of PIM-DM state refresh configuration
Please
refer to "Refresh
the configuration state
The
example of management boundary configuration
ip multicast boundary acl
ip access-list standard acl
permit 192.168.20.97
255.255.255.0
The
example of multicast helper configuration
The following
example demonstrates the system administrator’s configuration of multicast
helper command
The
configuration of the router is demonstrated in the following chart, configure
“ip directed-broadcast” on e0 interface of first hop router to allow the
processing of directed broadcast messages, configure “ip multicast helper-map
broadcast 230.0.0.1 testacl1” , allow to change the UDP broadcast message sent
from source address of 192.168.20.97/24 on port number 4000 into sending the
multicast message with the target address of 230.0.0.1.
Configure “ip directed-broadcast” to allow the processing of directed
broadcast message on the e1 interface of the last router. Configure “ip
multicast helper-map 230.0.0.1 172.10.255.255 testacl2”, allow to change the
multicast message with the target address of 230.0.0.1 sent from source address
192.168.20.97/24, port number 4000 to broadcast message with target address of
172.10.255.255.
On the first hop router connects to the original broadcast network
interface
ethernet 0
ip
directed-broadcast
ip
multicast helper-map broadcast 230.0.0.1 testacl
ip pim-dm
!
ip access-list
extended testacl permit udp
192.168.20.97 255.255.255.0 any
ip
forward-protocol udp 4000
On the last hop router connects to the target broadcast
network
interface
ethernet 1
ip
directed-broadcast
ip
multicast helper-map 230.0.0.1 172.10.255.255 testacl2
ip pim-dm
!
ip access-list
extended testacl2 permit udp
192.168.20.97 255.255.255.0 any
ip forward-protocol udp 4000
Examples
of Stub multicast configuration
The
configuration of router A and B is demonstrated as the following chart
Stub Router A Configuration
ip multicast-routing
ip pim-dm
ip igmp helper-address 10.0.0.2
Central Router B Configuration
ip multicast-routing
ip pim-dm
ip pim-dm neighbor-filter stubfilter
ip access-list stubfilter
deny 10.0.0.1