idnits 2.17.1
draft-ietf-6tisch-6top-interface-04.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
** The document seems to lack a Security Considerations section.
** The document seems to lack an IANA Considerations section. (See Section
2.2 of https://www.ietf.org/id-info/checklist for how to handle the case
when there are no actions for IANA.)
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
== Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD',
or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please
use uppercase 'NOT' together with RFC 2119 keywords (if that is what you
mean).
Found 'MUST not' in this paragraph:
If the TrackID is set to (0,0), the cell can be used by the
best-effort QoS configuration or as a Shared cell. If the TrackID is not
set to (0,0), i.e., the cell belongs to a specific track, the cell MUST
not be set as Shared cell.
-- The document date (July 6, 2015) is 3211 days in the past. Is this
intentional?
Checking references for intended status: Informational
----------------------------------------------------------------------------
== Missing Reference: 'IEEE802154e' is mentioned on line 1508, but not
defined
== Missing Reference: 'IEEE802154' is mentioned on line 1514, but not
defined
== Missing Reference: 'OpenWSN' is mentioned on line 1520, but not defined
== Unused Reference: 'I-D.ietf-6tisch-terminology' is defined on line 1480,
but no explicit reference was found in the text
== Unused Reference: 'I-D.ietf-6tisch-minimal' is defined on line 1486, but
no explicit reference was found in the text
== Unused Reference: 'I-D.ietf-6tisch-coap' is defined on line 1496, but no
explicit reference was found in the text
== Outdated reference: A later version (-30) exists of
draft-ietf-6tisch-architecture-08
== Outdated reference: A later version (-10) exists of
draft-ietf-6tisch-terminology-04
== Outdated reference: A later version (-21) exists of
draft-ietf-6tisch-minimal-09
== Outdated reference: A later version (-04) exists of
draft-wang-6tisch-6top-sublayer-01
== Outdated reference: A later version (-05) exists of
draft-richardson-6tisch--security-6top-04
Summary: 2 errors (**), 0 flaws (~~), 13 warnings (==), 1 comment (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 6TiSCH Q. Wang, Ed.
3 Internet-Draft Univ. of Sci. and Tech. Beijing
4 Intended status: Informational X. Vilajosana
5 Expires: January 7, 2016 Universitat Oberta de Catalunya
6 July 6, 2015
8 6TiSCH Operation Sublayer (6top) Interface
9 draft-ietf-6tisch-6top-interface-04
11 Abstract
13 This document defines a generic data model for the 6TiSCH Operation
14 Sublayer (6top), using the YANG data modeling language. This data
15 model can be used for network management solutions defined by the
16 6TiSCH working group.
18 Status of This Memo
20 This Internet-Draft is submitted in full conformance with the
21 provisions of BCP 78 and BCP 79.
23 Internet-Drafts are working documents of the Internet Engineering
24 Task Force (IETF). Note that other groups may also distribute
25 working documents as Internet-Drafts. The list of current Internet-
26 Drafts is at http://datatracker.ietf.org/drafts/current/.
28 Internet-Drafts are draft documents valid for a maximum of six months
29 and may be updated, replaced, or obsoleted by other documents at any
30 time. It is inappropriate to use Internet-Drafts as reference
31 material or to cite them other than as "work in progress."
33 This Internet-Draft will expire on January 7, 2016.
35 Copyright Notice
37 Copyright (c) 2015 IETF Trust and the persons identified as the
38 document authors. All rights reserved.
40 This document is subject to BCP 78 and the IETF Trust's Legal
41 Provisions Relating to IETF Documents
42 (http://trustee.ietf.org/license-info) in effect on the date of
43 publication of this document. Please review these documents
44 carefully, as they describe your rights and restrictions with respect
45 to this document. Code Components extracted from this document must
46 include Simplified BSD License text as described in Section 4.e of
47 the Trust Legal Provisions and are provided without warranty as
48 described in the Simplified BSD License.
50 Table of Contents
52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
53 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
54 3. 6TiSCH Operation Sublayer (6top) Overview . . . . . . . . . . 3
55 3.1. Cell Model . . . . . . . . . . . . . . . . . . . . . . . 4
56 3.1.1. hard cells . . . . . . . . . . . . . . . . . . . . . 5
57 3.1.2. soft cells . . . . . . . . . . . . . . . . . . . . . 6
58 3.2. Data Transfer Model . . . . . . . . . . . . . . . . . . . 6
59 4. Generic Data Model . . . . . . . . . . . . . . . . . . . . . 8
60 4.1. YANG model of the 6top MIB . . . . . . . . . . . . . . . 8
61 4.2. Yang Model for the Security aspects of 6top . . . . . . . 32
62 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
63 5.1. Normative References . . . . . . . . . . . . . . . . . . 32
64 5.2. Informative References . . . . . . . . . . . . . . . . . 32
65 5.3. External Informative References . . . . . . . . . . . . . 33
66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33
68 1. Introduction
70 This document defines a generic data model for the 6TiSCH Operation
71 Sublayer (6top), using the YANG data modeling language defined in
72 [RFC6020]. This data model can be used for future network management
73 solutions defined by the 6TiSCH working group. This data model gives
74 access to metrics (e.g. cell state), TSCH configuration and control
75 procedures, and support for the different scheduling mechanisms
76 described in [I-D.ietf-6tisch-architecture]. The 6top sublayer
77 addresses the set of management information and functionalities
78 described in [I-D.ietf-6tisch-tsch].
80 For example, network formation in a TSCH network is handled by the
81 use of Enhanced Beacons (EB). EBs include information for joining
82 nodes to be able to synchronize and set up an initial network
83 topology. However, [IEEE802154e] does not specify how the period of
84 EBs is configured, nor the rules for a node to select a particular
85 node to join. 6top offers a set of commands so control mechanisms
86 can be introduced on top of TSCH to configure nodes to join a
87 specific node and obtain a unique 16-bit identifier from the network.
88 Once a network is formed, 6top maintains the network's health,
89 allowing for nodes to stay synchronized. It supplies mechanisms to
90 manage each node's time source neighbor and configure the EB
91 interval. Network layers running on top of 6top take advantage of
92 the TSCH MAC layer information so routing metrics, topological
93 information, energy consumption and latency requirements can be
94 adjusted to TSCH, and adapted to application requirements.
96 TSCH requires a mechanism to manage its schedule; 6top provides a set
97 of commands for upper layers to set up specific schedules, either
98 explicitly by detailing specific cell information, or by allowing
99 6top to establish a schedule given a bandwidth or latency
100 requirement. 6top is designed to enable decentralized, centralized or
101 hybrid scheduling solutions. 6top enables internal TSCH queuing
102 configuration, size of buffers, packet priorities, transmission
103 failure behavior, and defines mechanisms to encrypt and authenticate
104 MAC slotframes.
106 As described in [morell04label], due to the slotted nature of a TSCH
107 network, it is possible to use a label switched architecture on top
108 of TSCH cells. As a cell belongs to a specific track, a label header
109 is not needed at each packet; the input cell (or bundle) and the
110 output cell (or bundle) uniquely identify the data flow. The 6top
111 sublayer provides operations to manage the cell mappings.
113 2. Requirements Language
115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
117 document are to be interpreted as described in RFC 2119 [RFC2119].
119 3. 6TiSCH Operation Sublayer (6top) Overview
121 6top is a sublayer which is the next-higher layer for TSCH
122 (Figure 1), as detailed in [I-D.ietf-6tisch-architecture]. 6top
123 offers both management and data interfaces to an upper layer, and
124 includes monitoring and statistics collection, both of which are
125 configurable through its management interface. The detail of 6top-
126 sublayer is described in [I-D.wang-6tisch-6top-sublayer]
127 Protocol Stack
129 +-----------------------------------+
130 | PCEP | CoAP | | 6LoWPAN | |
131 | PCC | DTLS | PANA | ND |RPL |
132 +------------------------------------------+
133 | TCP | UDP | ICMP | RSVP |
134 +------------------------------------------+
135 | IPv6 |
136 +------------------------------------------+
137 | 6LoWPAN HC |
138 +------------------------------------------+
139 | 6top |
140 +------------------------------------------+
141 | IEEE802.15.4e TSCH |
142 +------------------------------------------+
143 | IEEE802.15.4 |
144 +------------------------------------------+
146 Figure 1
148 6top distinguishes between hard cells and soft cells. It therefore
149 requires an extra flag to all cells in the TSCH schedule, as detailed
150 in Section 3.1.
152 When a higher layer gives 6top a 6LoWPAN packet for transmission,
153 6top maps it to the appropriate outgoing priority-based queue, as
154 detailed in Section 3.2.
156 Section 4 contains a generic data model for the 6top sublayer,
157 described in the YANG data modeling language.
159 3.1. Cell Model
161 [IEEE802154e] defines a set of options attached to each cell. A cell
162 can be a Transmit cell, a Receive cell, a Shared cell or a
163 Timekeeping cell. These options are not exclusive, as a cell can be
164 qualified with more than one of them. The MLME-SET-LINK.request
165 command defined in [IEEE802154e] uses a linkOptions bitmap to specify
166 the options of a cell. Acceptable values are:
168 b0 = Transmit
170 b1 = Receive
172 b2 = Shared
174 b3 = Timekeeping
175 b4-b7 = Reserved
177 Only Transmit cells can also be marked as Shared cells. When the
178 shared bit is set, a back-off procedure is applied to handle
179 collisions. Shared behavior does not apply to Receive cells.
181 6top allows an upper layer to schedule a cell at a specific
182 slotOffset and channelOffset, in a specific slotframe.
184 In addition, 6top allows an upper layer to schedule a certain amount
185 of bandwidth to a neighbor, without having to specify the exact
186 slotOffset(s) and channelOffset(s). Once bandwidth is reserved, 6top
187 is in charge of ensuring that this requirement is continuously
188 satisfied. 6top dynamically reallocates cells if needed, and over-
189 provisions if required.
191 6top allows an upper layer to associate a cell with a specific track
192 by using a TrackID. A TrackID is a tuple
193 (TrackOwnerAddr,InstanceID), where TrackOwnerAddr is the address of
194 the node which initializes the process of creating the track, i.e.,
195 the owner of the track; and InstanceID is an instance identifier
196 given by the owner of the track. InstanceID comes from upper layer;
197 InstanceID could for example be the local instance ID defined in RPL.
199 If the TrackID is set to (0,0), the cell can be used by the best-
200 effort QoS configuration or as a Shared cell. If the TrackID is not
201 set to (0,0), i.e., the cell belongs to a specific track, the cell
202 MUST not be set as Shared cell.
204 6top allows an upper layer to ask a node to manage a portion of a
205 slotframe, which is named as chunk. Chunks can be delegated
206 explicitly by the PCE to a node, or claimed automatically by any node
207 that participates to the distributed cell scheduling process. The
208 resource in a chunk can be appropriated by the node, i.e. the owner
209 of the chunk.
211 Given this mechanism, 6top defines hard cells (which have been
212 requested specifically) and soft cells (which can be reallocated
213 dynamically). The hard/soft flag is introduced by the 6top sublayer
214 named as CellType, 0: soft cell, 1: hard cell. This option is
215 mandatory; all cells are either hard or soft.
217 3.1.1. hard cells
219 A hard cell is a cell that cannot be dynamically reallocated by 6top.
220 The CellType MUST be set to 1. The cell is installed by 6top given
221 specific slotframe ID, slotOffset, and channelOffset.
223 3.1.2. soft cells
225 A soft cell is a cell that can be reallocated by 6top dynamically.
226 The CellType MUST be set to 0. This cell is installed by 6top given
227 a specific bandwidth requirement. Soft cells are installed through
228 the soft cell negotiation procedure described in
229 [I-D.wang-6tisch-6top-sublayer].
231 3.2. Data Transfer Model
233 Once a TSCH schedule is established, 6top is responsible for feeding
234 the data from the upper layer into TSCH. This section describes how
235 6top shapes data from the upper layer (e.g., RPL, 6LoWPAN), and feeds
236 it to TSCH. Since 6top is a sublayer between TSCH and 6LoWPAN, the
237 properties associated with a packet/fragment from the upper layer
238 includes the next hop neighbor (DestAddr) and expected sending
239 priority of the packet (Priority), and/or TrackID(s). The output to
240 TSCH is the fragment corresponding to the next active cell in the
241 TSCH schedule.
243 6top Data Transfer Model
245 |
246 | (DestAddr, Priority, Fragment)
247 |
248 +---------------------------------------+
249 | I-MUX |
250 +---------------------------------------+
251 | | | | .... |
252 | | | | |
253 +---+ +---+ +---+ +---+ +---+
254 | | | | | | | | | |
255 |Q1 | |Q2 | |Q3 | |Q4 | |Qn |
256 | | | | | | | | | |
257 +---+ +---+ +---+ +---+ +---+
258 | | | | |
259 | | | | |
260 +---------------------------------------+
261 | MUX |
262 +---------------------------------------+
263 |
264 |
265 +---+
266 |PDU|
267 +---+
268 |
269 | TSCH MAC-payload
270 |
272 Figure 2
274 In Figure 2, Qi represents a queue, which is either broadcast or
275 unicast, and has an assigned priority. The number of queues is
276 configurable. The relationship between queues and tracks is
277 configurable. For example, for a given queue, only one specific
278 track can be used, all of the tracks can be used, or a subset of the
279 tracks can be used.
281 When 6top receives a packet to transmit, the I-MUX module selects a
282 queue in which to insert it. If the packet's destination address is
283 a unicast (resp. broadcast) address, it will be inserted into a
284 unicast (resp. broadcast) queue.
286 The MUX module is invoked at each scheduled transmit cell by TSCH.
287 When invoked, the MUX module goes through the queues, looking for the
288 best matching frame to send. If it finds a frame, it hands it over
289 to TSCH for transmission. If the next active cell is a broadcast
290 cell, it selects a fragment only from broadcast queues.
292 How the MUX module selects the best frame is configurable. The
293 following rules are a typical example:
295 The frame's layer 2 destination address MUST match the neighbor
296 address associated with the transmit cell.
298 If the transmit cell is associated with a specific track, the
299 frames in the queue corresponding to the TrackID have the
300 highest priority.
302 If the transmit cell is not associated with a specific track,
303 i.e., TrackID=(0,0), frames from a queue with a higher priority
304 MUST be sent before frames from a queue with a lower priority.
306 Further rules can be configured to satisfy specific QoS requirements.
308 4. Generic Data Model
310 This section presents the generic data model of the 6top sublayer,
311 using the YANG data modeling langage. This data model can be used
312 for future network management solutions defined by the 6TiSCH working
313 group. The data model consists of the MIB (management information
314 base) defined in 6top, and part of the PIB (personal area network
315 information base) defined in [IEEE802154e] and [IEEE802154].
317 4.1. YANG model of the 6top MIB
319 module ietf-6top {
321 namespace
322 "urn:ietf:params:xml:ns:yang:ietf-6top";
323 prefix
324 "ietf";
326 contact
327 "WG Web:
328 WG List:
330 WG Chair: Pascal Thubert
331
333 WG Chair: Thomas Watteyne
334
336 Editor: Qin Wang
337 ";
339 description
340 "Data model for the 6top sublayer";
341 organization
342 "IETF 6TiSCH Working Group";
343 revision 2015-06-16 {
344 description
345 "v4 revision.";
346 reference
347 "draft-ietf-6tisch-6top-interface";
348 }
350 typedef nodeaddresstype {
351 type uint64;
352 description
353 "The type to store a node's address. It can be a 64-bit EUI;
354 or the short address defined by 6top, constrained by TSCH
355 macNodeAddress size, 2-octets. If using TSCH as MAC, the
356 higher 6 octets should be filled with 0, and lowest 2-octets
357 is neighbor short address";
358 }
359 typedef asntype {
360 type string {
361 length "0..5";
362 }
363 description
364 "The type to store ASN. String of 5 bytes";
365 }
367 list Version {
368 key "major minor";
369 description
370 "Provides a unique identification for the set of resources
371 defined in this draft. Provides a major and minor version
372 number that may be accessible independently";
374 leaf major {
375 type uint8;
376 description
377 "major revision number";
378 }
379 leaf minor {
380 type uint8;
381 description
382 "minor revision number";
383 }
384 }
385 list SlotframeList {
386 key "SlotframeID";
387 min-elements 1;
388 description
389 "List of all of the slotframes used by the node.";
391 leaf SlotframeID {
392 type uint8;
393 mandatory true;
394 description
395 "Equal to SlotframeHandle defined in TSCH";
396 reference
397 "IEEE802154e";
398 }
399 leaf NumOfSlots {
400 mandatory true;
401 type uint16 {
402 range "1..max";
403 }
404 description
405 "indicates how many timeslots in the slotframe";
406 }
407 }
409 list CellList {
410 key "CellID";
411 min-elements 1;
412 unique "SlotframeID SlotOffset ChannelOffset";
413 description
414 "List of scheduled cells of a node with all of its neighbors,
415 in all of its slotframes.";
417 leaf CellID {
418 type uint16;
419 description
420 "Equal to Linkhandle in the linkTable of TSCH";
421 reference
422 "IEEE802154e";
423 }
424 leaf SlotframeID {
425 type leafref {
426 path "/SlotframeList/SlotframeID";
427 }
428 description
429 "SlotframeID, one in SlotframeList, indicates the slotframe
430 the cell belongs to.";
432 reference
433 "IEEE802154e";
434 }
435 leaf SlotOffset {
436 type uint16;
437 description
438 "Defined in IEEE802154e.";
439 reference
440 "IEEE802154e";
441 }
442 leaf ChannelOffset {
443 type uint16;
444 description
445 "Defined in IEEE802154e. Value range is 0..15";
446 reference
447 "IEEE802154e";
448 }
449 leaf LinkOption {
450 type bits {
451 bit Transmit {
452 position 0;
453 }
454 bit Receive {
455 position 1;
456 }
457 bit Share {
458 position 2;
459 }
460 bit Timekeeping {
461 position 3;
462 }
463 }
464 description
465 "Defined in IEEE802154e.";
466 reference
467 "IEEE802154e";
468 }
469 leaf LinkType {
470 type enumeration {
471 enum NORMAL;
472 enum ADVERTISING;
473 }
474 description
475 "Defined in IEEE802154";
476 reference
477 "IEEE802154";
478 }
479 leaf CellType {
480 type enumeration {
481 enum SOFT;
482 enum HARD;
483 }
484 description
485 "Defined in 6top";
486 }
487 leaf NodeAddress {
488 type nodeaddresstype;
489 description
490 "specify the target node address.";
491 }
492 leaf TrackID {
493 type leafref {
494 path "/TrackList/TrackId";
495 }
496 description
497 "A TrackID is one in the TrackList, pointing to a tuple
498 (TrackOwnerAddr,InstanceID) , where TrackOwnerAddr is the
499 address of the node which initializes the process of
500 creating the track, i.e., the owner of the track; and
501 InstanceID is an instance identifier given by the owner of
502 the track.";
503 }
504 container Statistic {
505 description
506 "The Statistic container";
507 leaf NumOfStatistic {
508 mandatory true;
509 type uint8;
510 description
511 "Number of statistics collected on the cell";
512 }
513 list MeasureList {
514 key "StatisticsMetricsID";
515 min-elements 1;
516 description
517 "The list of measures.";
518 leaf StatisticsMetricsID{
519 type leafref {
520 path "/StatisticsMetricsList/StatisticsMetricsID";
521 }
522 description
523 "An index of StatisticsMetricList, which defines how
524 to collect data and get the statistic value";
525 }
526 leaf StatisticsValue{
527 type uint16;
528 config false;
529 description
530 "updated by 6top according to the statistics method
531 specified by StatisticsMetricsID";
532 }
533 }
534 }
535 }
537 list MonitoringStatusList {
538 key "MonitoringStatusID";
539 min-elements 1;
540 unique "SlotframeID NodeAddress";
541 description
542 "List of the monitoring configuration and results per
543 slotframe and neighbor. Basically, it is used for Monitoring
544 Function of 6top to re-allocate softcells or initial the
545 softcell negotiation process to increase/decrease number of
546 softcells. Upper layer can use it also.";
548 leaf MonitoringStatusID {
549 type uint16;
550 description
551 "The monitoring status ID.";
552 }
553 leaf SlotframeID {
554 type leafref {
555 path "/SlotframeList/SlotframeID";
556 }
557 description
558 "SlotframeID, one in SlotframeList, indicates the slotframe
559 being monitored";
560 reference
561 "IEEE802154e";
562 }
563 leaf NodeAddress {
564 type nodeaddresstype;
565 description
566 "The lead node address";
567 }
568 leaf EnforcePolicy {
569 type enumeration {
570 enum DISABLE;
571 enum BESTEFFORT;
572 enum STRICT;
573 enum OVERPROVISION;
574 }
575 default DISABLE;
576 description
577 "Currently enforced QoS policy. DISABLE-no QoS;
578 BESTEFFORT- best effort policy is used; STRICT- Strict
579 Priority Queueing; OVERPROVISION- cell overprovision";
580 }
581 leaf AllocatedHard {
582 type uint16;
583 config false;
584 description
585 "Number of hard cells allocated";
586 }
587 leaf AllocatedSoft {
588 type uint16;
589 config false;
590 description
591 "Number of soft cells allocated";
592 }
593 leaf OverProvision {
594 type uint16;
595 config false;
596 must "../EnforcePolicy <> DISABLE ./";
597 description
598 "Overprovisioned cells. 0 if EnforcePolicy is
599 DISABLE";
600 }
601 leaf QoS {
602 type uint16;
603 config false;
604 description
605 "Current QoS including overprovisioned cells, i.e. the
606 bandwidth obtained including the overprovisioned cells.";
607 }
608 leaf NQoS {
609 type uint16;
610 config false;
611 description
612 "Real QoS without over provisioned cells, i.e. the actual
613 bandwidth without taking into account the overprovisioned
614 cells.";
615 }
616 }
618 list StatisticsMetricsList {
619 key "StatisticsMetricsID";
620 min-elements 1;
621 unique "SlotframeID SlotOffset ChannelOffset NodeAddress";
622 description
623 "List of Statistics Metrics used in the node.";
625 leaf StatisticsMetricsID {
626 type uint16;
627 description
628 "The metrics ID for statistics.";
629 }
630 leaf SlotframeID {
631 type leafref {
632 path "/SlotframeList/SlotframeID";
633 }
634 description
635 "SlotframeID, one in SlotframeList, specifies the
636 slotframe to which the statistics metrics applies to.
637 If empty, applies to all slotframes";
638 reference
639 "IEEE802154e";
640 }
641 leaf SlotOffset {
642 type uint16;
643 description
644 "Specific slotOffset to which the statistics metrics applies
645 to. If empty, applies to all timeslots";
646 reference
647 "IEEE802154e";
648 }
649 leaf ChannelOffset {
650 type uint16;
651 description
652 "Specific channelOffset to which the statistics metrics
653 applies to. If empty, applies to all channels";
654 reference
655 "IEEE802154e";
656 }
658 leaf NodeAddress {
659 type nodeaddresstype;
660 description
661 "If NodeAddress is empty, applies to all neighbor nodes.";
662 }
664 leaf Metrics {
665 type enumeration {
666 enum macCounterOctets;
667 enum macRetryCount;
668 enum macMultipleRetryCount;
669 enum macTXFailCount;
670 enum macTXSuccessCount;
671 enum macFCSErrorCount;
672 enum macSecurityFailure;
673 enum macDuplicateFrameCount;
674 enum macRXSuccessCount;
675 enum macNACKcount;
676 enum PDR;
677 enum ETX;
678 enum RSSI;
679 enum LQI;
680 }
681 description
682 "The metric to be monitored. Include those provided by
683 underlying IEEE 802.15.4e TSCH -- see table 4i (2012).
684 PDR,ETX,RSSI,LQI are maintained by 6top. ";
685 }
686 leaf Window {
687 type uint16;
688 description
689 "measurement period, in Number of the slotframe size";
690 }
691 leaf Enable {
692 type enumeration {
693 enum DISABLE;
694 enum ENABLE;
695 }
696 default DISABLE;
697 description
698 "indicates the StatisticsMetric is active or not";
699 }
700 }
702 list EBList {
703 key "EbID";
704 min-elements 1;
705 description
706 "List of information related with the EBs used by the node";
708 leaf EbID {
709 type uint8;
710 description
711 "The EB id.";
713 }
714 leaf CellID {
715 type leafref {
716 path "/CellList/CellID";
717 }
718 description
719 "CellID, one in CellList, indicates the cell used
720 to send EB";
722 }
723 leaf Peroid {
724 type uint16;
725 description
726 "The EBs period, in seconds, indicates the interval between
727 two EB sendings";
728 }
729 leaf Expiration {
730 type enumeration {
731 enum NEVERSTOP;
732 enum EXPIRATION;
733 }
734 description
735 "NEVERSTOP- the period of the EB never stops; EXPIRATION-
736 when the Period arrives, the EB will stop.";
737 }
738 leaf Priority {
739 type uint8;
740 description
741 "The joining priority model that will be used for
742 advertisements. Joining priority MAY be for example
743 SAME_AS_PARENT, RANDOM, BEST_PARENT+1 or
744 DAGRANK(rank).";
745 }
746 }
748 container TimeSource {
749 description
750 "specify the timesource selection policy and some relative
751 statistics. ";
752 leaf policy {
753 type enumeration {
754 enum ALLPARENT;
755 enum BESTCONNECTED;
756 enum LOWESTJOINPRIORITY;
757 }
758 default LOWESTJOINPRIORITY;
759 description
760 "indicates the policy to choose timesource.
761 ALLPARENT- choose from all parents;
762 BESTCONNECTED- choose the best-connected node;
763 LOWESTJOINPRIORITY- choose the node with lowest
764 priority in its EB.";
765 }
766 leaf NodeAddress {
767 type nodeaddresstype;
768 description
769 "Specifies the address of selected time source neighbors.";
771 }
772 leaf MinTimeCorrection {
773 type uint16;
774 config false;
775 description
776 "measured in microsecond";
777 }
778 leaf MaxTimeCorrection {
779 type uint16;
780 config false;
781 description
782 "measured in microsecond";
783 }
784 leaf AveTimeCorrection {
785 type uint16;
786 config false;
787 description
788 "measured and computed in microsecond";
789 }
790 }
792 list NeighborList {
793 key "NodeAddress";
794 description
795 "statistics per communication link. ";
796 leaf NodeAddress {
797 type nodeaddresstype;
798 description
799 "Specifies the address of the neighbor.";
800 }
801 leaf RSSI {
802 type uint8;
803 config false;
804 description
805 "The received signal strength";
806 }
807 leaf LinkQuality {
808 type uint8;
809 config false;
810 description
811 "The LQI metric";
812 }
813 leaf ASN {
814 type asntype;
815 config false;
816 description
817 "The 5 ASN bytes, indicates the most recent
818 timeslot when a packet from the neighbor was received";
820 }
821 }
823 list QueueList {
824 key "QueueId";
825 min-elements 1;
826 description
827 "List of Queues, including configuration and statistics.";
828 leaf QueueId {
829 type uint8;
830 description
831 "Queue Identifier";
832 }
833 leaf TxqLength {
834 type uint8;
835 description
836 "The TX queue length in number of packets";
837 }
838 leaf RxqLength {
839 type uint8;
840 description
841 "The RX queue length in number of packets";
842 }
843 leaf NumrTx {
844 type uint8;
845 description
846 "Number of allowed retransmissions.";
847 }
848 leaf Age {
849 type uint16;
850 description
851 "In seconds. Discard packet according to its age
852 on the queue. 0 if no discards are allowed.";
853 }
854 leaf RTXbackoff {
855 type uint8;
856 description
857 "retransmission backoff in number of slotframes.
858 0 if next available timeslot wants to be used.";
859 }
860 leaf StatsWindow {
861 type uint16;
862 description
863 "In second, window of time used to compute stats.";
864 }
865 leaf QueuePriority {
866 type uint8;
867 description
868 "The priority for this queue.";
869 }
870 list TrackIds {
871 key "TrackID";
872 leaf TrackID{
873 type leafref {
874 path "/TrackList/TrackId";
875 }
876 description
877 "The TrackID, one in TrackList, indicates the Track is
878 associated with the Queue.";
879 }
880 description
881 "The track IDs.";
882 }
883 leaf MinLenTXQueue {
884 type uint8;
885 config false;
886 description
887 "Statistics, lowest TX queue length registered
888 in the window.";
889 }
890 leaf MaxLenTXQueue {
891 type uint8;
892 config false;
893 description
894 "Statistics, largest TX queue length registered
895 in the window.";
896 }
897 leaf AvgLenTXQueue {
898 type uint8;
899 config false;
900 description
901 "Statistics, avg TX queue length registered
902 in the window.";
903 }
904 leaf MinLenRXQueue {
905 type uint8;
906 config false;
907 description
908 "Statistics, lowest RX queue length registered
909 in the window.";
910 }
911 leaf MaxLenRXQueue {
912 type uint8;
913 config false;
914 description
915 "Statistics, largest RX queue len registered
916 in the window.";
917 }
918 leaf AvgLenRXQueue {
919 type uint8;
920 config false;
921 description
922 "Statistics, avg RX queue length registered
923 in the window.";
924 }
925 leaf MinRetransmissions {
926 type uint8;
927 config false;
928 description
929 "Statistics, lowest number of retransmissions registered
930 in the window.";
931 }
932 leaf MaxRetransmissions {
933 type uint8;
934 config false;
935 description
936 "Statistics, largest number of retransmissions registered
937 in the window.";
938 }
939 leaf AvgRetransmissions {
940 type uint8;
941 config false;
942 description
943 "Statistics, average number of retransmissions registered
944 in the window.";
945 }
946 leaf MinPacketAge {
947 type uint16;
948 config false;
949 description
950 "Statistics, in seconds, minimum time a packet stayed in
951 the queue during the observed window.";
952 }
953 leaf MaxPacketAge {
954 type uint16;
955 config false;
956 description
957 "Statistics, in seconds, maximum time a packet stayed
958 in the queue during the observed window.";
959 }
960 leaf AvgPacketAge {
961 type uint16;
962 config false;
963 description
964 "Statistics, in seconds, average time a packet stayed in
965 the queue during the observed window.";
966 }
967 leaf MinBackoff {
968 type uint8;
969 config false;
970 description
971 "Statistics, in number of slotframes, minimum Backoff
972 for a packet in the queue during the observed window.";
973 }
974 leaf MaxBackoff {
975 type uint8;
976 config false;
977 description
978 "Statistics, in number of slotframes, maximum Backoff
979 for a packet in the queue during the observed window.";
980 }
981 leaf AvgBackoff {
982 type uint8;
983 config false;
984 description
985 "Statistics, in number of slotframes, average Backoff
986 for a packet in the queue during the observed window.";
987 }
988 }
990 list LabelSwitchList {
991 key "LabelSwitchID";
992 description
993 "List of Label switch' configuration on the node";
995 leaf LabelSwitchID {
996 type uint16;
997 description
998 "The label switch ID.";
1000 }
1001 list InputCellIds {
1002 key "CellID";
1003 leaf CellID{
1004 type leafref {
1005 path "/CellList/CellID";
1006 }
1007 description
1008 "The CellID, indicates the Rx cell on which the packet
1009 will come in.";
1010 }
1011 description
1012 "The input cell IDs.";
1013 }
1014 list OutputCellIds {
1015 key "CellID";
1016 leaf CellID{
1017 type leafref {
1018 path "/CellList/CellID";
1019 }
1020 description
1021 "The CellID, indicates the Tx cell on which the received
1022 packet should be sent out.";
1023 }
1024 description
1025 "The output cell IDs.";
1027 }
1028 leaf LoadBalancingPolicy {
1029 type enumeration {
1030 enum ROUNDROBIN;
1031 enum OTHER;
1032 }
1033 description
1034 "The load-balancing policy.
1035 ROUNDROBIN- Round Robin algorithm is used for
1036 forwarding scheduling.";
1037 }
1038 }
1040 list TrackList {
1041 key "TrackId";
1042 min-elements 1;
1043 unique "TrackOwnerAddr InstanceID";
1044 description
1045 "List of the tracks through the node. At lease the best effort
1046 track is existing";
1048 leaf TrackId {
1049 type uint16;
1050 description
1051 "Track Identifier, named locally. It is used to refer to the
1052 tuple (TrackOwnerAddr, InstanceID).";
1053 }
1054 leaf TrackOwnerAddr {
1055 type uint64;
1056 description
1057 "The address of the node which initializes the process of
1058 creating the track, i.e., the owner of the track;";
1059 }
1060 leaf InstanceID {
1061 type uint16;
1062 description
1063 "InstanceID is an instance identifier given by
1064 the owner of the track. InstanceID comes from
1065 upper layer; InstanceID could for example be
1066 the local instance ID defined in RPL.";
1067 }
1068 }
1070 list ChunkList {
1071 key "ChunkId";
1072 description
1073 "List of the chunks assigned to the node.";
1075 leaf ChunkId{
1076 type uint16;
1077 description
1078 "The identifier of a chunk";
1079 }
1080 leaf SlotframeId{
1081 type leafref {
1082 path "/SlotframeList/SlotframeID";
1083 }
1084 description
1085 "SlotframeID, one in SlotframeList, indicates the
1086 slotframe to which the chunk belongs";
1087 }
1088 leaf SlotBase {
1089 type uint16;
1090 description
1091 "the base slotOffset of the chunk in the slotframe";
1092 }
1093 leaf SlotStep {
1094 type uint8;
1095 description
1096 "the slot incremental of the chunk";
1097 }
1098 leaf ChannelBase {
1099 type uint16;
1100 description
1101 "the base channelOffset of the chunk";
1102 }
1103 leaf ChannelStep {
1104 type uint8;
1105 description
1106 "the channel incremental of the chunk";
1107 }
1108 leaf ChunkSize {
1109 type uint8;
1110 description
1111 "the number of cells in the chunk. The chunk is the set
1112 of (slotOffset(i), channelOffset(i)),
1113 i=0..Chunksize-1,
1114 slotOffset(i)= (slotBase + i * slotStep) % slotframeLen,
1115 channelOffset(i) = (channelBase + i * channelStep) % 16";
1116 }
1117 }
1119 list ChunkCellList {
1120 key "SlotOffset ChannelOffset";
1121 description
1122 "List of all of the cells assigned to the node via the
1123 assignment of chunks.";
1125 leaf SlotOffset{
1126 type uint16;
1127 description
1128 "The slotoffset of a cell which belongs to a Chunk";
1129 }
1130 leaf ChannelOffset{
1131 type uint16;
1132 description
1133 "The channeloffset of a cell which belongs to a chunk.";
1134 }
1135 leaf ChunkId {
1136 type leafref{
1137 path "/ChunkList/ChunkId";
1138 }
1139 description
1140 "Identifier of the chunk the cell belongs to";
1141 }
1142 leaf CellID{
1143 type leafref {
1144 path "/CellList/CellID";
1145 }
1146 description
1147 "Initial value of CellID is 0xFFFF. When the cell is
1148 scheduled, the value of CellID is same as that in
1149 CellList";
1150 }
1151 leaf ChunkCellStatus {
1152 type enumeration {
1153 enum UNSCHEDULED;
1154 enum SCHEDULED;
1155 }
1156 description
1157 "The Cell status in a Chunk.";
1159 }
1160 }
1162 container TSCHSpecificPIBAttributes {
1163 description
1164 "TSCH specific MAC PIB attributes.";
1165 reference
1166 "table 52b in IEEE802.15.4e-2012.";
1168 leaf macMinBE {
1169 type uint8;
1170 description
1171 "defined in Table 52b of IEEE802.15.4e-2012,
1172 The minimum value of the backoff exponent (BE) in the
1173 CSMA-CA algorithm or the TSCH-CA algorithm. default:
1174 3-CSMA-CA, 1-TSCH-CA";
1175 }
1176 leaf macMaxBE {
1177 type uint8;
1178 description
1179 "defined in Table 52b of IEEE802.15.4e-2012,
1180 The maximum value of the backoff exponent (BE) in the
1181 CSMA-CA algorithm or the TSCH-CA algorithm. default:
1182 5-CSMA-CA, 7-TSCH-CA";
1183 }
1184 leaf macDisconnectTime {
1185 type uint16;
1186 description
1187 "defined in Table 52b of IEEE802.15.4e-2012,
1188 Time (in Timeslots) to send out Disassociate frames
1189 before disconnecting, default: 0x00ff";
1190 }
1191 leaf macJoinPriority {
1192 type uint8;
1193 description
1194 "defined in Table 52b of IEEE802.15.4e-2012,
1195 The lowest join priority from the TSCH Synchronization
1196 IE in an Enhanced beacon, default: 1";
1197 }
1198 leaf macASN {
1199 type asntype;
1200 description
1201 "defined in Table 52b of IEEE802.15.4e-2012,
1202 The Absolute Slot Number, i.e., the number of slots
1203 that ha elapsed since the start of the network.";
1205 }
1206 leaf macNoHLBuffers {
1207 type enumeration {
1208 enum TRUE;
1209 enum FALSE;
1210 }
1211 description
1212 "defined in Table 52b of IEEE802.15.4e-2012,
1213 If the value is TRUE, the higher layer receiving the
1214 frame payload cannot buffer it, and the device should
1215 acknowledge frames with a NACK; If FALSE, the higher
1216 layer can accept the frame payload. default: FALSE";
1217 }
1218 }
1220 list TSCHmacTimeslotTemplate {
1221 key "macTimeslotTemplateId";
1222 min-elements 1;
1223 description
1224 "List of all timeslot templates used in the node.";
1225 reference
1226 "table 52e in IEEE802.15.4e-2012.";
1228 leaf macTimeslotTemplateId {
1229 type uint8;
1230 description
1231 "defined in Table 52e of IEEE802.15.4e-2012.
1232 Identifier of Timeslot Template. default: 0";
1233 }
1234 leaf macTsCCAOffset {
1235 type uint16;
1236 description
1237 "The time between the beginning of timeslot and start
1238 of CCA operation, in microsecond. default: 1800";
1239 }
1240 leaf macTsCCA {
1241 type uint16;
1242 description
1243 "Duration of CCA, in microsecond. default: 128";
1244 }
1245 leaf macTsTxOffset {
1246 type uint16;
1247 description
1248 "The time between the beginning of the timeslot and
1249 the start of frame transmission, in microsecond.
1250 default: 2120";
1251 }
1252 leaf macTsRxOffset {
1253 type uint16;
1254 description
1255 "Beginning of the timeslot to when the receiver shall
1256 be listening, in microsecond. default: 1120";
1257 }
1258 leaf macTsRxAckDelay {
1259 type uint16;
1260 description
1261 "End of frame to when the transmitter shall listen for
1262 Acknowledgment, in microsecond. default: 800";
1263 }
1264 leaf macTsTxAckDelay {
1265 type uint16;
1266 description
1267 "End of frame to start of Acknowledgment, in
1268 microsecond.
1269 default: 1000";
1270 }
1271 leaf macTsRxWait {
1272 type uint16;
1273 description
1274 "The time to wait for start of frame, in microsecond.
1275 default: 2200";
1276 }
1277 leaf macTsAckWait {
1278 type uint16;
1279 description
1280 "The minimum time to wait for start of an
1281 Acknowledgment, in microsecond. default: 400";
1282 }
1283 leaf macTsRxTx {
1284 type uint16;
1285 description
1286 "Transmit to Receive turnaround, in microsecond.
1287 default: 192";
1288 }
1289 leaf macTsMaxAck {
1290 type uint16;
1291 description
1292 "Transmission time to send Acknowledgment,in
1293 microsecond. default: 2400";
1294 }
1295 leaf macTsMaxTx {
1296 type uint16;
1297 description
1298 "Transmission time to send the maximum length frame,
1299 in microsecond. default: 4256";
1300 }
1301 leaf macTsTimeslotLength {
1302 type uint16;
1303 description
1304 "The total length of the timeslot including any unused
1305 time after frame transmission and Acknowledgment,
1306 in microsecond. default: 10000";
1307 }
1308 }
1310 list TSCHHoppingSequence {
1311 key "macHoppingSequenceID";
1312 min-elements 1;
1313 description
1314 "List of all channel hopping sequences used in the
1315 nodes";
1316 reference
1317 "Table 52f of IEEE802.15.4e-2012";
1319 leaf macHoppingSequenceID {
1320 type uint8;
1321 description
1322 "defined in Table 52f of IEEE802.15.4e-2012.
1323 Each hopping sequence has a unique ID. default: 0";
1324 }
1325 leaf macChannelPage {
1326 type uint8;
1327 description
1328 "Corresponds to the 5 MSBs (b27, ..., b31) of a row
1329 in phyChannelsSupported. Note this may not correspond
1330 to the current channelPage in use.";
1331 }
1332 leaf macNumberOfChannels {
1333 type uint16;
1334 description
1335 "Number of channels supported by the PHY on this
1336 channelPage.";
1337 }
1338 leaf macPhyConfiguration {
1339 type uint32;
1340 description
1341 "For channel pages 0 to 6, the 27 LSBs(b0, b1, ...,
1342 b26) indicate the status (1 = to be used, 0 = not to
1343 be used) for each of the up to 27 valid channels
1344 available to the PHY. For pages 7 and 8, the 27 LSBs
1345 indicate the configuration of the PHY, and the channel
1346 list is contained in the extendedBitmap.";
1347 }
1348 leaf macExtendedBitmap {
1349 type uint64;
1350 description
1351 "For pages 7 and 8, a bitmap of numberOfChannels bits,
1352 where bk shall indicate the status of channel k for
1353 each of the up to numberOfChannels valid channels
1354 supported by that channel page and phyConfiguration.
1355 Otherwise field is empty.";
1356 }
1357 leaf macHoppingSequenceLength {
1358 type uint16;
1359 description
1360 "The number of channels in the Hopping Sequence.
1361 Does not necessarily equal numberOfChannels.";
1362 }
1363 list macHoppingSequenceList {
1364 key "HoppingChannelID";
1365 leaf HoppingChannelID {
1366 type uint16;
1367 description
1368 "channels to be hopped over";
1369 }
1370 description
1371 "The hopping sequence";
1373 }
1374 leaf macCurrentHop {
1375 type uint16;
1376 config false;
1377 description
1378 "Index of the current position in the hopping sequence
1379 list.";
1380 }
1381 }
1383 container SecurityAttributes{
1384 description
1385 "The Security Attributes Container.";
1387 leaf-list K1{
1388 type uint8;
1389 config true;
1390 min-elements 16;
1391 description
1392 "The key is used to authenticate EBs.
1393 The default value of the key is
1394 36 54 69 53 43 48 20 6D 69 6E 69 6D 61 6C 31 35
1395 ,i.e. 6TiSCH minimal15.";
1396 }
1398 leaf EBSecurityLevel{
1399 type enumeration {
1400 enum NONE;
1401 enum MIC-32;
1402 }
1403 description
1404 "The security level respective to the EB key.";
1405 }
1407 list K2List{
1408 key "NodeAddress";
1409 description
1410 "The keys are shared with neighbors, used to authenticate
1411 and/or encrypt DATA, ACKNOWLEDGEMENT, MAC COMMAND frame.";
1413 leaf NodeAddress {
1414 type nodeaddresstype;
1415 description
1416 "Specifies the address of the neighbor(s) sharing the key.
1417 The address could be broadcast/unicast address.";
1418 }
1419 leaf-list K2{
1420 type uint8;
1421 min-elements 16;
1422 config true;
1423 description
1424 "The key is used as shared key with
1425 the specific neighbor";
1426 }
1427 leaf SecurityLevel{
1428 type enumeration {
1429 enum NONE;
1430 enum MIC-32;
1431 enum MIC-64;
1432 enum MIC-128;
1433 enum ENC;
1434 enum ENC-MIC-32;
1435 enum ENC-MIC-64;
1436 enum ENC-MIC-128;
1437 }
1438 description
1439 "The security level respective to
1440 the specific shared key.";
1441 }
1442 }
1443 }
1444 }
1446 4.2. Yang Model for the Security aspects of 6top
1448 The [I-D.ietf-6tisch-architecture] and
1449 [I-D.richardson-6tisch--security-6top] define the attributes needed
1450 to secure network bootstraping and joining and authentication
1451 processes. The SecurityAttributes container in the included yang
1452 model above contains attributes that are exposed by 6top interface to
1453 enable access and configuration to the security mechanisms carried
1454 out by 6top management entity.
1456 5. References
1458 5.1. Normative References
1460 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
1461 Requirement Levels", BCP 14, RFC 2119, March 1997.
1463 5.2. Informative References
1465 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
1466 Network Configuration Protocol (NETCONF)", RFC 6020,
1467 October 2010.
1469 [I-D.ietf-6tisch-tsch]
1470 Watteyne, T., Palattella, M., and L. Grieco, "Using
1471 IEEE802.15.4e TSCH in an IoT context: Overview, Problem
1472 Statement and Goals", draft-ietf-6tisch-tsch-06 (work in
1473 progress), March 2015.
1475 [I-D.ietf-6tisch-architecture]
1476 Thubert, P., "An Architecture for IPv6 over the TSCH mode
1477 of IEEE 802.15.4", draft-ietf-6tisch-architecture-08 (work
1478 in progress), May 2015.
1480 [I-D.ietf-6tisch-terminology]
1481 Palattella, M., Thubert, P., Watteyne, T., and Q. Wang,
1482 "Terminology in IPv6 over the TSCH mode of IEEE
1483 802.15.4e", draft-ietf-6tisch-terminology-04 (work in
1484 progress), March 2015.
1486 [I-D.ietf-6tisch-minimal]
1487 Vilajosana, X. and K. Pister, "Minimal 6TiSCH
1488 Configuration", draft-ietf-6tisch-minimal-09 (work in
1489 progress), June 2015.
1491 [I-D.wang-6tisch-6top-sublayer]
1492 Wang, Q., Vilajosana, X., and T. Watteyne, "6TiSCH
1493 Operation Sublayer (6top)", draft-wang-6tisch-6top-
1494 sublayer-01 (work in progress), July 2014.
1496 [I-D.ietf-6tisch-coap]
1497 Sudhaakar, R. and P. Zand, "6TiSCH Resource Management and
1498 Interaction using CoAP", draft-ietf-6tisch-coap-03 (work
1499 in progress), March 2015.
1501 [I-D.richardson-6tisch--security-6top]
1502 Richardson, M., "6tisch secure join using 6top", draft-
1503 richardson-6tisch--security-6top-04 (work in progress),
1504 November 2014.
1506 5.3. External Informative References
1508 [IEEE802154e]
1509 IEEE standard for Information Technology, "IEEE std.
1510 802.15.4e, Part. 15.4: Low-Rate Wireless Personal Area
1511 Networks (LR-WPANs) Amendment 1: MAC sublayer", April
1512 2012.
1514 [IEEE802154]
1515 IEEE standard for Information Technology, "IEEE std.
1516 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC)
1517 and Physical Layer (PHY) Specifications for Low-Rate
1518 Wireless Personal Area Networks", June 2011.
1520 [OpenWSN] Watteyne, T., Vilajosana, X., Kerkez, B., Chraim, F.,
1521 Weekly, K., Wang, Q., Glaser, S., and K. Pister, "OpenWSN:
1522 a Standards-Based Low-Power Wireless Development
1523 Environment", Transactions on Emerging Telecommunications
1524 Technologies , August 2012.
1526 [morell04label]
1527 Morell, A., Vilajosana, X., Lopez-Vicario, J., and T.
1528 Watteyne, "Label Switching over IEEE802.15.4e Networks.
1529 Transactions on Emerging Telecommunications Technologies",
1530 June 2013.
1532 Authors' Addresses
1533 Qin Wang (editor)
1534 Univ. of Sci. and Tech. Beijing
1535 30 Xueyuan Road
1536 Beijing, Hebei 100083
1537 China
1539 Phone: +86 (10) 6233 4781
1540 Email: wangqin@ies.ustb.edu.cn
1542 Xavier Vilajosana
1543 Universitat Oberta de Catalunya
1544 156 Rambla Poblenou
1545 Barcelona, Catalonia 08018
1546 Spain
1548 Phone: +34 (646) 633 681
1549 Email: xvilajosana@uoc.edu