RFC2117 - Protocol Independent Multicast-Sparse Mode (PIM-SM(3)

时间:2005-02-15 来源: 作者: 点击:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PIM Ver| Type | Addr length | Checksum | +-+-+-+-+-+-+-+-+-+
  

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | Addr length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-Upstream Neighbor Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Num groups | Holdtime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Multicast Group Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Joined Sources | Number of Pruned Sources |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Joined Source Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Joined Source Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Pruned Source Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Pruned Source Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Multicast Group Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Joined Sources | Number of Pruned Sources |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Joined Source Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Joined Source Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Pruned Source Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Pruned Source Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

PIM Version, Type, Addr length, Checksum
Described above.

Upstream Neighbor Address
The IP address of the RPF or upstream neighbor.

Reserved
Transmitted as zero, ignored on receipt.

Holdtime
The amount of time a receiver must keep the Join/Prune
state alive, in seconds. If the Holdtime is set to
`0xffff', the receiver of this message never times out the
oif. This may be used with ISDN lines, to avoid keeping the
link up with periodical Join/Prune messages. Furthermore,
if the Holdtime is set to `0', the information is timed out
immediately.

Number of Groups
The number of multicast group sets contained in the
message.

Encoded-Multicast group address
For format description see Section
4.1. A wild card group in the (*,*,RP) join is represented
by a 224.0.0.0 in the group address field and `4' in the
mask length field. A (*,*,RP) join also has the WC-bit and
the RPT-bit set.

Number of Joined Sources
Number of join source addresses listed for a given group.

Join Source Address-1 .. n
This list contains the sources that the sending router
will forward multicast datagrams for if received on the
interface this message is sent on.

See format section 4.1. The fields explanation for the
Encoded-Source-Address format follows:

Reserved
Described above.

S The Sparse bit is a 1 bit value, set to 1 for PIM-SM.
It is used for PIM v.1 compatibility.

W The WC bit is a 1 bit value. If 1, the join or prune
applies to the (*,G) or (*,*,RP) entry. If 0, the join
or prune applies to the (S,G) entry where S is Source
Address. Joins and prunes sent towards the RP must
have this bit set.

R The RPT-bit is a 1 bit value. If 1, the information
about (S,G) is sent towards the RP. If 0, the
information must be sent toward S, where S is the
Source Address.

Mask Length, Source Address
Described above.

Represented in the form of < WC-bit >< RPT-bit > < Mask length
><Source address>:

A source address could be a host IP address :

< 0 >< 0 >< 32 >< 192.1.1.17 >

A source address could be the RP's IP address :

< 1 >< 1 >< 32 >< 131.108.13.111 >

A source address could be a subnet address to prune from the
RP-tree :

< 0 >< 1 >< 28 >< 192.1.1.16 >

A source address could be a general aggregate :

< 0 >< 0 >< 16 >< 192.1.0.0 >

Number of Pruned Sources
Number of prune source addresses listed for a group.

Prune Source Address-1 .. n
This list contains the sources that the sending router
does not want to forward multicast datagrams for when
received on the interface this message is sent on. If the
Join/Prune message boundary exceeds the maximum packet
size, then the join and prune lists for the same group must
be included in the same packet.

4.6 Bootstrap Message

The Bootstrap messages are multicast to `ALL-PIM-ROUTERS' group, out
all interfaces having PIM neighbors (excluding the one over which the
message was received). Bootstrap messages are sent with TTL value of
1. Bootstrap messages originate at the BSR, and are forwarded by
intermediate routers.

Bootstrap message is divided up into `semantic fragments', if the
original message exceeds the maximum packet size boundaries.

The semantics of a single `fragment' is given below:

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | Addr length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Fragment Tag | Hash Mask len | BSR-priority |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-BSR-Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Group Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RP-Count-1 | Frag RP-Cnt-1 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-RP-Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RP1-Holdtime | Unicast- . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . RP-Address-2 | RP2-Holdtime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-RP-Address-m |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RPm-Holdtime | Encoded- . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . Group Address-2 . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Group Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RP-Count-m | Frag RP-Cnt-m | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-RP-Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RP1-Holdtime | Unicast- . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . RP-Address-2 | RP2-Holdtime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-RP-Address-m |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RPm-Holdtime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

PIM Version, Type, Addr length, Checksum
Described above.

Fragment Tag
A randomly generated number, acts to distinguish the
fragments belonging to different Bootstrap messages;
fragments belonging to same Bootstrap message carry the
same `Fragment Tag'.

Hash Mask len
The length (in bits) of the mask to use in the hash
function. For IPv4 we recommend a value of 30. For IPv6 we
recommend a value of 126.

BSR-priority
Contains the BSR priority value of the included BSR. This
field is considered as a high order byte when comparing BSR
addresses.

Unicast-BSR-Address
The IP address of the bootstrap router for the domain. The
length of this field in bytes is specified in Addr length.

Encoded-Group Address-1..n
The group prefix (address and mask) with which the
Candidate RPs are associated. Format previously described.

RP-Count-1..n
The number of Candidate RP addresses included in the whole
Bootstrap message for the corresponding group prefix. A
router does not replace its old RP-Set for a given group
prefix until/unless it receives `RP-Count' addresses for
that prefix; the addresses could be carried over several
fragments. If only part of the RP-Set for a given group
prefix was received, the router discards it, without
updating that specific group prefix's RP-Set.

Frag RP-Cnt-1..m
The number of Candidate RP addresses included in this
fragment of the Bootstrap message, for the corresponding
group prefix. The `Frag RP-Cnt' field facilitates parsing
of the RP-Set for a given group prefix, when carried over
more than one fragment.

Unicast-RP-address-1..m
The address of the Candidate RPs, for the corresponding
group prefix. The length of this field in bytes is
specified in Addr length.

RP1..m-Holdtime
The Holdtime for the corresponding RP. This field is copied
from the `Holdtime' field of the associated RP stored at
the BSR.

4.7 Assert Message

The Assert message is sent when a multicast data packet is received
on an outgoing interface corresponding to the (S,G) or (*,G)
associated with the source.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | Addr length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| Metric Preference |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

PIM Version, Type, Addr length, Checksum
Described above.

Encoded-Group Address
The group address to which the data packet was addressed,
and which triggered the Assert. Format previously
described.

Unicast-Source Address
Source IP address from IP multicast datagram that
triggered the Assert packet to be sent. The length of this
field in bytes is specified in Addr length.

R RPT-bit is a 1 bit value. If the IP multicast datagram
that triggered the Assert packet is routed down the RP
tree, then the RPT-bit is 1; if the IP multicast datagram
is routed down the SPT, it is 0.

Metric Preference
Preference value assigned to the unicast routing protocol
that provided the route to Host address.

Metric The unicast routing table metric. The metric is in units
applicable to the unicast routing protocol used.

4.8 Graft Message

Used in dense-mode. Refer to PIM dense mode specification.

4.9 Graft-Ack Message

Used in dense-mode. Refer to PIM dense mode specification.

4.10 Candidate-RP-Advertisement

Candidate-RP-Advertisements are periodically unicast from the C-RPs
to the BSR.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | Addr length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix-Cnt |A| Reserved | Holdtime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unicast-RP-Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Group Address-1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Encoded-Group Address-n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

PIM Version, Type, Addr length, Checksum
Described above.

Prefix-Cnt
The number of encoded group addresses included in the
message; indicating the group prefixes for which the C-RP
is advertising. A Prefix-Cnt of `0' implies a prefix of
224.0.0.0 with mask length of 4; i.e. all multicast groups.
If the C-RP is not configured with Group-prefix
information, the C-RP puts a default value of `0' in this
field.

A The Authoritative bit. This bit indicates that the BSR
should not override the group-prefix information indicated
in the C-RP Advertisement. In most cases C-RPs set this bit
to 0.

Holdtime
The amount of time the advertisement is valid. This field
allows advertisements to be aged out.

Unicast-RP-Address
The address of the interface to advertise as a Candidate
RP. The length of this field in bytes is specified in Addr
length.

Encoded-Group Address-1..n
The group prefixes for which the C-RP is advertising.
Format previously described.

5 Acknowledgments

Tony Ballardie, Scott Brim, Jon Crowcroft, Bill Fenner, Paul Francis,
Joel Halpern, Horst Hodel, Polly Huang, Stephen Ostrowski, Lixia
Zhang and Girish Chandranmenon provided detailed comments on previous
drafts. The authors of CBT [7] and membership of the IDMR WG provided
many of the motivating ideas for this work and useful feedback on
design details.

This work was supported by the National Science Foundation, ARPA,
cisco Systems and Sun Microsystems.

6 Appendices

6.1 Appendix I: Major Changes and Updates to the Spec

This appendix populates the major changes in the specification
document as compared to `draft-ietf-idmr-pim-spec-01.ps,txt'.

* Major Changes

List of changes since March '96 IETF:

(*,*,RP) Joins state and data forwarding check; replaces (*,G-
Prefix) Joins state for interoperability. (*,G) negative cache
introduced for the (*,*,RP) state supporting mechanisms.

Semantic fragmentation for the Bootstrap message.

Refinement of Assert details.

Addition and refinement of Join/Prune suppression and Register
suppression (introduction of null Registers).

Editorial changes and clarifications to the timers section.

Addition of Appendix II (BSR Election and RP-Set Distribution), and
Appendix III (Glossary of Terms).

Addition of table of contents.

List of changes incurred since version 1 of the spec.:

Proposal and refinement of bootstrap router (BSR) election mechanisms

Introduction of hash functions for Group to RP mapping

New RP-liveness indication mechanisms based upon the the Bootstrap
Router (BSR) and the Bootstrap messages.

Removal of reachability messages, RP reports and multiple RPs per
group.

* Packet Format Changes

Packet Format incurred updates to accommodate different address
lengths, and address aggregation.

1 The `Addr length' field was added to the PIM fixed header
to specify the address length in bytes of the underlying
protocol, see section 4.

2 The Encoded source and group address formats were
introduced, with the use of a `Mask length' field to allow
aggregation, section 4.1.

3 Packet formats are no longer IGMP messages; rather PIM
messages.

PIM message types and formats were also modified:

[Note: most changes were made to the May 95 version, unless otherwise
specified].

1 Obsolete messages:

Register-Ack [Feb. 96]

Poll and Poll Response [Feb. 96]

RP-Reachability [Feb. 96]

RPlist-Mapping [Feb. 96]

2 New messages:

Candidate-RP-Advertisement [change made in October 95]
RP-Set [Feb. 96]

3 Modified messages:

Join/Prune [Feb. 96]
Register [Feb. 96]
Register-Stop [Feb. 96]
Hello (addition of OptionTypes) [Aug 96]

4 Renamed messages:

Query messages are renamed as Hello messages [Aug. 96]
RP-Set messages are renamed as Bootstrap messages [Aug. 96]

6.2 Appendix II: BSR Election and RP-Set Distribution

For simplicity, the Bootstrap message is used in both the BSR election
and the RP-Set distribution.

The above two mechanisms; the BSR election, and the RP-Set
distribution; are realized through the following state machine,
illustrated in figure 4:

[Figures are present only in the postscript version]
Fig. 4 State Diagram for the BSR election and RP-Set
distribution mechanisms

The protocol transitions for a C-BSR are given in state diagram (a).
For routers not configured as C-BSRs, the protocol transitions are
given in state diagram (b).

Each PIM router keeps a Bootstrap-timer, initialized to
[Bootstrap-Timeout], in addition to a local BSR field `LclBSR'
(initialized to a local address if C-BSR, or to 0 otherwise), and a
local RP-Set `LclRP-Set' (initially empty). The two main stimuli to
the state machine are the timer events, and receiving an Bootstrap
message:

* Initial States and Timer Events

1 If the router is a C-BSR:

1 The router operates initially in the `CandBSR' state, where
it does not originate any Bootstrap messages.

2 If the Bootstrap-timer expires, and the current state is
`CandBSR', the router originates an Bootstrap message -
carrying the local RP-Set, and its own BSR priority and
address-, restarts the Bootstrap-timer at [Bootstrap-
Period] seconds and transits into the `ElectedBSR' state.

3 If the Bootstrap-timer expires, and the current state is
`ElectedBSR', the router originates an Bootstrap message,
and restarts the RP-Set timer at [Bootstrap-Period]. No
state transition is incurred.

This way, the elected BSR originates periodic Bootstrap
messages every [Bootstrap-Period].

2 If a router is not a C-BSR:

1 The router operates initially in the 'AxptAny' state. In
such state, a router accepts the first Bootstrap message
from the RPF neighbor toward the included BSR. The Reverse
Path Forwarding (RPF) neighbor in this case is the next hop
router en route to the included BSR.

2 If the Bootstrap-timer expires, and the current state is
`AxptPref', -where the router accepts only preferred.
Bootstrap messages from the RPF neighbor toward the
included BSR-, the router transits into the `AxptAny'
state (preferred Bootstrap messages are those that carry
BSR-priority and address higher than, or equal to,
`LclBSR').

In this case, if an elected BSR becomes unreachable, the
routers start accepting Bootstrap messages from another C-
BSR after the Bootstrap-timer expires. All PIM routers
within a domain converge on the preferred (with highest
priority and address) reachable C-BSR.

* Receiving Bootstrap Message

To avoid loops, an RPF check is performed on the included BSR address.
Upon receiving an Bootstrap message from the RPF neighbor toward the
included BSR, the following actions are taken:

1 If the router is not a C-BSR:

1 If the current state is 'AxptAny', the router accepts the
Bootstrap message, and transits into the 'AxptPref' state.

2 If the current state is 'AxptPref', and the Bootstrap
message is preferred, the message is accepted. No state
transition is incurred.

2 If the router is a C-BSR, and the Bootstrap message is
preferred, the message is accepted. Further, if this happens
when the current state is

When an Bootstrap message is accepted, the router restarts the
Bootstrap-timer at [Bootstrap-Timeout], stores the received BSR
priority and address in `LclBSR', and the received RP-Set in
`LclRP-Set', and forwards the Bootstrap message out all interfaces
except the receiving interface.

If an Bootstrap message is rejected, no state transitions are
triggered.

6.3 Appendix III: Glossary of Terms

Following is an alphabetized list of terms and definitions used
throughout this specification.

* {Bootstrap router (BSR)}. A BSR is a dynamically elected router
within a PIM domain. It is responsible for constructing the RP-
Set and originating Bootstrap messages.

* {Candidate-BSR (C-BSR)}. A C-BSR is a router configured to
participate in the BSR election and act as BSRs if elected.

* {Candidate RP (C-RP)}. A C-RP is a router configured to send
periodic Candidate-RP-Advertisement messages to the BSR, and act
as an RP when it receives Join/Prune or Register messages for
the advertised group prefix.

* {Designated Router (DR)}. The DR sets up multicast route
entries and sends corresponding Join/Prune and Register messages
on behalf of directly-connected receivers and sources,
respectively. The DR may or may not be the same router as the
IGMP Querier. The DR may or may not be the long-term, last-hop
router for the group; a router on the LAN that has a lower
metric route to the data source, or to the group's RP, may take
over the role of sending Join/Prune messages.

* {Incoming interface (iif)}. The iif of a multicast route entry
indicates the interface from which multicast data packets are
accepted for forwarding. The iif is initialized when the entry
is created.

* {Join list}. The Join list is one of two lists of addresses that
is included in a Join/Prune message; each address refers to a
source or RP. It indicates those sources or RPs to which
downstream receiver(s) wish to join.

* {Last-hop router}. The last-hop router is the last router to
receive multicast data packets before they are delivered to
directly-connected member hosts. In general the last-hop router
is the DR for the LAN. However, under various conditions
described in this document a parallel router connected to the
same LAN may take over as the last-hop router in place of the
DR.

* {Outgoing interface (oif) list}. Each multicast route entry has
an oif list containing the outgoing interfaces to which
multicast packets should be forwarded.

* {Prune List}. The Prune list is the second list of addresses
that is included in a Join/Prune message. It indicates those
sources or RPs from which downstream receiver(s) wish to prune.

* {PIM Multicast Border Router (PMBR)}. A PMBR connects a PIM
domain to other multicast routing domain(s).

* {Rendezvous Point (RP)}. Each multicast group has a shared-tree
via which receivers hear of new sources and new receivers hear
of all sources. The RP is the root of this per-group shared
tree, called the RP-Tree.

* {RP-Set}. The RP-Set is a set of RP addresses constructed by
the BSR based on Candidate-RP advertisements received. The RP-
Set information is distributed to all PIM routers in the BSR's
PIM domain.

* {Reverse Path Forwarding (RPF)}. RPF is used to select the
appropriate incoming interface for a multicast route entry . The
RPF neighbor for an IP address X is the the next-hop router used
to forward packets toward X. The RPF interface is the interface
to that RPF neighbor. In the common case this is the next hop
used by the unicast routing protocol for sending unicast packets
toward X. For example, in cases where unicast and multicast
routes are not congruent, it can be different.

* {Route entry.} A multicast route entry is state maintained in a
router along the distribution tree and is created, and updated
based on incoming control messages. The route entry may be
different from the forwarding entry; the latter is used to
forward data packets in real time. Typically a forwarding entry
is not created until data packets arrive, the forwarding entry's
iif and oif list are copied from the route entry, and the
forwarding entry may be flushed and recreated at will.

* {Shortest path tree (SPT)}. The SPT is the multicast
distribution tree created by the merger of all of the shortest
paths that connect receivers to the source (as determined by
unicast routing).

* {Sparse Mode (SM)}. SM is one mode of operation of a multicast
protocol. PIM SM uses explicit Join/Prune messages and
Rendezvous points in place of Dense Mode PIM's and DVMRP's
broadcast and prune mechanism.

* {Wildcard (WC) multicast route entry}. Wildcard multicast route
entries are those entries that may be used to forward packets
for any source sending to the specified group. Wildcard bots in
the join list of a Join/Prune message represent either a (*,G)
or (*,*,RP) join; in the prune list they represent a (*,G)
prune.

* {(S,G) route entry}. (S,G) is a source-specific route entry. It
may be created in response to data packets, Join/Prune messages,
or Asserts. The (S,G) state in routers creates a source-rooted,
shortest path (or reverse shortest path) distribution tree.
(S,G)RPT bit entries are source-specific entries on the shared
RP-Tree; these entries are used to prune particular sources off
of the shared tree.

* {(*,G) route entry}. Group members join the shared RP-Tree for
a particular group. This tree is represented by (*,G) multicast
route entries along the shortest path branches between the RP
and the group members.

* {(*,*,RP) route entry}. (*,*,RP) refers to any source and any
multicast group that maps to the RP included in the entry. The
routers along the shortest path branches between a domain's
RP(s) and its PMBRs keep (*,*,RP) state and use it to determine
how to deliver packets toward the PMBRs if data packets arrive
for which there is not a longer match. The wildcard group in the
(*,*,RP) route entry is represented by a group address of
224.0.0.0 and a mask length of 4 bits.

References

1. Deering, S., D.Estrin, D.Farinacci, V.Jacobson, C.Liu, L.Wei,
P.Sharma, and A.Helmy. Protocol independent multicast (pim) :
Motivation and architecture. Work in Progress.

2. Deering, S., D.Estrin, D.Farinacci, V.Jacobson, C.Liu, and L.Wei.
The pim architecture for wide-area multicast routing.
ACM Transactions on Networks, April 1996.

3. Estrin, D., D.Farinacci, V.Jacobson, C.Liu, L.Wei, P.Sharma, and
A.Helmy. Protocol independent multicast-dense mode (pim-dm) :
Protocol specification. Work in Progress.

4. Deering, S. Host extensions for ip multicasting, Aug 1989. RFC1112.

5. Fenner, W. Internet group management protocol, version 2.
Work in Progress.

6. Atkinson, R. Security architecture for the internet protocol,
August 1995. RFC-1825.

7. Ballardie, A.J., P.F. Francis, and J.Crowcroft. Core based trees.
In Proceedings of the ACM SIGCOMM, San Francisco, 1993.

Addresses of Authors:

Deborah Estrin
Computer Science Dept/ISI
University of Southern Calif.
Los Angeles, CA 90089
estrin@usc.edu

Dino Farinacci
Cisco Systems Inc.
170 West Tasman Drive,
San Jose, CA 95134
dino@cisco.com

Ahmed Helmy
Computer Science Dept.
University of Southern Calif.
Los Angeles, CA 90089
ahelmy@catarina.usc.edu

David Thaler
EECS Department
University of Michigan
Ann Arbor, MI 48109
thalerd@eecs.umich.edu

Stephen Deering
Xerox PARC
3333 Coyote Hill Road
Palo Alto, CA 94304
deering@parc.xerox.com

Mark Handley
Department of Computer Science
University College London
Gower Street
London, WC1E 6BT
UK
m.handley@cs.ucl.ac.uk

Van Jacobson
Lawrence Berkeley Laboratory
1 Cyclotron Road
Berkeley, CA 94720
van@ee.lbl.gov

Ching-gung Liu
Computer Science Dept.
University of Southern Calif.
Los Angeles, CA 90089
charley@catarina.usc.edu

Puneet Sharma
Computer Science Dept.
University of Southern Calif.
Los Angeles, CA 90089
puneet@catarina.usc.edu

Liming Wei
Cisco Systems Inc.
170 West Tasman Drive,
San Jose, CA 95134
lwei@cisco.com
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容