Protocol Independent Multicast (PIM)
PIM was designed to take advantage of two existing multicast routing protocols,
DVMRP and CBT. It exibits the behavior of a protcol in a region of dense
group membership flooding multicast packets using Reverse Path Multicasting,
while also taking advantage of the work done for sparse group membership in
Core Based Trees. Hence, the protocol has two modes, dense and sparse.
Currently, only dense mode is implemented in Gated. An overview of PIM
can be found in the document
Protocol Independent Multicast (PIM): Motivation and Architecture.
The detailed protocol specification is also available as
Protocol Independent Multicast (PIM): Protocol Specification.
Both of these documents are considered Work in Progress.
The PIM Statement
pim yes | no | on | off [ {
queryinterval sec ;
routertimeout sec ;
prunetimeout sec ;
inactivitytimeout sec ;
graftacktimeout sec ;
preference {
direct preference ;
kernel preference ;
ospf preference ;
ospfase preference ;
rip preference ;
hello preference ;
static preference ;
bgp preference ;
egp preference ;
idrp preference ;
isis preference ;
slsp preference ;
} ;
interface interface_list [[enable] | [disable]] [mode [dense | sparse]] ;
traceoptions trace_options ;
} ] ;
The pim
statement enables or disables the PIM protocol. If the
pim
statement is not specified the default is pim
off;
If enabled, PIM will default to enabling all interfaces
that are multicast capable. These interfaces are indentified by the
IFF_MULTICAST interface flag.
The options are as follows:
- queryinterval sec
- This is the interval at which PIM Router Queries are sent on the multicast
capable LAN. PIM Router Queries are sent to the All Routers Multicast Group
in order for PIM routers to find other PIM routers on a multiaccess network.
If not specified, the default value is 30 seconds.
- routertimeout sec
- This is the interval that a PIM router is remembered without receiving
a PIM Router Query. After this time, the router is deleted from the local
database. Its value defaults to three times the queryinterval or 90 seconds
when the default queryinterval is used.
- prunetimeout sec
- This is the duration that a prune will stay active for a prune sent
by this router. It defaults to 180 seconds.
- inactivitytimeout sec
- This is the length of time that a forwarding cache entry will remain
active once it becomes inactive, i.e. no more traffic is being forwarded
for the Source, Group pair. The default value is 180 seconds.
- graftacktimeout sec
- This is the length of time this PIM router will wait for a Graft to
be acknowledged before it retransmits the Graft. The default value is 60
seconds.
- preference
- The preference statement allows changing the preference values used
in comparing protocols to determine the router that will forward multicast
packets on a multiaccess LAN. These values are sent in Assert messages when
more than one router is capable of forwarding the multicast packets and one
detects the others duplicate packets. These values must be the same for
each router on a multiaccess LAN. Therefore, the default values have
been specifically coordinated to match other implementations. The default
values are 0 for direct routes, 1 for static routes, 110 for OSPF and OSPFASE
routes, 115 of ISIS routes, 120 for RIP routes, 130 for SLSP routes, 140
for EGP routes, 200 for BGP routes, 210 for IDRP routes, 220 for existing
kernel routes, and 255 for hello routes.
- interface interface_list
- Enables or disables PIM on this interface or list of interfaces.
Currently, the gated implementation of PIM cannot detect when
there are multiple addresses configured on the same physical interface.
It will send PIM messages to each logical network. This should be
fixed in a future release.
The possible parameters are:
- disable
- Specifies that PIM packets received via the specified
interface will be ignored. The default is to listen to
PIM on all multicast capable interfaces.
- enable
- This is the default. This argument may be necessary
when
disable
is used on a wildcard interface
descriptor.
- mode
- This command specifies the default mode of PIM on the interface.
It is exchanged with other PIM routers in the Router Query
messages and allows the router to determine if explicit joins
should be sent upstream (sparse) or default
flooding and pruning should be performed (dense).
- traceoptions trace_options
- Specifies the tracing options for PIM.
(See Trace Statements and the PIM specific
tracing options below.)
Tracing options
Packet tracing options (which may be modified with
detail
, send
or recv
):
- packets
- All PIM packets.
- query
- PIM Router Query packets
- register
- PIM Register, Register Stop, and RP packets
- join
- PIM Join/Prune packets
- assert
- PIM Assert packets
- assert
- PIM Graft and Graft Ack packets
Sample PIM configurations
See the sample multicast router configurations.
Last updated 1995/10/12 20:26:53.
pusateri@netedge.com