出处:http://blog.csdn.net/tidyjiang/article/details/51532877
5.5.4 提高成功传输的几率
EEE 802.15.4 LR-WPAN引入了许多机制提高数据成功传输的几率,包括CSMA/CA, 帧确认,数据校验。5.5.4.1到5.5.4.3将简要介绍这些机制。
5.5.4.1 CSMA/CA机制
依赖于网络配置,IEEE 802.15.4 LR-WPAN存在两种信道访问机制。非信标模式的PAN使用非时隙的CSMA/CA访问信道,这将在7.5.1中描述。当设备每次想传输数据帧或者命令帧时,它会等待一个随机时间,然后再判断信道是否是空闲的。如果发现信道是空闲的,设备就可以传输它的数据。如果发现忙,信道会再次等待另一个随机时间,然后再尝试访问信道。发送确认帧时不使用CSMA/CA机制。
信标模式的PAN使用时隙CSMA/CA机制访问信道,且其退避时隙与信标是对齐的。一个PAN网络内的所有设备的退避时隙与PAN协调器是对齐的。当设备每次想在竞争接入阶段传递数据帧时,它将定位在下一个退避时隙时刻,然后等待随机个退避时隙再进行信道忙闲检测。如果信道依然忙,设备将再次等待随机个退避时隙,然后再次尝试访问信道。如果信道是空闲的,设备就在下一个退避时隙内传输数据。确认帧和信标帧不适用CSMA/CA机制。
5.5.4.2 帧确认机制
当接收端成功接收到(并校验)数据帧或者MAC命令帧,可以根据需要发送一个确认帧。如果接收设备由于某种原因不能处理接收的数据帧,就不会发送确认帧。
如果发送方在发送后的一段时间内没有收到确认帧,它就认为传输失败,并进行重传。如果经过多次重传后依然没有收到确认帧,发送方可以选择终止传输或者再次尝试。如果不需要接收帧,发送方则总是假设传输是成功的。
5.5.4.3 数据校验
为了检测位错误,使用了一个FCS机制。FCS机制采用CRC校验来检测每帧是否有错误。
7.2.1.9将讨论FCS机制。
5.5.5 电源消耗
在使用本标准的很多应用中,设备都是通过电池供电的,替换电池或者经常充电是不现实的。因此,电源消耗是一个重点关注的内容。在开发本标准时,制定者们的脑海中一直记得有限电源供应的概念。不过,本标准的物理实现需要考虑额外的电源管理,这不属于本标准的讨论范围。
本协议非常适合于电池供电的设备。为了达到节能的目的,电池供电的设备需要周期性暂停(duty-cycling,不知道咋翻译),因此设备多数时候都处于睡眠状态。不过,设备也需要周期性侦听RF信道,以判断是否有消息到来。因此,应用设计者需要在电池消耗与消息延迟之间做权衡。如果设备供电充足,完全可以连续地侦听RF信道。
5.5.6 安全
从安全的角度考虑,无线ad hoc网络与其它任何无线网络没有任何不同。由于对电报的访问不需要加入到通信的过程中,所以无线网络很容易被攻击,比如被窃听,甚至被篡改。ad hoc网络的自身特性以及追求低成本增加了额外的安全约束条件,这可能导致这些网络更难处理安全问题。 由于设备是低成本的,所以它的计算能力、存储容量、电源供应都是有限的。通信不能依赖固定基础设施的网络可用性,也不能依赖之前从来没有通信过的设备的短期关系。这些约束条件严格限制了加密算法和协议的选择,影响了安全架构的设计。建立和维护设备间可信赖的关系需要很小心。大多数安全架构可以在高层实现,因此不属于本标准的讨论范围。
本标准中的加密机制基于对称密钥,利用上层进程提供的密钥。建立、维护这些密钥不属于本标准的讨论范围。该机制假设已经安全实现了密码操作、密钥内容的可靠存储。
该密码机制基于下列安全服务进行组合:
—— 数据机密:保证传输的信息只暴露给对方
—— 数据可靠性:保证传输信息源
—— 重播保护:保证能够检测到多个相同信息
帧的加密保护很灵活,可以使用一个在两个对等设备间共享的密钥(链接密钥),也可以使用一个在一群设备间共享的密钥(组密钥)。相关应用需要在密钥存储和密钥维护成本之间进行权衡。如果在对等通信中使用组密钥,提供的保护只能作用于密钥组之外的其它设备。
关于保护MAC帧的更多密码安全机制的信息信息请参考条款7。
5.6 原语的概念
本子条款服务原语的概念做一个简单介绍,更多信息请参考ISO/IEC 8802.2。
每一层的服务主要完成两种功能:根据它的下层服务要求,为上层提供相应的服务;另一种是根据上层的服务要求,对它的下层提供相应的服务。各项服务是通过服务原语来实现的图14描述了原语的概念,在图中,描述了一个具有 N 个用户的网络中,两个对等用户以及他们与 M 层(或子层)对等协议实体建立连接的服务原语。
服务是由 N 用户和 N 层之间的信息流的描述来指定的。该信息流由离散的瞬时事件构成,以提供服务为特征。每个事件由服务原语组成,它将在一个用户的某一层,通过该层的服务接入点( SAP)与建立对等连接的用户的相同层之间传送。服务原语通过提供一种特定的服务来传输必需的信息。这些服务原语是一个抽象的概念,它们仅仅指出提供的服务内容,而没有指出由谁来提供这些服务。它的定义与其他任何接口的实现无关。
由代表其特点的服务原语和参数的描述来制定一种服务。一种服务可能有一个或多个相关原语,这些原语构成了与具体服务相关的执行指令。每种服务原语提供服务时,可能不带有传输信息,也可能带有多个传输必须的信息参数。
原语通常分为如下面 4 种类型:
—— 请求:请求原语从第 N 用户发送到它的第 N 层,请求服务开始。
—— 指示:指示原语是从第 N 层向第 N 用户发送,指示对于第 N 用户有重要意义的内部 N 层的事件。该事件也许与一个远程服务请求逻辑相关,或者可能是由 N 层的内部事件引起。
—— 响应:响应原语是从第 N 用户向它的第 N 层来表示对用户执行上一条原语调用过程的响应。
—— 确认:确认原语是由第 N 层向第 N 用户发送,用来传送一个或多个前面服务请求原语的执行结果。