Carrying Virtual Transport Network (VTN)
Information in IPv6 Extension HeaderHuawei TechnologiesHuawei Campus, No. 156 Beiqing RoadBeijing100095Chinajie.dong@huawei.comHuawei TechnologiesHuawei Campus, No. 156 Beiqing RoadBeijing100095Chinalizhenbin@huawei.comChina TelecomChina Telecom Beijing Information Science & Technology,
BeiqijiaBeijing102209Chinaxiechf@chinatelecom.cnChina TelecomChina Telecom Beijing Information Science & Technology,
BeiqijiaBeijing102209Chinamachh@chinatelecom.cnVerizon Inc.gyan.s.mishra@verizon.comVirtual Private Networks (VPNs) provide different customers with
logically separated connectivity over a common network infrastructure.
With the introduction and evolvement of 5G and other network scenarios,
some existing or new customers may require connectivity services with
advanced characteristics comparing to traditional VPNs. Such kind of
network service is called enhanced VPNs (VPN+). VPN+ can be used to
deliver IETF network slices, and could also be used for other
application scenarios.A Virtual Transport Network (VTN) is a virtual underlay network which
consists of a set of dedicated or shared network resources allocated
from the physical underlay network, and is associated with a customized
logical network topology. VPN+ services can be delivered by mapping one
or a group of overlay VPNs to the appropriate VTNs as the virtual
underlay. In packet forwarding, some fields in the data packet needs to
be used to identify the VTN the packet belongs to, so that the
VTN-specific processing can be performed on each node the packet
traverses.This document proposes a new Hop-by-Hop option of IPv6 extension
header to carry the VTN related information, which could used to
identify the set of network resources allocated to a VTN and the rules
for packet processing. The procedure of processing the VTN option is
also specified.Virtual Private Networks (VPNs) provide different customers with
logically isolated connectivity over a common network infrastructure.
With the introduction and evolvement of 5G and other network scenarios,
some existing or new customers may require connectivity services with
advanced characteristics comparing to traditional VPNs, such as resource
isolation from other services or guaranteed performance. Such kind of
network service is called enhanced VPN (VPN+). VPN+ service requires the
coordination and integration between the overlay VPNs and the capability
and resources of the underlay network. VPN+ can be used to deliver IETF
network slices . describes a framework and
the candidate component technologies for providing VPN+ services. It
also introduces the concept of Virtual Transport Network (VTN). A VTN is
a virtual underlay network which consists of a set of dedicated or
shared network resources allocated from the physical underlay network,
and is associated with a logical network topology. VPN+ services can be
delivered by mapping one or a group of overlay VPNs to the appropriate
VTNs as the underlay, so as to provide the network characteristics
required by the customers. In packet forwarding, traffic of different
VPN+ services needs to be processed separately based on the network
resources and the logical topology associated with the corresponding
VTN. In the context of network slicing, VTN and NRP are considered as
similar concepts, and NRP can be seen as an instantiation of VTN. describes the
scalability considerations and the possible optimizations for providing
a relatively large number of VTNs for VPN+ services. One approach to
improve the data plane scalability of VTN is to introduce a dedicated
VTN Resource Identifier (VTN Resource ID) in the data packet to identify
the set of network resources allocated to a VTN, so that VTN-specific
packet processing can be performed using that set of resources, which
avoids the possible resource competition with services in other VTNs.
This is called Resource Independent (RI) VTN. A VTN Resource ID
represents a subset of the resources (e.g. bandwidth, buffer and queuing
resources) allocated on a given set of links and nodes which constitute
a logical network topology. The logical topology associated with a VTN
could be defined using mechanisms such as Multi-Topology , or Flex-Algo , etc.This document proposes a mechanism to carry the VTN resource ID
together with other VTN related information in a new Hop-by-Hop option
called "VTN option" of IPv6 extension header of
IPv6 packet, so that on each network node along the packet forwarding
path, the VTN option in the packet is parsed, and the obtained VTN
Resource ID is used to instruct the network node to use the set of
network resources allocated to the corresponding VTN to process and
forward the packet. The procedure for processing the VTN option is also
specified. This provides a scalable solution to support a relatively
large number of VTNs in an IPv6 network.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
BCP14 RFC 2119RFC 8174 when, and only when, they appear in
all capitals, as shown here.A new Hop-by-Hop option type "VTN" is defined to carry the VTN
resource identifier and other VTN related information in an IPv6 packet.
Its format is shown as below:Option Type: 8-bit identifier of the type of option. The type of VTN
option is to be assigned by IANA. The bits of the type field are defined
as below:BB 00 The highest-order 2 bits are set to 00 to indicate that a
node which does not recognize this type will skip over it and
continue processing the header.C 0 The third highest-order bit is set to 0 to indicate this
option does not change en route.TTTTT To be assigned by IANA.Opt Data Len: 8-bit unsigned integer indicates the length of the
option Data field of this option, in octets. The value of Opt Data Len
of VTN option SHOULD be set to 8.Flags: 8-bit flags field. The most significant bit is defined in this
document.S (Strict Match): The S flag is used to indicate whether the VTN
Resource ID MUST be strictly matched for the processing of the
packet. When S flag is set to 1, if the VTN resource ID in the VTN
option does not match with any of the VTN resource ID provisioned on
the outgoing interface of the network node, the packet MUST be
dropped. When S flag is set to 0, if the VTN resource ID in the VTN
option does not match with any of the VTN resource ID provisioned on
the outgoing interface of the network node, the packet SHOULD be
forwarded using the default set of network resource on the outgoing
interface.U (Unused): These flags are reserved for future use. They SHOULD
be set to 0 on transmission and MUST be ignored on receipt.Reserved: 3-octet field reserved for future use. They SHOULD be set
to 0 on transmission and MUST be ignored on receipt.VTN Resource ID: 4-octet identifier which uniquely identifies the set
of network resources allocated to a VTN.Note that, if a deployment found it useful, the four-octet VTN
Resource ID field may be derived from the four-octet Single Network
Slice Selection Assistance Information (S-NSSAI) defined in 3GPP .As the VTN option needs to be processed by each node along the path
for VTN-specific forwarding, it MUST be carried in IPv6 Hop-by-Hop
options header.When an ingress node of an IPv6 domain receives a packet, according
to the traffic classification or mapping policy, the packet is steered
into one of the VTNs in the network, then the packet MUST be
encapsulated in an outer IPv6 header, and the Resource ID of the VTN
which the packet is mapped to MUST be carried in the VTN option of the
Hop-by-Hop Options header associated with the outer IPv6 header.On receipt of a packet with the VTN option, each network node which
can process the VTN option in fast path MUST use the VTN Resource ID
to determine the set of local network resources allocated to the VTN
for packet processing. The packet forwarding behavior is based on both
the destination IP address and the VTN Resource ID. More specifically,
the destination IP address is used to determine the next-hop and the
outgoing interface, and VTN Resource ID is used to determine the set
of network resources on the outgoing interface which are allocated to
the VTN for processing and sending the packet. If the VTN Resource ID
does not match with any of the VTN Resource ID provisioned on the
outgoing interface, the S flag in the VTN option is used to determine
whether the packet is dropped or forwarded using the default set of
network resources of the outgoing interface. The Traffic Class field
of the outer IPv6 header MAY be used to provide differentiated
treatment for packets which belong to the same VTN. The egress node of
the IPv6 domain MUST decapsulate the outer IPv6 header and the
Hop-by-Hop Options header which includes the VTN option.In the forwarding plane, there can be different approaches of
partitioning the local network resources and allocating them to
different VTNs. For example, on one physical interface, a subset of
the forwarding plane resources (e.g. bandwidth and the associated
buffer and queuing resources) can be allocated to a particular VTN and
represented as a virtual sub-interface with reserved bandwidth
resource. In packet forwarding, the IPv6 destination address of the
received packet is used to identify the next-hop and the outgoing
layer-3 interface, and the VTN Resource ID is used to further identify
the virtual sub-interface on the outgoing interface which is
associated with the VTN.Network nodes which do not support the processing of Hop-by-Hop
Options header SHOULD ignore the Hop-by-Hop options header and forward
the packet only based on the destination IP address. Network nodes
which support Hop-by-Hop Options header, but do not support the VTN
option SHOULD ignore the VTN option and continue to forward the packet
based on the destination IP address. The network node MAY process the
rest of the Hop-by-Hop options in the Hop-by-Hop Options header.As described in , network nodes may be
configured to ignore the Hop-by-Hop Options header, drop packets
containing a Hop-by-Hop Options header, or assign packets containing a
Hop-by-Hop Options header to a slow processing path. specifies the modified
procedures for the processing of IPv6 Hop-by-Hop Options header.
Operator needs to make sure that all the network nodes involved in a VTN
can either process the Hop-by-Hop Options header in the fast path, or
ignore the Hop-by-Hop Options header. Since a VTN is associated with a
logical network topology, it is practical to ensure that all the network
nodes involved in that logical topology support the processing of the
Hop-by-Hop Options header and the VTN option. In other word, packets
steered into a VTN MUST NOT be dropped due to the existence of the
Hop-by-Hop Options header. It is RECOMMENDED to configure all the
network nodes involved in a VTN to process the Hop-by-Hop Options header
and the VTN option if there is a nob for this.During the discussion of this document in the 6MAN WG, one of the
suggestions received is to make the VTN option more generic in terms of
semantics and encoding. This section gives some analysis about to what
extent the semantics of VTN could be generalized, and how the
generalization could be achieved with the proposed encoding.Based on the VTN definition in , the concept of VTN could be
extended as: a virtual network which is associated with a set of
network-wide attributes and states maintained on each participating
network node. The attributes associated with an VTN may include but not
limited to: network resource attributes, network topology attributes,
and network function attributes etc.The network resource can refer to various type of data plane
resources, including link bandwidth, bufferage and queueing
resources.The network topology can be multipoint-to-multipoint,
point-to-point, point-to-multipoint or multipoint-to-point.The network functions may include both data forwarding functions
and other types network functions which can be executed on data
packets mapped to a VTN.This shows the semantics of VTN can be quite generic. Although
generalization is always something good to have, it would be important
to understand and identify the boundary of generalization. In this
document, It is anticipated that for one network attribute to be
included in VTN, it needs to be a network-wide attribute rather than a
node-specific attribute. Thus whether a network-wide view can be
provided or not could be considered as one prerequisite of making one
attribute part of VTN.In terms of generic encoding, the format of the VTN option contains
the Flags field and the Reserved field, which leave room for future
extensions. The combination of the Flags field and the Reserved field
can provide flexible encoding. For example, some of the Reserved field
may be used to indicate the semantics of the ID, and based on the
setting of the Flags field, additional forwarding behaviors may be
introduced. That said, since the VTN option needs to be processed in the
fast path, the capability of network devices need to be considered when
new extensions to this VTN option are introduced.This document requests IANA to assign a new option type from
"Destination Options and Hop-by-Hop Options" registry.The security considerations with IPv6 Hop-by-Hop Options header are
described in , , and .
This document introduces a new IPv6 Hop-by-Hop option which is either
processed in the fast path or ignored by network nodes, thus it does not
introduce additional security issues.The authors would like to thank Juhua Xu, James Guichard, Joel
Halpern, Tom Petch, Aijun Wang, Zhenqiang Li, Tom Herbert, Adrian Farrel
and Eric Vyncke for their review and valuable comments.3GPP TS23.501