6tisch S. Anamalamudi
Internet-Draft Huaiyin Institute of Technology
Intended status: Standards Track M. Zhang
Expires: August 6, 2017 AR. Sangi
Huawei Technologies
C. Perkins
Futurewei
S.V.R.Anand
Indian Institute of Science
February 2, 2017
Scheduling Function One (SF1) for hop-by-hop Scheduling in 6tisch
Networks
draft-satish-6tisch-6top-sf1-03
Abstract
This document defines a 6top Scheduling Function called "Scheduling
Function One" (SF1) to reserve, label and schedule the end-to-end
resources hop-by-hop through the Distributed Resource Reservation
Protocol(RSVP). SF1 uses the 6P signaling messages with a global
TrackID to add or delete the cells in L2-bundles of isolated traffic
flows.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on August 6, 2017.
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
Anamalamudi, et al. Expires August 6, 2017 [Page 1]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
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. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Operation of Scheduling Function One (SF1) . . . . . . . . . 3
2.1. Resource Reservation Protocol(RSVP) . . . . . . . . . . . 4
2.2. RSVP-PATH message . . . . . . . . . . . . . . . . . . . . 4
2.3. RSVP-RESV message . . . . . . . . . . . . . . . . . . . . 6
2.4. Reroute and Bandwidth Increase mechanism . . . . . . . . 10
2.5. Error Codes . . . . . . . . . . . . . . . . . . . . . . . 10
3. Scheduling Function Identifier . . . . . . . . . . . . . . . 10
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1. References . . . . . . . . . . . . . . . . . . . . . . . 10
6.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
Scheduling Function Zero (SF0) [I-D.ietf-6tisch-6top-sf0] enables on-
the-fly cell scheduling (ADD/DELETE) between 1-hop neighbors for
aggregated (best-effort) traffic flows. In other words, all the
instances from nodeA to nodeB in Figure 1 are scheduled in a single
L3-bundle (IP link).
L3-bundle (Instance-1,Instance-2,...Instance-n)
------------------------------------------------->
nodeA<------------------------------------------------- nodeB
L3-bundle (Instance-1,Instance-2,...Instance-n)
Figure 1: L3-bundle for aggregated traffic flows over 1-hop with SF0.
Some applications (e.g. Industrial M2M) require end-to-end dedicated
L2-bundles to support control/data streams for time-critical
applications [I-D.ietf-detnet-use-cases]. For such applications,
per-instance L2-bundles need to be scheduled hop-by-hop in between
sender and receiver [I-D.ietf-6tisch-architecture]. In addition,
cells in the scheduled end-to-end L2-bundles of each instance may
Anamalamudi, et al. Expires August 6, 2017 [Page 2]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
have to be dynamically adapted for bursty time-critical traffic
flows. To achieve this, an end-to-end track has to be installed with
a global TrackID for each isolated instance. With 1-hop based SF0
cell scheduling, it is difficult to schedule dedicated end-to-end
cells for isolated traffic flows. Moreover, global bandwidth
estimation through Resource Reservation protocol is required for
bandwidth allocation in multi-hop cell scheduling. This draft
specifies a Scheduling Function One (SF1) to schedule end-to-end
dedicated L2-bundles for each instance, and to dynamically adapt the
cells in already scheduled L2-bundles through the RSVP protocol (see
Figure 2).
L2-bundle(Instance-1) L2-bundle(Instance-1)
-----------------------> ------------------>
<------------------------ <-------------------
L2-bundle(Instance-1) L2-bundle(Instance-1)
L2-bundle(Instance-2) L2-bundle(Instance-2)
----------------------> ----------------->
Sender<-----------------------nodeB <----------------- Receiver
L2-bundle(Instance-2) L2-bundle(Instance-2)
. .
. .
L2-bundle(Instance-n) L2-bundle(Instance-n)
-----------------------> -------------------->
<------------------------ <--------------------
L2-bundle(Instance-n) L2-bundle(Instance-n)
Figure 2: Dedicated L2-bundles for end-to-end isolated traffic flows
with SF1
2. Operation of Scheduling Function One (SF1)
With SF1, the Sender determines when to reserve end-to-end resources,
support implicit label switching (GMPLS), schedule the labeled
L2-bundles hop-by-hop, associate the global TrackID for labeled
L2-bundles, and dynamically adapt the cells in an existing instance
through RSVP(Resource Reservation Protocol). The following events
may trigger the use of SF1:
1. If Sender has a outgoing bandwidth requirement for a new instance
to transmit data to Receiver.
2. If Sender has a new outgoing bandwidth requirement for an
existing instance to transmit data to Receiver.
Anamalamudi, et al. Expires August 6, 2017 [Page 3]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
In both cases, distributed RSVP(explained in Section 2.1) is
triggered to provide end-to-end resource reservations along with
scheduling operations.
2.1. Resource Reservation Protocol(RSVP)
In this specification, an end-to-end route path is assumed to be
available, for instance by using reactive P2P-RPL (Storing or non-
storing mode) routing. GMPLS signaling Resource Reservation Protocol
(RSVP) with 6tisch scheduling capability is designed to label,
reserve and schedule the resources hop-by-hop for isolated traffic
flows. SF1 of the application sender will trigger the RSVP
operation, whenever it has time critical traffic. RSVP has two
messages, namely (1)RSVP-PATH message (Sender to Receiver) and (2)
RSVP-RESV message (Receiver to Sender).
2.2. RSVP-PATH message
The basic RSVP-PATH message [RFC2205] is used to carry the "Sender
Traffic Specification" along with "characterization parameters" from
sender to receiver. Since RSVP treat objects as opaque data, it is
permissible to use another protocol element (e.g.,GMPLS, 6P, SF1) as
an object in a RSVP-PATH message.
The format of the PATH message that supports 6tisch scheduling
capabilities (6P and SF1) is as follows:
<Path Message> ::= <Common Header> [ <INTEGRITY> ]
[ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK> ] ... ]
[ <MESSAGE_ID> ]
<SESSION> <RSVP_HOP>
<TIME_VALUES>
[ <EXPLICIT_ROUTE> ]
<LABEL_REQUEST>
[ <SF1 OPERATION REQUEST> ]
[ <6P OPERATION REQUEST> ]
[ <SESSION_ATTRIBUTE> ]
[ <NOTIFY_REQUEST> ]
[ <ADMIN_STATUS> ]
[ <POLICY_DATA> ... ]
<sender descriptor>
<sender descriptor> ::= <SENDER_TEMPLATE> <SENDER_TSPEC>
[ <ADSPEC> ]
[ <RECORD_ROUTE> ]
The format of the Generalized Label Request Object in PATH message
is:
Anamalamudi, et al. Expires August 6, 2017 [Page 4]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Class-Num (19)| C-Type (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSP Enc. Type |Switching Type | G-PID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Generalized Label Request describes the requirement of
communication characteristics to support the 6TiSCH-LSP being
requested. Generalized Label Request object is set by the ingress
node (6LR), transparently passed by transit nodes, and used by the
egress node(6LR).
1. LSP Encoding Type (8 bits): Indicates the encoding of the LSP
being requested.
Value Type
----- ----
TBD Timeslot
2. Switching Type (8 bits):Indicates the type of switching that
should be performed on a particular link.
Value Type
----- ----
100 Time-Division-Multiplex Capable (TDM)
3. G-PID (8 bits): An identifier of the payload carried by an LSP,
i.e., an identifier of the client layer of that LSP.
Value Type Technology
----- ---- ------
TBD Wireless Ethernet(802.15.4) 6TiSCH
"SF1 OPERATION REQUEST" and "6P OPERATION REQUEST" are added in the
PATH message to check for 6tisch scheduling capabilities within the
intermediate nodes from sender to receiver. The "Timeslot Switching
Capability" (TSC) is used as an implicit label to switch the cell at
intermediate nodes [RFC3473]. "LABEL_REQUEST" in path message should
be set to "Timeslot Switching Capability". The "RPLInstanceID" is
added in the "SENDER_TEMPLATE" to create the Global TrackID during 6P
transactions of RSVP-RESV messages. If an intermediate node does not
support the TSC or "6P transactions" or "SF1 operation" then it MUST
send a "PathErr" message back to application.
Anamalamudi, et al. Expires August 6, 2017 [Page 5]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
2.3. RSVP-RESV message
The basic RSVP-RESV messages [RFC2205] are transmitted upstream from
receiver to sender to provide resource reservation as well as "Label
Distribution". In this specification, hop-by-hop scheduling is
extended to support both resource reservation and label distribution.
The current specification is only defined for unicast point-to-point
traffic flows, i.e., Fixed Filter (FF) reservation style.
The format of the RESV message that supports 6tisch scheduling
capabilities (6P and SF1) is as follows:
<Resv Message> ::= <Common Header> [ <INTEGRITY> ]
[ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK> ] ... ]
[ <MESSAGE_ID> ]
<SESSION> <RSVP_HOP>
<TIME_VALUES>
<LABEL>
[ <SF1 OPERATION> ]
[ <6P OPERATION> ]
[ <RESV_CONFIRM> ] [ <SCOPE> ]
[ <NOTIFY_REQUEST> ]
[ <ADMIN_STATUS> ]
[ <POLICY_DATA> ... ]
<STYLE> <flow descriptor list>
<flow descriptor list> ::= <FF flow descriptor>
<FF flow descriptor> ::= [ <FLOWSPEC> ] <FILTER_SPEC> <LABEL>
[ <RECORD_ROUTE> ]
The format of the Generalized Label Object in RESV message is:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Class-Num (16)| C-Type (3) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slotframe ID | SlotOffset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ....... | ............... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slotframe ID | SlotOffset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1. Slotframe ID (1 octet): It represents the specific slotframe of
the SlotOffset. A slotframe is defined as the collection of
timeslots repeating in time. It is characterized by a slotframe_ID,
and a slotframe_size.
Anamalamudi, et al. Expires August 6, 2017 [Page 6]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
2. slotOffset(3 octets): It identifies a column in the TSCH schedule.
SlotOffset is used as an implicit lable to switch the packet through
"Track Forwarding".
Upon arrival of the PATH message at an application receiver, the
SENDER_TSPEC and ADSPEC objects are interpreted to select the
resource reservation parameters. Since RSVP provides receiver
initiated resource reservation setup, the scheduling operation has to
proceed upstream from receiver to sender. Subsequently, the reserved
resources (bandwidth) are mapped into 6tisch cells through Scheduling
Function and a corresponding L2-bundle is created. An aggregation of
cells is called a "bundle" (the directional link to a next-hop
neighbor). Every L2-bundle is associated with a global trackID to
dynamically adapt the cells "hop-by-hop" to an scheduled instance.
In addition, the TrackID is used as a "packet filter" to switch the
incoming tracks to outgoing tracks. The receiver will generate the
TrackID with the combination of "Source/Destination IP address" and
"RPLInstanceID" that is obtained from "SENDER_TEMPLATE/FILTER_SPEC".
Anamalamudi, et al. Expires August 6, 2017 [Page 7]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
next-hop node Receiver
+--------------+ +--------------+
| IPv6 | | IPv6 |
+--------------+ +--------------+
| 6LoWPAN | | 6LoWPAN |
+--------------+ +--------------+
| 6top | | 6top |
+--------------+ +--------------+
| TSCH MAC | | TSCH MAC |
+--------------+ +--------------+
| LLN PHY | | LLN PHY |
+--------------+ +--------------+
| |
| | Rspec: Reserves
| | bandwith
| |
| | SF1: Maps
| | bandwidth to cells
| RESV + 6P Request(TrackID)|
|<------------------------- |
Rspec:Reserves | |
bandwith | |
| |
SF1:Maps bandwidth | |
to cells |6P Response (CellList[..]) |
|-------------------------->|
| |
| |
| |
| 6P confirmation |LABEL SET
| CellList[..]+ Label |label=Channel+Slot
|<--------------------------|
Resv state:"Cell| |
label" | |
| |
| |
| |
Figure 3: Operation of RSVP-RESV message with 6P transactions.
From [RFC6997], the application node that initiates the point-to-
point (P2P) traffic is called the "Parent node" and the application
receiver that receives the data is called the "Child node". Since
the child node targets the Scheduling operation upstream towards the
sender, the "3-step transaction" of the 6P protocol needs to be
triggered at each hop to schedule the reserved resources (see
Figure 3). Hence, "6P Request" with an associated TrackID in the
metadata field is transmitted in "RESV" message from Receiver to the
Anamalamudi, et al. Expires August 6, 2017 [Page 8]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
next-hop node. The "NumCells" field in the 6P Request is set to the
required number of cells, and "CellList" should be empty. Once the
next-hop node receives the "RESV" message, it checks the service
request specification(Rspec) and performs the resource reservation.
Subsequently, the Scheduling Function of next-hop neighbor maps the
reserved resources into transmit cells. Later, "6P Response" with
"CellList" (slotOffset, channelOffset) is transmitted downstream to
receiver. When the receiver has cells (to receive data) available
with the "CellList" in the "6P Response" then "6P Confirmation" with
"IANA_6TOP_RC_SUCCESS" is upstream towards next-hop node. Otherwise,
"ResvErr" message SHOULD be sent back to the receiver with the
specific error. Since the cell information
(slotOffset,channelOffset) is available in the 6P transactions, the
next-hop node will store the "SlotOffset(Timeslot)" as a label to
switch the traffic flow to receiver. For multiple cells (i.e., a
bundle), a generalized label set is created where each label
represents one cell to forward data to receiver. Once the 6P
transaction is successful between a next-hop node and receiver, a
labeled L2-bundle is created with the associated TrackID.
Subsequently, "cell label set" is stored in the Resv state block at
the next-hop node. Later, SF1 of "next-hop node" maps the reserved
bandwidth to the "receiving cells" to receive the data from its
upstream node. The "RESV" message with "6P Request" along with
TrackID is transmitted upstream towards sender node. In this way, an
end-to-end Track is installed with a succession of paired L2-bundles
(a receive bundle from the previous hop and a transmit bundle to the
next hop) for a specific instance from sender to receiver (See
Figure 4).
+--------------+ <-Data transmission in end-to-end Track->
| IPv6 | Sender Receiver
+--------------+ | |
| 6LoWPAN | | |
+--------------+ | nodeB |
| 6top | | +----+ |
+--------------+ | | | |
| TSCH MAC | | | | |
+--------------+ | | | |
| LLN PHY | | L2-Bundle | | L2-Bundle |
+--------------+ +----------------+ +---------------+
<--Dedicated cells for each Instance-->
Figure 4: End-to-end cell scheduling with SF1 Scheduling
During data transmission, SF1 of sender at 6top identifies the
TrackID based on "Sender/Receiver IP address, RPLInstanceID" from the
received packet. Subsequently, an associated L2-bundle is scheduled
to forward the data to the next-hop neighbor (nodeB in Figure 4).
Anamalamudi, et al. Expires August 6, 2017 [Page 9]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
Later, SF1 of the next-hop neighbor identifies the TrackID based on
the "Sender/Receiver IP address, RPLInstanceID" of the received data
to switch the track towards receiver. In this way, end-to-end data
transmission is achieved through "Track forwarding" at the 6top sub-
layer (see Figure 4). Using TSC of RSVP-GMPLS [RFC3473], cells in
paired L2-bundles are used as implicit labels to switch the data from
Sender to Receiver at the 6top sub-layer.
2.4. Reroute and Bandwidth Increase mechanism
Whenever the sender needs to establish a new tunnel that can maintain
resource reservations without double counting (at any particular
intermediate node) the resources with an existing tunnel, then the
"RSVP reroute mechanism" is initiated [RFC3209]. With this
operation, bandwidth can be increased or decreased end-to-end in the
tunnel. The detailed explanation of the reroute mechanism is
explained in [RFC3209].
2.5. Error Codes
The detailed explanation of PathErr and ResvErr with different
ERROR_SPEC to handle Scheduling and 6P operation errors will be
described in later specification.
3. Scheduling Function Identifier
The Scheduling Function Identifier (SFID) of SF1 is
IANA_SFID_SF1(TBD).
4. IANA Considerations
IANA is requested to allocate a new Scheduling Function
(IANA_SFID_SF1) from the SF space of Scheduling Functions defined in
[I-D.ietf-6tisch-6top-sf0]
5. Security Considerations
TODO
6. References
6.1. References
[RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
September 1997, <http://www.rfc-editor.org/info/rfc2205>.
Anamalamudi, et al. Expires August 6, 2017 [Page 10]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<http://www.rfc-editor.org/info/rfc3209>.
[RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Resource ReserVation Protocol-
Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
DOI 10.17487/RFC3473, January 2003,
<http://www.rfc-editor.org/info/rfc3473>.
[RFC6997] Goyal, M., Ed., Baccelli, E., Philipp, M., Brandt, A., and
J. Martocci, "Reactive Discovery of Point-to-Point Routes
in Low-Power and Lossy Networks", RFC 6997,
DOI 10.17487/RFC6997, August 2013,
<http://www.rfc-editor.org/info/rfc6997>.
6.2. Informative References
[I-D.ietf-6tisch-6top-sf0]
Dujovne, D., Grieco, L., Palattella, M., and N. Accettura,
"6TiSCH 6top Scheduling Function Zero (SF0)", draft-ietf-
6tisch-6top-sf0-02 (work in progress), October 2016.
[I-D.ietf-6tisch-architecture]
Thubert, P., "An Architecture for IPv6 over the TSCH mode
of IEEE 802.15.4", draft-ietf-6tisch-architecture-11 (work
in progress), January 2017.
[I-D.ietf-detnet-use-cases]
Grossman, E., Gunther, C., Thubert, P., Wetterwald, P.,
Raymond, J., Korhonen, J., Kaneko, Y., Das, S., Zha, Y.,
Varga, B., Farkas, J., Goetz, F., Schmitt, J., Vilajosana,
X., Mahmoodi, T., Spirou, S., and P. Vizarreta,
"Deterministic Networking Use Cases", draft-ietf-detnet-
use-cases-11 (work in progress), October 2016.
Authors' Addresses
Satish Anamalamudi
Huaiyin Institute of Technology
No.89 North Beijing Road, Qinghe District
Huaian 223001
China
Email: satishnaidu80@gmail.com
Anamalamudi, et al. Expires August 6, 2017 [Page 11]
Internet-Draft draft-satish-6tisch-6top-sf1 February 2017
Mingui Zhang
Huawei Technologies
No. 156 Beiqing Rd. Haidian District
Beijing 100095
China
Email: zhangmingui@huawei.com
Abdur Rashid Sangi
Huawei Technologies
No.156 Beiqing Rd. Haidian District
Beijing 100095
P.R. China
Email: rashid.sangi@huawei.com
Charles E. Perkins
Futurewei
2330 Central Expressway
Santa Clara 95050
Unites States
Email: charliep@computer.org
S.V.R Anand
Indian Institute of Science
Bangalore
560012
India
Email: anand@ece.iisc.ernet.in
Anamalamudi, et al. Expires August 6, 2017 [Page 12]