| < draft-ietf-6lo-deadline-time-01.txt | draft-ietf-6lo-deadline-time-02.txt > | |||
|---|---|---|---|---|
| 6lo Lijo Thomas | 6lo Lijo Thomas | |||
| Internet-Draft C-DAC | Internet-Draft C-DAC | |||
| Intended status: Standards Track P. Akshay | Intended status: Standards Track S. Anamalamudi | |||
| Expires: September 5, 2018 Smarten Spaces | Expires: March 4, 2019 SRM University-AP | |||
| Satish Anamalamudi | ||||
| Huaiyin Institute of Technology | ||||
| S.V.R.Anand | S.V.R.Anand | |||
| Malati Hegde | Malati Hegde | |||
| Indian Institute of Science | Indian Institute of Science | |||
| C. Perkins | C. Perkins | |||
| Futurewei | Futurewei | |||
| March 4, 2018 | August 31, 2018 | |||
| Packet Delivery Deadline time in 6LoWPAN Routing Header | Packet Delivery Deadline time in 6LoWPAN Routing Header | |||
| draft-ietf-6lo-deadline-time-01 | draft-ietf-6lo-deadline-time-02 | |||
| Abstract | Abstract | |||
| This document specifies a new type for the 6LoWPAN routing header | This document specifies a new type for the 6LoWPAN routing header | |||
| containing the delivery deadline time for data packets. The deadline | containing the delivery deadline time for data packets. The deadline | |||
| time enables forwarding and scheduling decisions for time critical | time enables forwarding and scheduling decisions for time critical | |||
| IoT M2M applications that need deterministic delay guarantees over | IoT M2M applications that need deterministic delay guarantees over | |||
| constrained networks and operate within time-synchronized networks. | constrained networks and operate within time-synchronized networks. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 40 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 5, 2018. | This Internet-Draft will expire on March 4, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. 6LoRHE Generic Format . . . . . . . . . . . . . . . . . . . . 3 | 3. Deadline-6LoRHE . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. Deadline-6LoRHE . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Deadline-6LoRHE Format . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Deadline-6LoRHE Format . . . . . . . . . . . . . . . . . . . 5 | 5. Deadline-6LoRHE in Three Network Scenarios . . . . . . . . . 7 | |||
| 6. Deadline-6LoRHE in Three Network Scenarios . . . . . . . . . 6 | 5.1. Scenario 1: Endpoints in the same DODAG (N1) . . . . . . 7 | |||
| 6.1. Scenario 1: Endpoints in the same DODAG (N1) in non- | 5.2. Scenario 2: Endpoints in Networks with Dissimilar L2 | |||
| storing mode. . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 6.2. Scenario 2: Endpoints in Networks with Dissimilar L2 | ||||
| Technologies. . . . . . . . . . . . . . . . . . . . . . . 8 | Technologies. . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.3. Scenario 3: Packet transmission across different DODAGs | 5.3. Scenario 3: Packet transmission across different DODAGs | |||
| (N1 to N2). . . . . . . . . . . . . . . . . . . . . . . . 9 | (N1 to N2). . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 11 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 11 | 9.2. Informative References . . . . . . . . . . . . . . . . . 12 | |||
| Appendix A. Changes Since draft-ietf-6lo-deadline-time-00 . . . 12 | Appendix A. Changes after draft-ietf-6lo-deadline-time-01 . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Appendix B. Changes between earlier versions . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | ||||
| 1. Introduction | 1. Introduction | |||
| Low Power and Lossy Networks (LLNs) are likely to be deployed for | Low Power and Lossy Networks (LLNs) are likely to be deployed for | |||
| real time industrial applications requiring end-to-end delay | real time industrial applications requiring end-to-end delay | |||
| guarantees [I-D.ietf-detnet-use-cases]. A Deterministic Network | guarantees [I-D.ietf-detnet-use-cases]. A Deterministic Network | |||
| ("detnet") typically requires some data packets to reach their | ("detnet") typically requires some data packets to reach their | |||
| receivers within strict time bounds. Intermediate nodes use the | receivers within strict time bounds. Intermediate nodes use the | |||
| deadline information to make appropriate packet forwarding and | deadline information to make appropriate packet forwarding and | |||
| scheduling decisions to meet the time bounds. | scheduling decisions to meet the time bounds. | |||
| skipping to change at page 3, line 13 ¶ | skipping to change at page 3, line 9 ¶ | |||
| specifies a new Deadline-6LoRHE type for the 6LoWPAN Dispatch Page 1, | specifies a new Deadline-6LoRHE type for the 6LoWPAN Dispatch Page 1, | |||
| so that the deadline time of data packets can be included within the | so that the deadline time of data packets can be included within the | |||
| 6LoWPAN routing header. This document also specifies handling of the | 6LoWPAN routing header. This document also specifies handling of the | |||
| deadline time when packets traverse through time-synchronized | deadline time when packets traverse through time-synchronized | |||
| networks operating in different timezones or distinct reference | networks operating in different timezones or distinct reference | |||
| clocks. Time synchronization techniques need not be mandated by this | clocks. Time synchronization techniques need not be mandated by this | |||
| specificiation. There are a number of standards available for this | specificiation. There are a number of standards available for this | |||
| purpose, including IEEE 1588 [ieee-1588], IEEE 802.1AS [dot1AS-2011], | purpose, including IEEE 1588 [ieee-1588], IEEE 802.1AS [dot1AS-2011], | |||
| IEEE 802.15.4-2015 TSCH [dot15-tsch], and more. | IEEE 802.15.4-2015 TSCH [dot15-tsch], and more. | |||
| The Deadline-6LoRHE can be used in any time synchronized 6Lo network. | ||||
| A 6TiSCH network has been used to describe the implementation of the | ||||
| Deadline-6LoRHE, but this does not preclude its use in scenarios | ||||
| other than 6TiSCH. For instance, there is a growing interest in | ||||
| using 6lo over a BLE mesh network [I-D.ietf-6lo-blemesh] in | ||||
| industrial IoT. BLE mesh time synchronization is also being recently | ||||
| explored by the Bluetooth community. There are also cases under | ||||
| consideration in Wi-SUN. | ||||
| 2. Terminology | 2. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| [RFC2119]. | [RFC2119]. | |||
| This document uses terminology consistent with the terminology used | This document uses terminology consistent with the terminology used | |||
| in [RFC6550] and [I-D.ietf-6tisch-terminology]. Also, in this | in [RFC6550] and [I-D.ietf-6tisch-terminology]. Also, in this | |||
| document, the terms "expiration time", "delivery deadline time", and | document, the terms "expiration time", "delivery deadline time", and | |||
| "deadline" are used interchangeably with the same meaning. | "deadline" are used interchangeably with the same meaning. | |||
| 3. 6LoRHE Generic Format | 3. Deadline-6LoRHE | |||
| Note: this section is not normative. It is included for convenience, | ||||
| and may be deleted in a later revision of this document. The generic | ||||
| header format of the 6LoRHE is specified in | ||||
| [I-D.ietf-roll-routing-dispatch]. Figure 1 illustrates the 6LoRHE | ||||
| generic format. | ||||
| 0 1 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | ||||
| |1|0|1| Length | Type | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | ||||
| <-- length --> | ||||
| Figure 1: 6LoRHE format | ||||
| o Length: Length of the 6LoRHE expressed in bytes, excluding the | ||||
| first 2 bytes. This enables a node to skip a 6LoRHE if the Type | ||||
| is not recognized/supported. | ||||
| o Type: Type of the 6LoRHE. | ||||
| o length: variable | ||||
| 4. Deadline-6LoRHE | ||||
| The Deadline-6LoRHE (see Figure 2) is an elective 6LoRH (i.e., a | The Deadline-6LoRHE (see Figure 2) is an elective 6LoRH (i.e., a | |||
| 6loRHE) that provides the Deadline time (DT) for an IPv6 datagram in | 6LoRHE [RFC8138]) that provides the Deadline Time (DT) for an IPv6 | |||
| a compressed form. Along with the deadline, the header can include | datagram in a compressed form. Along with the deadline, the header | |||
| the packet Origination Time (OT), to enable a close estimate of the | can include the packet Origination Time (OT), to enable a close | |||
| total delay incurred by a packet. The OT field is initialized by the | estimate of the total delay incurred by a packet. The OT field is | |||
| sender using the current time at the outgoing network interface | initialized by the sender using the current time at the outgoing | |||
| through which the packet is forwarded. | network interface through which the packet is forwarded. | |||
| The deadline field contains the value of the delivery deadline time | The deadline field contains the value of the delivery deadline time | |||
| for the packet. The packet SHOULD be delivered to the Receiver | for the packet. The packet SHOULD be delivered to the Receiver | |||
| before this time. | before this time. | |||
| packet_deadline_time = packet_origination_time + max_delay | packet_deadline_time = packet_origination_time + max_delay | |||
| All nodes within the network SHOULD process the Deadline-6LoRHE in | All nodes within the network SHOULD process the Deadline-6LoRHE in | |||
| order to support delay-sensitive deterministic applications. The | order to support delay-sensitive deterministic applications. The | |||
| packet deadline time (DT) and origination time (OT) are represented | packet deadline time (DT) and origination time (OT) are represented | |||
| in time units determined by a scaling parameter in the routing | in time units determined by a scaling parameter in the routing | |||
| header. One of the time units is the Network ASN (Absolute Slot | header. One of the time units is the Network ASN (Absolute Slot | |||
| Number) which can be used in case of a time slotted synchronized | Number) which can be used in case of a time slotted synchronized | |||
| network, for instance a 6TiSCH network, where global time is | network (for instance a 6TiSCH network, where global time is | |||
| maintained in the units of slot lengths of a certain resolution. | maintained in the units of slot lengths of a certain resolution). | |||
| The delay experienced by packets in the network is a useful metric | The delay experienced by packets in the network is a useful metric | |||
| for network diagnostics and performance monitoring. Whenever the | for network diagnostics and performance monitoring. Whenever the | |||
| packets crosses into a network using a different reference clock, the | packets crosses into a network using a different reference clock, the | |||
| Origination Time field is updated to represent the same Origination | Origination Time field is updated to represent the same Origination | |||
| Time as expressed using the reference clock of the outgoing interface | Time, but expressed using the reference clock of the interface into | |||
| into the new network. This is the same as the current time when the | the new network. This is the same as the current time when the | |||
| packet is transmitted into the new network, minus the delay already | packet is transmitted into the new network, minus the delay already | |||
| experienced by the packet, say 't'. In effect, to the newly entered | experienced by the packet, say 't'. In this way, within the newly | |||
| network, the packet will appear to have originated 't' time units | entered network, the packet will appear to have originated 't' time | |||
| earlier with respect to the reference clock of the new network. | units earlier with respect to the reference clock of the new network. | |||
| Origination Time in new network = current_time_in_new_network - | Origination Time in new network = current_time_in_new_network - | |||
| delay_already_experienced_in_previous_network(s) | delay_already_experienced_in_previous_network(s) | |||
| The following example illustrates the origination time calculation | ||||
| when a packet travels between three networks, each in a different | ||||
| time zone. 'x' can be 1,2 or 3. | ||||
| TxA : Time of arrival of packet in the network 'x' | ||||
| TxD : Departure time of packet in the network 'x' | ||||
| Dx : Delay experienced by the packet in the previous network(s) | ||||
| TZx : Indicates the time zone of network 'x' | ||||
| As an illustration, we consider a packet traversing through three | ||||
| time synchronized networks along with numerical values as shown in | ||||
| Figure 1. | ||||
| TZ1 TZ2 TZ3 | ||||
| T1A=0| | | | ||||
| |---- D1=100 | | | ||||
| | \ | | | ||||
| | \ | | | ||||
| | \ T1D=100 |T2A=1000 | | ||||
| | -------->|----- D2=400 | | ||||
| | | \ | | ||||
| | | \ | | ||||
| | | \ T2D=1400 | T3A=5000 | ||||
| | | ------------------->| | ||||
| | | | | ||||
| v v v | ||||
| D = 0 D = T1D-OT D = T2D-OT | ||||
| = 100-0 = 1400 - 900 | ||||
| = 100 = 500 i.e. (D1 + D2) | ||||
| OT = T1A-D OT = T2A-D OT = T3A-D | ||||
| = 0 = 1000-100 = 5000 - 500 | ||||
| = 900 = 4500 | ||||
| Figure 1: Origination Time update example | ||||
| There are multiple ways that a packet can be delayed, including | There are multiple ways that a packet can be delayed, including | |||
| propagation delay and queuing delays. Sometimes there are processing | propagation delay and queuing delays. Sometimes there are processing | |||
| delays as well. For the purpose of determining whether or not the | delays as well. For the purpose of determining whether or not the | |||
| deadline has already passed, these various delays are not | deadline has already passed, these various delays are not | |||
| distinguished. | distinguished. | |||
| 5. Deadline-6LoRHE Format | 4. Deadline-6LoRHE Format | |||
| 0 1 2 3 | 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |1|0|1| Length | 6LoRH Type |O|D| DTL | OTL | TU| EXP | Rsv | | |1|0|1| Length | 6LoRH Type |O|D| DTL | OTL | TU| EXP | Rsv | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | DT (variable length) | OT(variable length)(optional) | | | DT (variable length) | OT(variable length)(optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: Deadline-6LoRHE format | Figure 2: Deadline-6LoRHE format | |||
| skipping to change at page 6, line 4 ¶ | skipping to change at page 6, line 35 ¶ | |||
| 10 : Network ASN | 10 : Network ASN | |||
| 11 : Reserved | 11 : Reserved | |||
| EXP (3 bits) : Multiplication factor expressed as exponent of 10. | EXP (3 bits) : Multiplication factor expressed as exponent of 10. | |||
| The value of the DT field is multiplied by 10 to this power, to | The value of the DT field is multiplied by 10 to this power, to | |||
| get the actual deadline time in the units represented by TU. The | get the actual deadline time in the units represented by TU. The | |||
| default value of EXP is 000, so that the DT field is unaffected. | default value of EXP is 000, so that the DT field is unaffected. | |||
| Rsv (3 bits) : Reserved | Rsv (3 bits) : Reserved | |||
| DT Value (8..64-bit) : Deadline Time value | DT Value (8..64-bit) : Deadline Time value | |||
| OT Value (8..64-bit) : Origination Time value | OT Value (8..64-bit) : Origination Time value | |||
| Whenever a sender initiates the IP datagram, it includes the | Whenever a sender initiates the IP datagram, it includes the | |||
| Deadline-6LoRHE along with other 6LoRH information. | Deadline-6LoRHE along with other 6LoRH information. | |||
| Example: Consider a 6TiSCH network with time-slot length of 10ms. | Example: Consider a 6TiSCH network with time-slot length of 10ms. | |||
| Let the current ASN when the packet is originated be 54400, and the | Let the current ASN when the packet is originated be 54400, and the | |||
| maximum allowable delay (max_delay) for the packet delivery is 1 | maximum allowable delay (max_delay) for the packet delivery is 1 | |||
| second from the packet origination, then: | second from the packet origination, then: | |||
| deadline_time = packet_origination_time + max_delay | deadline_time = packet_origination_time + max_delay | |||
| = 55400 + 100 (in Network ASNs) | ||||
| = 55500(Network ASNs) | ||||
| = 55400 + 100 (in Network ASNs) | Deadline-6LoRHE encoding with 'O' flag and 'D' flag set to 1: | |||
| = 55500(Network ASNs) | ||||
| Deadline-6LoRHE encoding with 'O' flag set to 1 : | ||||
| DTL = 001, OTL = 001, TU = '10', EXP = 2, DT = 0x22B, OT = 0x22A | DTL = 001, OTL = 001, TU = '10', EXP = 2, DT = 0x22B, OT = 0x22A | |||
| 6. Deadline-6LoRHE in Three Network Scenarios | 5. Deadline-6LoRHE in Three Network Scenarios | |||
| In this section, Deadline-6LoRHE operation is described for 3 network | In this section, Deadline-6LoRHE operation is described for 3 network | |||
| scenarios. Figure 3 depicts a constrained time-synchronized LLN that | scenarios. Figure 3 depicts a constrained time-synchronized LLN that | |||
| has two subnets N1 and N2, connected through LBRs | has two subnets N1 and N2, connected through LBRs | |||
| [I-D.ietf-6lo-backbone-router] with different reference clock times | [I-D.ietf-6lo-backbone-router] with different reference clock times | |||
| T1 and T2. | T1 and T2. | |||
| +-------------------+ | +-------------------+ | |||
| | Time Synchronized | | | Time Synchronized | | |||
| | Network | | | Network | | |||
| skipping to change at page 7, line 26 ¶ | skipping to change at page 7, line 38 ¶ | |||
| o | | router | | router | o | | router | | router | |||
| +-----+ +-----+ | +-----+ +-----+ | |||
| o o o | o o o | |||
| o o o o o o o o o | o o o o o o o o o | |||
| o LLN o o LLN o o | o LLN o o LLN o o | |||
| o o o o o o o o o | o o o o o o o o o | |||
| 6LoWPAN Network (subnet N1) 6LoWPAN Network (subnet N2) | 6LoWPAN Network (subnet N1) 6LoWPAN Network (subnet N2) | |||
| Figure 3: Intra-network Timezone Scenario | Figure 3: Intra-network Timezone Scenario | |||
| 6.1. Scenario 1: Endpoints in the same DODAG (N1) in non-storing mode. | 5.1. Scenario 1: Endpoints in the same DODAG (N1) | |||
| In scenario 1, shown in Figure 4, the Sender 'S' has an IP datagram | In scenario 1, shown in Figure 4, the Sender 'S' has an IP datagram | |||
| to be routed to a Receiver 'R' within the same DODAG. For the route | to be routed to a Receiver 'R' within the same DODAG. For the route | |||
| segment from Sender to 6LBR, the Sender includes a Deadline-6LoRHE by | segment from Sender to 6LBR, the Sender includes a Deadline-6LoRHE by | |||
| encoding the deadline time contained in the inband-OAM header | encoding the deadline time contained in the packet. Subsequently, | |||
| extension. Then 6LR begins hop-by-hop operation to forward the | each 6LR will perform hop-by-hop routing to forward the packet | |||
| packet towards the 6LBR. Once 6LBR receives the IP datagram, it | towards the 6LBR. Once 6LBR receives the IP datagram, it sends the | |||
| generates a IPv6-in-IPv6 encapsulated packet when sending the packet | packet downstream towards 'R'. | |||
| downwards to the Receiver [I-D.ietf-roll-useofrplinfo]. The 6LBR | ||||
| copies the Deadline-6LoRHE from the Sender originated IP header to | In case of a network running RPL non-storing mode, the 6LBR generates | |||
| the outer IP header. The Deadline-6LoRHE contained in the inner IP | a IPv6-in-IPv6 encapsulated packet when sending the packet downwards | |||
| header is elided. | to the Receiver [I-D.ietf-roll-useofrplinfo]. The 6LBR copies the | |||
| Deadline-6LoRHE from the Sender originated IP header to the outer IP | ||||
| header. The Deadline-6LoRHE contained in the inner IP header is | ||||
| elided. | ||||
| +-------+ | +-------+ | |||
| ^ | 6LBR | | | ^ | 6LBR | | | |||
| | | | | | | | | | | |||
| | +-------+ | | | +-------+ | | |||
| Default | (F)/ /| \ | IP-in-IP | Upward | (F)/ /| \ | Downward | |||
| routing | / \ / | \ | Encapsulation | routing | / \ / | \ | routing | |||
| | / \ (C) | (D) | | | / \ (C) | (D) | | |||
| | (A) (B) / | / |\ | | | (A) (B) / | / |\ | | |||
| | /|\ |\: (E) : R | | | /|\ |\: (E) : R | | |||
| S : : : / \ V | S : : : / \ v | |||
| Figure 4: End points within same DODAG(subnet N1) | Figure 4: End points within same DODAG (subnet N1) | |||
| At the tunnel endpoint of IPv6-in-IPv6 encapsulation, the Deadline- | At the tunnel endpoint of the IPv6-in-IPv6 encapsulation, the | |||
| 6LoRHE is copied back from the outer header to inner header, and the | Deadline-6LoRHE is copied back from the outer header to inner header, | |||
| inner IP packet is delivered to 'R'. | and the inner IP packet is delivered to 'R'. | |||
| 6.2. Scenario 2: Endpoints in Networks with Dissimilar L2 Technologies. | 5.2. Scenario 2: Endpoints in Networks with Dissimilar L2 Technologies. | |||
| In scenario 2, shown in Figure 5, the Sender 'S' (belonging to DODAG | In scenario 2, shown in Figure 5, the Sender 'S' (belonging to DODAG | |||
| 1) has IP datagram to be routed to a Receiver 'R' over a time- | 1) has IP datagram to be routed to a Receiver 'R' over a time- | |||
| synchronized IPv6 network. For the route segment from 'S' to 6LBR, | synchronized IPv6 network. For the route segment from 'S' to 6LBR, | |||
| 'S' includes a Deadline-6LoRHE. Subsequently, 6LR will perform hop- | 'S' includes a Deadline-6LoRHE. Subsequently, each 6LR will perform | |||
| by-hop operation to forward the packet towards the 6LBR. Once the IP | hop-by-hop routing to forward the packet towards the 6LBR. Once the | |||
| datagram reaches 6LBR of DODAG1, it encodes the deadline time (and, | Deadline Time information reaches the border router, the packet will | |||
| if available, the origination time) into the In-band OAM header | be encoded as per the mechanism prescribed in the new time | |||
| extension, [I-D.ietf-ippm-ioam-data] and passes the datagram to the | synchronized network. The specific data encapsulation mechanisms | |||
| IPv6 layer for further routing. | followed in the new network are beyond the scope of this document. | |||
| +----------------+ | +----------------+ | |||
| | Time | | | Time | | |||
| | synchronized |------R | | Synchronized |------R | |||
| | Network | | | Network | | |||
| +----------------+ | +----------------+ | |||
| | | | | |||
| | | | | |||
| ----------+----------- | ----------+----------- | |||
| ^ | | ^ | | |||
| | +---+---+ | | +---+---+ | |||
| | | 6LBR | | | | 6LBR | | |||
| Default | | | | Upward | | | | |||
| routing | +------++ | routing | +------++ | |||
| | (F)/ /| \ | | (F)/ /| \ | |||
| | / \ / | \ | | / \ / | \ | |||
| | / \ (C) | (D) | | / \ (C) | (D) | |||
| : (A) (B) / | / |\ | : (A) (B) / | / |\ | |||
| /|\ |\: (E) : | /|\ |\: (E) :: | |||
| S : : : / \ | S : : : / \ | |||
| : : | : : | |||
| Figure 5: Packet transmission in Dissimilar L2 Technologies or | Figure 5: Packet transmission in Dissimilar L2 Technologies or | |||
| Internet | Internet | |||
| The IP datagram is routed to another time synchronized deterministic | For instance, the IP datagram could be routed to another time | |||
| network following its own distinct reference clock, so the deadline | synchronized deterministic network using the mechanism specified in | |||
| time in In-band OAM has to be updated according to the measurement of | the In-band OAM [I-D.ietf-ippm-ioam-data], and then the deadline time | |||
| the current time in the new network. | would be updated according to the measurement of the current time in | |||
| the new network. | ||||
| 6.3. Scenario 3: Packet transmission across different DODAGs (N1 to | 5.3. Scenario 3: Packet transmission across different DODAGs (N1 to | |||
| N2). | N2). | |||
| Consider the scenario depicted in Figure 6, in which the Sender 'S' | Consider the scenario depicted in Figure 6, in which the Sender 'S' | |||
| (belonging to DODAG 1) has an IP datagram to be sent to Receiver 'R' | (belonging to DODAG 1) has an IP datagram to be sent to Receiver 'R' | |||
| belonging to another DODAG (DODAG 2). The operation of this scenario | belonging to another DODAG (DODAG 2). The operation of this scenario | |||
| can be decomposed into combination of case 1 and case 2 scenarios. | can be decomposed into combination of case 1 and case 2 scenarios. | |||
| For the route segment from 'S' to 6LBR, 'S' includes the Deadline- | For the route segment from 'S' to 6LBR, 'S' includes the Deadline- | |||
| 6LoRHE. Subsequently, each 6LR will perform hop-by-hop operation to | 6LoRHE. Subsequently, each 6LR will perform hop-by-hop operation to | |||
| forward the packet towards the 6LBR. Once the IP datagram reaches | forward the packet towards the 6LBR. Once the IP datagram reaches | |||
| 6LBR1 of DODAG1, it applies the same rule as described in Case 2 | 6LBR1 of DODAG1, it applies the same rule as described in Case 2 | |||
| while routing the packet to LBR2 over a (likely) time synchronized | while routing the packet to 6LBR2 over a (likely) time synchronized | |||
| wired backhaul. The wired side of LBR2 can be mapped to receiver of | wired backhaul. The wired side of 6LBR2 can be mapped to receiver of | |||
| Case 2. Once the packet reaches LBR2, it updates the Deadline-6LoRHE | Case 2. Once the packet reaches 6LBR2, it updates the Deadline- | |||
| by adding the current time of DODAG2. Further, it generates an IPv6- | 6LoRHE by adding or subtracting the difference of time of DODAG2 and | |||
| in-IPv6 encapsulated packet when sending the packet downstream to the | sends the packet downstream towards 'R'. | |||
| Receiver [I-D.ietf-roll-useofrplinfo]. | ||||
| Time Synchronized Network | Time Synchronized Network | |||
| -+---------------------------+- | -+---------------------------+- | |||
| | | | | | | |||
| DODAG1 +---+---+ +---+---+ DODAG2 | DODAG1 +---+---+ +---+---+ DODAG2 | |||
| Instance 1 | 6LBR1 | | 6LBR2 | Instance 2 | | 6LBR1 | | 6LBR2 | | |||
| | | | | | | | | | | | |||
| +-------+ +-------+ | | +-------+ +-------+ | |||
| (F)/ /| \ (F)/ /| \ | | (F)/ /| \ (F)/ /| \ | |||
| / \ / | \ / \ / | \ | | / \ / | \ / \ / | \ | |||
| / \ (C) | (D) / \ (C) | (D) |IP-in-IP | / \ (C) | (D) / \ (C) | (D) | |||
| (A) (B) / | / |\ (A) (B) / | / |\ | Encapsulation | (A) (B) / | / |\ (A) (B) / | / |\ | |||
| /|\ |\: (E) : : /|\ |\: (E) : :| | /|\ |\: (E) : : /|\ |\: (E) : : | |||
| S : : : / \ : : : : / \ | | S : : : / \ : : : : / \ | |||
| : : : R V | : : : R | |||
| Network N1, time zone T1 NetWork N2, time zone T2 | Network N1, time zone T1 Network N2, time zone T2 | |||
| Figure 6: Packet transmission in different DODAGs(N1 to N2) | Figure 6: Packet transmission in different DODAGs(N1 to N2) | |||
| Consider an example of a 6TiSCH network in which S in DODAG1 | Consider an example of a 6TiSCH network in which S in DODAG1 | |||
| generates the packet at ASN 20000 to R in DODAG2. Let the maximum | generates the packet at ASN 20000 to R in DODAG2. Let the maximum | |||
| allowable delay be 1 second. The time-slot length in DODAG1 and | allowable delay be 1 second. The time-slot length in DODAG1 and | |||
| DODAG2 is assumed to be 10ms. Once the deadline time is encoded in | DODAG2 is assumed to be 10ms. Once the deadline time is encoded in | |||
| Deadline-6LoRHE, the packet is forwarded to LBR of DODAG1. Suppose | Deadline-6LoRHE, the packet is forwarded to 6LBR of DODAG1. Suppose | |||
| the packet reaches LBR of DODAG1 at ASN 20050. | the packet reaches 6LBR of DODAG1 at ASN 20030. | |||
| current_time = ASN at LBR * slot_length_value | current_time = ASN at LBR * slot_length_value | |||
| remaining_time = deadline_time - current_time | remaining_time = deadline_time - current_time | |||
| = ((packet_origination_time + max_delay) - current time) | = ((packet_origination_time + max_delay) - current time) | |||
| = (20000 + 100) - 20050 | = (20000 + 100) - 20030 | |||
| = 50 (in Network ASNs) | = 30 (in Network ASNs) | |||
| = 50 * 10^3 milliseconds. | = 30 * 10^3 milliseconds. | |||
| The remaining time is encoded in In-Band OAM (see Case 2) and | Once the Deadline Time information reaches the border router, the | |||
| forwarded to LBR2 over a different L2-interface, typically wired. | packet will be encoded as per the mechanism prescribed in the new | |||
| Once the packet reaches LBR2, the deadline time in Deadline-6LoRHE is | time synchronized network | |||
| adjusted by adding or subtracting the difference between the | ||||
| reference clocks of the two networks, before forwarding the packet to | ||||
| its connected 6TiSCH network. | ||||
| 7. IANA Considerations | 6. IANA Considerations | |||
| This document defines a new 6LoWPAN Timestamp Header Type, and | This document defines a new 6LoWPAN Timestamp Header Type, and | |||
| assigns a value (TBD) from the 6LoWPAN Dispatch Page1 number space. | assigns a value (TBD) from the 6LoWPAN Dispatch Page1 number space. | |||
| 6LoRH Type Value | 6LoRH Type Value | |||
| +------------------+--------+ | +------------------+--------+ | |||
| | Deadline-6LoRHE | TBD | | | Deadline-6LoRHE | TBD | | |||
| +------------------+--------+ | +------------------+--------+ | |||
| Figure 7: Deadline-6LoRHE type | Figure 7: Deadline-6LoRHE type | |||
| 8. Security Considerations | 7. Security Considerations | |||
| The security considerations of [RFC4944], [RFC6282] and [RFC6553] | The security considerations of [RFC4944], [RFC6282] and [RFC6553] | |||
| apply. Using a compressed format as opposed to the full in-line | apply. Using a compressed format as opposed to the full in-line | |||
| format is logically equivalent and does not create an opening for a | format is logically equivalent and does not create an opening for a | |||
| new threat when compared to [RFC6550], [RFC6553] and [RFC6554]. | new threat when compared to [RFC6550], [RFC6553] and [RFC6554]. | |||
| 9. Acknowledgements | 8. Acknowledgements | |||
| The authors thank Pascal Thubert for suggesting the idea and | The authors thank Pascal Thubert for suggesting the idea and | |||
| encouraging the work. Thanks to Shwetha Bhandari's suggestions which | encouraging the work. Thanks to Shwetha Bhandari's suggestions which | |||
| were instrumental in extending the timing information to | were instrumental in extending the timing information to | |||
| heterogeneous networks. The authors acknowledge the 6TiSCH WG | heterogeneous networks. The authors acknowledge the 6TiSCH WG | |||
| members for their inputs on the mailing list. Special thanks to | members for their inputs on the mailing list. Special thanks to | |||
| Jerry Daniel, Seema Kumar, Avinash Mohan, Shalu Rajendran and Anita | Jerry Daniel, Seema Kumar, Avinash Mohan, Shalu Rajendran and Anita | |||
| Varghese for their support and valuable feedback. | Varghese for their support and valuable feedback. | |||
| 10. References | 9. References | |||
| 10.1. Normative References | 9.1. Normative References | |||
| [I-D.ietf-6tisch-terminology] | [I-D.ietf-6tisch-terminology] | |||
| Palattella, M., Thubert, P., Watteyne, T., and Q. Wang, | Palattella, M., Thubert, P., Watteyne, T., and Q. Wang, | |||
| "Terms Used in IPv6 over the TSCH mode of IEEE 802.15.4e", | "Terms Used in IPv6 over the TSCH mode of IEEE 802.15.4e", | |||
| draft-ietf-6tisch-terminology-10 (work in progress), March | draft-ietf-6tisch-terminology-10 (work in progress), March | |||
| 2018. | 2018. | |||
| [I-D.ietf-roll-routing-dispatch] | [I-D.ietf-roll-routing-dispatch] | |||
| Thubert, P., Bormann, C., Toutain, L., and R. Cragie, | Thubert, P., Bormann, C., Toutain, L., and R. Cragie, | |||
| "6LoWPAN Routing Header", draft-ietf-roll-routing- | "6LoWPAN Routing Header", draft-ietf-roll-routing- | |||
| skipping to change at page 11, line 44 ¶ | skipping to change at page 12, line 24 ¶ | |||
| Information in Data-Plane Datagrams", RFC 6553, | Information in Data-Plane Datagrams", RFC 6553, | |||
| DOI 10.17487/RFC6553, March 2012, | DOI 10.17487/RFC6553, March 2012, | |||
| <https://www.rfc-editor.org/info/rfc6553>. | <https://www.rfc-editor.org/info/rfc6553>. | |||
| [RFC6554] Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6 | [RFC6554] Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6 | |||
| Routing Header for Source Routes with the Routing Protocol | Routing Header for Source Routes with the Routing Protocol | |||
| for Low-Power and Lossy Networks (RPL)", RFC 6554, | for Low-Power and Lossy Networks (RPL)", RFC 6554, | |||
| DOI 10.17487/RFC6554, March 2012, | DOI 10.17487/RFC6554, March 2012, | |||
| <https://www.rfc-editor.org/info/rfc6554>. | <https://www.rfc-editor.org/info/rfc6554>. | |||
| 10.2. Informative References | [RFC8138] Thubert, P., Ed., Bormann, C., Toutain, L., and R. Cragie, | |||
| "IPv6 over Low-Power Wireless Personal Area Network | ||||
| (6LoWPAN) Routing Header", RFC 8138, DOI 10.17487/RFC8138, | ||||
| April 2017, <https://www.rfc-editor.org/info/rfc8138>. | ||||
| 9.2. Informative References | ||||
| [dot15-tsch] | [dot15-tsch] | |||
| P802.11, "IEEE Standard for Low-Rate Wireless Networks, | P802.11, "IEEE Standard for Low-Rate Wireless Networks, | |||
| Part 15.4, IEEE Std 802.15.4-2015", April 2016. | Part 15.4, IEEE Std 802.15.4-2015", April 2016. | |||
| [dot1AS-2011] | [dot1AS-2011] | |||
| IEEE 802.1AS Working Group, "IEEE Standard for Local and | IEEE 802.1AS Working Group, "IEEE Standard for Local and | |||
| Metropolitan Area Networks - Timing and Synchronization | Metropolitan Area Networks - Timing and Synchronization | |||
| for Time-Sensitive Applications in Bridged Local Area | for Time-Sensitive Applications in Bridged Local Area | |||
| Networks", March 2011. | Networks", March 2011. | |||
| [I-D.ietf-6lo-backbone-router] | [I-D.ietf-6lo-backbone-router] | |||
| Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | |||
| backbone-router-06 (work in progress), February 2018. | backbone-router-06 (work in progress), February 2018. | |||
| [I-D.ietf-6lo-blemesh] | ||||
| Gomez, C., Darroudi, S., Savolainen, T., and M. Spoerk, | ||||
| "IPv6 Mesh over BLUETOOTH(R) Low Energy using IPSP", | ||||
| draft-ietf-6lo-blemesh-03 (work in progress), July 2018. | ||||
| [I-D.ietf-detnet-use-cases] | [I-D.ietf-detnet-use-cases] | |||
| Grossman, E., "Deterministic Networking Use Cases", draft- | Grossman, E., "Deterministic Networking Use Cases", draft- | |||
| ietf-detnet-use-cases-14 (work in progress), February | ietf-detnet-use-cases-17 (work in progress), June 2018. | |||
| 2018. | ||||
| [I-D.ietf-ippm-ioam-data] | [I-D.ietf-ippm-ioam-data] | |||
| Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., | Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., | |||
| Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, | Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, | |||
| P., Chang, R., and d. daniel.bernier@bell.ca, "Data Fields | P., Chang, R., daniel.bernier@bell.ca, d., and J. Lemon, | |||
| for In-situ OAM", draft-ietf-ippm-ioam-data-01 (work in | "Data Fields for In-situ OAM", draft-ietf-ippm-ioam- | |||
| progress), October 2017. | data-03 (work in progress), June 2018. | |||
| [I-D.ietf-roll-useofrplinfo] | [I-D.ietf-roll-useofrplinfo] | |||
| Robles, I., Richardson, M., and P. Thubert, "When to use | Robles, I., Richardson, M., and P. Thubert, "When to use | |||
| RFC 6553, 6554 and IPv6-in-IPv6", draft-ietf-roll- | RFC 6553, 6554 and IPv6-in-IPv6", draft-ietf-roll- | |||
| useofrplinfo-22 (work in progress), March 2018. | useofrplinfo-23 (work in progress), May 2018. | |||
| [ieee-1588] | [ieee-1588] | |||
| Precise Time and Time Interval Working Group, "IEEE Std | Precise Time and Time Interval Working Group, "IEEE Std | |||
| 1588-2008 Standard for a Precision Clock Synchronization | 1588-2008 Standard for a Precision Clock Synchronization | |||
| Protocol for Networked Measurement and Control Systems", | Protocol for Networked Measurement and Control Systems", | |||
| July 2008. | July 2008. | |||
| Appendix A. Changes Since draft-ietf-6lo-deadline-time-00 | Appendix A. Changes after draft-ietf-6lo-deadline-time-01 | |||
| This section lists the changes between draft-ietf-6lo-deadline-time | ||||
| revisions ...-01.txt and ...-02.txt. | ||||
| o Replaced 6LoRHE description by reference to RFC 8138. | ||||
| o Added figure to illustrate change to Origination Time when a | ||||
| packet crosses timezone boundaries. | ||||
| o Clarified that use of 6tisch networks is descriptive, not | ||||
| normative. | ||||
| o Clarified that In-Band OAM is used as an example and is not | ||||
| normative. | ||||
| o Updated bibliographic citations. | ||||
| o Alphabetized contributor names. | ||||
| Appendix B. Changes between earlier versions | ||||
| This section lists the changes between draft-ietf-6lo-deadline-time | This section lists the changes between draft-ietf-6lo-deadline-time | |||
| revisions ...-00.txt and ...-01.txt. | revisions ...-00.txt and ...-01.txt. | |||
| o Changed "SHOULD drop" to "MUST drop" a packet if the deadline is | o Changed "SHOULD drop" to "MUST drop" a packet if the deadline is | |||
| passed (see Section 5). | passed (see Section 4). | |||
| o Added explanatory text about how packet delays might arise. (see | o Added explanatory text about how packet delays might arise. (see | |||
| Section 4). | Section 3). | |||
| o Mentioned availability of time-synchronization protocols (see | o Mentioned availability of time-synchronization protocols (see | |||
| Section 1). . | Section 1). . | |||
| o Updated bibliographic citations. | o Updated bibliographic citations. | |||
| o Alphabetized contributor names. | o Alphabetized contributor names. | |||
| o Added this section. | o Added this section. | |||
| Authors' Addresses | Authors' Addresses | |||
| Lijo Thomas | Lijo Thomas | |||
| C-DAC | C-DAC | |||
| Trivandrum 695033 | Trivandrum 695033 | |||
| India | India | |||
| Email: lijo@cdac.in | Email: lijo@cdac.in | |||
| P.M. Akshay | ||||
| Smarten Spaces | ||||
| Bangalore 560103 | ||||
| India | ||||
| Email: akshay.pm@smartenspaces.com | ||||
| Satish Anamalamudi | Satish Anamalamudi | |||
| Huaiyin Institute of Technology | SRM University-AP | |||
| No.89 North Beijing Road, Qinghe District | Amaravati Campus | |||
| Huaian | Amaravati, Andhra Pradesh 522 502 | |||
| China | India | |||
| Email: satishnaidu80@gmail.com | Email: satishnaidu80@gmail.com | |||
| S.V.R Anand | S.V.R Anand | |||
| Indian Institute of Science | Indian Institute of Science | |||
| Bangalore 560012 | Bangalore 560012 | |||
| India | India | |||
| Email: anand@ece.iisc.ernet.in | Email: anand@ece.iisc.ernet.in | |||
| End of changes. 53 change blocks. | ||||
| 155 lines changed or deleted | 198 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||