Alternate Marking Deployment
FrameworkHuaweiPalazzo Verrocchio, Centro Direzionale Milano 2Segrate (Milan)20054Italygiuseppe.fioccola@huawei.comHuawei156 Beiqing Rd.Beijing100095Chinazhoutianran@huawei.comSwisscomBinzring 17ZurichCH-8045Switzerlandthomas.graf@swisscom.comTIMVia Reiss Romoli, 274Torino10148Italyfabrizio.milan@telecomitalia.itTIMVia Reiss Romoli, 274Torino10148Italymassimo.nilo@telecomitalia.itHuaweizhukeyi@huawei.comChina Mobilezhanglin1@cmdi.chinamobile.comIPPMThis document provides a framework for Alternate Marking deployment
and includes considerations and guidance for the deployment of the
methodology.The Alternate Marking and Multipoint Alternate Marking define the
Alternate Marking technique that is a hybrid performance measurement
method, per classification of measurement
methods. This method is based on marking consecutive batches of packets
and it can be used to measure packet loss, latency, and jitter on live
traffic.The first experiments on Alternate-Marking are described in and .According to the definitions of , the
Alternate-Marking Method can be classified as Hybrid Type I. Indeed,
Alternate Marking can be implemented by using reserved bits in the
protocol header, and the change in value of these marking bits at the
source node is formally considered a modification of the stream of
interest.This document complements and as it explains the mechanisms that can be used to
manage and deploy the method.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 when, and only
when, they appear in all capitals, as shown here.Abbreviations used in this document:AltMark: Alternate-MarkingNMS: Network Management SystemIPv6: Internet Protocol version 6SRv6: Segment Routing over IPv6 dataplaneBIER: Bit Index Explicit ReplicationMPLS: Multi-Protocol Label SwitchingSFC: Service Function ChainingNVO3: Network Virtualization OverlaysIPFIX: IP Flow Information ExportYANG: Yet Another Next GenerationPCEP: Path Computation Element Communication ProtocolBGP: Border Gateway ProtocolThe Alternate Marking Method MUST be deployed in a controlled domain
for security and compatibility reasons. In this regard, reports further examples of specific limited domain
solutions. It is not common that the user traffic originates and
terminates within the controlled domain. For this reason, it will
typically only be applicable in an overlay network, where user traffic
is encapsulated at one domain border, decapsulated at the other domain
border and the encapsulation incorporates the relevant extension header
for Alternate Marking. This requirement also implies that an
implementation MUST filter packets that carry Alternate Marking data and
are entering or leaving the controlled domain.A controlled domain is a managed network where it is required to
select, monitor and control the access to the network by enforcing
policies at the domain boundaries in order to discard undesired external
packets entering the domain and check the internal packets leaving the
domain. It does not necessarily mean that a controlled domain is a
single administrative domain or a single organization. A controlled
domain can correspond to a single administrative domain or can be
composed by multiple administrative domains under a defined network
management. Indeed, some scenarios may imply that the Alternate Marking
Method involves more than one domain, but in these cases, it is
RECOMMENDED that the multiple domains create a whole controlled domain
while traversing the external domain by employing IPsec authentication
and encryption or other VPN technology that provides full packet
confidentiality and integrity protection. In a few words, it must be
possible to control the domain boundaries and eventually use specific
precautions if the traffic traverse the Internet.The Alternate Marking measurement domain can overlap with the
controlled domain or may be a subset of the controlled domain. The
typical scenarios for the application of the Alternate Marking Method
depend on the controlled domain boundaries, in particular:the user equipment can be the starting or ending node, only in
case it is fully managed and if it belongs to the controlled domain.
In this case the user generated packets contain the Alternate
Marking data. But, in practice, this is not common due to the fact
that the user equipment cannot be totally secured in the majority of
cases.the CPE (Customer Premises Equipment) or the PE (Provider Edge)
routers are most likely to be the starting or ending nodes since
they can be border routers of the controlled domain. For instance,
the CPE, which connects the user's premises with the service
provider's network, belongs to a controlled domain only if it is
managed by the service provider and if additional security measures
are taken to keep it trustworthy. Typically the CPE or the PE can
encapsulate a received packet in an outer header which contains the
Alternate Marking data. They can also be able to filter and drop
packets from outside of the domain with inconsistent fields to make
effective the relevant security rules at the domain boundaries, for
example a simple security check can be to insert the Alternate
Marking data if and only if the destination is within the controlled
domain.An Alternate-Marking Domain consists of marking nodes, unmarking
nodes, and transit nodes.A marking node, also called encapsulating node, incorporates the
AltMark Data Fields into packets in order to enable
Alternate-Marking. If the Alternate-Marking method is enabled for a
selected flow of the traffic, the encapsulating node is responsible
for applying the AltMark functionality to the selected flow and to
take initial timestamps and packet counters.A transit node only reads AltMark Data Fields in order to take
timestamps and packet counters.An unmarking node, also called decapsulating node, reads AltMark
Data Fields in order to take final timestamps and packet counters
and then removes any AltMark Option from packets.|Node |====>| Node |====>| Node |====>|Node |-->
| | | A | | B | | |
+---------+ +---------+ +---------+ +---------+
]]>The methodology described in the previous sections can be applied to
various performance measurement problems. The only requirement is to
select and mark the flow to be monitored; in this way, packets are
batched by the sender, and each batch is alternately marked such that it
can be easily recognized by the receiver.Either one or two flag bits might be available for marking in
different deployments:One flag: packet loss measurement MUST be done as described in
Section 3.1 of , while delay measurement
MUST be done according to the single-marking method described in
Section 3.2.1 of . Mean delay (Section
3.2.1.1 of ) MAY also be used but it could
imply more computational load.Two flags: packet loss measurement MUST be done as described in
Section 3.1 of , while delay measurement
MUST be done according to double-marking method Section 3.2.2 of
. In this case single-marking MAY also be
used in combination with double-marking and the two approaches
provide slightly different pieces of information that can be
combined to have a more robust data set.There are some operational guidelines to consider for the purpose of
deciding to follow the recommendations above and use one or two
flags.The Alternate-Marking method utilizes specific flags in the
packet header, so an important factor is the number of flags
available for the implementation. Indeed, if there is only one flag
available there is no other way, while if two flags are available
the option with two flags is certainly more complete.The duration of the Alternate-Marking period affects the
frequency of the measurement and this is a parameter that can be
decided on the basis of the required temporal sampling. But it
cannot be freely chosen, as explained in Section 5 of .The Alternate-Marking methodologies enable packet loss, delay and
delay variation calculation, but in accordance with the method used
(e.g. single-marking or double-marking), there is different kind of
information that can be derived. For example, to get more statistics
of extent data, the option with two flags is desirable. For this
reason, the type of data needed in the specific scenario is an
additional element to take into account.The Alternate-Marking methods imply different computational load
depending on the method employed. Therefore, the available
computational resources on the measurement points can also influence
the choice. As an example, mean delay calculation may require more
processing and it may not be the best option to minimize the
computational load.A deployment of the Alternate-Marking Method should also take into
account how to handle and recognize marked and unmarked traffic. Since
Alternate-Marking normally employs a marking field which is dedicated,
reserved, and included in a protocol extension, the measurement points
can learn whether the measurement is activated or not by checking if the
specific extension is included or not within the packets.The YANG model can be used for configuring Alternate-Marking in
network nodes that support it. An example is defined in .There are also other control plane mechanisms to advertise and
activate AltMark capabilities, using PCEP or BGP: , , .These mechanisms can be used to signal and configure the parameters
to identify the flow to monitor both in case of point-to-point flow and
multipoint-to-multipoint flow. Indeed, the selection of the
identification fields directly affects the type of paths that the flow
would follow in the network. As an example, for IPv6 the setting of the
Flow Monitoring Identification (FlowMonID) is used in combination with
source and destination addresses to identify a flow, as described in
Section 5.3 of , and it can be algorithmically
generated by the source node or assigned by the central controller.Additionally, other parameters are essential for the activation of
the AltMark methodology: the choice between end-to-end or hop-by-hop
measurement, the choice between the methods with one flag or two flags
and the duration of the Alternate-Marking period which affects the
measurement frequency (longer the duration of the block, the less
frequently the measurement can be taken).Each packet marked for Alternate-Marking, as for example the AltMark
IPv6 option type defined in Section 3.1 of or
the Segment Routing TLV Type as defined in Section 3.1 of MUST be copied to the IPFIX or
YANG push metering process depending which Network Telemetry protocol is used to export the data.|Node |====>| Node |====>| Node |====>|Node |-->
| | | A | | B | | |
+---------+ +---------+ +---------+ +---------+
]]>For IPFIX , the data decomposition can be
achieved on the Alternate-Marking-aware node exporting the data or on
the data collection. When decomposed at the data collection, the
headers, as example the IPv6 options type header described in Section
3.1 of or the Segment Routing header TLV as
described in Section 3.1 of containing the FlowMonID, Loss
and Delay flag are being exposed as part of
ipPayloadPacketSection(IE314), defined in Section 4.2 of RFC 7133.
When being decomposed on the Alternate-Marking-aware node, new IPFIX
entities for FlowMonID, Loss and Delay flag are needed so that the
data can now be aggregated according to section 5 of . FlowMonID is a Flow Key field. The following IPFIX
entities are of interest to describe the relationship to the
forwarding topology and the control-plane.node id, ingressInterface(IE10) and egressInterface(IE14)
describes on which node which logical ingress and egress
interfaces have been used to forward the packet.Node id and egressPhysicalInterface(253) describes on which
node which physical egress interfaces have been used to forward
the packet.Node id and ipNextHopIPv4Address(IE15) or
ipNextHopIPv6Address(IE62), describes the forwarding path to which
next-hop IP address.Node id and mplsTopLabelIPv4Address(IE47) or
srhActiveSegmentIPv6 from describes the forwarding
path to which MPLS top label IPv4 address or SRv6 active
segment.BGP communities are often used for setting a path priority or
service selection. bgpDestinationExtendedCommunityList(488) or
bgpDestinationCommunityList(485) or
bgpDestinationLargeCommunityList(491) describes which group of
prefixes have been used to forward the packet.Node id and destinationIPv4Address(13),
destinationTransportPort(11), protocolIdentifier (4) and
sourceIPv4Address(IE8) describes the forwarding path on each node
from each IPv4 source address to a specific application in the
network.To calculate loss, the packet count with octetDeltaCount(IE1) and
to calculate delay, either flowStartSeconds(IE150),
flowStartMilliseconds(IE152), flowStartMicroseconds(IE154) or
flowStartNanoseconds(IE156), depending on timestamp granularity
requirements, are needed.To calculate loss, the packet count with octetDeltaCount(IE1) and
to calculate delay, either flowStartSeconds(IE150),
flowStartMilliseconds(IE152), flowStartMicroseconds(IE154) or
flowStartNanoseconds(IE156), depending on timestamp granularity
requirements, are needed.For YANG Push , periodical subscription as
defined in Section 3.1 of is used to
subscribe data. Decomposition is done on the Alternate-Marking-aware
node publishing the data. The YANG module contains FlowMonID as key,
Loss and Delay flag, ingress and egress interface ifIndex , octet delta count describing the amount of
observed packets within a flow to measure loss, and flow start
timestamp describing the first packet observed for measuring delay as
leafes.Since the amount of observed data could overwhelm a route processor
on a network node, publishing data from network processors as
specified in is
advised.Alternate-Marking encapsulation for IPv6 is defined in , which also discusses deployment considerations for
IPv6 networks.The IPv6 AltMark Option applies the
Alternate Marking Method to IPv6, and defines an Extension Header
Option to encode the Alternate Marking Method for both the Hop-by-Hop
Options Header and the Destination Options Header.Alternate-Marking encapsulation for SRv6 is discussed in IPv6 AltMark Option and .Alternate-Marking encapsulation for BIER is introduced in .Alternate-Marking encapsulation for MPLS is introduced in .Alternate-Marking encapsulation for SFC is introduced in .Alternate-Marking encapsulation for NVO3 is introduced in . defines
extended data fields for the AltMark Option and provides enhanced
capabilities to overcome some challenges and enable future proof
applications.It is worth mentioning that the enhanced capabilities are intended
for further use and are optional.In a controlled domain, the nodes may support the AltMark specific
encapsulation and this also depends on the implementation. If a node is
configured to read the AltMark option, the measurement is done on that
node, otherwise it is simply not considered in the measurement.Assuming that the measurement domain overlaps with the controlled
domain, the procedure for AltMark data encapsulation can be summarized
as follows: Ingress Node: the Ingress Node of a controlled domain that
supports the Alternate Marking Method adds the AltMark data in the
the data packets.Intermediate Node: if an Intermediate Node is not capable of
processing the AltMark data, it simply ignores it. If an
Intermediate Node is capable of processing the AltMark data, it
processes it.Egress SR Node: The Egress Node is the last node of the
controlled domain. The processing if the AltMark data is similar to
the processing at the Intermediate Nodes. The only difference is
that it needs to remove the AltMark data from the the data
packets.Alternate Marking and Multipoint Alternate Marking analyze different
security concerns and related solutions. These aspects are valid and
applicable also to this document. In particular the fundamental security
requirement is that Alternate Marking MUST only be applied in a specific
limited domain, as also mentioned in .This document has no request to IANA.TBD