Base de conhecimento

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Base de conhecimento

Este tópico foi idealizado com a intenção de juntar informações encontradas sobre o assunto do projeto para formar uma base de conhecimento para o bolsista atual e também para futuros estudantes do câmpus interessados sobre o assunto, seja para a continuação da mesma bolsa ou para um tcc.

uIp

Conjunto mínimo de recursos necessários de uma pilha TCP / IP. Como resultado dessa alteração, o uIP somente lida com uma única interface de rede e não implementa o protocolo UDP, porém possui como foco central os protocolos IP, ICMP e TCP. Deste modo, devido ser mais leve e a sua adaptabilidade aos sistemas com baixos recursos (pouco processamento e pouca memória), a pilha de comunicação uIP acabou se encaixando no âmbito da Internet das Coisas e servindo como um dos pilares principais para a sua execução na prática.

Assim para tais sistemas utiliza-se a pilha uIP que implementa apenas o conjunto mínimo de recursos necessários ao funcionamento do TCP, o que permite retirar alguns dos mecanismos como: janela deslizante, controle de fluxo, controle de congestionamento, dados urgente e cálculos de verificação em prol de uma considerável economia de memória aos sistemas de pequeno porte.

Apesar da maioria das implementações TCP utilizarem a janela deslizante para enviar dados em sucessão sem que seja necessário esperar uma confirmação para cada segmento, o uIP não guarda pacotes enviados e permite que somente um segmento TCP por conexão receba uma confirmação de entrega (frequentemente chamado de acknowledgment ou ack) em determinado tempo, inviabilizando a implementação deste mecanismo, já que tornará a aplicação mais complexa por não guardar os pacotes enviados.

O controle de fluxo é implementado no TCP para prover comunicação entre os mais variados tamanhos de memória de diferentes hosts, onde o destinatário da mensagem indica em uma janela o tamanho disponível em seu buffer. Em uIP, a aplicação não pode enviar mais dados do que o host receptor possa armazenar, a aplicação também não pode enviar mais dados do que a quantidade de bytes enviadas permitida pelo servidor (CONTIKI,2012). Como uIP manuseia apenas um segmento TCP por conexão e o controle de congestionamento serve justamente para limitar o número de conexões simultâneas TCP na rede, este mecanismo não se faz necessário.

Rime

Diferentemente das arquiteturas de comunicação tradicionais, as camadas de abstração da pilha Rime são extremamente simples tanto em relação à interface quanto a implementação e são combinadas para formar abstrações poderosas em alto nível. Por ser tão simples e genérica, cada camada pode ser utilizada para objetivos diferentes. Desse modo, a pilha acaba por simplificar a implementação de protocolos de redes de sensores e facilitando o reuso de código. Rime possui uma arquitetura limitada que não permite uma estrutura totalmente modular, podendo somente ser substituída a camada mais baixa, que é o módulo abc(anonymous best effort broadcast – permite uma abstração de um canal de dezesseis bits em que envia um broadcast sem endereçamento) e a camada de aplicação. Porém, a presença do código de Rime é pequena e leve não ultrapassando dois quilobytes e exigindo requisitos de memória por volta de dez bytes.

RDC

A camada Radio Duty-Cycle (RDC) manipula o período de sono dos nós. Esta camada decide quando pacotes serão transmitidos e garante que os nós estejam acordados quando os pacotes forem recebido.

Framer

O driver Framer é na verdade um conjunto de funções para enquadrar os dados a serem transmitidos e para os dados recebidos. As implementações do Framer estão localizadas no core / net / mac, das quais os mais notáveis são framer-802154 e framer-nullmac.