6LowPAN: mudanças entre as edições
Linha 1: | Linha 1: | ||
=6LowPAN= | =6LowPAN= | ||
Referências: <ref name=Rayes&Salam>Ammar Rayes & Samer Salam. [[Media:InternetOfThingsFromHypeToReality.pdf|Internet of Things From Hype to Reality]]: The Road to Digitization, Springer, 2019.</ref> (p. 125), <ref>Miguel, Márcio Luiz Ferreira. [https://www.ppgia.pucpr.br/pt/arquivos/doutorado/teses/2018/052_Tese_MarcioLuizFerreiraMiguel.pdf Arquitetura SDN para redes de sensores sem fio 6LOWPAN] /, Tese (doutorado) - Pontifícia Universidade Católica do Paraná, Curitiba, 2018.</ref> | Referências: <ref name=Rayes&Salam>Ammar Rayes & Samer Salam. [[Media:InternetOfThingsFromHypeToReality.pdf|Internet of Things From Hype to Reality]]: The Road to Digitization, Springer, 2019.</ref> (p. 125), <ref name=Ferrerira>Miguel, Márcio Luiz Ferreira. [https://www.ppgia.pucpr.br/pt/arquivos/doutorado/teses/2018/052_Tese_MarcioLuizFerreiraMiguel.pdf Arquitetura SDN para redes de sensores sem fio 6LOWPAN] /, Tese (doutorado) - Pontifícia Universidade Católica do Paraná, Curitiba, 2018.</ref> | ||
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'''. | ||
Linha 10: | Linha 10: | ||
[[Arquivo:6lowPAN-header-stack.png|700px]] <ref name=Rayes&Salam/> (p. 126) | [[Arquivo:6lowPAN-header-stack.png|700px]] <ref name=Rayes&Salam/> (p. 126) | ||
==Compactação do cabeçalho IPv6== | |||
Como descreve <ref name=Ferrerira/>, 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, o campo é sempre versão 6 para IPv6, os campos ''Traffic Class'' e o ''Flow Label'' nunca são usados e o campo de comprimento ''Lenght'' é sempre igual ao comprimento do campo IEEE802.15.4 menos o comprimento 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. | |||
==Referências== | ==Referências== |
Edição das 11h36min de 14 de maio de 2020
6LowPAN
Referências: [1] (p. 125), [2]
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.
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.
O tamanho máximo do quadro 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 no quadro para acomodar o datagrama IPv6. Isto traz alguns problemas: primeiro, o cabeçalho do IPv6 é 40 bytes; segundo, o IPv6 não faz fragmentação do datagrama, deixando isto para as estações finais. Para lidar com estes problemas, 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, o campo é sempre versão 6 para IPv6, os campos Traffic Class e o Flow Label nunca são usados e o campo de comprimento Lenght é sempre igual ao comprimento do campo IEEE802.15.4 menos o comprimento 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.
Referências
- ↑ 1,0 1,1 Ammar Rayes & Samer Salam. Internet of Things From Hype to Reality: The Road to Digitization, Springer, 2019.
- ↑ 2,0 2,1 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.