Draft: draft-ietf-detnet-dp-sol-mpls-00

Commentary: Changes : termonology section DN DP overview , fixing text and adding non - MPLS DetNet End system related figure DN for IP changed to DN MPLS DP encapsulation for IP and some typo / editorial changes here and there
A Packet Replication Function (PRF) replicates DetNet flow packets
in an edge or a relay node and forwards them to one or more next
hops in the DetNet domain.  The number of packet copies sent to
each next hop is a parameter of the DetNet flow at the node doing
the replication.
A Packet Reorder Function (PROF) re-orders packets within a DetNet
flow that are received out of order.  This function may be
implemented at an edge or relay node.
A control word used for sequencing and identifying duplicate
packets at the DetNet service layer.
A Packet Replication Function (PRF) replicates DetNet flow packets
in an edge or a relay node and forwards them to one or more next
hops in the DetNet domain.  The number of packet copies sent to
each next hop is a DetNet Flow specific parameter at the node
doing the replication.
A Packet Reorder Function (PROF) re-orders packets within a DetNet
flow that are received out of order.  This function may be
implemented at an edge or a relay node.
A control word used for sequencing and identifying duplicate
packets of a DetNet flow at the DetNet service layer.
Relay nodes are strategically placed and used enhance the reliability
of delivery by enabling the replication of packets so that multiple
copies, possibly over multiple paths.  They also reduce the impact of
replication by the eliminating surplus copies of DetNet packets.
Replication and elimination may also be performed at ingress and
egress edge nodes respectively.
Relay nodes are strategically placed and used to enhance the
reliability of delivery by enabling the replication of packets so
that multiple copies, possibly over multiple paths are forwarded
through the DetNet domain.  They also reduce the impact of
replication by the eliminating surplus copies of DetNet packets.
Replication and elimination may also be performed at ingress and
egress edge nodes.
Transit nodes are normal MPLS Label Switching Routers (LSRs).  They
are unaware of the special requirements of DetNet flows, although
they have to be configureable to provide traffic engineering services
to them to enhance the prospect of them meeting the required service
level agreement (SLA).
Transit nodes are normal MPLS Label Switching Routers (LSRs).  They
are unaware of the special requirements of DetNet flows, although
they have to be configureable to provide traffic engineering services
and proper QoS to them to enhance the prospect of them meeting the
required service level agreement (SLA).
fig_pw_detnet illustrates how end to end MPLS-based DetNet service is
provided in a more detail.  In this case, the end systems are able to
send and receive DetNet flows.  For example, an end system sends data
encapsulated in MPLS.  The 'X' in the end systems, edge and relay
nodes represents potential DetNet flow packet replication and
elimination points.  Here the relay nodes may change the underlying
transport, for example tunneling MPLS over IP detnet-data-plane-
encapsulation-for-ip-transport-networks, or simply interconnect
network segments.
An example MPLS DetNet network fragment and packet flow is
illustrated in fig_mpls_example .
Customer Equipment CE1 send a packet into the DetNet enabled MPLS
network.  Edge Node EN1 makes a copy of the packet and encapsulates
each copy as a DetNet packet (packet 1 and packet 2).  It sends one
copy (1) to Relay Node R1 and the other copy (2) to Relay Node R4.
R1 sends packet copy 1 to R2.  R4 sends one copy to R2, and a further
copy (3) to EN2.  R2 receives copy (2) before copy 1, and so
eliminated copy (1) sending only (2) to EN2.  EN2 receives copy (3)
first sending it to CE2 and eliminating copy (2).  Note the number
illustrates the replication instance and should not be confused with
the sequence number which remains unchanged in all packet copies.
fig_pw_detnet illustrates how end to end MPLS-based DetNet service is
provided in a more detail.  In this case, the end systems are able to
send and receive DetNet flows.  For example, an end system sends data
encapsulated in MPLS.  The 'X' in the end systems, edge and relay
nodes represents potential DetNet flow packet replication and
elimination points.  Here the relay nodes may change the underlying
transport, for example tunneling MPLS over IP [draft-xu-mpls-sr-over-
ip] [Editor note: SR is not mandatory, why to refer to this draft?],
or simply interconnect network segments.
fig_pw_detnet2 illustrates how end to end MPLS-based DetNet service
is provided where the end systems is NOT able to send and receive
MPLS encapsulated DetNet flows.
An example MPLS DetNet network fragment and packet flow is
illustrated in fig_mpls_example.
Customer Equipment CE1 sends a packet into the DetNet enabled MPLS
network.  Edge Node EN1 makes a copy of the packet and encapsulates
each copy as a DetNet packet (packet 1 and packet 2).  It sends one
copy (1) to Relay Node R1 and the other copy (2) to Relay Node R4.
R1 sends packet copy 1 to R2.  R4 sends one copy to R2, and a further
copy (3) to EN2.  R2 receives copy (2) before copy 1, and so
eliminated copy (1) sending only (2) to EN2.  EN2 receives copy (3)
first sending it to CE2 and eliminating copy (2).  Note the number
illustrates the replication instance and should not be confused with
the sequence number which remains unchanged in all packet copies.
IP traffic and IP DetNet flows, see I-D.ietf-detnet-dp-sol-ip, can be
carried over a DetNet MPLS domain.  In such cases, the IP headers are
modified per standard router behavior, e.g., TTL handling.  The
figure below shows the encapsulation of an IP flow over MPLS as well
as when MPLS is carried over an IP PSN, see detnet-data-plane-
encapsulation-for-ip-transport-networks.
DetNet Routing service provides routing.  Forwarding over the DetNet
domain is based on L3 (IP) addresses (i.e. dst-IP).  In case of an
MPLS PSN at the ingress/egress (i.e., PE nodes of DetNet domain) the
IP packets are encapsulated in MPLS.  The data-flow IP header MUST be
preserved as-is.
DN-IWF may ensure that flow attributes are correlated across segment
borders.  For example, there are two DetNet functions which require
Sequence Numbers: (1) Elimination: removes duplications from flows
and (2) IOD: ensures in-order-delivery of packet in a flow.
Stitching flows together and correlating attributes means for example
that replication of packets can happen in one segment and elimination
of duplicates in a different one.
DN-IWF may ensure that flow attributes are correlated across segment
borders.  For example, there are two DetNet functions which require
Sequence Numbers: (1) PEF: removes duplications from flows and (2)
PROF: ensures in-order-delivery of packet in a flow.  Stitching flows
together and correlating attributes means for example that
replication of packets can happen in one segment and elimination of
duplicates in a different one.
In case of three technology segments (IP, MPLS and TSN) three DN-IWF
functions can be specified.  In the rest of this section the focus is
on the (1) IP - MPLS network scenario.  Note: the use-cases are out-
of-scope for (2) TSN - IP, (3) TSN - MPLS.  Note2: in current
discussions the DetNet Sequence Number has an incompatible format
with TSN.
In case of three technology segments (IP, MPLS and TSN) three DN-IWF
functions can be specified.  In the rest of this section the focus is
on the (1) IP - MPLS network scenario.  Note: the use-cases are out-
of-scope for (2) TSN - IP, (3) TSN - MPLS.  Note2: in current
discussions the DetNet Sequence Number has an incompatible format
with TSN (defines 16 bits only).
Note that when the network consists only of DetNet enabled nodes with
no aggregation, Penultimate Hop Popping (PHP) means that the only
label in the label stack is the S-label.
Note that when the network consists only of DetNet enabled nodes with
no aggregation, Penultimate Hop Popping (PHP) means that the only
label in the label stack may be the S-label.
DetNet control word (d-CW) containing sequencing information for
packet replication and duplicate elimination purposes, and the OAM
indicator.  There MUST a separate sequence number space for each
DetNet flow.
DetNet control word (d-CW) containing sequencing information for
packet replication and duplicate elimination purposes, and the OAM
indicator.  There MUST be a separate sequence number space for
each DetNet flow.
Zero or more MPLS transport LSP label(s) (T-label) used to direct
the packet along the label switched path (LSP) to the next peer
node along the path.  When Penultimate Hop Popping is in use there
will be no label T-label in the protocol stack on the final hop.
Zero or more MPLS transport LSP label(s) (T-label) used to direct
the packet along the label switched path (LSP) to the next peer
node along the path.  When Penultimate Hop Popping is in use there
may be no label T-label in the protocol stack on the final hop.
DetNet flow identification at a DetNet service layer is realized by
an S-label.  The S-label is allocated from the platform label label
space RFC3031 which means that the DetNet flow is correctly
identified and matched to the flow parameters, including the flow
history, regardless of which input interface the packet arrives on.
The S-label MUST be at the bottom label of the label stack for a
DetNet-s- or DetNet-st-flow and MUST precede the d-CW.
DetNet flow identification at a DetNet service layer is realized by
an S-label.  The S-label is allocated from the platform label space
RFC3031 which means that the DetNet flow is correctly identified and
matched to the flow parameters, including the flow history,
regardless of which input interface the packet arrives on.  The
S-label MUST be at the bottom label of the label stack for a DetNet-
s- or DetNet-st-flow and MUST precede the d-CW.
The only nodes that need to know the payload type of a flow are the
DetNet ingress node and the DetNet egress nodes.  The ingress node
has to know how to process the packet it receives from the ingress AC
or IP flow, and the egress edge node has to know how to prepare the
packet for transmission to the next hop.
The only nodes that needs to know the payload type of a flow are the
DetNet ingress node and the DetNet egress nodes.  The ingress node
has to know how to process the packet it receives from the ingress
AC, and egress edge node has to know how to prepare the packet for
transmission on the egress AC.
On ingress a DetNet edge node has to classify the packets into those
that are for transmission as Detnet packets and those that are for
transmission as "normal" packets at one of more lower priorities.
The packet type is indicated to the egress edge node through the
value of the S-label.  Thus, when the egress edge node looks up the
S-label one of the parameters returned is the packet type which in
turn tells the egress edge node how to prepare the packet for
transmission to a next hop.
The consequence of this approach is that if multiple packet
encapsulations are processed on a node pair, each encapsulation will
need its own S-Label.  That is not generally a problems, since it is
anticipated that only one encapsulation type will be present for each
DetNet flow.  Of course, if for some reason the multiple
encapsulations are needed to support a single DetNet service,
multiple S-labels will be required for that service.  Note that in
the unlikely case that Ipv4 and IPv6 will map to the same DetNet
flow, different S-labels will be needed to differentiate between the
versions of IP.
On ingress a DetNet edge node has to classify the packets into those
that are for transmission as Detnet packets and those that are for
transmission as "normal" packets at one of more lower priorities.
The packet type is indicated to the egress edge node through the
value of the S-label.  Thus, when the egress edge node looks up the
S-label one of the parameters returned is the packet type which in
turn tells the egress edge node how to prepare the packet for
transmission over the egress AC.
The consequence of this approach is that if multiple packet
encapsulations are processed on a node, each will need its own
S-Label.  That is not generally a problem, since it is anticipated
that only one encapsulation type intended for carriage as a DetNet
flow will be present on any egress.  However, IPv4 and IPv6 have
different forwarding equivalence classes (FEC) in MPLS and are
therefore allocated different labels rather than being distinguished
through the IP version field in the IP header.  Futhermore IPv4 and
IPv6 when running directly over Ethernet are identified via the
Ethertype rather than via the IP version number.  Whilst it ought to
be safe to identify the IP type though the IP version number the
absence this approach in practical applications suggests that it is
more conservative to distinguish between IP types through the
S-Label.  Thus when the payload is IP, two S-Labels are used, one to
identify an IPv4 payload and one to identify an IPv6 payload.
The node internal procedures related to PROEF are implementation
specific.  The order of a packet elimination or replication is out of
scope in this specification.  However, care should be taken that the
replication function does not actually loopback packets as
"replicas".  Looped back packets include artificial delay when the
node that originally initiated the packet receives it again.  Also,
looped back packets may make the network condition to look healthier
than it actually is (in some cases link failures are not reflected
properly because looped back packets make the situation appear better
than it actually is).
The edge and relay node internal procedures of the PROEF are
implementation specific.  The order of a packet elimination or
replication is out of scope in this specification.  However, care
should be taken that the replication function does not actually
loopback packets as "replicas".  Looped back packets include
artificial delay when the node that originally initiated the packet
receives it again.  Also, looped back packets may make the network
condition to look healthier than it actually is (in some cases link
failures are not reflected properly because looped back packets make
the situation appear better than it actually is).