为了能使IPv6在LoWPAN设备上运行,应该做好以下几方面的工作:
1.IPv6协议栈的裁剪
LoWPAN 网络节点一般都是低功耗、低速率、低存储空间的嵌入式微型节点,为了使这些节点能够与互联网上的节点进行直接通信,部署在这些节点上的网络协议必须与IP 网络的协议和功能相兼容。然而,标准的IPv6 协议对于代码和存储器的要求都大大超过了这些节点存储资源的承受能力。因此,需要对IPv6 协议进行裁剪,只保留必需的那些功能集合。同时,网络协议栈的设计必须是与应用无关的,这样才能保证不同的LoWPAN 之间可以相互通信。随着IPv6 的发展和应用,必须设计出微型的IPv6 协议栈来适应大多数物联网设备资源受限的特殊情况。
2.数据报的分片和重组
在LoWPAN 网络中,MAC 层每一帧的长度为127 字节,IEEE 802.15.4 能为网络提供的有效负载长度为80~100 字节,而IPv6 数据报的最大传输单元为1280字节,这样就造成许多IPv6数据报不能完整地在单个IEEE 802.15.4帧上进行传输。为了解决这一问题,IPv6 数据报从网络层交付给链路层的过程中,协议栈需要分割IPv6 数据报,即使用数据报分片和重组技术。这里需要考虑两个关键问题:一是保证分片后数据报的顺序不能被打乱,可以在接收端重组成原来的IPv6 数据报递交给网络层;二是分片后的小数据报片如果在传输中丢失,需解决对丢失的数据报进行重传还是重传整个IPv6 数据报的问题。
3.数据报首部压缩(www.xing528.com)
对于低速率低功耗LoWPAN 网络来说,承载完整的IPv6 数据报报头是负担。例如,IPv6报头往往长达40字节,而一般的LoWPAN 的MAC 层的每帧长度是127 字节,如果每帧都包含完整的IPv6 报头,网络层有效负载最多只剩下40字节。因此,IPv6报头压缩是非常有必要的,甚至是必须的。
4.网络路由方式选择
互联网中的路由功能是在网络层提供的,目的是使下层协议能够专注于完成链路层传输的功能。LoWPAN 等通常具有复杂的网状拓扑结构,为了在网状拓扑结构中完成路由选择,除了可以在网络层提供路由功能外,IP 化的LoWPAN 往往还能够在链路层提供路由功能,以简化网络层的设计。究竟使用哪一层的路由功能,还需根据实际情况来确定。然而,设计LoWPAN 的路由协议时,无论是采用链路层路由还是网络层路由,都需要考虑节点的存储资源、睡眠调度机制、节点能源获取方式等问题。
5.无状态自动配置
LoWPAN 是一种自组织网络,如传感器网络的节点需在无人干预的情况下自动完成配置和组网功能,而且LoWPAN 动态性强,节点可能会随时加入或者离开网络。因此,在传统IP 基础上,需要引入新的机制,以适应自动化获取网络地址,动态发现和配置新邻居的要求。标准的IPv6 协议使用邻居发现技术来发现其他设备的存在,并进行无状态地址自动配置,但邻居发现技术只能用在处于同一网段中的节点。如果LoWPAN 使用的是链路层路由技术,那么整个网络都属于同一个网段,那就可以使用邻居发现技术进行配置。如果使用网络层路由技术,网络被划分为许多不同的网段,因此需要对邻居发现技术进行改进,以适应网络层路由需要。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。