Internet DRAFT - draft-guo-bfd-pm-extension
draft-guo-bfd-pm-extension
Network working group X. Guo
Internet Draft M. Chen
Category: Standards Track K.Chan
Created: March 10, 2009 Huawei Technologies Co.,Ltd
Expires: September 2009
BFD Extensions in Support of Performance Measurement
draft-guo-bfd-pm-extension-01.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 15, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document.
Guo, Chen and Chan. Expires September 10, 2009 [Page 1]
Internet-Draft BFD extensions for PM March 2009
Abstract
This document describes extensions to the Bidirectional Forwarding
Detection (BFD) protocol to support Performance Measurement for
IP/MPLS network. Specifically, it defines BFD extensions for
measuring packet loss, delay and delay variation for arbitrary paths
between systems.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents
1. Introduction................................................2
2. Abbreviation................................................3
3. Terminology.................................................3
4. Motivations.................................................4
5. Extensions to BFD...........................................6
5.1. Packet Loss TLV.........................................8
5.2. Packet Delay TLV........................................9
6. Theory of Operation........................................11
6.1. Packet Loss Measurement................................11
6.2. Packet Delay Measurement...............................16
6.3. Packet Delay variation Measurement.....................19
7. Security Considerations.....................................19
8. IANA Considerations........................................19
9. Acknowledgments............................................20
10. References................................................20
10.1. Normative References..................................20
10.2. Informative References................................20
Authors' Addresses............................................21
1. Introduction
The Bidirectional Forwarding Detection protocol [BFD] provides a
mechanism for liveness detection of arbitrary paths between systems.
It is intended to provide low-overhead, short-duration detection of
failures in the path between adjacent forwarding engines, including
the interfaces, data link(s), and to the extent possible the
forwarding engines themselves.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 2]
Internet-Draft BFD extensions for PM March 2009
BFD could be used in many scenarios for failure detection, which
includes one-hop [BFD-1HOP], multi-hop [BFD-MULTI], MPLS LSP [BFD-
MPLS], PW VCCV [BFD-VCCV] failure detection. And according to
different requirements and situations, BFD provides several
combinations of one of those two operating modes (Asynchronous mode
and Demand mode) and an additional function (Echo Function) for
selection.
BFD is designed for failure detection, and so far, most of the
applications of BFD are for liveness detection. Based on the
mechanisms and functions provided by BFD, BFD could be used for
Performance Measurement of arbitrary paths between systems. In this
document, the performance is specified to packet loss, packet delay
and packet delay variation. This document describes methods and BFD
extensions for Performance Measurement.
2. Abbreviation
PM: Performance Measurement
PLM: Packet Loss Measurement
PDM: Packet Delay Measurement
PDVM: Packet Delay Variation Measurement
3. Terminology
Proactive OAM: Proactive OAM refers to OAM actions which are carried
out continuously to permit proactive reporting of fault and/or
performance results.
On-demand OAM: On-demand OAM refers to OAM actions which are
initiated via manual intervention for a limited time to carry out
diagnostics. On-demand OAM can result in singular or periodic OAM
actions during the diagnostics time interval.
Dual-ended packet loss: Each end sends periodic Dual-ended PLM
packets to its peer end to facilitate packet loss measurements at
the peer end. Dual-ended PLM is used as proactive PM.
Single-ended packet loss: The active node sends Single-ended PLM
request massage to the passive node and receives PLM reply packet to
carry out packet loss measurements. And the PLM reply packet is sent
by the passive when receiving PLM request massage form the active.
Single-ended PLM is used for on-demand PM.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 3]
Internet-Draft BFD extensions for PM March 2009
Near-End packet loss: Near-end packet loss refers to packet loss
associated with ingress data packets, and packet loss measurement is
performed on the egress node.
Far-end packet loss: Far-end packet loss refers to packet loss
associated with egress data packets, and packet loss measurement is
performed on the egress node.
One-way packet delay: is the time elapsed from the start of
transmission of the first bit of the packet by a source node until
the reception of the last bit of that packet by the destination
node.
Two-way packet delay: is the time elapsed from the start of
transmission of the first bit of the packet by a source node until
the reception of the last bit of the loop-backed packet by the
same source node, when the loopback is performed at the packet's
destination node.
4. Motivations
Currently, more and more new real-time services (e.g. Voice, Video,
Multimedia etc.) are provided using IP/MPLS networks, these new
applications have diverse Quality of Service (QoS) requirements that
are significantly different from the traditional best-effort service.
With the rapid growth of the network and new applications, it brings
a serious challenge to IP/MPLS network for performance management
and monitoring, which is crucial for IP/MPLS service provider to
provide guaranteed services, as well as assure the users that they
received the service according to the Services Level Agreements
(SLAs) they negotiated with their service provider.
The requirements of Performance Measurement are stated in [Y.1541],
[Y.1710], [RFC 4377], [MPLS-TP-OAM-REQ] and other documents. The
requirements of Performance Measurement could be simply summed up as
follows:
o Performance Measurement SHOULD at least include packet loss,
packet delay and packet delay variation.
o For packet loss measurement,
- it SHOULD support bidirectional point-to-point paths and
unidirectional point-to-point and point-to-multipoint
paths, and
Guo, Chen, and Chan. Expires September 10, 2009 [Page 4]
Internet-Draft BFD extensions for PM March 2009
- it SHOULD support proactive and on-demand mode, and
for proactive, it SHOULD support both dual-ended
and single-ended modes;
for on-demand, it SHOULD support single-ended mode;
for both of proactive and on-demand, they SHOULD
Near-End and Far-End;
o For packet delay and delay variation,
- it SHOULD support on-demand mode, and
- it SHOULD support both one-way and two-way modes,
Packet loss, delay and delay variation are the most typical
performance metrics. By measuring these metrics of the specific
paths in a network, service providers could detect the performance
degradation as soon as possible and take actions proactively. And an
OAM tool with Performance Measurement could also be used for
assisting in failure location when a failure occurs in a large and
complex network. That is, a set of performance monitoring tools are
desired for network operators and service providers. But the fact is
that there are no feasible standards and universal implementation
for IP/MPLS performance measurement.
In this document, BFD is proposed for performance measurement,
because BFD has the following characteristics which could satisfy
the requirements of Performance Measurement indicated above:
o BFD is originally designed for OAM and currently is used for
failure detection, it is reasonable if BFD is used for
performance measurement without adding much more complexity to
BFD. BFD [BFD-BASE] has already defined TLV (Type-Length-Value)
mechanism for Authentication purpose, two more new TLVs are
proposed by this document for performance measurement, with
minimum added complexity to BFD.
o Normally, BFD is implemented in the data path (line cards), so
it's very easy for BFD to get the forwarding statistic
information (e.g., received/transmitted packet numbers of a
specific path) timely, hence if BFD is used for performance
measurement, it will increase the accuracy of performance
measurement.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 5]
Internet-Draft BFD extensions for PM March 2009
o BFD protocol is very simple, for its low-overhead and
efficiency in failure detection, it is implemented by most of
the vendors on their devices and it is widely deployed in the
networks. If BFD is used for performance measurement, many
existing mechanisms (e.g., session establishment, parameter
negotiation, control packet formats) of BFD could be reused for
performance measurement. Hence there is no need to define a new
protocol.
o BFD is applicable to IP and MPLS, and point-to-point and point-
to-multipoint paths as well. So BFD with performance
measurement extensions is also applicable to IP and MPLS, and
point-to-point and point-to-multipoint path.
o BFD defines two operating modes, which are referred to as
Asynchronous and Demand mode. These two modes could be exactly
used to fulfill the requirements of Performance Measurement,
which are required to support proactive and on-demand, one-way
and two-way, as well as single-ended and dual-ended.
o BFD protocol support more than one authentication mechanism to
allow the receiving system to determine the validity of the
received packet. All OAM massages need Authentication mechanism
which is suggested by [MPLS-TP-OAM-REQ]. Performance
measurement as one of OAM tools also needs authentication for
security consideration. If BFD be used for performance
measurement, the authentication mechanisms of BFD MAY be reused,
and it no need to redefined a new set.
So, BFD is applicable to be used for Performance Measurement. The
detailed definitions and procedures are discussed in the following
sections.
5. Extensions to BFD
The BFD control packet is consisted of a Mandatory section and an
Optional Authentication Section, which is defined in [BFD]. The
Authentication Section is actually a Type-Length-Value (TLV)
structure that is indicated by the A (Authentication present) bit
whether the Authentication Section exists. There are five
Authentication TLVs that are defined in [BFD] and each of them is
identified by the Auth Type.
In this document, two new TLVs, which are referred to as Packet Loss
TLV and Packet Delay TLV, are added to the ''Optional'' Section of BFD
control packet for packet loss, delay and delay variation
Guo, Chen, and Chan. Expires September 10, 2009 [Page 6]
Internet-Draft BFD extensions for PM March 2009
measurement. Based on the reality of the current definition and
usage of BFD header, there is no more free fields and flags that
could be used to indicate whether these new TLVs exists, hence the
receiver can not correctly intercept and interpret the BFD control
packet with performance measurement purpose. So, there are two
solutions proposed in this document:
o Change the semantic of the A (Authentication Section presents)
bit:
Currently, the Optional Section is defined only for carrying
Authentication TLVs. The Performance Measurement TLVs defined
in this document could be carried in the Optional Section, it
just needs to change the special A bit to a common O (Optional
Section presents) bit, if the O bit is set in a received BFD
control packet, it indicates that the Optional Section is
present. Then how to process the TLVs carried in the Optional
Section is based on the type a specific TLV.
Since there are several Authentication types defined in [BFD],
presumably, the process of the Authentication TLVs is most like
this: the receiver is indicated whether the Optional Section
exists by checking the A bit, then steps into a specific
Authentication procedure based on the TLV type. So changing the
semantic of A bit to O bit will not bring much impact to the
processing of the existing Authentication procedure,
implementations using current definitions may be not impacted
by the change at all.
o Version 2 BFD:
In order not to impact the current BFD implements and provide
better backward compatibility, it may be a good idea to define a
new version of BFD. The Mandatory Section of the new version BFD
Control packet is defined as follows:
Guo, Chen, and Chan. Expires September 10, 2009 [Page 7]
Internet-Draft BFD extensions for PM March 2009
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Vers | Diag |Sta|P|F|C|O|D|M| Detect Mult | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| My Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Your Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Desired Min TX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Required Min RX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Required Min Echo RX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Compared to version 1, the version number is updated to 2, the A
bit is changed to O bit.
[Discussion: IMHO, there is a bit of waste that the ''Detect Mult''
field is assigned 8 bits, actually, 6 bits is enough, hence there
could be reserved two more bits for use by any other future
defined functions.]
5.1. Packet Loss TLV
The Packet Loss TLV is defined for packet loss measurement, by
carrying some essential statistic information (e.g., the number of
transmitted packets, the number of received packet), which could be
used by each of the two ends of a specific path to perform packet
loss ratio calculation. The format of the Packet Loss TLV is as
follows:
0 1 2 3
Guo, Chen, and Chan. Expires September 10, 2009 [Page 8]
Internet-Draft BFD extensions for PM March 2009
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TxPacCount_l |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RxPacCount_l |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TxPacCount_f |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Packet Lost TLV
The Packet Loss TLV is TLV type TBD, and is 12 bytes in length, the
value of length includes the Type and Length field.
The Sequence field specifies the sequence number of a BFD Packet
Loss Measurement (PLM) packet. It is generated by the end who
initiates the measurement, the middle nodes and other side MUST not
change the sequence number when propagate or reply the PLM packet.
The sequence number could be used for loss detection of PLM packets
or for the initiator to make sure the received PLM packet is a
response of a previous PLM packet sent by itself.
The TxPacCount_l contains the local counter of the transmitted
packets from the beginning of this measurement to the time when
sending this BFD PLM packet.
The RxPacCount_l contains the local counter of the received packets
from the beginning of this measurement to the time when received a
BFD PLM packet.
The TxPacCount_f is copied from the TxPacCount_l of the last
received BFD PLM packet when needs to reply a received BFD PLM
packet with the statistic information back to initiator of this
measurement for packet loss ratio calculation.
The detailed procedures on how to use the Packet Loss TLV in
different scenarios for packet loss measurement are described in
Section 4 of this document.
5.2. Packet Delay TLV
The Packet Delay TLV is defined for packet delay and delay variation
measurement. The Packet Delay TLV is TLV type TBD, and is 12 bytes
Guo, Chen, and Chan. Expires September 10, 2009 [Page 9]
Internet-Draft BFD extensions for PM March 2009
in length, the value of length includes the Type and Length field.
The format of the Packet Delay TLV is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TxTimeStamp_a |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RxTimeStamp_p |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TxTimeStamp_p |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Packet Delay TLV
The Sequence field specifies the sequence number of a BFD Packet
Delay Measurement (PDM) packet. It is generated by the end who
initiates the measurement, the middle nodes and other side MUST not
change the sequence number when propagate or reply the PDM packet.
The sequence number could be used for PDM packets loss detection or
for the initiator to make sure the received PDM packet is a response
of a previous PDM packet sent by itself.
TxTimeStamp_a specifies the time stamp of the Active_End when
transmitting a BFD Packet Delay Measurement (PDM) request packet.
RxTimeStamp_p specifies the time stamp of the Passive_End when
receiving a BFD PDM request packet.
TxTimeStamp_p specifies the time stamp of the passive end when
transmitting the BFD PDM reply packet to a previous BFD PDM request
packet.
Active_End is the node that initiates the measurement, Passive_End
is the node that will not initiate a measurement and just act to, if
needed, the Active_End when received a PDM request packet.
The detailed procedures on how to use the Packet Delay TLV in
different scenarios for packet delay and delay variation measurement
are described in Section 4 of this document.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 10]
Internet-Draft BFD extensions for PM March 2009
6. Theory of Operation
BFD defines two different operating modes, which are known as
Asynchronous mode and Demand mode.
With asynchronous mode, the systems periodically send BFD Control
packets to one another, and each system judges and declares the
session down independently if a number of those packets in a row are
not received. The Asynchronous mode may be used to achieve a pro-
active Performance Measurement that can be carried out continuously
to permit proactive reporting of performance results.
For demand mode, once a BFD session is established, the two systems
will stop sending BFD Control packets, except when the system feels
the need to verify connectivity explicitly. Demand mode may operate
independently in each direction, or simultaneously. The BFD demand
mode may be used to support an on-demand Performance Measurement
mechanism.
6.1. Packet Loss Measurement
To perform packet loss measurement of a specific path, two things
need to be done: 1)whatever each of the two ends will calculate the
ratio of packet loss, it gets to know the number of not only the
transmitted packets at the sender, but the received packets at the
receiver in a certain measurement period, 2)and the receiver gets to
be aware of the right time when to start counting and when to
calculate the number of received packets for a specific measurement
period as well.
In this document, the Packet Loss TLV is defined for the two ends of
a specific path to exchange statistic information of the transmitted
and/or received packets for the certain measurement periods, which
could be used for each of the two ends to perform packet loss
calculation.
Since this draft intends to use a PLM packet where TxPacCount_l is
set to zero to notify the receiver to start counting, and subsequent
PLM packets are used to notify the receiver when to count the number
of received packets from the beginning of counting time to the time
when received the last PLM packet. So, with such mechanism, time
synchronization is not necessary.
Depending on the scenario, the operators could choose any side of
the two systems for packet loss ratio calculation, which results in
several measurement modes/methods as described below for selection.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 11]
Internet-Draft BFD extensions for PM March 2009
Near-end PLM is to measure the loss of packet sending from the far
end, and on the contrary, the for-end PLM is to measure the loss of
packet sending by this self end.
For the difference of operation, Packet loss measurement may be
performed in two modes, dual-ended PLM and single-ended PLM.
4.1.1 Dual-ended PLM
+-+-+ +-+-+
| A | | B |
+-+-+ +-+-+
Start T1|---BFD PLM Packet --->|TT1
| |
| |
T2|---BFD PLM Packet --->|TT2 First Calculation
| |
| . |
| . |
| . |
| |
Tn|---BFD PLM Packet --->|TTn Nth Calculation
| |
| |
| |
Figure 3: Dual-ended near-end Packet lost measurement
Dual-ended PLM is the mode that each end independently sends
periodic BFD PLM packets to the other end, the end who receives the
PLM packets will perform packet loss ratio calculation. Dual-ended
PLM can be used as a pro-active measurement mode. For dual-ended PLM,
it is expected to support two measurements that are referred to as
Near-end and Far-end. Near-end PLM is intended to measure the packet
loss sent from the other ends, and on the contrary, Far-end PLM
means that the node performs packet loss calculation for the packets
sent by itself.
Figure 3 describes the flow of Near-end packet loss measurement,
where A is the node who initiates the packet loss measurement and B
is the node who is responsible for packet loss ratio calculation,
and vice versa.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 12]
Internet-Draft BFD extensions for PM March 2009
When dual-ended PLM is enabled, if node B is configured to support
near-end PLM, A will send periodic BFD PLM packet to B, and start
counting the transmitted packets. The BFD PLM packets carry the PLM
TLV, in which the parameters TxPacCount_l and sequence will be
included. For near-end measurement, the other two parameters,
RxPacCount_l and TxPacCount_f, are not needed and should be ignored
on receipt, the two fields MUST be set to zero when transmitting.
When received a PLM packet, node B will read and record the value of
Local Received Packet Counter (LRPC), which contains the numbers of
the received packets, as well the parameter TxPacCount_l from the
received PLM packet. By using the statistic information carried/ in
the PLM packet and LRPC this time and the previous, node B can
perform near-end packet loss measurement. Given that Tn1 and Tn2 are
the time of node A sending two different PLM packets, and TTn1 and
TTn2 are correspondingly the time of the two PLM packets received by
node B. With the formula as follows, node B could calculate the
numbers of loss packets. The calculation interval is based on the
sending interval of PLM packets, it can be set to any reasonable
value as requirements (e.g., it could be set to 100ms). The sequence
could be used for loss detection of PLM packets.
Packet Loss [near-end]=|TxPacCount_l[Tn2] - TxPacCount_l[Tn1]|-
|RxPacCountl[TTn2]- RxPacCountl[TTn1]|
+-+-+ +-+-+
| A | | B |
+-+-+ +-+-+
Start T1|---BFD PLM Packet --->|TT1
|<---BFD PLM Packet ---|
| |
T2|---BFD PLM Packet --->|TT2
First Calculation|<---BFD PLM Packet ---|
| . |
| . |
| . |
Tn|---BFD PLM Packet --->|TTn
Tn Nth Calculation|<---BFD PLM Packet ---|
| |
| |
Figure 4: Dual-ended far-end Packet lost measurement
Guo, Chen, and Chan. Expires September 10, 2009 [Page 13]
Internet-Draft BFD extensions for PM March 2009
Figure 4 describes the flow of far-end packet loss measurement. Node
A sends PLM packets to node B and performs the calculation of packet
loss when received for these packets sending by itself.
When dual-ended PLM is enabled, and A is configured to support far-
ended PLM measurement, the same as near-ended PLM, node A will send
periodic BFD PLM packet with the TxPacCount_l and sequence
parameters set to node B. The difference is that, node B SHOULD also
send periodic BFD PLM packets to node A, with parameters
RxPacCount_l and TxPacCount_f that specify the value of local
received packet counter (LRPC) and the value of TxPacCount_l which
is carried in a previous PLM packet received from node A. The same
as near-end packet loss measurement, when received a PLM packet from
node B, node A will record the parameters from the PLM packet and
read the value of LRPC, then using parameters of this time and the
previous, node A can perform far-end packet loss calculation. Tn1
and Tn2 specify the time of two difference PLM packets sending from
node A, and TTn1 and TTn2 are the corresponding time of node B
received these two packets. The formula of calculation is as follow.
Packet Loss [far-end]=|TxPacCount_f[Tn2] -TxPacCount_f[Tn1]| -
|RxPacCount_l[TTn2] - RxPacCount_l[TTn1]|
Near-end and Far-end could be enabled at the same time in one node.
4.1.2 Single-ended PLM
Guo, Chen, and Chan. Expires September 10, 2009 [Page 14]
Internet-Draft BFD extensions for PM March 2009
+-+-+ +-+-+
| A | | B |
+-+-+ +-+-+
Active T1|---BFD PLM Request--->|TT1 Passive
|<---BFD PLM Reply ----|
| |
T2|---BFD PLM Request--->|TT2
First Calculation |<---BFD PLM Reply ----|
| . |
| . |
| . |
| |
Tn|---BFD PLM Request--->|TTn
Nth Calculation |<---BFD PLM Reply ----|
| |
| |
Figure 5: Single-ended Packet loss measurement
Single-ended means that the side touches off the measurement and
will perform the packet loss calculation by itself, which implies
that the other side should send the packets statistics of the
measurement back to the initiator.
Single-ended PLM can be used as an on-demand measurement mode. Once
this mode is enabled, the active system sends BFD PLM request packet
with the PLM TLV to the passive node, and receives the BFD PLM reply
packet from the peer, then performs packet loss calculation. BFD
demand mode is applicable for being used to support Single-ended PLM.
The flow of single-ended Packet Loss Measurement is described as
Figure 5. Node A is the active system which by sending the BFD PLM
request packet to node B to initiate a specific packet loss
measurement. Node B is the passive node that will send PLM reply
packet back to node A when received a PLM request packet.
The same as Dual-ended packet loss measurement, Single-ended PLM is
also expected to support Near-end and Far-end measurement. When
Single-ended PLM is enabled on node A, it will initiate a specific
measurement by sending BFD PLM request packets to node B. For Far-
end PLM, the TxPacCount_l containing the number of transmitted
packets MUST be included in the PLM TLV. When a specific measurement
started, the node starts to count the transmitted and received
Guo, Chen, and Chan. Expires September 10, 2009 [Page 15]
Internet-Draft BFD extensions for PM March 2009
packets. When received a PLM request packet, node B will send A the
PLM reply packet with the PLM TLV containing the three counters
TxPacCount_l, RxPacCount_l and TxPacCount_f, and the sequence copied
from a previous PLM request packet. TxPacCount_f is identical to
TxPacCount_l of the last received PLM request packet. When doing
Near-end PLM, TxPacCount_l MUST be included in the PLM TLV and the
other two counter are not necessary and should be set to zero. For
Far-end PLM, RxPacCount_l and TxPacCount_f MUST be included and the
other counter TxPacCount_l is not necessary and should be set to
zero. When Near-end and Far-end PLM are expected to be supported at
the same time, the three counters MUST be included. When node A
receives a PLM reply packet,it will read and record the counters
from the PLM reply packet, as well the value of local packet
reception counter. Based on the counters from any twice records
which may be continuous or not, node A can perform packet loss
calculation of the period.
Tn1 and Tn2 specify the time of two difference PLM request packets
sending from A, and TTn1 and TTn2 are the corresponding time of B
received these two packets.
The formulas of Near-end and Far-end are as follows.
Packet Loss [near-end]=|TxPacCount_l[Tn2] -TxPacCount_l[Tn1]| -
|RxPacCountl[TTn2] - RxPacCountl[TTn1]|
Packet Loss [far-end]=|TxPacCount_f[Tn2] -TxPacCount_f[Tn1]| -
|RxPacCount_l[TTn2] - RxPacCount_l[TTn1]|
The formulas below are for packet loss ratio:
Packet Loss Ratio[near-end] = (Packet Loss[near-end]
/(|TxPacCount_l[Tn2] -TxPacCount_l[Tn1]|)) *100%
Packet Loss Ratio[far-end] = (Packet Loss[far-end]
/(|TxPacCount_f[Tn2] -TxPacCount_f[Tn1]|)) *100%
6.2. Packet Delay Measurement
Packet delay measurement can be used for on-demand Performance
Measurement. In this document, BFD control packets with PDM TLV
containing the timestamps of sending and receiving PDM packet
between the two systems are used to perform packet delay and delay
variation measurement. Packet delay measurement is performed by
Guo, Chen, and Chan. Expires September 10, 2009 [Page 16]
Internet-Draft BFD extensions for PM March 2009
sending periodic BFD PDM packets from one system to another, and two
modes that are referred to as one-way and two-way delay measurement
are defined to be applied for different situations.
4.2.1 One-way PDM
+-+-+ +-+-+
| A | | B |
+-+-+ +-+-+
Start T1|---BFD PDM Packet --->|TT1
| |
| |
T2|---BFD PDM Packet --->|TT2 First Calculation
| |
| . |
| . |
| . |
| |
Tn|---BFD PDM Packet --->|TTn Nth Calculation
| |
| |
| |
Figure 6: One-Way Packet Delay measurement
In one-way mode, one system sends BFD PDM packet carrying the local
timestamp to facilitate packet delay measurement on the other end.
Both BFD demand mode or asynchronous mode are applicable for one-way
delay measurement. Figure 6 describes the flow of One-way PDM.
When One-way packet delay measurement is enabled, the active node A
will transmit BFD PDM packets with the PDM TLV, in which the
TxTimeStamp_a and sequence MUST be included. When received a PDM
packet, according to the TxTimeStamp_a from the received PDM packet
and the local timestamp, node B could perform packet delay
calculation. The formula is as follows.
Packet Delay [one-way] = RxTime_a - TxTimeStamp_a
RxTime_a is the local timestamp of node B when receiving the PDM
packet. If the time difference Delta_t of the two ends is already
known, the calculation formula could be as follows.
Packet Delay [one-way] = RxTime_a - TxTimeStamp_a + Delta_t
Guo, Chen, and Chan. Expires September 10, 2009 [Page 17]
Internet-Draft BFD extensions for PM March 2009
For one-way PDM being dependent on the synchronization of clock/time
between the two systems, the synchronization of clock/time is
desired.
4.2.1 Two-way PDM
+-+-+ +-+-+
| A | | B |
+-+-+ +-+-+
Start T1 |---BFD PDM Request--->|TT1
T1'|<---BFD PDM Reply ----|TT1'
| |
T2 |---BFD PDM Packet --->|TT2
First Calculation T2'|<---BFD PDM Reply ----|TT2'
| . |
| . |
| . |
| |
Tn |---BFD PDM Packet --->|TTn
Nth Calculation Tn'|<---BFD PDM Reply ----|TTn'
| |
| |
Figure 7: Two-way Packet Delay measurement
Two-way PDM is a request-reply mode, which one system as the active
end initiates the PDM request packet, the other system acts as
passive end will send back a PDM reply packet when received the PDM
request packet. Then the active end will perform two-way packet
delay calculation. For the characters of this mode, BFD demand mode
is preferred. Figure 7 describes the operation flow.
When two-way PDM is enabled, node A as the active end will send BFD
PDM request packets with Packet Delay TLV to the other end, node B.
The same as the one-way mode, the local timestamp TxTimeStamp_a and
sequence MUST be included. When node B received a BFD PDM request
packet, it will reply by sending a PDM reply packet with PDM TLV
containing the timestamp and sequence copied from of the received
PDM request packet.
Once received the PDM reply packet, node A will perform packet delay
calculation. The formula is as follows.
Packet Delay [two-way] = RxTime_a - TxTimeStamp_a
Guo, Chen, and Chan. Expires September 10, 2009 [Page 18]
Internet-Draft BFD extensions for PM March 2009
RxTime_a is the timestamp of the active end receiving the PDM reply
packet from the passive end.
The other two additional timestamps in the packet delay TLV,
RxTimeStamp_p and TxTimeStamp_p, stand for the timestamps that the
passive end receiving the PDM request packet and sending the PDM
reply packet to the active end respectively, which could be used to
perform more precise two-way packet delay measurement. As an option,
if operator wants to take into account the processing time at the
node B, the two additional timestamps should be included in the PDM
reply packet by the passive end. Formula for calculation is bellow.
Packet Delay [two-way] = (RxTime_a - TxTimeStamp_a) -
(TxTimeStamp_p-RxTimeStamp_p)
Two-way PDM is relaxed for synchronization of clock. So if the
clocks are not practical to be synchronized between the two ends,
which may be a common scenario, two-way delay measurement mode could
be used.
6.3. Packet Delay variation Measurement
Packet delay variation measurement is based on the difference of
subsequent packet delay measurement. The Packet Delay Variation is
relaxed for synchronization of clock and could be calculated by the
formulas below.
Frame Delay Variation[one-way] = Frame Delay2 [one-way] - Frame
Delay1 [one-way]
Frame Delay Variation[two-way] = Frame Delay2 [two-way] - Frame
Delay1 [two-way]
7. Security Considerations
Security considerations discussed in [BFD], [BFD-MHOP] and [RFC4379]
apply to this document.
8. IANA Considerations
IANA is requested to assign two new TLVs for Performance Measurement.
The following numbers are suggested.
Value Meaning
6 Packet loss TLV
Guo, Chen, and Chan. Expires September 10, 2009 [Page 19]
Internet-Draft BFD extensions for PM March 2009
7 Packet delay TLV
9. Acknowledgments
The authors would like to thank Jian Li and Wei Cao for their
comments and help for preparing this document.
10. References
10.1. Normative References
[RFC 4377] Nadeau, T., et al., ''Operations and Management (OAM)
Requirements for Multi-Protocol Label Switched (MPLS)
Networks'', RFC 4377, February 2006.
[RFC 4378] D. Allan, Ed., T. Nadeau, Ed.,'' A Framework for Multi-
Protocol Label Switching (MPLS) Operations and Management
(OAM)'', RFC 4378, February 2006.
[Y.1710] ITU-T Recommendation Y.1710, "Requirements for OAM
Functionality for MPLS Networks". November, 2002.
[Y.1731] ITU-T Y.1731 OAM functions and mechanisms for Ethernet
based networks. May, 2006.
[Y.1373/G.8114] ITU-T Recommendation Y.1373/G.8114, ''Operation &
maintenance mechanism for T-MPLS layer networks'',
[Y.1541] Network Performance Objectives for IP-Based Services.
[Y.Sup4] ITU-T Supplement Y.Sup4 (2008), Transport Requirements for
T-MPLS OAM and considerations for the application of IETF
MPLS Technology.
10.2. Informative References
[BFD] Katz, D., et al., " Bidirectional Forwarding Detection ",
draft-ietf-bfd-base-08.txt, {work in progress}.
[BFD-VCCV] Nadeau, T., Pignataro, C., et al., " Bidirectional
Forwarding Detection (BFD) for the Pseudowire Virtual
Circuit Connectivity Verification (VCCV) ", draft-ietf-
pwe3-vccv-bfd-02, {work in progress}.
Guo, Chen, and Chan. Expires September 10, 2009 [Page 20]
Internet-Draft BFD extensions for PM March 2009
[MPLS-TP-OAM-REQ] Vigoureux, M., Wardet, D., Betts, M., "
Requirements for OAM in MPLS Transport Networks ", draft-
vigoureux-mpls-tp-oam-requirements-00.txt, {work in
progress}
[BFD-1HOP] Katz, D., Ward, D.,'' BFD for IPv4 and IPv6 (Single Hop)'',
draft-ietf-bfd-v4v6-1hop-08.txt, {work in progress}.
[BFD-MULTI] Katz, D., Ward, D.,'' BFD for Multihop Paths'', draft-
ietf-bfd-multihop-06.txt, {work in progress}.
[BFD-MPLS] Aggarwal, R., et al., ''BFD For MPLS LSPs '', draft-ietf-
bfd-mpls-07.txt, {work in progress}
Authors' Addresses
Xinchun Guo
Huawei Technologies Co.,Ltd
KuiKe Building, No.9 Xinxi Rd.,
Hai-Dian District
Beijing, 100085
P.R. China
Email: guoxinchun@huawei.com
Mach(Guoyi) Chen
Huawei Technologies Co.,Ltd
KuiKe Building, No.9 Xinxi Rd.,
Hai-Dian District
Beijing, 100085
P.R. China
Email: mach@huawei.com
Kwok Ho Chan
Huawei Technologies
125 Nagog Park
Acton, MA 01720
USA
Email: khchan@huawei.com
Guo, Chen, and Chan. Expires September 10, 2009 [Page 21]