发送方可能从传输队列中删除数据包,因此接收方无法接收序列中的所有数据包。如果发生此种情况,L2CAP 层将负责检测丢失的数据包。
在不可靠的链路上,接收方可以检测所接收数据中的错误,但无法请求重新传输。接收方传递的数据包可能没有错误,但并不能保证接收到序列中的所有数据包。因此,从根本上来说,应将链路视为不可靠。对这些链路应当限制使用,且在使用时通常应视高层数据有效时的连续重复性而定。
流链路的可靠性特征介于可靠和不可靠链路之间,具体视其当前的运行条件而定。
传输架构实体
Bluetooth 通用数据包结构
通用数据包结构反映了 Bluetooth 系统中的结构层。数据包的设计旨在获得正常操作的最佳使用效果。
数据包通常仅包括代表事务所必须的层的必要字段。因此,通过查询扫描物理信道发出的简单查询请求不会创建或要求逻辑链路或较高层,因而仅包含信道访问码(与物理信道相关联)。因为微微网中的普通通信使用到了所有架构层,所以使用包含所有字段的数据包。
所有数据包均包括信道访问码。它可用于确定特定物理信道上的通信,并排除或忽略在物理邻近区碰巧使用相同射频载波的其它物理信道上的数据包。
Bluetooth 数据包结构中没有代表或包含与物理链路相关的信息的直接字段。此信息暗含在数据包头负载的逻辑传输地址 (LT_ADDR) 中。
大多数数据包包括包头。在支持物理链路、逻辑传输和逻辑链路的物理信道上传输的数据包始终包含包头。包头负载了 LT_ADDR,各个接收设备可使用它来确定数据包是否是传送给该设备的,或者用以在内部路由数据包。
包头还负载有按照逻辑传输运行的 LC 协议部分(运行负载在逻辑传输上的共享 LC 协议的 ACL 或 SCO 传输除外)。
EDR 数据包在净荷之前具有保护时间和同步序列。这是一个用于调制方案物理层变更的字段。
在支持多个逻辑链路的逻辑传输上的所有数据包都包含净荷包头。净荷包头包括一个用于路由净荷的逻辑链路标识符字段,和一个指明净荷长度的字段。某些类型的数据包还在数据包净荷之后包含一个 CRC,以用于检测接收到的数据包中的大部分错误。EDR 数据包在 CRC 后有一个包尾。
数据包净荷用于传输用户数据。此类数据的翻译取决于逻辑传输和逻辑链路标识符。对于 ACL 逻辑传输,LMP 消息和 L2CAP 信令同应用的普通用户数据一起,负载于数据包的净荷中传输。对于 SCO 和 eSCO 逻辑传输,净荷包含逻辑链路的用户数据。
共14页: 上一页 [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] 下一页
|