1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285
|
<pre>Internet Engineering Task Force (IETF) T. Watteyne, Ed.
Request for Comments: 7554 Linear Technology
Category: Informational M. Palattella
ISSN: 2070-1721 University of Luxembourg
L. Grieco
Politecnico di Bari
May 2015
<span class="h1">Using IEEE 802.15.4e Time-Slotted Channel Hopping (TSCH) in the</span>
<span class="h1">Internet of Things (IoT): Problem Statement</span>
Abstract
This document describes the environment, problem statement, and goals
for using the Time-Slotted Channel Hopping (TSCH) Medium Access
Control (MAC) protocol of IEEE 802.14.4e in the context of Low-Power
and Lossy Networks (LLNs). The set of goals enumerated in this
document form an initial set only.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc7554">http://www.rfc-editor.org/info/rfc7554</a>.
<span class="grey">Watteyne, et al. Informational [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) 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.
<span class="grey">Watteyne, et al. Informational [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-2">2</a>. TSCH in the LLN Context . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-3">3</a>. Problems and Goals . . . . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-3.1">3.1</a>. Network Formation . . . . . . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-3.2">3.2</a>. Network Maintenance . . . . . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-3.3">3.3</a>. Multi-Hop Topology . . . . . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-3.4">3.4</a>. Routing and Timing Parents . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-3.5">3.5</a>. Resource Management . . . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-3.6">3.6</a>. Dataflow Control . . . . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-3.7">3.7</a>. Deterministic Behavior . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-3.8">3.8</a>. Scheduling Mechanisms . . . . . . . . . . . . . . . . . . <a href="#page-10">10</a>
<a href="#section-3.9">3.9</a>. Secure Communication . . . . . . . . . . . . . . . . . . <a href="#page-10">10</a>
<a href="#section-4">4</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#section-5">5</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#section-5.1">5.1</a>. Normative References . . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#section-5.2">5.2</a>. Informative References . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#appendix-A">Appendix A</a>. TSCH Protocol Highlights . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#appendix-A.1">A.1</a>. Time Slots . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#appendix-A.2">A.2</a>. Slotframes . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#appendix-A.3">A.3</a>. Node TSCH Schedule . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#appendix-A.4">A.4</a>. Cells and Bundles . . . . . . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#appendix-A.5">A.5</a>. Dedicated vs. Shared Cells . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#appendix-A.6">A.6</a>. Absolute Slot Number . . . . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#appendix-A.7">A.7</a>. Channel Hopping . . . . . . . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#appendix-A.8">A.8</a>. Time Synchronization . . . . . . . . . . . . . . . . . . <a href="#page-18">18</a>
<a href="#appendix-A.9">A.9</a>. Power Consumption . . . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#appendix-A.10">A.10</a>. Network TSCH Schedule . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#appendix-A.11">A.11</a>. Join Process . . . . . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#appendix-A.12">A.12</a>. Information Elements . . . . . . . . . . . . . . . . . . <a href="#page-20">20</a>
<a href="#appendix-A.13">A.13</a>. Extensibility . . . . . . . . . . . . . . . . . . . . . . <a href="#page-20">20</a>
<a href="#appendix-B">Appendix B</a>. TSCH Features . . . . . . . . . . . . . . . . . . . <a href="#page-21">21</a>
<a href="#appendix-B.1">B.1</a>. Collision-Free Communication . . . . . . . . . . . . . . <a href="#page-21">21</a>
<a href="#appendix-B.2">B.2</a>. Multi-Channel vs. Channel Hopping . . . . . . . . . . . . <a href="#page-21">21</a>
<a href="#appendix-B.3">B.3</a>. Cost of (Continuous) Synchronization . . . . . . . . . . <a href="#page-21">21</a>
<a href="#appendix-B.4">B.4</a>. Topology Stability . . . . . . . . . . . . . . . . . . . <a href="#page-21">21</a>
<a href="#appendix-B.5">B.5</a>. Multiple Concurrent Slotframes . . . . . . . . . . . . . <a href="#page-22">22</a>
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-22">22</a>
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-23">23</a>
<span class="grey">Watteyne, et al. Informational [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
IEEE 802.15.4e [<a href="#ref-IEEE.802.15.4e">IEEE.802.15.4e</a>] was published in 2012 as an amendment
to the Medium Access Control (MAC) protocol defined by the IEEE
802.15.4 standard (of 2011) [<a href="#ref-IEEE.802.15.4">IEEE.802.15.4</a>]. IEEE 802.15.4e will be
rolled into the next revision of IEEE 802.15.4, scheduled to be
published in 2015. The Time-Slotted Channel Hopping (TSCH) mode of
IEEE 802.15.4e is the object of this document. The term "TSCH"
refers to TSCH as used in [<a href="#ref-IEEE.802.15.4e">IEEE.802.15.4e</a>].
This document describes the main issues arising from the adoption of
the TSCH in the LLN context, following the terminology defined in
[<a href="#ref-TERMS-6TISCH">TERMS-6TISCH</a>]. <a href="#appendix-A">Appendix A</a> further gives an overview of the key
features of the TSCH amendment to IEEE 802.15.4e. <a href="#appendix-B">Appendix B</a> details
features of TSCH, which might be interesting for the work of the
6TiSCH WG.
TSCH was designed to allow IEEE 802.15.4 devices to support a wide
range of applications including, but not limited to, industrial ones
[<a href="#ref-IEEE.802.15.4e">IEEE.802.15.4e</a>]. At its core is a medium access technique that uses
time synchronization to achieve low-power operation and channel
hopping to enable high reliability. Synchronization accuracy impacts
power consumption and can vary from microseconds to milliseconds
depending on the solution. This is very different from the "legacy"
IEEE 802.15.4 MAC protocol and is therefore better described as a
"redesign". TSCH does not amend the physical layer, i.e., it can
operate on any hardware that is compliant with IEEE 802.15.4.
IEEE 802.15.4e is the latest generation of ultra-lower power and
reliable networking solutions for LLNs. [<a href="./rfc5673" title=""Industrial Routing Requirements in Low-Power and Lossy Networks"">RFC5673</a>] discusses
industrial applications and highlights the harsh operating conditions
as well as the stringent reliability, availability, and security
requirements for an LLN to operate in an industrial environment. In
these environments, vast deployment environments with large
(metallic) equipment cause multi-path fading and interference to
thwart any attempt of a single-channel solution to be reliable; the
channel agility of TSCH is the key to its ultra-high reliability.
Commercial networking solutions are available today in which nodes
consume 10's of microamps on average [<a href="#ref-CurrentCalculator">CurrentCalculator</a>] with end-to-
end packet delivery ratios over 99.999% [<a href="#ref-Doherty07channel">Doherty07channel</a>].
IEEE 802.15.4e has been designed for low-power constrained devices,
often called "motes". Several terms are used in the IETF to refer to
those devices, including "LLN nodes" [<a href="./rfc7102" title=""Terms Used in Routing for Low-Power and Lossy Networks"">RFC7102</a>] and "constrained
nodes" [<a href="./rfc7228" title=""Terminology for Constrained-Node Networks"">RFC7228</a>]. In this document, we use the generic (and shorter)
term "node", used as a synonym for "LLN node", "constrained node", or
"mote".
<span class="grey">Watteyne, et al. Informational [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Enabling the LLN protocol stack to operate in industrial environments
opens up new application domains for these networks. Sensors
deployed in smart cities [<a href="./rfc5548" title=""Routing Requirements for Urban Low-Power and Lossy Networks"">RFC5548</a>] will be able to be installed for
years without needing battery replacement. "Umbrella" networks will
interconnect smart elements from different entities in smart
buildings [<a href="./rfc5867" title=""Building Automation Routing Requirements in Low-Power and Lossy Networks"">RFC5867</a>]. Peel-and-stick switches will obsolete the need
for costly conduits for lighting solutions in smart homes [<a href="./rfc5826" title=""Home Automation Routing Requirements in Low-Power and Lossy Networks"">RFC5826</a>].
TSCH focuses on the MAC layer only. This clean layering allows for
TSCH to fit under an IPv6-enabled protocol stack for LLNs, running an
IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN)
[<a href="./rfc6282" title=""Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks"">RFC6282</a>], the IPv6 Routing Protocol for Low-Power and Lossy Networks
(RPL) [<a href="./rfc6550" title=""RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks"">RFC6550</a>], and the Constrained Application Protocol (CoAP)
[<a href="./rfc7252" title=""The Constrained Application Protocol (CoAP)"">RFC7252</a>]. What is missing is a functional entity that is in charge
of scheduling TSCH time slots for frames to be sent on. In this
document, we refer to this entity as the "Logical Link Control"
(LLC), bearing in mind that realizations of this entity can be of
different types, including a distributed protocol or a centralized
server in charge of scheduling.
While [<a href="#ref-IEEE.802.15.4e">IEEE.802.15.4e</a>] defines the mechanisms for a TSCH node to
communicate, it does not define the policies to build and maintain
the communication schedule, match that schedule to the multi-hop
paths maintained by RPL, adapt the resources allocated between
neighbor nodes to the data traffic flows, enforce a differentiated
treatment for data generated at the application layer and signaling
messages needed by 6LoWPAN and RPL to discover neighbors, react to
topology changes, self-configure IP addresses, or manage keying
material.
In other words, TSCH is designed to allow optimizations and strong
customizations, simplifying the merging of TSCH with a protocol stack
based on IPv6, 6LoWPAN, and RPL.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. TSCH in the LLN Context</span>
To map the services required by the IP layer to the services provided
by the link layer, an adaptation layer is used
[<a href="#ref-Palattella12standardized">Palattella12standardized</a>]. In 2007, the 6LoWPAN WG started working
on specifications for transmitting IPv6 packets over IEEE 802.15.4
networks [<a href="./rfc4919" title=""IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals"">RFC4919</a>]. A low-power Wireless Personal Area Network
(WPAN) is typically composed of a large number of battery-powered
devices that are deployed at locations that are unknown a priori.
Nodes form a star or a mesh topology and communicate with one another
at a low datarate and using short frames. The wireless nature of the
links means that they are unreliable in nature. Nodes turn off their
radio interface most of the time to conserve energy. Given these
<span class="grey">Watteyne, et al. Informational [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
features, it is clear that the adoption of IPv6 on top of a low-power
WPAN is not straightforward but poses strong requirements for the
optimization of this adaptation layer.
For instance, due to the IPv6 default minimum MTU size (1280 bytes),
an unfragmented IPv6 packet is too large to fit in an IEEE 802.15.4
frame. Moreover, the overhead due to the 40-byte-long IPv6 header
wastes the scarce bandwidth available at the PHY layer [<a href="./rfc4944" title=""Transmission of IPv6 Packets over IEEE 802.15.4 Networks"">RFC4944</a>].
For these reasons, the 6LoWPAN WG has defined an effective adaptation
layer [<a href="./rfc6282" title=""Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks"">RFC6282</a>]. Further issues encompass the autoconfiguration of
IPv6 addresses [<a href="./rfc2460" title=""Internet Protocol, Version 6 (IPv6) Specification"">RFC2460</a>] [<a href="./rfc4862" title=""IPv6 Stateless Address Autoconfiguration"">RFC4862</a>], the compliance with the
recommendation on supporting link-layer subnet broadcast in shared
networks [<a href="./rfc3819" title=""Advice for Internet Subnetwork Designers"">RFC3819</a>], the reduction of routing and management overhead
[<a href="./rfc6606" title=""Problem Statement and Requirements for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Routing"">RFC6606</a>], the adoption of lightweight application protocols (or
novel data encoding techniques), and the support for security
mechanisms (confidentiality and integrity protection, device
bootstrapping, key establishment, and management).
These features can run on top of TSCH. There are, however, important
issues to solve, as highlighted in <a href="#section-3">Section 3</a>.
Routing issues are challenging for 6LoWPAN, given the low-power and
lossy radio links, the battery-powered nodes, the multi-hop mesh
topologies, and the frequent topology changes due to mobility.
Successful solutions take into account the specific application
requirements, along with IPv6 behavior and 6LoWPAN mechanisms
[<a href="#ref-Palattella12standardized">Palattella12standardized</a>]. The ROLL WG has defined RPL in
[<a href="./rfc6550" title=""RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks"">RFC6550</a>]. RPL can support a wide variety of link layers, including
ones that are constrained, potentially lossy, or typically utilized
in conjunction with host or router devices with very limited
resources, as in building/home automation [<a href="./rfc5867" title=""Building Automation Routing Requirements in Low-Power and Lossy Networks"">RFC5867</a>] [<a href="./rfc5826" title=""Home Automation Routing Requirements in Low-Power and Lossy Networks"">RFC5826</a>],
industrial environments [<a href="./rfc5673" title=""Industrial Routing Requirements in Low-Power and Lossy Networks"">RFC5673</a>], and urban applications [<a href="./rfc5548" title=""Routing Requirements for Urban Low-Power and Lossy Networks"">RFC5548</a>].
RPL is able to quickly build up network routes, distribute routing
knowledge among nodes, and adapt to a changing topology. In a
typical setting, nodes are connected through multi-hop paths to a
small set of root devices, which are usually responsible for data
collection and coordination. For each of them, a Destination-
Oriented Directed Acyclic Graph (DODAG) is created by accounting for
link costs, node attributes/status information, and an Objective
Function, which maps the optimization requirements of the target
scenario.
The topology is set up based on a Rank metric, which encodes the
distance of each node with respect to its reference root, as
specified by the Objective Function. Regardless of the way it is
computed, the Rank monotonically decreases along the DODAG towards
the root, building a gradient. RPL encompass different kinds of
traffic and signaling information. Multipoint-to-Point (MP2P) is the
<span class="grey">Watteyne, et al. Informational [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
dominant traffic in LLN applications. Data is routed towards nodes
with some application relevance, such as the LLN gateway to the
larger Internet or to the core of private IP networks. In general,
these destinations are the DODAG roots and act as data collection
points for distributed monitoring applications. Point-to-Multipoint
(P2MP) data streams are used for actuation purposes, where messages
are sent from DODAG roots to destination nodes. Point-to-Point (P2P)
traffic allows communication between two devices belonging to the
same LLN, such as a sensor and an actuator. A packet flows from the
source to the common ancestor of those two communicating devices,
then downward towards the destination. Therefore, RPL has to
discover both upward routes (i.e., from nodes to DODAG roots) in
order to enable MP2P and P2P flows and downward routes (i.e., from
DODAG roots to nodes) to support P2MP and P2P traffic.
<a href="#section-3">Section 3</a> highlights the challenges that need to be addressed to use
RPL on top of TSCH.
Open-source initiatives have emerged around TSCH, with the OpenWSN
project [<a href="#ref-OpenWSN" title=""Berkeley's OpenWSN Project Homepage"">OpenWSN</a>] [<a href="#ref-OpenWSNETT">OpenWSNETT</a>] being the first open-source
implementation of a standards-based protocol stack. This
implementation was used as the foundation for an IP for the Smart
Objects Alliance (IPSO) [<a href="#ref-IPSO" title=""IP for Smart Objects Alliance Homepage"">IPSO</a>] interoperability event in 2011. In
the absence of a standardized scheduling mechanism for TSCH, a
"slotted Aloha" schedule was used.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Problems and Goals</span>
As highlighted in <a href="#appendix-A">Appendix A</a>, TSCH differs from other low-power MAC
protocols because of its scheduled nature. TSCH defines the
mechanisms to execute a communication schedule; yet, it is the entity
that sets up the schedule that controls the topology of the network.
This scheduling entity also controls the resources allocated to each
link in that topology.
How this entity should operate is out of scope of TSCH. The
remainder of this section highlights the problems this entity needs
to address. For simplicity, we refer to this entity by the generic
name "LLC". Note that the 6top sublayer, currently being defined in
[<a href="#ref-SUBLAYER-6top">SUBLAYER-6top</a>], can be seen as an embodiment of this generic "LLC".
Some of the issues the LLC needs to target might overlap with the
scope of other protocols (e.g., 6LoWPAN, RPL, and RSVP). In this
case, the LLC will profit from the services provided by other
protocols to pursue these objectives.
<span class="grey">Watteyne, et al. Informational [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Network Formation</span>
The LLC needs to control the way the network is formed, including how
new nodes join and how already joined nodes advertise the presence of
the network. The LLC needs to:
1. Define the Information Elements included in the Enhanced Beacons
(EBs) [<a href="#ref-IEEE.802.15.4e">IEEE.802.15.4e</a>] advertising the presence of the network.
2. (For a new node), define rules to process and filter received
EBs.
3. Define the joining procedure. This might include a mechanism to
assign a unique 16-bit address to a node and the management of
initial keying material.
4. Define a mechanism to secure the joining process and the
subsequent optional process of scheduling more communication
cells.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Network Maintenance</span>
Once a network is formed, the LLC needs to maintain the network's
health, allowing for nodes to stay synchronized. The LLC needs to:
1. Manage each node's time source neighbor.
2. Define a mechanism for a node to update the join priority it
announces in its EB.
3. Schedule transmissions of EBs to advertise the presence of the
network.
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. Multi-Hop Topology</span>
RPL, given a weighted connectivity graph, determines multi-hop
routes. The LLC needs to:
1. Define a mechanism to gather topological information, node and
link state, which it can then feed to RPL.
2. Ensure that the TSCH schedule contains cells along the multi-hop
routes identified by RPL (a cell in a TSCH schedule is an atomic
"unit" of resource, see <a href="#section-3.5">Section 3.5</a>).
3. Where applicable, maintain independent sets of cells to transport
independent flows of data.
<span class="grey">Watteyne, et al. Informational [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. Routing and Timing Parents</span>
At all times, a TSCH node needs to have a time-source neighbor to
which it can synchronize. Therefore, LLC needs to assign a time-
source neighbor to allow for correct operation of the TSCH network.
A time-source neighbor could, or not, be taken from the RPL routing
parent set.
<span class="h3"><a class="selflink" id="section-3.5" href="#section-3.5">3.5</a>. Resource Management</span>
A cell in a TSCH schedule is an atomic "unit" of resource. The
number of cells to assign between neighbor nodes needs to be
appropriate for the size of the traffic flow. The LLC needs to:
1. Define a mechanism for neighbor nodes to exchange information
about their schedule and, if applicable, negotiate the addition/
deletion of cells.
2. Allow for an entity (e.g., a set of devices, a distributed
protocol, a Path Computation Element (PCE), etc.) to take control
of the schedule.
<span class="h3"><a class="selflink" id="section-3.6" href="#section-3.6">3.6</a>. Dataflow Control</span>
TSCH defines mechanisms for a node to signal when it cannot accept an
incoming packet. It does not, however, define the policy that
determines when to stop accepting packets. The LLC needs to:
1. Allow for the implementation and configuration of policy to queue
incoming and outgoing packets.
2. Manage the buffer space, and indicate to TSCH when to stop
accepting incoming packets.
3. Handle transmissions that have failed. A transmission is
declared failed when TSCH has retransmitted the packet multiple
times, without receiving an acknowledgment. This covers both
dedicated and shared cells.
<span class="h3"><a class="selflink" id="section-3.7" href="#section-3.7">3.7</a>. Deterministic Behavior</span>
As highlighted in [<a href="./rfc5673" title=""Industrial Routing Requirements in Low-Power and Lossy Networks"">RFC5673</a>], in some applications, data is generated
periodically and has a well-understood data bandwidth requirement,
which is deterministic and predictable. The LLC needs to:
1. Ensure that the data is delivered to its final destination before
a deadline possibly determined by the application.
<span class="grey">Watteyne, et al. Informational [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
2. Provide a mechanism for such deterministic flows to coexist with
bursty or infrequent traffic flows of different priorities.
<span class="h3"><a class="selflink" id="section-3.8" href="#section-3.8">3.8</a>. Scheduling Mechanisms</span>
Several scheduling mechanisms can be envisioned and could possibly
coexist in the same network. For example, [<a href="#ref-RPL" title=""RPL applicability in industrial networks"">RPL</a>] describes how the
allocation of bandwidth can be optimized by an external PCE
[<a href="./rfc4655" title=""A Path Computation Element (PCE)-Based Architecture"">RFC4655</a>]. Another centralized (PCE-based) traffic-aware scheduling
algorithm is defined in [<a href="#ref-TASA-PIMRC">TASA-PIMRC</a>]. Alternatively, two neighbor
nodes can adapt the number of cells autonomously by monitoring the
amount of traffic and negotiating the allocation to extra cell when
needed. An example of a decentralized algorithm (i.e., no PCE is
needed) is provided in [<a href="#ref-Tinka10decentralized">Tinka10decentralized</a>]. This mechanism can be
used to establish multi-hop paths in a fashion similar to RSVP
[<a href="./rfc2205" title=""Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification"">RFC2205</a>]. The LLC needs to:
1. Provide a mechanism for two devices to negotiate the allocation
and deallocation of cells between them.
2. Provide a mechanism for the device to monitor and manage the
capabilities of a node several hops away.
3. Define a mechanism for these different scheduling mechanisms to
coexist in the same network.
<span class="h3"><a class="selflink" id="section-3.9" href="#section-3.9">3.9</a>. Secure Communication</span>
Given some keying material, TSCH defines mechanisms to encrypt and
authenticate MAC frames. It does not define how this keying material
is generated. The LLC needs to:
1. Define the keying material and authentication mechanism needed by
a new node to join an existing network.
2. Define a mechanism to allow for the secure transfer of
application data between neighbor nodes.
3. Define a mechanism to allow for the secure transfer of signaling
data between nodes and the LLC.
<span class="grey">Watteyne, et al. Informational [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Security Considerations</span>
This memo is an informational overview of existing standards and does
not define any new mechanisms or protocols.
It does describe the need for the 6TiSCH WG to define a secure
solution. In particular, <a href="#section-3.1">Section 3.1</a> describes security in the join
process. <a href="#section-3.9">Section 3.9</a> discusses data-frame protection.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. References</span>
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. Normative References</span>
[<a id="ref-IEEE.802.15.4">IEEE.802.15.4</a>]
IEEE, "IEEE Standard for Local and metropolitan area
networks -- Part. 15.4: Low-Rate Wireless Personal Area
Networks", IEEE Std. 802.15.4-2011, September 2011.
[<a id="ref-IEEE.802.15.4e">IEEE.802.15.4e</a>]
IEEE, "IEEE Standard for Local and metropolitan area
networks -- Part 15.4: Low-Rate Wireless Personal Area
Networks (LR-WPANs) Amendment 1: MAC sublayer", IEEE Std.
802.15.4e-2012, April 2012.
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. Informative References</span>
[<a id="ref-CurrentCalculator">CurrentCalculator</a>]
Linear Technology, "Application Note: Using the Current
Calculator to Estimate Mote Power", August 2012,
<<a href="http://www.linear.com/docs/43189">http://www.linear.com/docs/43189</a>>.
[<a id="ref-Doherty07channel">Doherty07channel</a>]
Doherty, L., Lindsay, W., and J. Simon, "Channel-Specific
Wireless Sensor Network Path Data", IEEE International
Conference on Computer Communications and Networks
(ICCCN), pp. 89-94, 2007.
[<a id="ref-IPSO">IPSO</a>] IPSO Alliance, "IP for Smart Objects Alliance Homepage",
<<a href="http://www.ipso-alliance.org/">http://www.ipso-alliance.org/</a>>.
[<a id="ref-OpenWSN">OpenWSN</a>] "Berkeley's OpenWSN Project Homepage",
<<a href="http://www.openwsn.org/">http://www.openwsn.org/</a>>.
<span class="grey">Watteyne, et al. Informational [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
[<a id="ref-OpenWSNETT">OpenWSNETT</a>]
Watteyne, T., Vilajosana, X., Kerkez, B., Chraim, F.,
Weekly, K., Wang, Q., Glaser, S., and K. Pister, "OpenWSN:
A Standards-Based Low-Power Wireless Development
Environment", Transactions on Emerging Telecommunications
Technologies, Volume 23: Issue 5, August 2012.
[<a id="ref-Palattella12standardized">Palattella12standardized</a>]
Palattella, MR., Accettura, N., Vilajosana, X., Watteyne,
T., Grieco, LA., Boggia, G., and M. Dohler, "Standardized
Protocol Stack For The Internet Of (Important) Things",
IEEE Communications Surveys and Tutorials, Volume: 15,
Issue 3, December 2012.
[<a id="ref-RFC2205">RFC2205</a>] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", <a href="./rfc2205">RFC 2205</a>, DOI 10.17487/RFC2205,
September 1997, <<a href="http://www.rfc-editor.org/info/rfc2205">http://www.rfc-editor.org/info/rfc2205</a>>.
[<a id="ref-RFC2460">RFC2460</a>] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", <a href="./rfc2460">RFC 2460</a>, DOI 10.17487/RFC2460,
December 1998, <<a href="http://www.rfc-editor.org/info/rfc2460">http://www.rfc-editor.org/info/rfc2460</a>>.
[<a id="ref-RFC3819">RFC3819</a>] Karn, P., Ed., Bormann, C., Fairhurst, G., Grossman, D.,
Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L.
Wood, "Advice for Internet Subnetwork Designers", <a href="https://www.rfc-editor.org/bcp/bcp89">BCP 89</a>,
<a href="./rfc3819">RFC 3819</a>, DOI 10.17487/RFC3819, July 2004,
<<a href="http://www.rfc-editor.org/info/rfc3819">http://www.rfc-editor.org/info/rfc3819</a>>.
[<a id="ref-RFC4655">RFC4655</a>] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", <a href="./rfc4655">RFC 4655</a>,
DOI 10.17487/RFC4655, August 2006,
<<a href="http://www.rfc-editor.org/info/rfc4655">http://www.rfc-editor.org/info/rfc4655</a>>.
[<a id="ref-RFC4862">RFC4862</a>] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", <a href="./rfc4862">RFC 4862</a>,
DOI 10.17487/RFC4862, September 2007,
<<a href="http://www.rfc-editor.org/info/rfc4862">http://www.rfc-editor.org/info/rfc4862</a>>.
[<a id="ref-RFC4919">RFC4919</a>] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
over Low-Power Wireless Personal Area Networks (6LoWPANs):
Overview, Assumptions, Problem Statement, and Goals",
<a href="./rfc4919">RFC 4919</a>, DOI 10.17487/RFC4919, August 2007,
<<a href="http://www.rfc-editor.org/info/rfc4919">http://www.rfc-editor.org/info/rfc4919</a>>.
<span class="grey">Watteyne, et al. Informational [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
[<a id="ref-RFC4944">RFC4944</a>] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
"Transmission of IPv6 Packets over IEEE 802.15.4
Networks", <a href="./rfc4944">RFC 4944</a>, DOI 10.17487/RFC4944, September 2007,
<<a href="http://www.rfc-editor.org/info/rfc4944">http://www.rfc-editor.org/info/rfc4944</a>>.
[<a id="ref-RFC5548">RFC5548</a>] Dohler, M., Ed., Watteyne, T., Ed., Winter, T., Ed., and
D. Barthel, Ed., "Routing Requirements for Urban Low-Power
and Lossy Networks", <a href="./rfc5548">RFC 5548</a>, DOI 10.17487/RFC5548, May
2009, <<a href="http://www.rfc-editor.org/info/rfc5548">http://www.rfc-editor.org/info/rfc5548</a>>.
[<a id="ref-RFC5673">RFC5673</a>] Pister, K., Ed., Thubert, P., Ed., Dwars, S., and T.
Phinney, "Industrial Routing Requirements in Low-Power and
Lossy Networks", <a href="./rfc5673">RFC 5673</a>, DOI 10.17487/RFC5673, October
2009, <<a href="http://www.rfc-editor.org/info/rfc5673">http://www.rfc-editor.org/info/rfc5673</a>>.
[<a id="ref-RFC5826">RFC5826</a>] Brandt, A., Buron, J., and G. Porcu, "Home Automation
Routing Requirements in Low-Power and Lossy Networks",
<a href="./rfc5826">RFC 5826</a>, DOI 10.17487/RFC5826, April 2010,
<<a href="http://www.rfc-editor.org/info/rfc5826">http://www.rfc-editor.org/info/rfc5826</a>>.
[<a id="ref-RFC5867">RFC5867</a>] Martocci, J., Ed., De Mil, P., Riou, N., and W. Vermeylen,
"Building Automation Routing Requirements in Low-Power and
Lossy Networks", <a href="./rfc5867">RFC 5867</a>, DOI 10.17487/RFC5867, June
2010, <<a href="http://www.rfc-editor.org/info/rfc5867">http://www.rfc-editor.org/info/rfc5867</a>>.
[<a id="ref-RFC6282">RFC6282</a>] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", <a href="./rfc6282">RFC 6282</a>,
DOI 10.17487/RFC6282, September 2011,
<<a href="http://www.rfc-editor.org/info/rfc6282">http://www.rfc-editor.org/info/rfc6282</a>>.
[<a id="ref-RFC6550">RFC6550</a>] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", <a href="./rfc6550">RFC 6550</a>,
DOI 10.17487/RFC6550, March 2012,
<<a href="http://www.rfc-editor.org/info/rfc6550">http://www.rfc-editor.org/info/rfc6550</a>>.
[<a id="ref-RFC6606">RFC6606</a>] Kim, E., Kaspar, D., Gomez, C., and C. Bormann, "Problem
Statement and Requirements for IPv6 over Low-Power
Wireless Personal Area Network (6LoWPAN) Routing",
<a href="./rfc6606">RFC 6606</a>, DOI 10.17487/RFC6606, May 2012,
<<a href="http://www.rfc-editor.org/info/rfc6606">http://www.rfc-editor.org/info/rfc6606</a>>.
[<a id="ref-RFC7102">RFC7102</a>] Vasseur, JP., "Terms Used in Routing for Low-Power and
Lossy Networks", <a href="./rfc7102">RFC 7102</a>, DOI 10.17487/RFC7102, January
2014, <<a href="http://www.rfc-editor.org/info/rfc7102">http://www.rfc-editor.org/info/rfc7102</a>>.
<span class="grey">Watteyne, et al. Informational [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
[<a id="ref-RFC7228">RFC7228</a>] Bormann, C., Ersue, M., and A. Keranen, "Terminology for
Constrained-Node Networks", <a href="./rfc7228">RFC 7228</a>,
DOI 10.17487/RFC7228, May 2014,
<<a href="http://www.rfc-editor.org/info/rfc7228">http://www.rfc-editor.org/info/rfc7228</a>>.
[<a id="ref-RFC7252">RFC7252</a>] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", <a href="./rfc7252">RFC 7252</a>,
DOI 10.17487/RFC7252, June 2014,
<<a href="http://www.rfc-editor.org/info/rfc7252">http://www.rfc-editor.org/info/rfc7252</a>>.
[<a id="ref-RPL">RPL</a>] Phinney, T., Thubert, P., and R. Assimiti, "RPL
applicability in industrial networks", Work in Progress,
<a href="./draft-ietf-roll-rpl-industrial-applicability-02">draft-ietf-roll-rpl-industrial-applicability-02</a>, October
2013.
[<a id="ref-SUBLAYER-6top">SUBLAYER-6top</a>]
Wang, Q., Vilajosana, X., and T. Watteyne, "6TiSCH
Operation Sublayer (6top)", Work in Progress, <a href="./draft-wang-6tisch-6top-sublayer-01">draft-wang-</a>
<a href="./draft-wang-6tisch-6top-sublayer-01">6tisch-6top-sublayer-01</a>, July 2014.
[<a id="ref-TASA-PIMRC">TASA-PIMRC</a>]
Palattella, MR., Accettura, N., Dohler, M., Grieco, LA.,
and G. Boggia, "Traffic Aware Scheduling Algorithm for
reliable low-power multi-hop IEEE 802.15.4e networks",
IEEE 23rd International Symposium on Personal, Indoor and
Mobile Radio Communications (PIMRC), pp. 327-332,
September 2012.
[<a id="ref-TERMS-6TISCH">TERMS-6TISCH</a>]
Palattella, M., Thubert, P., Watteyne, T., and Q. Wang,
"Terminology in IPv6 over the TSCH mode of IEEE
802.15.4e", Work in Progress, <a href="./draft-ietf-6tisch-terminology-04">draft-ietf-6tisch-</a>
<a href="./draft-ietf-6tisch-terminology-04">terminology-04</a>, March 2015.
[<a id="ref-Tinka10decentralized">Tinka10decentralized</a>]
Tinka, A., Watteyne, T., and K. Pister, "A Decentralized
Scheduling Algorithm for Time Synchronized Channel
Hopping", Ad Hoc Networks, 2010.
[<a id="ref-Watteyne09reliability">Watteyne09reliability</a>]
Watteyne, T., Mehta, A., and K. Pister, "Reliability
Through Frequency Diversity: Why Channel Hopping Makes
Sense", Proceedings of the 6th ACM Symposium on
Performance Evaluation of Wireless Ad Hoc, Sensor, and
Ubiquitous Networks (PE-WASUN), pp. 116-123, October 2009.
<span class="grey">Watteyne, et al. Informational [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. TSCH Protocol Highlights</span>
This appendix gives an overview of the key features of the IEEE
802.15.4e TSCH amendment. It makes no attempt at repeating the
standard, rather it focuses on the following:
o Concepts that are sufficiently different from other IEEE 802.15.4
networking that they may need to be defined and presented
precisely.
o Techniques and ideas that are part of IEEE 802.15.4e and that
might be useful for the work of the 6TiSCH WG.
<span class="h3"><a class="selflink" id="appendix-A.1" href="#appendix-A.1">A.1</a>. Time Slots</span>
All nodes in a TSCH network are synchronized. Time is sliced up into
time slots. A time slot is long enough for a MAC frame of maximum
size to be sent from node A to node B, and for node B to reply with
an acknowledgment (ACK) frame indicating successful reception.
The duration of a time slot is not defined by the standard. With
radios that are compliant with IEEE 802.15.4 operating in the 2.4 GHz
frequency band, a maximum-length frame of 127 bytes takes about 4 ms
to transmit; a shorter ACK takes about 1 ms. With a 10 ms slot (a
typical duration), this leaves 5 ms to radio turnaround, packet
processing, and security operations.
<span class="h3"><a class="selflink" id="appendix-A.2" href="#appendix-A.2">A.2</a>. Slotframes</span>
Time slots are grouped into one of more slotframes. A slotframe
continuously repeats over time. TSCH does not impose a slotframe
size. Depending on the application needs, these can range from 10's
to 1000's of time slots. The shorter the slotframe, the more often a
time slot repeats, resulting in more available bandwidth, but also in
a higher power consumption.
<span class="h3"><a class="selflink" id="appendix-A.3" href="#appendix-A.3">A.3</a>. Node TSCH Schedule</span>
A TSCH schedule instructs each node what to do in each time slot:
transmit, receive, or sleep. The schedule indicates, for each
scheduled (transmit or receive) cell, a channelOffset and the address
of the neighbor with which to communicate.
<span class="grey">Watteyne, et al. Informational [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Once a node obtains its schedule, it executes it:
o For each transmit cell, the node checks whether there is a packet
in the outgoing buffer that matches the neighbor written in the
schedule information for that time slot. If there is none, the
node keeps its radio off for the duration of the time slot. If
there is one, the node can ask for the neighbor to acknowledge it,
in which case it has to listen for the acknowledgment after
transmitting.
o For each receive cell, the node listens for possible incoming
packets. If none is received after some listening period, it
shuts down its radio. If a packet is received, addressed to the
node, and passes security checks, the node can send back an
acknowledgment.
How the schedule is built, updated, and maintained, and by which
entity, is outside of the scope of the IEEE 802.15.4e standard.
<span class="h3"><a class="selflink" id="appendix-A.4" href="#appendix-A.4">A.4</a>. Cells and Bundles</span>
Assuming the schedule is well built, if node A is scheduled to
transmit to node B at slotOffset 5 and channelOffset 11, node B will
be scheduled to receive from node A at the same slotOffset and
channelOffset.
A single element of the schedule characterized by a slotOffset and
channelOffset, and reserved for node A to transmit to node B (or for
node B to receive from node A) within a given slotframe, is called a
"scheduled cell".
If there is a lot of data flowing from node A to node B, the schedule
might contain multiple cells from A to B, at different times.
Multiple cells scheduled to the same neighbor can be equivalent,
i.e., the MAC layer sends the packet on whichever of these cells
shows up first after the packet was put in the MAC queue. The union
of all cells between two neighbors, A and B, is called a "bundle".
Since the slotframe repeats over time (and the length of the
slotframe is typically constant), each cell gives a "quantum" of
bandwidth to a given neighbor. Modifying the number of equivalent
cells in a bundle modifies the amount of resources allocated between
two neighbors.
<span class="grey">Watteyne, et al. Informational [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h3"><a class="selflink" id="appendix-A.5" href="#appendix-A.5">A.5</a>. Dedicated vs. Shared Cells</span>
By default, each scheduled transmit cell within the TSCH schedule is
dedicated, i.e., reserved only for node A to transmit to node B.
IEEE 802.15.4e also allows a cell to be marked as shared. In a
shared cell, multiple nodes can transmit at the same time, on the
same frequency. To avoid contention, TSCH defines a backoff
algorithm for shared cells.
A scheduled cell can be marked as both transmitting and receiving.
In this case, a node transmits if it has an appropriate packet in its
output buffer, or listens otherwise. Marking a cell as
[transmit,receive,shared] results in slotted-Aloha behavior.
<span class="h3"><a class="selflink" id="appendix-A.6" href="#appendix-A.6">A.6</a>. Absolute Slot Number</span>
TSCH defines a timeslot counter called Absolute Slot Number (ASN).
When a new network is created, the ASN is initialized to 0; from then
on, it increments by 1 at each timeslot. In detail:
ASN = (k*S+t)
where k is the slotframe cycle (i.e., the number of slotframe
repetitions since the network was started), S the slotframe size, and
t the slotOffset. A node learns the current ASN when it joins the
network. Since nodes are synchronized, they all know the current
value of the ASN, at any time. The ASN is encoded as a 5-byte
number: this allows it to increment for hundreds of years (the exact
value depends on the duration of a timeslot) without wrapping over.
The ASN is used to calculate the frequency to communicate on and can
be used for security-related operations.
<span class="h3"><a class="selflink" id="appendix-A.7" href="#appendix-A.7">A.7</a>. Channel Hopping</span>
For each scheduled cell, the schedule specifies a slotOffset and a
channelOffset. In a well-built schedule, when node A has a transmit
cell to node B on channelOffset 5, node B has a receive cell from
node A on the same channelOffset. The channelOffset is translated by
both nodes into a frequency using the following function:
frequency = F {(ASN + channelOffset) mod nFreq}
The function F consists of a lookup table containing the set of
available channels. The value nFreq (the number of available
frequencies) is the size of this lookup table. There are as many
channelOffset values as there are frequencies available (e.g., 16
when using radios that are compliant with IEEE 802.15.4 at 2.4 GHz,
when all channels are used). Since both nodes have the same
<span class="grey">Watteyne, et al. Informational [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
channelOffset written in their schedule for that scheduled cell, and
the same ASN counter, they compute the same frequency. At the next
iteration (cycle) of the slotframe, however, while the channelOffset
is the same, the ASN has changed, resulting in the computation of a
different frequency.
This results in "channel hopping": even with a static schedule, pairs
of neighbors "hop" between the different frequencies when
communicating. A way of ensuring communication happens on all
available frequencies is to set the number of timeslots in a
slotframe to a prime number. Channel hopping is a technique known to
efficiently combat multi-path fading and external interference
[<a href="#ref-Watteyne09reliability">Watteyne09reliability</a>].
<span class="h3"><a class="selflink" id="appendix-A.8" href="#appendix-A.8">A.8</a>. Time Synchronization</span>
Because of the slotted nature of communication in a TSCH network,
nodes have to maintain tight synchronization. All nodes are assumed
to be equipped with clocks to keep track of time. Yet, because
clocks in different nodes drift with respect to one another, neighbor
nodes need to periodically resynchronize.
Each node needs to periodically synchronize its network clock to
another node, and it also provides its network time to its neighbors.
It is up to the entity that manages the schedule to assign an
adequate time source neighbor to each node, i.e., to indicate in the
schedule which neighbor is its "time source neighbor". While setting
the time source neighbor, it is important to avoid synchronization
loops, which could result in the formation of independent clusters of
synchronized nodes.
TSCH adds timing information in all packets that are exchanged (both
data and ACK frames). This means that neighbor nodes can
resynchronize to one another whenever they exchange data. In detail,
two methods are defined in IEEE 802.15.4e (of 2012) for allowing a
device to synchronize in a TSCH network: (i) Acknowledgment-based and
(ii) Frame-based synchronization. In both cases, the receiver
calculates the difference in time between the expected time of frame
arrival and its actual arrival. In Acknowledgment-based
synchronization, the receiver provides such information to the sender
node in its acknowledgment. In this case, it is the sender node that
synchronizes to the clock of the receiver. In Frame-based
synchronization, the receiver uses the computed delta for adjusting
its own clock. In this case, it is the receiver node that
synchronizes to the clock of the sender.
<span class="grey">Watteyne, et al. Informational [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Different synchronization policies are possible. Nodes can keep
synchronization exclusively by exchanging EBs. Nodes can also keep
synchronized by periodically sending valid frames to a time source
neighbor and use the acknowledgment to resynchronize. Both methods
(or a combination thereof) are valid synchronization policies; which
one to use depends on network requirements.
<span class="h3"><a class="selflink" id="appendix-A.9" href="#appendix-A.9">A.9</a>. Power Consumption</span>
There are only a handful of activities a node can perform during a
timeslot: transmit, receive, or sleep. Each of these operations has
some energy cost associated to them; the exact value depends on the
hardware used. Given the schedule of a node, it is straightforward
to calculate the expected average power consumption of that node.
<span class="h3"><a class="selflink" id="appendix-A.10" href="#appendix-A.10">A.10</a>. Network TSCH Schedule</span>
The schedule entirely defines the synchronization and communication
between nodes. By adding/removing cells between neighbors, one can
adapt a schedule to the needs of the application. Intuitive examples
are:
o Make the schedule "sparse" for applications where nodes need to
consume as little energy as possible, at the price of reduced
bandwidth.
o Make the schedule "dense" for applications where nodes generate a
lot of data, at the price of increased power consumption.
o Add more cells along a multi-hop route over which many packets
flow.
<span class="h3"><a class="selflink" id="appendix-A.11" href="#appendix-A.11">A.11</a>. Join Process</span>
Nodes already part of the network can periodically send EB frames to
announce the presence of the network. These contain information
about the size of the timeslot used in the network, the current ASN,
information about the slotframes and timeslots the beaconing node is
listening on, and a 1-byte join priority. The join priority field
gives information to make a better decision of which node to join.
Even if a node is configured to send all EB frames on the same
channelOffset, because of the channel hopping nature of TSCH
described in <a href="#appendix-A.7">Appendix A.7</a>, this channelOffset translates into a
different frequency at different slotframe cycles. As a result, EB
frames are sent on all frequencies.
<span class="grey">Watteyne, et al. Informational [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
A node wishing to join the network listens for EBs. Since EBs are
sent on all frequencies, the joining node can listen on any frequency
until it hears an EB. What frequency it listens on is implementation
specific. Once it has received one or more EBs, the new node enables
the TSCH mode and uses the ASN and the other timing information from
the EB to synchronize to the network. Using the slotframe and cell
information from the EB, it knows how to contact other nodes in the
network.
The IEEE 802.15.4e TSCH standard does not define the steps beyond
this network "bootstrap".
<span class="h3"><a class="selflink" id="appendix-A.12" href="#appendix-A.12">A.12</a>. Information Elements</span>
TSCH introduces the concept of Information Elements (IEs). An IE is
a list of Type-Length-Value containers placed at the end of the MAC
header. A small number of types are defined for TSCH (e.g., the ASN
in the EB is contained in an IE), and an unmanaged range is available
for extensions.
A data bit in the MAC header indicates whether the frame contains
IEs. IEs are grouped into Header IEs, consumed by the MAC layer and
therefore typically invisible to the next higher layer, and Payload
IEs, which are passed untouched to the next higher layer, possibly
followed by regular payload. Payload IEs can therefore be used for
the next higher layers of two neighbor nodes to exchange information.
<span class="h3"><a class="selflink" id="appendix-A.13" href="#appendix-A.13">A.13</a>. Extensibility</span>
The TSCH standard is designed to be extensible. It introduces the
mechanisms as "building block" (e.g., cells, bundles, slotframes,
etc.), but leaves entire freedom to the upper layer to assemble
those. The MAC protocol can be extended by defining new Header IEs.
An intermediate layer can be defined to manage the MAC layer by
defining new Payload IEs.
<span class="grey">Watteyne, et al. Informational [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
<span class="h2"><a class="selflink" id="appendix-B" href="#appendix-B">Appendix B</a>. TSCH Features</span>
This section details features of TSCH, which might be interesting for
the work of the 6TiSCH WG. It does not define any requirements.
<span class="h3"><a class="selflink" id="appendix-B.1" href="#appendix-B.1">B.1</a>. Collision-Free Communication</span>
TSCH allows one to design a schedule that yields collision-free
communication. This is done by building the schedule with dedicated
cells in such a way that at most, one node communicates with a
specific neighbor in each slotOffset/channelOffset cell. Multiple
pairs of neighbor nodes can exchange data at the same time, but on
different frequencies.
<span class="h3"><a class="selflink" id="appendix-B.2" href="#appendix-B.2">B.2</a>. Multi-Channel vs. Channel Hopping</span>
A TSCH schedule looks like a matrix of width "slotframe size", S, and
of height "number of frequencies", nFreq. For a scheduling
algorithm, cells can be considered atomic "units" to schedule. In
particular, because of the channel hopping nature of TSCH, the
scheduling algorithm should not worry about the actual frequency
communication happens on, since it changes at each slotframe
iteration.
<span class="h3"><a class="selflink" id="appendix-B.3" href="#appendix-B.3">B.3</a>. Cost of (Continuous) Synchronization</span>
When there is traffic in the network, nodes that are communicating
implicitly resynchronize using the data frames they exchange. In the
absence of data traffic, nodes are required to synchronize to their
time source neighbor(s) periodically not to drift in time. If they
have not been communicating for some time (typically 30 s), nodes can
exchange a dummy data frame to resynchronize. The frequency at which
such messages need to be transmitted depends on the stability of the
clock source and on how "early" each node starts listening for data
(the "guard time"). Theoretically, with a 10 ppm clock and a 1 ms
guard time, this period can be 100 s. Assuming this exchange causes
the node's radio to be on for 5 ms, this yields a radio duty cycle
needed to keep synchronized of 5 ms / 100 s = 0.005%. While TSCH
does require nodes to resynchronize periodically, the cost of doing
so is very low.
<span class="h3"><a class="selflink" id="appendix-B.4" href="#appendix-B.4">B.4</a>. Topology Stability</span>
The channel hopping nature of TSCH causes links to be very "stable".
Wireless phenomena such as multi-path fading and external
interference impact a wireless link between two nodes differently on
each frequency. If a transmission from node A to node B fails,
retransmitting on a different frequency has a higher likelihood of
<span class="grey">Watteyne, et al. Informational [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
succeeding that retransmitting on the same frequency. As a result,
even when some frequencies are "behaving bad", channel hopping
"smoothens" the contribution of each frequency, resulting in more
stable links and therefore a more stable topology.
<span class="h3"><a class="selflink" id="appendix-B.5" href="#appendix-B.5">B.5</a>. Multiple Concurrent Slotframes</span>
The TSCH standard allows for multiple slotframes to coexist in a
node's schedule. It is possible that, at some timeslot, a node has
multiple activities scheduled (e.g., transmit to node B on slotframe
2, receive from node C on slotframe 1). To handle this situation,
the TSCH standard defines the following precedence rules:
1. Transmissions take precedence over receptions;
2. Lower slotframe identifiers take precedence over higher slotframe
identifiers.
In the example above, the node would transmit to node B on slotframe
2.
Acknowledgments
Special thanks to Dominique Barthel, Patricia Brett, Guillaume
Gaillard, Pat Kinney, Ines Robles, Timothy J. Salo, Jonathan Simon,
Rene Struik, and Xavi Vilajosana for reviewing the document and
providing valuable feedback. Thanks to the IoT6 European Project
(STREP) of the 7th Framework Program (Grant 288445).
<span class="grey">Watteyne, et al. Informational [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc7554">RFC 7554</a> 6TiSCH-TSCH May 2015</span>
Authors' Addresses
Thomas Watteyne (editor)
Linear Technology
32990 Alvarado-Niles Road, Suite 910
Union City, CA 94587
United States
Phone: +1 (510) 400-2978
EMail: twatteyne@linear.com
Maria Rita Palattella
University of Luxembourg
Interdisciplinary Centre for Security, Reliability and Trust
4, rue Alphonse Weicker
Luxembourg L-2721
Luxembourg
Phone: +352 46 66 44 5841
EMail: maria-rita.palattella@uni.lu
Luigi Alfredo Grieco
Politecnico di Bari
Department of Electrical and Information Engineering
Via Orabona 4
Bari 70125
Italy
Phone: +39 08 05 96 3911
EMail: a.grieco@poliba.it
Watteyne, et al. Informational [Page 23]
</pre>
|