# Enhanced Beacons Dynamic Transmission over TSCH
## 3 TSCH Implementation in Contiki-NG  
The IETF IPv6 over the TSCH mode of IEEE 802.15.4e (6 TiSCH) working group has standardized protocols to enable low-power, industrial-grade IPv6 networks [25]. 6 TiSCH proposes a protocol stack rooted in the TSCH mode of the IEEE 802.15.4-2015 standard, supports multi-hop topologies with routing protocols for low-power and lossy networks (RPL), and is IPv6-ready via 6 LoWPAN. 6 TiSCH has defined the missing control plane protocols to match link layer resources with the routing topology and the communication needs of the application [26].  
The Contiki-NG implementation uses minimal 6 TiSCH [27] to define the sublayer for node management and TSCH scheduling. This is described in IETF RFC 8180 [28]. The schedule is outside the scope of the TSCH standard and is not fully covered by 6 TiSCH, but does provide a security architecture and simple static programming, including the association process [29]. The IEEE 802.15.4 specification neither defines which EBs are sent nor their content. It is specified that in a minimum TSCH configuration, a node must send an EB within a certain period, which allows a balance between join time and power consumption. Figure 2 illustrates the transmission of EBs in the time domain that a node would carry out to broadcast the presence of the network according to minimal 6 TiSCH configuration.  
The default minimal 6 TiSCH configuration implemented in Contiki-NG establishes a maximum period between transmissions of EBs called _Teb_. The time between the \((j-1)^{th}\) and \(j^{th}\) EB, denoted _Tebj_, follows a uniform distribution, such that _Tebj_\(\sim\)\(U(T_{min},\)_Teb_), where \(T_{min}\) is typically defined as a fraction of _Teb_ (e.g., 0.75_Teb_). _Teb_ can be previously defined and remains unchanged during execution. This minimal mode of operation uses a single slotframe. The TSCH slotframe is composed of an adjustable number of time slots and its structure is advertised in the EB, influencing power consumption. The way to adjust it is outside the scope of RFC 8180, but it is implemented in Contiki-NG. RFC 8180 states that there is only one scheduled cell in each slotframe.  
Regarding the scanning algorithm, nodes with the minimum 6 TiSCH configuration follow a basic network synchronization method, proposed by IEEE 802.15.4, known as passive TSCH scan (PS-TSCH). In [30], the PS-TSCH algorithm is described in detail. A node seeking to join a TSCH network \"listens\" for EBs transmitted by an associated (synchronizer or coordinator) node on channels available in the channel hopping sequence. This scan is performed over the sequence in a round-robin way, starting at a random point. Initially, the nodes initialize an index variable, denoted _Ic_, randomly selected between 0 and \(m-1\). _Ic_ is used to loop through the hopping sequence and the channels involved during the scanning process. Nodes select a channel from the sequence each time they change the channel being scanned following a round-robin strategy, incrementing _Ic_ by 1 and using the module operation to keep it between 0 and \(m-1\). Join-seeker nodes listen on each channel for a configurable period called the _Tchscan_. This time can be configured in the Contiki-NG implementation.  
When a join-seeker node receives an EB, it joins the network. It then starts following the defined schedule, which implements RDC by having idle slots in which the radio can sleep to save energy. It sends its EBs to advertise the network and help other nodes to join. EBs can only be sent if there is a previously configured schedule. The increase in EB transmission rate has a positive impact on the reduction of the average association time per node, as well as on the network formation time.