rfc3208.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,549 行 · 第 1/5 页
TXT
1,549 行
disinterested receivers.
1.2.1. Reliability.
Reliable data delivery across an unreliable network is conventionally
achieved through an end-to-end protocol in which a source (implicitly
or explicitly) solicits receipt confirmation from a receiver, and the
receiver responds positively or negatively. While the frequency of
negative acknowledgments is a function of the reliability of the
network and the receiver's resources (and so, potentially quite low),
the frequency of positive acknowledgments is fixed at at least the
rate at which the transmit window is advanced, and usually more
often.
Negative acknowledgments primarily determine repairs and reliability.
Positive acknowledgments primarily determine transmit buffer
management.
When these principles are extended without modification to multicast
protocols, the result, at least for positive acknowledgments, is a
burden of positive acknowledgments transmitted to the source that
quickly threatens to overwhelm it as the number of receivers grows.
More succinctly, ACK implosion keeps ACK-based reliable multicast
protocols from scaling well.
Speakman, et. al. Experimental [Page 6]
RFC 3208 PGM Reliable Transport Protocol December 2001
One of the goals of PGM is to get as strong a definition of
reliability as possible from as simple a protocol as possible. ACK
implosion can be addressed in a variety of effective but complicated
ways, most of which require re-transmit capability from other than
the original source.
An alternative is to dispense with positive acknowledgments
altogether, and to resort to other strategies for buffer management
while retaining negative acknowledgments for repairs and reliability.
The approach taken in PGM is to retain negative acknowledgments, but
to dispense with positive acknowledgments and resort instead to
timeouts at the source to manage transmit resources.
The definition of reliability with PGM is a direct consequence of
this design decision. PGM guarantees that a receiver either receives
all data packets from transmissions and repairs, or is able to detect
unrecoverable data packet loss.
PGM includes strategies for repeatedly provoking NAKs from receivers,
and for adding reliability to the NAKs themselves. By reinforcing
the NAK mechanism, PGM minimizes the probability that a receiver will
detect a missing data packet so late that the packet is unavailable
for repair either from the source or from a designated local repairer
(DLR). Without ACKs and knowledge of group membership, however, PGM
cannot eliminate this possibility.
1.2.2. Group Membership
A second consequence of eliminating ACKs is that knowledge of group
membership is neither required nor provided by the protocol.
Although a source may receive some PGM packets (NAKs for instance)
from some receivers, the identity of the receivers does not figure in
the processing of those packets. Group membership MAY change during
the course of a PGM transport session without the knowledge of or
consequence to the source or the remaining receivers.
1.2.3. Efficiency
While PGM avoids the implosion of positive acknowledgments simply by
dispensing with ACKs, the implosion of negative acknowledgments is
addressed directly.
Receivers observe a random back-off prior to generating a NAK during
which interval the NAK is suppressed (i.e. it is not sent, but the
receiver acts as if it had sent it) by the receiver upon receipt of a
matching NCF. In addition, PGM network elements eliminate duplicate
NAKs received on different interfaces on the same network element.
Speakman, et. al. Experimental [Page 7]
RFC 3208 PGM Reliable Transport Protocol December 2001
The combination of these two strategies usually results in the source
receiving just a single NAK for any given lost data packet.
Whether a repair is provided from a DLR or the original source, it is
important to constrain that repair to only those network segments
containing members that negatively acknowledged the original
transmission rather than propagating it throughout the group. PGM
specifies procedures for network elements to use the pattern of NAKs
to define a sub-tree within the group upon which to forward the
corresponding repair so that it reaches only those receivers that
missed it in the first place.
1.2.4. Simplicity
PGM is designed to achieve the greatest improvement in reliability
(as compared to the usual UDP) with the least complexity. As a
result, PGM does NOT address conference control, global ordering
amongst multiple sources in the group, nor recovery from network
partitions.
1.2.5. Operability
PGM is designed to function, albeit with less efficiency, even when
some or all of the network elements in the multicast tree have no
knowledge of PGM. To that end, all PGM data packets can be
conventionally multicast routed by non-PGM network elements with no
loss of functionality, but with some inefficiency in the propagation
of RDATA and NCFs.
In addition, since NAKs are unicast to the last-hop PGM network
element and NCFs are multicast to the group, NAK/NCF operation is
also consistent across non-PGM network elements. Note that for NAK
suppression to be most effective, receivers should always have a PGM
network element as a first hop network element between themselves and
every path to every PGM source. If receivers are several hops
removed from the first PGM network element, the efficacy of NAK
suppression may degrade.
1.3. Options
In addition to the basic data transfer operation described above, PGM
specifies several end-to-end options to address specific application
requirements. PGM specifies options to support fragmentation, late
joining, redirection, Forward Error Correction (FEC), reachability,
and session synchronization/termination/reset. Options MAY be
appended to PGM data packet headers only by their original
transmitters. While they MAY be interpreted by network elements,
options are neither added nor removed by network elements.
Speakman, et. al. Experimental [Page 8]
RFC 3208 PGM Reliable Transport Protocol December 2001
All options are receiver-significant (i.e., they must be interpreted
by receivers). Some options are also network-significant (i.e., they
must be interpreted by network elements).
Fragmentation MAY be used in conjunction with data packets to allow a
transport-layer entity at the source to break up application-layer
data packets into multiple PGM data packets to conform with the
maximum transmission unit (MTU) supported by the network layer.
Late joining allows a source to indicate whether or not receivers may
request all available repairs when they initially join a particular
transport session.
Redirection MAY be used in conjunction with Poll Responses to allow a
DLR to respond to normal NCFs or POLLs with a redirecting POLR
advertising its own address as an alternative re-transmitter to the
original source.
FEC techniques MAY be applied by receivers to use source-provided
parity packets rather than selective retransmissions to effect loss
recovery.
2. Architectural Description
As an end-to-end transport protocol, PGM specifies packet formats and
procedures for sources to transmit and for receivers to receive data.
To enhance the efficiency of this data transfer, PGM also specifies
packet formats and procedures for network elements to improve the
reliability of NAKs and to constrain the propagation of repairs. The
division of these functions is described in this section and expanded
in detail in the next section.
2.1. Source Functions
Data Transmission
Sources multicast ODATA packets to the group within the
transmit window at a given transmit rate.
Source Path State
Sources multicast SPMs to the group, interleaved with ODATA if
present, to establish source path state in PGM network
elements.
Speakman, et. al. Experimental [Page 9]
RFC 3208 PGM Reliable Transport Protocol December 2001
NAK Reliability
Sources multicast NCFs to the group in response to any NAKs
they receive.
Repairs
Sources multicast RDATA packets to the group in response to
NAKs received for data packets within the transmit window.
Transmit Window Advance
Sources MAY advance the trailing edge of the window according
to one of a number of strategies. Implementations MAY support
automatic adjustments such as keeping the window at a fixed
size in bytes, a fixed number of packets or a fixed real time
duration. In addition, they MAY optionally delay window
advancement based on NAK-silence for a certain period. Some
possible strategies are outlined later in this document.
2.2. Receiver Functions
Source Path State
Receivers use SPMs to determine the last-hop PGM network
element for a given TSI to which to direct their NAKs.
Data Reception
Receivers receive ODATA within the transmit window and
eliminate any duplicates.
Repair Requests
Receivers unicast NAKs to the last-hop PGM network element (and
MAY optionally multicast a NAK with TTL of 1 to the local
group) for data packets within the receive window detected to
be missing from the expected sequence. A receiver MUST
repeatedly transmit a given NAK until it receives a matching
NCF.
NAK Suppression
Receivers suppress NAKs for which a matching NCF or NAK is
received during the NAK transmit back-off interval.
Speakman, et. al. Experimental [Page 10]
RFC 3208 PGM Reliable Transport Protocol December 2001
Receive Window Advance
Receivers immediately advance their receive windows upon
receipt of any PGM data packet or SPM within the transmit
window that advances the receive window.
2.3. Network Element Functions
Network elements forward ODATA without intervention.
Source Path State
Network elements intercept SPMs and use them to establish
source path state for the corresponding TSI before multicast
forwarding them in the usual way.
NAK Reliability
Network elements multicast NCFs to the group in response to any
NAK they receive. For each NAK received, network elements
create repair state recording the transport session identifier,
the sequence number of the NAK, and the input interface on
which the NAK was received.
Constrained NAK Forwarding
Network elements repeatedly unicast forward only the first copy
of any NAK they receive to the upstream PGM network element on
the distribution path for the TSI until they receive an NCF in
response. In addition, they MAY optionally multicast this NAK
upstream with TTL of 1.
Nota Bene: Once confirmed by an NCF, network elements discard NAK
packets; NAKs are NOT retained in network elements beyond this
forwarding operation, but state about the reception of them is
stored.
NAK Elimination
Network elements discard exact duplicates of any NAK for which
they already have repair state (i.e., that has been forwarded
either by themselves or a neighboring PGM network element), and
respond with a matching NCF.
Speakman, et. al. Experimental [Page 11]
RFC 3208 PGM Reliable Transport Protocol December 2001
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?