Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Clear Channel Assessment (CCA)
La valutazione del canale attraverso una Clear Channel Assessment (CCA) è un processo utilizzato per determinare se il canale di comunicazione è libero o occupato. Durante questo processo, il dispositivo ascolta il canale per un determinato periodo di tempo, chiamato timeout, prima di trasmettere un pacchetto. Il timeout viene programmato per iniziare ad ascoltare i frame ACK ad un offset relativo alla fine della ricezione del frame. Questo timeout viene utilizzato per limitare il tempo di ascolto nel caso in cui l'ACK non venga ricevuto.
In modo simile, il ricevitore definisce un timeout per la ricezione. La ricezione inizia esattamente al timeout, quindi il timeout viene utilizzato per determinare il tempo limite di ascolto nel caso in cui un pacchetto non venga ricevuto. Dopo la ricezione di un pacchetto, viene programmato il timeout per trasmettere l'ACK ad un offset esatto da quando è stato ricevuto, ovvero al termine della ricezione del frame. Questo offset è denominato TsTxAckDelay.
N.B: tutti questi processi devono avvenire entro il tempo limite specificato.
termine del time slot, altrimenti si potreb-bero avere delle collisioni. Per questo motivo sono importanti i timeout, che vengonocalcolati a partire dall'inizio del time slot. Analizziamo la macchina a stati di uno slot di trasmissione (TX). Come si può osserva-re, sono coinvolti diversi componenti software nelle attività dello slot. Questi includono: - Schedule Queue: il database che indica il tipo e l'obiettivo dello slot corrente - inRadio: cui sono memorizzati i pacchetti da inviare - Timer Headers: che consente l'invio immediato dei dati - Timer: che consente di impostare i timeout - Headers: che forniscono funzioni di aiuto per analizzare gli header IEEE 802.15.4 - ULMAC: che incapsula le funzionalità di livello superiore. Quando inizia un timeslot, il nodo chiama getLinkDestination() per ottenere la destinazione di livello link associata dal database Schedule. Poi chiama getPacketToSend() per verificare se c'è unpacchetto in attesa nella coda. In caso affermativo, il pacchetto viene caricato in Radio chiamando loadPacket(). Un timeout viene quindi programmato dal timer per inviare il pacchetto all'esatto offset all'interno dello slot, denominato dallo standard. Quando l'allarme scade, la radio chiama txNow() per inviare il pacchetto. Il segnale viene catturato dalla radio quando il beginOfFrame bit del pacchetto lascia la radio. Il segnale si verifica quando l'ultimo endOfFrame bit del pacchetto lascia la radio. Se il pacchetto deve essere riconosciuto, ciò viene indicato nell'header IEEE 802.15.4. Il nodo schedula un timeout a macTsRxAckDelay per commutare la propria radio in modalità di ricezione. In questo momento la radio è spenta in attesa del timeout. Quando il timeout scade, la radio viene accesa e configurata in modalità di ricezione chiamando rxNow(). Viene programmato un nuovo timeout a guardTime definendo un
periodo di ascolto pa-macTsRxAckDelay guardTime,+ri a due volte il Se un pacchetto viene ricevuto prima del timeout, il se-guardTime.gnale prima e poi verranno catturati dalla radio. Dopo labeginOfFrame endOfFramericezione del frame di conferma, il suo header viene analizzato. Il nodo applica la corre-zione se il vicino è la sua sorgente temporale e notifica ai livelli superiori lo stato dellatrasmissione chiamando notifyTx().
Analogamente analizziamo la macchina a stati di uno slot di ricezione (RX). Le attivitàall'interno di uno slot di ricezione sono simili a quelle dello slot di trasmissione, ma invertendo gli stati radio. Quindi prima si riceve un frame, poi si trasmette un ACK. All'inizio di uno slot RX, il nodo chiama per conoscere la sorgente previ-getLinkSource()sta del pacchetto da ricevere. Successivamente, viene programmato un timeout per ini-ziare l'ascolto. Un nodo deve ascoltare a in modo da ricevere il frame.macTsRxOffsetCAPITOLO 5.
6TISCH 64
Dopo aver ricevuto il frame, la radio è configurata per trasmettere un riconoscimento, se richiesto. In una rete TSCH è necessario che i nodi rimangano sempre sincronizzati in modo tale che tutti sappiano quando uno slot frame inizia e quando termina. Per questo motivo, un dispositivo deve sincronizzare periodicamente il suo timeout interno. Per fare ciò, time source utilizza uno o più nodi vicini come (sorgente temporale).
ES: In questo esempio, il PAN Coordinator agisce come time source per l'intera rete. Il Dispositivo 1 sincronizza il suo timer con quello del PAN Coordinator e con quello del Dispositivo 2. Ugualmente, la sincronizzazione del Dispositivo 2 dipende sia dal PAN Coordinator sia dal Dispositivo 1. Invece il Dispositivo 3 usa come time source il Dispositivo 1.
CAPITOLO 5. 6TISCH 65
Lo standard IEEE 802.15.4e definisce due tecniche di sincronizzazione, una basata sul frame di ACK e l'altra basata sul frame dati.
Nel primo caso (Figura 1),
La sincronizzazione avviene attraverso lo scambio di un frame dati e del suo relativo ACK. Il ricevitore calcola la differenza tra il tempo in cui si aspettava di ricevere il frame dati e la sua ricezione effettiva. Quindi usa il frame di ACK per informare il trasmettitore di questa correzione. Se il ricevitore è un timesource per il trasmettitore, allora quest'ultimo regola il suo timer.
Nel secondo caso (Figura 2) sarà il ricevitore a sincronizzarsi con il trasmettitore. Ogni volta che riceve un frame dati da uno dei suoi time source, il ricevitore calcola la differenza tra il tempo di arrivo previsto e quello effettivo. Quindi utilizza questa informazione per regolare il suo timer interno.
Indipendentemente dalla tecnica adottata, il traffico dati è usato per mantenere implicitamente la sincronizzazione tra un nodo e il suo time source.
Nel caso di assenza di comunicazioni tra i due nodi per un periodo di tempo più lungo, viene utilizzato il keep-alive.
Il dispositivo dovrà mandare un frame dati vuoto (detto message) al nodo time source per innescare il processo di sincronizzazione. Il formato del pacchetto del frame TSCH si adatta all'header del Physical Layer e del Frame Control MAC Layer dello standard IEEE 802.15.4. In particolare, il campo Field (FCF) viene utilizzato per configurare gli attributi del frame. All'interno del FCF è presente il campo che indica se il frame TSCH trasporta gli Information Element (sia nell'header che nel Payload). Tali IE devono essere utilizzati per distribuire informazioni tra i nodi comunicanti. In questo modo possiamo adattare il pacchetto IEEE 802.15.4 all'utilizzo di TSCH.
CAPITOLO 5.6 TISCH
Lo standard IEEE802.15.4 definisce l'elenco degli IE disponibili. In particolare, vediamo quali IE vengono utilizzati da 6TiSCH: Auxiliary Security Header. Inoltre, l'header IEEE802.15.4 contiene il campo Questo campo viene utilizzato per indicare il
livello di sicurezza applicato al frame. In partico-lare, l'Auxiliary Security Header prevede la specifica di alcuni sottocampi. Ad esempio il Frame Counter Suppression segnala l'uso dell'Absolute Slot Number (ASN), il campo Key Source viene utilizzato per identificare l'origine della chiave e quindi delimita-re l'ambito di protezione della chiave e il campo Key Index indica l'indice della chiaveutilizzata tra quelle memorizzate.
5.2 6TiSCH
Lo standard IEEE 802.15.4e insieme a TSCH definiscono i compiti che devono esseresvolti da un nodo per effettuare una comunicazione, ma non descrivono in dettaglio co-me costruirla e mantenerla. Quello che manca è un sottolivello che consenta di gestire CAPITOLO 5. 6TISCH 67lo scheduling TSCH nella rete. Questa mancanza di standardizzazione è attualmente6TiSCH over the TSCH mode of IEEE 802.15.4e), riempita da (IPv6 ovve-ro un protocollo di IETF dedicato all'abilitazione di IPv6 sulla
Modalità TSCH dello standard IEEE 802.15.4e. 6TiSCH fornisce un meccanismo mediante il quale la topologia del Link Layer è abbinata alla topologia di routing. 6TiSCH definisce il sottolivello 6TiSCH Operational, 6top, detto posto sopra al MAC Layer che fornisce primitive di gestione e di controllo per legare il layer IP asincrono con il layer MAC TSCH sincrono.
Possiamo riassumere e confrontare i diversi standard con la seguente tabella:
Standard | Channel Distribution/U-6TiSCH |
---|---|
6TiSCH | Definisce una matrice di utilizzo del canale, detta CDU (Channel Distribution Matrix). Tale matrice è costituita dalle cosiddette celle, dove l'altezza indica il numero di frequenze disponibili (indicizzato da ChannelOffsets) e la larghezza indica il periodo delle operazioni di scheduling (indicizzata da slotOffsets). |
Chunk | La matrice CDU può essere partizionata in blocchi (detti Chunk), dove un Chunk è un elenco noto di celle distribuite nel tempo e nella frequenza, all'interno della matrice CDU. La partizione della |
CDU in blocchi è conosciuta a livello globale da tutti i nodi della rete. In particolare, un nodo che si appropria di un Chunk decide quali trasmissioni avverranno sulle celle del Chunk. Quindi, un Chunk rappresenta una certa quantità di larghezza di banda e può essere visto come una generalizzazione di un canale di trasmissione nel dominio tempo/frequenza.
CAPITOLO 5. 6TISCH
6TiSCH vuole offrire un'architettura che comprenda più standard. L'architettura 6TiSCH ha l'obiettivo di fornire elevata affidabilità e bassa latenza, tipiche dei protocolli Industrial Wireless Sensor Network (IWSN) come WirelessHART e ISA 100.11a.
Una rete 6TiSCH, tipicamente, comprende una serie di piccole reti Mesh wireless collegate da un backbone ad alta velocità.
scheduler
Lo è incaricato di determinare quali time slot sono stati assegnati ai nodi. Questa operazione può essere vista come un problema di ottimizzazione.
In cui i timeslot sono assegnati a coppie di nodi comunicanti per soddisfare i requisiti del livello applicativo. Questi requisiti possono essere espressi come metriche che l'algoritmo di schedulazione deve ottimizzare. Queste metriche possono essere l'allocazione di risorse, il consumo di energia, la latenza o una combinazione di queste. Per consentire la massima flessibilità, la politica di scheduling non è standardizzata da 6TiSCH. Perciò può essere implementata in modo indipendente. Tuttavia vengono fornite delle linee guida per implementare correttamente una politica di scheduling.
Centralizzato: Lo scheduling può essere (ovvero un'entità della rete è responsabile del distribuito calcolo del