Network Working Group A. Adams Request for Comments: 3973 NextHop Technologies Category: Experimental J. Nicholas ITT A/CD W. Siadak NextHop Technologies January 2005 Protocol Independent Multicast - Den Mode (PIM-DM):
Protocol Specification (Revid)
Status of This Memo
This memo defines an Experimental Protocol for the Internet
community. It does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document specifies Protocol Independent Multicast - Den Mode
(PIM-DM). PIM-DM is a multicast routing protocol that us the
underlying unicast routing information ba to flood multicast
datagrams to all multicast routers. Prune messages are ud to
prevent future messages from propagating to routers without group
membership information.
Adams, et al. Experimental [Page 1]
典当商Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Pudocode Notation . . . . . . . . . . . . . . . . . . 5
imnu3. PIM-DM Protocol Overview . . . . . . . . . . . . . . . . . . . 5
4. Protocol Specification . . . . . . . . . . . . . . . . . . . . 6 4.1. PIM Protocol State . . . . . . . . . . . . . . . . . . . 7 4.1.1. General Purpo State . . . . . . . . . . . . . 7 4.1.2. (S,G) State . . . . . . . . . . . . . . . . . . 8 4.1.3. State Summarization Macros . . . . . . . . . . . 8 4.2. Data Packet Forwarding Rules . . . . . . . . . . . . . . 10 4.3. Hello Messages . . . . . . . . . . . . . . . . . . . . . 11 4.3.1. Sending Hello Messages . . . . . . . . . . . . . 11 4.3.2. Receiving Hello Messages . . . . . . . . . . . . 11 4.3.3. Hello Message Hold Time . . . . . . . . . . . . 12 4.3.4. Handling Router Failures . . . . . . . . . . . . 12 4.3.
5. Reducing Prune Propagation Delay on LANs . . . . 13 4.4. PIM-DM Prune, Join, and Graft Messages . . . . . . . . . 13 4.4.1. Upstream Prune, Join, and Graft Messages . . . . 14
4.4.1.1. Transitions from the Forwarding
(F) State . . . . . . . . . . . . . . 17
4.4.1.2. Transitions from the Pruned
(P) State . . . . . . . . . . . . . . 18 4.4.1.3. Transitions from the AckPending
(AP) State . . . . . . . . . . . . . . 19 4.4.2. Downstream Prune, Join, and Graft Messages . . . 21 4.4.2.1. Transitions from the NoInfo State . . 23 4.4.2.2. Transitions from the PrunePending
(PP) State . . . . . . . . . . . . . . 24 4.4.2.3. Transitions from the Prune
(P) State . . . . . . . . . . . . . . 25 4.5. State Refresh . . . . . . . . . . . . . . . . . . . . . 26 4.5.1. Forwarding of State Refresh Messages . . . . . . 26 4.5.2. State Refresh Message Origination . . . . . . . 28 4.5.2.1. Transitions from the NotOriginator
(NO) State . . . . . . . . . . . . . . 29 4.5.2.2. Transitions from the Originator
(O) State . . . . . . . . . . . . . . 29 Adams, et al. Experimental [Page 2]
4.6. PIM Asrt Messages . . . . . . . . . . . . . . . . . . 30 4.6.1. Asrt Metrics . . . . . . . . . . . . . . . . . 30 4.6.2. AsrtCancel Messages . . . . . . . . . . . . . 31 4.6.3. Asrt State Macros . . . . . . . . . . . . . . 32 4.6.4. (S,G) Asrt Message State Machine . . . . . . . 32 4.6.4.1. Transitions from NoInfo State . . . . 34 4.6.4.2. Transitions from Winner State . .
. . 35 4.6.4.3. Transitions from Lor State . . . . . 36 4.6.
5. Rationale for Asrt Rules . . . . . . . . . . . 38 4.7. PIM Packet Formats . . . . . . . . . . . . . . . . . . . 38 4.7.1. PIM Header . . . . . . . . . . . . . . . . . . . 38 4.7.2. Encoded Unicast Address . . . . . . . . . . . . 39 4.7.3. Encoded Group Address . . . . . . . . . . . . . 40 4.7.4. Encoded Source Address . . . . . . . . . . . . . 41 4.7.5. Hello Message Format . . . . . . . . . . . . . . 42 4.7.5.1. Hello Hold Time Option . . . . . . . . 43 4.7.5.2. LAN Prune Delay Option . . . . . . . . 43 4.7.5.3. Generation ID Option . . . . . . . . . 44 4.7.5.4. State Refresh Capable Option . . . . . 44 4.7.
6. Join/Prune Message Format . . . . . . . . . . . 45 4.
7.7. Asrt Message Format . . . . . . . . . . . . . 47 4.7.
8. Graft Message Format . . . . . . . . . . . . . . 48 4.7.
9. Graft Ack Message Format . . . . . . . . . . . . 48 4.7.10. State Refresh Message Format . . . . . . . . . . 48
4.8. PIM-DM Timers . . . . . . . . . . . . . . . . . . . . . 50
5. Protocol Interaction Considerations . . . . . . . . . . . . . 53 5.1. PIM-SM Interactions . . . . . . . . . . . . . . . . . . 53 5.2. IGMP Interactions . . . . . . . . . . . . . . . . . . . 54 5.3. Source Specific Multicast (SSM) Interactions . . . . . . 54
5.4. Multicast Group Scope Boundary Interactions . . . . . . 54
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 6.1. PIM Address Family . . . . . . . . . . . . . . . . . . . 54
6.2. PIM Hello Options . . . . . . . . . . . . . . . . . . . 55
7. Security Considerations. . . . . . . . . . . . . . . . . . . . 55 7.1. Attacks Bad on Forged Messages . . . . . . . . . . . . 55 7.2. Non-cryptographic Authentication Mechanisms . . . . . . 56 7.3. Authentication Using IPc . . . . . . . . . . . . . . . 56
7.4. Denial of Service Attacks . . . . . . . . . . . . . . . 58
银行卡分类
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 58
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 58 9.1. Normative References . . . . . . . . . . . . . . . .
. . 58 9.2. Informative References . . . . . . . . . . . . . . . . . 59 Authors’ Address . . . . . . . . . . . . . . . . . . . . . . . . 60 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 61 Adams, et al. Experimental [Page 3]
1. Introduction
This specification defines a multicast routing algorithm for
multicast groups that are denly distributed across a network. This protocol does not have a topology discovery mechanism often ud by a unicast routing protocol. It employs the same packet formats spar mode PIM (PIM-SM) us. This protocol is called PIM - Den Mode.
The foundation of this design was largely built on Deering’s early
work on IP multicast routing [12].
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
be interpreted as described in RFC 2119 [11] and indicate requirement levels for compliant PIM-DM implementations.
2.1. Definitions
Multicast Routing Information Ba (MRIB)
This is the multicast topology table, which is typically derived
from the unicast routing table, or from routing protocols such as
MBGP that carry multicast-specific topology information. PIM-DM
us the MRIB to make decisions regarding RPF interfaces.
Tree Information Ba (TIB)
This is the collection of state maintained by a PIM router and
created by receiving PIM messages and IGMP information from local
hosts. It esntially stores the state of all multicast
distribution trees at that router.
Rever Path Forwarding (RPF)
RPF is a multicast forwarding mode in which a data packet is
accepted for forwarding only if it is received on an interface ud to reach the source in unicast.
Upstream Interface
Interface toward the source of the datagram. Also known as the RPF Interface.
Downstream Interface
All interfaces that are not the upstream interface, including the
router itlf.
(S,G) Pair
Source S and destination group G associated with an IP packet. Adams, et al. Experimental [Page 4]
2.2. Pudocode Notation
We u t notation in veral places in this specification.
A (+) B
is the union of two ts, A and B.
A (-) B
are the elements of t A that are not in t B.
NULL
is the empty t or list.
Note that operations MUST be conducted in the order specified. This is due to the fact that (-) is not a true difference operator,
becau B is not necessarily a subt of A. That is, A (+) B (-) C = A (-) C (+) B is not a true statement unless C is a subt of both A and B.
In addition, we u C-like syntax:
= denotes assignment of a variable.
== denotes a comparison for equality.
!= denotes a comparison for inequality.
Braces { and } are ud for grouping.
3. PIM-DM Protocol Overview
This ction provides an overview of PIM-DM behavior. It is intended as an introduction to how PIM-DM works and is NOT definitive. For
the definitive specification, e Section 4, Protocol Specification. PIM-DM assumes that when a source starts nding, all downstream
systems want to receive multicast datagrams. Initially, multicast
datagrams are flooded to all areas of the network. PIM-DM us RPF
to prevent looping of multicast datagrams while flooding. If some
areas of the network do not have group members, PIM-DM will prune off the forwarding branch by instantiating prune state.
Prune state has a finite lifetime. When that lifetime expires, data will again be forwarded down the previously pruned branch.
Prune state is associated with an (S,G) pair. When a new member for a group G appears in a pruned area, a router can "graft" toward the
最好的昵称source S for the group, thereby turning the pruned branch back into a forwarding branch.
word自动换行
Adams, et al. Experimental [Page 5]
The broadcast of datagrams followed by pruning of unwanted branches元宵节寓意
is often referred to as a flood and prune cycle and is typical of
den mode protocols.
To minimize repeated flooding of datagrams and subquent pruning
associated with a particular (S,G) pair, PIM-DM us a state refresh message. This message is nt by the router(s) directly connected to the source and is propagated throughout the network. When received
by a router on its RPF interface, the state refresh message caus an existing prune state to be refreshed.
Compared with multicast routing protocols with built-in topology
discovery mechanisms (e.g., DVMRP [13]), PIM-DM has a simplified
design and is not hard-wired into a specific topology discovery
protocol. However, this simplification does incur more overhead by
causing flooding and pruning to occur on some links that could be
avoided if sufficient topology information were available; i.e., to
decide whether an interface leads to any downstream members of a
乡愁是什么particular group. Additional overhead is chon in favor of the
simplification and flexibility gained by not depending on a specific topology discovery protocol.
PIM-DM differs from PIM-SM in two esntial ways: 1) There are no
怀素草书periodic joins transmitted, only explicitly triggered prunes and
grafts. 2) There is no Rendezvous Point (RP). This is particularly important in networks that cannot tolerate a single point of failure. (An RP is the root of a shared multicast distribution tree. For more details, e [4]).
4. Protocol Specification
The specification of PIM-DM is broken into veral parts:
* Section 4.1 details the protocol state stored.
* Section 4.2 specifies the data packet forwarding rules.
* Section 4.3 specifies generation and processing of Hello messages. * Section 4.4 specifies the Join, Prune, and Graft generation and
processing rules.
* Section 4.5 specifies the State Refresh generation and forwarding
rules.
* Section 4.6 specifies the Asrt generation and processing rules.
* Section 4.7 gives details on PIM-DM Packet Formats.
* Section 4.8 summarizes PIM-DM timers and their defaults.
Adams, et al. Experimental [Page 6]