6LowPAN: mudanças entre as edições
Linha 5: | Linha 5: | ||
Adapta a '''camada rede''' da '''Internet''', no caso o '''IPv6''', para as limitações de '''tamanho do quadro''' impostas pelas redes '''LLN''' (''low-power and lossy networks''), em particular para enlaces '''IEEE 802.15.4'''. | Adapta a '''camada rede''' da '''Internet''', no caso o '''IPv6''', para as limitações de '''tamanho do quadro''' impostas pelas redes '''LLN''' (''low-power and lossy networks''), em particular para enlaces '''IEEE 802.15.4'''. | ||
[[Arquivo:6lowPAN.png]] <ref name=Rayes&Salam/> (p. 126) | [[Arquivo:6lowPAN.png|150px]] <ref name=Rayes&Salam/> (p. 126) | ||
As '''LLN''' são tecnologias de enlace desenvolvidas para dispositivos com limitações de processamento, memória e energia. Outros exemplos de tecnologias '''LLN''' são '''Bluetooth''', PLC''' (''power-line communication''), '''Low Power WiFi''' etc. | As '''LLN''' são tecnologias de enlace desenvolvidas para dispositivos com limitações de processamento, memória e energia. Outros exemplos de tecnologias '''LLN''' são '''Bluetooth''', PLC''' (''power-line communication''), '''Low Power WiFi''' etc. | ||
Linha 19: | Linha 19: | ||
Como descreve <ref name=Ferreira/>, o '''6LoWPAN''' remove alguns campos nos cabeçalhos '''IPv6''' e '''UDP''' por estes possuírem valores conhecidos ou por seus valores poderem ser inferidos a partir de campos no cabeçalho '''IEEE802.15.4'''. No cabeçalho IPv6, a versão é sempre 6, os campos ''Traffic Class'' e ''Flow Label'' não são usados e o comprimento ''Lenght'' é igual ao comprimento do campo IEEE802.15.4 menos tamanho do cabeçalho IPv6. Todos esses campos podem, portanto, serem removidos. O cabeçalho ''Next-Header'' tipicamente aponta para UDP (ou TCP), e assim campo de 8 bits pode ser substituído por um campo de 2 bits, como parte do campo HC1 do cabeçalho 6LoWPAN. Finalmente, os endereços IPv6 de 128 bits podem ser recuperados a partir de endereços MAC de 64 bits, como os campos de origem e destino do IEEE 802.15.4. Isso permite a remoção dos campos de endereço de destino e de origem IPv6. No final, apenas o campo de limite de saltos (''Hop Limit'') tem de estar presente no cabeçalho 6LoWPAN e, do mesmo modo para o UDP, o comprimento pode ser calculado a partir do campo de comprimento do IEEE 802.15.4. Nos casos mais comuns de utilização das redes de sensores, apenas um número limitado de portas é utilizado, de modo que quatro bits são suficientes para descrevê-las, em vez de 8 bits. | Como descreve <ref name=Ferreira/>, o '''6LoWPAN''' remove alguns campos nos cabeçalhos '''IPv6''' e '''UDP''' por estes possuírem valores conhecidos ou por seus valores poderem ser inferidos a partir de campos no cabeçalho '''IEEE802.15.4'''. No cabeçalho IPv6, a versão é sempre 6, os campos ''Traffic Class'' e ''Flow Label'' não são usados e o comprimento ''Lenght'' é igual ao comprimento do campo IEEE802.15.4 menos tamanho do cabeçalho IPv6. Todos esses campos podem, portanto, serem removidos. O cabeçalho ''Next-Header'' tipicamente aponta para UDP (ou TCP), e assim campo de 8 bits pode ser substituído por um campo de 2 bits, como parte do campo HC1 do cabeçalho 6LoWPAN. Finalmente, os endereços IPv6 de 128 bits podem ser recuperados a partir de endereços MAC de 64 bits, como os campos de origem e destino do IEEE 802.15.4. Isso permite a remoção dos campos de endereço de destino e de origem IPv6. No final, apenas o campo de limite de saltos (''Hop Limit'') tem de estar presente no cabeçalho 6LoWPAN e, do mesmo modo para o UDP, o comprimento pode ser calculado a partir do campo de comprimento do IEEE 802.15.4. Nos casos mais comuns de utilização das redes de sensores, apenas um número limitado de portas é utilizado, de modo que quatro bits são suficientes para descrevê-las, em vez de 8 bits. | ||
[[Arquivo:Cabecalho-6LowPAN.png| | [[Arquivo:Cabecalho-6LowPAN.png|500px]] <ref name=Ferreira/> (p. 16) | ||
==Referências== | ==Referências== |
Edição das 13h21min de 14 de maio de 2020
6LowPAN
Referências: [1] (p. 125), [2], [3]
Adapta a camada rede da Internet, no caso o IPv6, para as limitações de tamanho do quadro impostas pelas redes LLN (low-power and lossy networks), em particular para enlaces IEEE 802.15.4.
[1] (p. 126)
As LLN são tecnologias de enlace desenvolvidas para dispositivos com limitações de processamento, memória e energia. Outros exemplos de tecnologias LLN são Bluetooth, PLC (power-line communication), Low Power WiFi etc.
As redes IEEE 802.15.4 definem quatro tipos de quadros: quadros beacon, quadros de comando MAC, quadros de reconhecimento e quadros de dados. Os pacotes IPv6 devem ser carregados por quadros de dados.
O tamanho máximo do quadro de dados numa rede IEEE 802.15.4 é 127 bytes, com 25 bytes reservados para o cabeçalho e 21 bytes para o mecanismo de segurança da camada enlace. Sobram, portanto, 81 bytes para acomodar o datagrama IPv6. Obviamente isto não dá para acomodar um pacote de tamanho mínimo IPv6 de 1280 octetos, e também, a questão da fragmentação e remontagem de pacotes IPv6 usa octetos extra e deve ser prevista para a camada inferior. Para lidar com esta limitação de espaço foi desenvolvido o 6LowPAN, o qual realiza três funções principais: compactação do cabeçalho IPv6, suporte para fragmentação e remontagem do IPv6 e roteamento no nível da camada 2 (para topologias mesh). Para isto, foram definidos três tipos de cabeçalhos, mostrados na figura.
[1] (p. 126)
Compactação do cabeçalho IPv6
Como descreve [2], o 6LoWPAN remove alguns campos nos cabeçalhos IPv6 e UDP por estes possuírem valores conhecidos ou por seus valores poderem ser inferidos a partir de campos no cabeçalho IEEE802.15.4. No cabeçalho IPv6, a versão é sempre 6, os campos Traffic Class e Flow Label não são usados e o comprimento Lenght é igual ao comprimento do campo IEEE802.15.4 menos tamanho do cabeçalho IPv6. Todos esses campos podem, portanto, serem removidos. O cabeçalho Next-Header tipicamente aponta para UDP (ou TCP), e assim campo de 8 bits pode ser substituído por um campo de 2 bits, como parte do campo HC1 do cabeçalho 6LoWPAN. Finalmente, os endereços IPv6 de 128 bits podem ser recuperados a partir de endereços MAC de 64 bits, como os campos de origem e destino do IEEE 802.15.4. Isso permite a remoção dos campos de endereço de destino e de origem IPv6. No final, apenas o campo de limite de saltos (Hop Limit) tem de estar presente no cabeçalho 6LoWPAN e, do mesmo modo para o UDP, o comprimento pode ser calculado a partir do campo de comprimento do IEEE 802.15.4. Nos casos mais comuns de utilização das redes de sensores, apenas um número limitado de portas é utilizado, de modo que quatro bits são suficientes para descrevê-las, em vez de 8 bits.
[2] (p. 16)
Referências
- ↑ 1,0 1,1 1,2 Ammar Rayes & Samer Salam. Internet of Things From Hype to Reality: The Road to Digitization, Springer, 2019.
- ↑ 2,0 2,1 2,2 Miguel, Márcio Luiz Ferreira. Arquitetura SDN para redes de sensores sem fio 6LOWPAN /, Tese (doutorado) - Pontifícia Universidade Católica do Paraná, Curitiba, 2018.
- ↑ https://www.rfc-editor.org/rfc/rfc4944.txt