网络层数据流程原语说明
1.数据发送部分原语APSDE-DATA.request(DstAddrMode, //目的地址寻址模式,0x01=16位短地址DstAddress, //ASDU目的实体设备地址DstEndPoin
1.数据发送部分原语
APSDE-DATA.request(
DstAddrMode, //目的地址寻址模式,0x01=16位短地址
DstAddress, //ASDU目的实体设备地址
DstEndPoint, //ASDU目的实体的断点地址
ProfiledId, //该帧应配置的文件标识
ClusterId, //间接寻址时绑定操作中所用对象的标识
SrcEndpoint, //发送ASDU源端点地址
asduLength, //ASDU长度字节数
asdu, //
TxOptions //发送选项
DiscoverRounter,//指定路由发现时采取的措施
RadiusCounter //允许广播帧在网络中传播的跳数
)
APSDE-SAP服务接口实现了在对等的应用实体之间传输应用协议数据单元。APS数据请求原语APSDE-DATA.request请求吧本地NHLE的一个PDU(即ASDU)传输到对等的NHLE实体。当本地NHLE有数据(PDU)需要传输时,就会产生该原语,数据可以采用直接寻址方式发送以及数据加密服务。
NLDE-DATA.request(
DstAddr, //NSDU目的设备地址
NsduLength, //NSDU字节数
Nsdu, //要发送的NSDU
NsduHandle, //NSDU相关句柄
BroadcastRadius, //允许广播帧传输距离
DiscoverRoute, //路由发现
SeurityEnable //信息安全处理
)
本地应用支持层生成该原语,用来传送一个NSDU数据包到对等的应用支持层,原语参数如上所示。
本地网络层数据实体收到该原语后,为传送NSDU包,需要先构造一个NPDU包(网络层协议数据单元)DstAddr的值不为0xFFFF将忽略BroadcastMode和BrocastRadiuds这两个参数。构造好NSDU包后将为NSDU包确定传输路由,确定了NSDU包的传输路由后,通过MCPS-DATA.request原语来发送NSDU包。该原语定义如下:
MCPS-DATA.request(
SrcAddrMode, //MPDU源地址模式0x02=16位短地址
SrcPANId, //源MSDU实体16位PAN标识符
SrcAddr, //源MSDU实体的独立设备地址
DstAddrMode, //MPDU目标地址模式,0x02=16位短地址
DstPanId, //目标MSDU实体的16位PAN标识符
DstAddr, //目标MSDU实体的独立设备地址
msduLength, //MAC层实体发送的MSDU字节数
msdu, //MSDU,MAC层数据服务单元
msduHandle, //MAC层实体发送的MSDU相关句柄
TxOptions, //MSDU传输选项,0x01=应答模式
)
在本原语中,参数SrcAddrMode和DstAddrMode都设为0x02,即使用16为网络地址;SrcPanId和DstPanId参数应设为MAC PIB中的macPANId的值;SrcAddr参数值设为MAC PIB中的macShortAddr值;DstAddr参数值为由由程序所决定的下一跳的地址;TxOptions参数与0X01或运算,所得到的结果非零,表示此次发送需要确认。在网络层实体接收到MCPS-DATA.confirm原语后,网络层实体发送NLDE-DATA.confirm原语,该原语中的参数状态为MAC层所接受到的状态。
如果网络层信息数据库(NIB)中所确定的网络安全级别为一个标准为非零值,并且SecurityEnable值为TRUE,