发明内容
本发明的目的在于结合IEEE802.16e协议支持的对服务数据单元进行分段打包的机制(包括分段子头、打包子头等),提供一种宽带无线城域网中在发送端对服务数据单元(SDU)进行分段、打包生成协议数据单元(PDU),在接收端对收到的协议数据单元(PDU)进行重组的数据处理方法和处理装置。
为了达到上述目的,本发明提供如下技术方案:
一种无线网络媒体接入控制系统数据处理装置,包括:位于发送端的数据分类处理器,和与所述数据分类处理器连接的不分段不打包处理器、分段处理器、打包处理器和既分段又打包处理器,其中:
所述数据分类处理器,判断来自应用层的服务数据单元或属于媒体接入控制管理消息类型的服务数据单元是否支持分段和/或打包并相应分发到不分段不打包处理器、分段处理器、打包处理器或既分段又打包处理器;
所述不分段不打包处理器、分段处理器、打包处理器和既分段又打包处理器,用于将所述数据分类处理器发来的服务数据单元生成协议数据单元;
其中,所述不分段不打包处理器判断所述服务数据单元是否过期,如果是,则丢弃所述服务数据单元;如果否,则继续判断来自应用层的所述服务数据单元是否小于规定的最大服务数据单元长度并且判断当前剩余发送带宽是否能够发送所述服务数据单元,如果该两个判断结果均为是,则生成协议数据单元,否则,丢弃所述服务数据单元;以及
其中,所述分段处理器判断所述服务数据单元是否属于支持自动请求重传连接的服务流或发送管理消息所用连接,如果是,则交由采用自动请求重传技术的处理单元进行处理;否则,
判断所述服务数据单元是否过期,如果是,则丢弃服务数据单元;如果否,则继续判断当前剩余发送带宽是否大于所述服务数据单元加上媒体接入控制头的长度并且判断所述服务数据单元加上媒体接入控制头的长度是否小于规定的最大服务数据单元长度,如果均为是,则生成协议数据单元,否则,对所述服务数据单元进行分段,然后生成协议数据单元;
其中,所述打包处理器判断当前剩余发送带宽是否能够发送所述服务数据单元,如果是,则将所述服务数据单元缓存;如果否,则将已经缓存的待打包服务数据单元打包成协议数据单元,并且
所述打包处理器在判断当前剩余发送带宽是否能够发送所述服务数据单元之前,还判断所述服务数据单元是否过期,如果是,则丢弃该服务数据单元;如果否,则继续;并且
所述打包处理器在判断当前剩余发送带宽是否能够发送所述服务数据单元之后,如果判断结果为是,则再判断打包后协议数据单元是否小于规定的最大协议数据单元长度,如果是,则将所述服务数据单元缓存,如果否,则将已经缓存的待打包服务数据单元打包成协议数据单元;以及
所述既分段又打包处理器判断当前剩余发送带宽是否能够将所述服务数据单元打包,如果是,则将所述服务数据单元缓存;如果否,则再判断剩余发送带宽是否能将所述服务数据单元分段后打包发送,如果是,则将所述服务数据单元的分段和缓存的服务数据单元打包成协议数据单元,如果否,则将已缓存的服务数据单元打包成协议数据单元;并且
所述既分段又打包处理器在判断当前剩余发送带宽是否能够将所述服务数据单元打包之前,判断所述服务数据单元是否过期,如果是,则丢弃该服务数据单元,如果否,则继续;并且
所述既分段又打包处理器当判断当前剩余发送带宽是否能够将进入该处理器的整个服务数据单元打包的结果为是时,还判断打包后的协议数据单元是否小于规定的最大协议单元长度,如果是,则将所述服务数据单元缓存;如果否,则再判断剩余发送带宽是否能将所述服务数据单元分段后打包,如果是,则将此服务数据单元的分段与缓存的数据包一起打包发送,如果否,则将已缓存的服务数据单元打包生成协议数据单元。
优选地,所述分段处理器将所述服务数据单元被分段后未发送的剩余分段存储在服务流或发送管理消息所用连接中,在下一次发送过程中发送。
优选地,所述分段处理器还用于对所述剩余分段再进行分段。
优选地,还包括加密处理器,用于对所述协议数据单元加密后发送。
优选地,所述不分段不打包处理器在生成所述协议数据单元以后,判断此数据是否需要加密处理,若需要,则交由加密处理器处理,否则,直接发送所述协议数据单元;
所述分段处理器在生成所述协议数据单元后,判断此数据是否需要加密处理,若需要,则交由加密处理器处理,否则,直接发送所述协议数据单元;
所述打包处理器在生成所述协议数据单元以后判断此数据是否需要加密处理,若需要,则交由加密处理器处理,否则,直接发送所述协议数据单元;
所述既分段又打包处理器生成所述协议数据单元后,判断此数据是否需要加密处理,若需要,则交由加密处理器处理,否则,直接发送所述协议数据单元。
优选地,还包括:位于接收端的协议数据单元分类处理器,和与所述协议数据单元分类处理器连接的重组处理器、解包处理器;其中:
所述协议数据单元分类处理器,用于判断协议数据单元中是否含有分段子头或打包子头,如果否,则直接输出;如果是,则将只含有分段子头的协议数据单元发送给重组处理器,将含有打包子头的协议数据单元发送给解包处理器;
所述重组处理器,用于对只含有分段子头的协议数据单元进行解析重组生成服务数据单元;
所述解包处理器,用于对含有打包子头的协议数据单元进行解析重组生成服务数据单元。
优选地,所述重组处理器,用于解析分段子头获得分段管理标识位、分段序列号信息,并将分段序列号与服务流或发送管理消息所用连接上存储的分段序列号进行比较,如果二者相等,则组装分段数据;如果二者不相等,进行错误处理。
优选地,所述重组处理器解析分段子头获得分段管理标识位、分段序列号信息并将分段序列号与服务流或发送管理消息所用连接上存储的分段序列号进行比较,如果二者相等时,将分段管理标识位表示是独立的服务数据单元的数据包交给网络实体中的应用层;将分段管理标识位表示收到的是服务数据单元的最后一个分段的数据包,连同服务流或发送管理消息所用连接上缓存的分段一起组装成一个完整的服务数据单元;将分段管理标识位表示是服务数据单元的第一个分段的数据包保存,并清空此服务流或发送管理消息所用连接上缓存的分段;将分段管理标识位表示是服务数据单元的中间分段的数据包保存;在对每一个数据包进行处理后,令服务流或发送管理消息所用连接中缓存的分段序列号更新为下一个数据包的分段序列号。
优选地,所述重组处理器在当收到的数据包的分段序列号与服务流或发送管理消息所用连接上缓存的分段序列号不相同时,根据分段管理标识位的不同值进行如下处理:对于分段管理标识位表示该数据包是独立的服务数据单元的,则将该数据包交给网络实体中的应用层,并将服务流或发送管理消息所用连接中缓存的分段序列号更新为下一个数据包的分段序列号;对于分段管理标识位表示该数据包是服务数据单元的第一个分段的,则清空此服务流或发送管理消息所用连接上缓存的分段,保存此数据包并将服务流或发送管理消息所用连接中缓存的分段序列号更新为下一个数据包的分段序列号;对于分段管理标识位表示该数据包为错误的数据包的,则将该数据包丢弃。
优选地,所述解包处理器解析协议数据单元的每一个数据包中的打包子头,并获得每个打包子头中的分段管理标识位、分段序列号、长度信息,对每个数据包根据分段管理标识位的不同值进行如下处理:对分段管理标识位表示该数据包是独立的服务数据单元的,则将该数据包交给网络实体中的应用层,并将服务流或发送管理消息所用连接中缓存的分段序列号更新为下一个数据包的分段序列号;对分段管理标识位表示该数据包是服务数据单元的第一个分段的,则清空此服务流或发送管理消息所用连接上缓存的分段,保存此数据包,并将服务流或发送管理消息所用连接中缓存的分段序列号更新为下一个数据包的分段序列号;分段管理标识位表示该数据包为错误的数据包的,则将该数据包丢弃。
优选地,所述协议数据单元分类处理器中包括一个解密处理器,用于对加密的协议数据单元解密。
优选地,所述协议数据单元分类处理器接收到发送端发来的数据链后,在判断协议数据单元中是否含有分段子头或打包子头之前,首先判断其中数据链消息的类型,除协议数据单元类型之外的消息直接解析处理;对于协议数据单元类型的数据链消息,找出有效的协议数据单元并判断其媒体接入控制头类型,如果头类型是带宽请求头,则申请带宽;如果头类型是通用媒体接入控制头,则将被加密的协议数据单元发送给解密处理器解密;
判断所述协议数据单元中是否含有分段子头或打包子头,具体包括:如果没有被加密的协议数据单元和已经解密的协议数据单元中包含分段子头,并且服务流或发送管理消息所用连接支持自动请求重传,则将协议数据单元发给采用自动请求重传技术的处理单元处理;如果协议数据单元中仅包含分段子头,则将协议数据单元发送给重组处理器;如果协议数据单元中不包含分段子头,则判断是否包含打包子头,若包含打包子头,则将该协议数据单元发送给解包处理器;
所述协议数据单元分类处理器还用于对于解包处理器和分段处理器生成的服务数据单元分类处理:如果所述服务数据单元是管理消息,则交给媒体接入控制处理单元处理,如果所述服务数据单元是服务数据则交给应用层处理。
一种无线网络媒体接入控制系统数据处理方法,包括如下步骤:
步骤S1.1:当有服务数据单元需要发送时,对服务数据单元进行分类处理:若服务数据单元不支持分段也不支持打包处理,则进入步骤S1.2,若服务数据单元支持分段处理,则进入步骤S1.3,若服务数据单元支持打包处理,则进入步骤S1.4,若服务数据单元既支持打包又支持分段处理,则进入步骤S1.5;
步骤S1.2:检查所述服务数据单元是否已过期,如果已过期则丢弃所述服务数据单元,否则检查所述服务数据单元长度是否大于当前剩余发送带宽和所述服务数据单元长度是否大于规定的最大服务数据单元长度,若两者均不大于,则生成协议数据单元并发送,否则不发送所述服务数据单元;
步骤S1.3:将支持分段的服务数据单元分发到分段处理器进行处理;
步骤S1.4:将支持打包的服务数据单元分发到打包处理器进行处理;
步骤S1.5:将既支持分段又支持打包的服务数据单元分发到既分段又打包处理器进行处理;
其中,在所述步骤S1.3中所述分段处理器对服务数据单元的处理方法,包括如下步骤:
步骤S1.3.1:判断服务流或发送管理消息所用连接是否支持自动请求重传,若是,则将服务数据单元交由采用自动请求重传技术的处理单元处理,否则,进入步骤S1.3.2;
步骤S1.3.2:判断要发送的服务数据单元是否已经过期,若已经过期则执行步骤S1.3.3,否则进入步骤S1.3.4;
步骤S1.3.3:丢弃该数据包,进入步骤S1.3.15;
步骤S1.3.4:判断待发送的服务数据单元加上媒体接入控制头后的大小是否大于剩余发送带宽,并且判断待发送的服务数据单元加上媒体接入控制头后的大小是否大于规定的最大协议数据单元长度,若两者均不大于则进入步骤S1.3.13,否则进入步骤S1.3.5;
步骤S1.3.5:判断剩余发送带宽是否可以发送规定的最小分段,若可以发送最小分段,则进入步骤S1.3.6,否则进入步骤S1.3.15;
步骤S1.3.6:判断是否有剩余的服务数据单元分段,如果有则进入步骤S1.3.7,没有则进入步骤S1.3.9;
步骤S1.3.7:判断是否需要进一步分段,若需要,则进入步骤S1.3.11,若不需要进一步分段,则进入步骤S1.3.8;
步骤S1.3.8:将所述服务数据单元作为负载,添加分段子头;进入步骤S1.3.12;
步骤S1.3.9:判断是否需要对待发送的服务数据单元分段,若不需要则进入步骤S1.3.10,否则进入步骤S1.3.11;
步骤S1.3.10:将所述服务数据单元作为负载,添加分段子头,进入步骤S1.3.12;
步骤S1.3.11:对所述剩余的服务数据单元分段再分段,添加分段子头;
步骤S1.3.12:添加通用媒体接入控制头,计算用于验证消息完整性的校验和;
步骤S1.3.13:组装生成协议数据单元;
步骤S1.3.14:判断此协议数据单元是否需要加密,若需要,则交由加密处理器加密并发送,否则直接发送;
步骤S1.3.15:流程结束。
优选地,所述步骤S1.4中的所述打包处理器对数据包的处理方法,包括如下步骤:
步骤S1.4.1:判断要发送的服务数据单元是否已经过期,若已经过期则进入步骤S1.4.2,否则进入步骤S1.4.3;
步骤S1.4.2:丢弃此数据包,进入步骤S1.4.12;
步骤S1.4.3:判断剩余发送带宽是否能够将此服务数据单元打包,并且打包后协议数据单元大小是否小于规定的最大协议单元长度,若两者均为是,则进入步骤S1.4.4,否则进入步骤S1.4.5;
步骤S1.4.4:缓存所述服务数据单元,设置缓存计数器加1,进入步骤S1.4.12;
步骤S1.4.5:通过缓存计数器判断缓存的未发送的服务数据单元的个数;
步骤S1.4.6:判断是否只缓存了一个服务数据单元,如果是,则将所述服务数据单元生成协议数据单元并进入步骤S1.4.7,否则进入步骤S1.4.8;
步骤S1.4.7:发送协议数据单元,进入步骤S1.4.12;
步骤S1.4.8:为缓存的每个服务数据单元添加打包子头;
步骤S1.4.9:逐一将缓存的服务数据单元加入负载,计算校验和;
步骤S1.4.10:将打包后的服务数据单元生成协议数据单元;
步骤S1.4.11:判断所述协议数据单元是否需要加密,若需要,则交由加密处理器加密并发送,否则直接发送;
步骤S1.4.12:流程结束。
优选地,所述步骤S1.5中的所述既分段又打包处理器对数据包的处理方法,包括如下步骤:
步骤S1.5.1:判断要发送的服务数据单元是否已经过期,若已经过期则进入步骤S1.5.2,否则进入步骤S1.5.3;
步骤S1.5.2:丢弃该数据包,进入步骤S1.5.19;
步骤S1.5.3:判断剩余发送带宽是否能够将此服务数据单元打包,并且打包后协议数据单元大小是否小于规定的最大协议单元长度,若两者均为是,则执行步骤S1.5.4,否则执行步骤S1.5.5;
步骤S1.5.4:缓存此服务数据单元,设置缓存计数器加1,进入步骤S1.5.19;
步骤S1.5.5:获取当前缓存的服务数据单元的个数;
步骤S1.5.6:判断是否有已经缓存的服务数据单元,如果没有,则进入步骤S1.5.7,否则进入步骤S1.5.12;
步骤S1.5.7:判断当前发送带宽是否能够发送最小分段,如果是,进入步骤S1.5.8,否则进入步骤S1.5.19;
步骤S1.5.8:对服务数据单元分段,添加打包子头;
步骤S1.5.9:对于移动台的服务数据单元添加带宽请求子头;对于基站端的服务数据单元省略此步骤;
步骤S1.5.10:添加通用媒体接入控制头,计算校验和;
步骤S1.5.11:将添加媒体接入控制头的服务数据单元生成协议数据单元发送,流程结束;
步骤S1.5.12:判断剩余发送带宽是否能够将此服务数据单元分段后打包发送,如果是,则进入步骤S1.5.13,否则进入步骤S1.5.14;
步骤S1.5.13:根据发送带宽大小,将服务数据单元分段,并缓存所述分段;
步骤S1.5.14:判断是否只缓存了一个服务数据单元或分段,如果是,则进入步骤S1.5.15,否则,进入步骤S1.5.16;
步骤S1.5.15:将此服务数据单元或分段生成协议数据单元并发送,进入步骤S1.5.19;
步骤S1.5.16:为缓存的每个服务数据单元添加打包子头,并将其加入负载;
步骤S1.5.17:添加通用媒体访问控制头,计算校验和;
步骤S1.5.18:生成协议数据单元并发送;
步骤S1.5.19:流程结束。
优选地,还包括在宽带无线城域网数据接收端对接收的数据进行处理的步骤:
步骤S2.1:接收端接收到协议数据单元后,对协议数据单元进行分类,根据是否被加密、是否是自动请求重传连接上的数据、以及是否分段和是否打包情况进行处理;
步骤S2.2:对于既未分段又未打包的数据包,判断是属于管理消息还是服务数据,对于管理消息,交由媒体接入控制系统中对管理消息进行处理的处理器,对于服务数据,交由网络实体中的应用层处理;
步骤S2.3:对于被分段的数据,根据分段子头中的标识位来重组成服务数据单元;
步骤S2.4:对于被打包的数据,根据打包子头中的标识位来解包、重组成服务数据单元。
优选地,所述步骤S2.1具体包括如下步骤:
步骤S2.1.1:收到指示消息;
步骤S2.1.2:判断指示消息的类型;
步骤S2.1.3:解析类型为协议数据单元的指示消息;
步骤S2.1.4:根据指示消息中的有效位判断协议数据单元是否有效,若有效则进入步骤S2.1.5,否则进入步骤S2.1.19;
步骤S2.1.5:解析协议数据单元中媒体接入控制头的头类型;
步骤S2.1.6:如果头类型是通用媒体接入控制头,则进入步骤S2.1.8,如果头类型是带宽请求头,则进入步骤S2.1.7;
步骤S2.1.7:向媒体接入控制系统中的带宽分配器请求带宽,进入步骤S2.1.19;
步骤S2.1.8:判断协议数据单元是否被加密,如果是,则进入步骤S2.1.9,否则进入步骤S2.1.10;
步骤S2.1.9:解密协议数据单元;
步骤S2.1.10:判断协议数据单元中是否包含分段子头,如果是则进入步骤S2.1.11,否则进入步骤S2.1.13;
步骤S2.1.11:判断连接是否支持IEEE802.16e中的自动请求重传,如果是,进入步骤S2.1.12,否则进入步骤S2.3;
步骤S2.1.12:将数据交给媒体接入控制系统中采用自动请求重传技术的处理单元,进入步骤S2.1.17;
步骤S2.1.13:判断协议数据单元是否包含打包子头,若不包含打包子头,则进入步骤S2.2,若协议数据单元包含打包子头,则进入步骤S2.4;
步骤S2.1.14:判断重组后的服务数据单元类型,若为管理消息,则进入步骤S2.1.15,若为数据进入步骤S2.1.16;
步骤S2.1.15:将管理消息交由媒体接入控制系统中对管理消息的处理器处理;进入步骤S2.1.17;
步骤S2.1.16:将数据交给网络实体中的应用层;
步骤S2.1.17:判断是否是最后一个要解析的协议数据单元,如果是,则进入步骤S2.1.18,否则进入步骤S2.1.19;
步骤S2.1.18:取下一个需要解析的协议数据单元,进入步骤S2.1.5;
步骤S2.1.19:流程结束。
优选地,在步骤S2.3,具体包括如下步骤:
步骤S2.3.1:解析收到的协议数据单元中的分段子头,获取分段管理标识位、分段序列号字段值;
步骤S2.3.2:获取接收该数据的服务流或发送管理消息所用连接中存储的分段序列号;
步骤S2.3.3:将步骤S2.3.2中获得的分段序列号与从服务流或发送管理消息所用连接收到分段的分段序列号进行比较,如果二者值相等,则进入步骤S2.3.4,否则进入步骤S2.3.11;
步骤S2.3.4:根据步骤S2.3.1中解析出的分段管理标识位的值,进行不同处理:若分段管理标识位表示该数据包是独立的服务数据单元,进入步骤S2.3.5;若分段管理标识位表示该数据包是服务数据单元的最后一个分段,进入步骤S2.3.6;若分段管理标识位表示该数据包是服务数据单元的第一个分段,进入步骤S2.3.8;若分段管理标识位表示该数据包是服务数据单元的中间分段,进入步骤S2.3.9;
步骤S2.3.5:直接将数据包交与网络实体中的应用层处理,进入步骤S2.3.19;
步骤S2.3.6:保存此数据分段;
步骤S2.3.7:将此服务流或发送管理消息所用连接上缓存的所有分段组装成完整的服务数据单元,交给网络实体中的应用层处理,进入步骤S2.3.19;
步骤S2.3.8:清空此服务流或发送管理消息所用连接上缓存的所有分段;
步骤S2.3.9:保存此数据分段;
步骤S2.3.10:将服务流或发送管理消息所用连接中保存的分段序列号更新为下一个数据包的分段序列号,进入步骤S2.3.19;
步骤S2.3.11:根据步骤S2.3.1中解析出的分段管理标识位的值,进行不同处理:若分段管理标识位表示该数据包是独立的服务数据单元,进入步骤S2.3.12;若分段管理标识位表示该数据包是服务数据单元的第一个分段,进入步骤S2.3.14;若分段管理标识位表示该数据包为错误的数据包,进入步骤S2.3.17;
步骤S2.3.12:直接将数据交与上层处理,进入步骤S2.3.13;
步骤S2.3.13:清空此服务流或发送管理消息所用连接上缓存的所有分段,进入步骤S2.3.16;
步骤S2.3.14:清空此服务流或发送管理消息所用连接上缓存的所有分段;
步骤S2.3.15:保存此数据分段,进入步骤S2.3.16;
步骤S2.3.16:服务流或发送管理消息所用连接中保存的分段序列号更新为下一个希望收到的分段的序列号,进入步骤S2.3.19;
步骤S2.3.17:丢弃该数据分段;
步骤S2.3.18:清空服务流或发送管理消息所用连接上缓存的所有分段,进入步骤S2.3.19;
步骤S2.3.19:流程结束;
优选地,在步骤S2.4,具体包括如下步骤:
步骤S2.4.1:解析出媒体接入控制头中协议数据单元的总长度;
步骤S2.4.2:解析收到的协议数据单元中的打包子头,获取分段管理标识位、分段序列号、长度关键字段值;
步骤S2.4.3:获取接收该数据的服务流或发送管理消息所用连接中存储的分段序列号;
步骤S2.4.4:将步骤S2.4.3中获得的分段序列号与从服务流或发送管理消息所用连接收到分段的分段序列号进行比较,如果二者值相等,则进入步骤S2.4.5,否则进入步骤S2.4.12;
步骤S2.4.5:根据步骤S2.4.2中解析出的分段管理标识位的值,进行不同处理:若分段管理标识位表示该数据包是独立的服务数据单元,进入步骤S2.4.6;若分段管理标识位表示该数据包是服务数据单元的最后一个分段,进入步骤S2.4.7;若分段管理标识位表示该数据包是服务数据单元的第一个分段,进入步骤S2.4.9;若分段管理标识位表示该数据包是服务数据单元的中间分段,进入步骤S2.4.10;
步骤S2.4.6:直接将数据包交与网络实体中的应用层,进入步骤S2.4.11;
步骤S2.4.7:保存此数据分段;
步骤S2.4.8:将此服务流或发送管理消息所用连接上缓存的所有分段组装成完整的服务数据单元,交给上层处理,进入步骤S2.4.11;
步骤S2.4.9:清空此服务流或发送管理消息所用连接上缓存的所有分段;
步骤S2.4.10:保存此数据分段;
步骤S2.4.11:将服务流或发送管理消息所用连接中保存的分段序列号更新为下一个数据包的分段序列号,进入步骤S2.4.20;
步骤S2.4.12:根据步骤S2.4.2中解析出的分段管理标识位的值,进行不同处理:若分段管理标识位表示该数据包是独立的服务数据单元,进入步骤S2.4.13;若分段管理标识位表示该数据包是服务数据单元的第一个分段,进入步骤S2.4.15;若分段管理标识位表示该数据包为错误的数据包,进入步骤S2.4.18;
步骤S2.4.13:直接将数据交与上层处理,进入步骤S2.4.14;
步骤S2.4.14:清空此服务流或发送管理消息所用连接上缓存的所有分段,进入步骤S2.4.17;
步骤S2.4.15:清空此服务流或发送管理消息所用连接上缓存的所有分段;
步骤S2.4.16:保存此数据分段,进入步骤S2.4.17;
步骤S2.4.17:将服务流或发送管理消息所用连接中保存的分段序列号更新为下一个希望接收到的分段的序列号,进入步骤S2.4.20;
步骤S2.4.18:丢弃该数据分段;
步骤S2.4.19:清空服务流上缓存的所有分段,进入步骤S2.4.20;
步骤S2.4.20:根据所述总长度判断是否已解析完所有打包的协议数据单元,如果否,则进入步骤S2.4.2,否则进入步骤S2.4.21;
步骤S2.4.21:流程结束。
与现有技术相比,本发明的技术方案产生了如下技术效果:
本发明结合IEEE802.16e协议支持的对服务数据单元进行分段打包的机制,实现了宽带无线城域网中在发送端对来自应用层的服务数据单元(SDU)和对属于MAC管理消息类型的服务数据单元进行分段、打包生成协议数据单元(PDU),在接收端对收到的协议数据单元(PDU)进行重组形成服务数据单元,当网络可用发送带宽不断变化时,根据带宽变化情况对数据进行分段打包处理,能够最大限度的利用发送带宽,提高带宽利用率,同时也有助于保证多媒体实时业务的服务质量(Quality of Service,QoS)。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
本发明利用IEEE802.16e协议中对分段、打包的支持机制,结合当前服务流参数中的分段允许标识符和打包允许标识符,以及发送管理消息所用连接是否支持分段、打包的标识,对需要发送的服务数据单元进行分类处理,在宽带无线城域网中的发送端对服务数据单元(SDU)进行分段、打包生成协议数据单元(PDU)。若宽带无线城域网中传输数据的服务流或发送管理消息所用连接不支持分段打包,则直接将服务数据单元生成协议数据单元发送;若服务流或发送管理消息所用连接支持分段打包,则根据不同的条件对服务数据单元进行分段或打包处理,从而最大限度的提高带宽利用率,提高数据传输效率。相应地,本发明利用IEEE802.16e协议中分段子头(Fragmentation subheader)和打包子头(Packing subheader)中的标识位(FSN、FC和Length),以及通用媒体接入控制头中的标识位作为判断依据,在宽带无线城域网中的接收端对接收到的协议数据单元做不同处理,分别进行拆包和组包。需要说明的是,在本发明的技术方案中,所述服务数据单元包括来自应用层的服务数据单元和来自媒体接入控制层(MAC)的属于媒体接入控制消息类型的服务数据单元。本领域技术人员应当理解,当处理的数据是来自应用层的服务数据单元时,采用的参数及执行的操作应该是针对发送服务数据单元的服务流而言的,而当处理的数据是属于媒体接入控制消息类型的服务数据单元时,采用的参数(或属性)及执行的操作应该是针对发送管理消息所用连接而言的。反之,当涉及发送管理消息所用连接时,应当认为当前处理的是属于媒体接入控制消息类型的服务数据单元,当涉及服务流时,应当认为当前处理的是来自应用层的服务数据单元。
作为一种可实施的方式,如图1所示,一种无线网络媒体接入控制系统数据处理装置,包括:位于无线网络媒体接入控制系统发送端的数据分类处理器,和与该数据分类处理器连接的不分段不打包处理器、分段处理器、打包处理器和既分段又打包处理器,其中:
数据分类处理器,用于根据来自应用层的服务数据单元所在服务流的分段允许标识符和打包允许标识符,或根据来自媒体接入控制层的属于媒体接入控制管理消息的服务数据单元所用连接的属性,判断服务数据单元是否支持分段和/或打包并相应分发到不分段不打包处理器、分段处理器、打包处理器或既分段又打包处理器。具体来说,当服务数据单元不支持对数据包分段和打包时,数据分类处理器直接将服务数据单元交给不分段不打包处理器进行处理;当服务数据单元只支持分段时,数据分类处理器将服务数据单元交给分段处理器进行处理;当服务数据单元只支持打包时,数据分类处理器将服务数据单元交给打包处理器进行处理;当服务数据单元既支持分段又支持打包时,数据分类处理器直接将服务数据单元交给既分段又打包处理器进行处理。
不分段不打包处理器,判断当前剩余发送带宽是否能够发送此服务数据单元,如果当前剩余带宽大于服务数据单元大小,则生成协议数据单元,完成发送;否则,丢弃该服务数据单元。所述不分段不打包处理器通过媒体接入控制系统中的带宽调度处理部分获得当前剩余发送带宽。在媒体接入控制系统中,带宽调度处理的方法是本领域技术人员熟知的技术。
较佳地,所述不分段不打包处理器还用于在判断当前剩余发送带宽是否能够发送此服务数据单元之前,判断进入此处理器的服务数据单元是否过期,如果是,则停止,丢弃该服务数据单元;如果否,则继续。所述判断进入此处理器的服务数据单元是否过期是根据服务流或发送管理消息所用连接的时延参数来判断,如果服务数据单元的时间超过所述时延参数,则为过期,否则为不过期。
较佳地,所述不分段不打包处理器还用于在判断当前剩余发送带宽是否能够发送此服务数据单元之前,还判断来自应用层的所述服务数据单元是否小于所述服务流规定的最大服务数据单元长度或判断属于媒体接入控制管理消息的服务数据单元是否小于发送管理消息所用连接规定的最大服务数据单元长度,如果是,则继续;如果否,则停止,丢弃该服务数据单元。
分段处理器,首先判断此数据是否属于支持自动请求重传(ARQ)连接的服务流或发送管理消息所用连接,若是,则交由采用自动请求重传(ARQ)技术的处理单元进行处理,否则,在分段处理器内判断当前剩余发送带宽是否大于进入此处理器的服务数据单元的长度,如果是,则生成协议数据单元;如果否,则根据剩余带宽大小对服务数据单元进行分段操作,生成协议数据单元,这样做的好处是能够最大限度地利用剩余带宽。自动请求重传(ARQ)技术是本领域技术人员熟知的,因此采用自动请求重传技术的处理单元可以通过现有技术得以实施。
较佳地,所述分段处理器还用于在判断当前剩余发送带宽是否大于进入此处理器的服务数据单元的长度之前,判断此服务数据单元是否过期,如果是,则停止,丢弃服务数据单元;如果否,则继续。所述判断此服务数据单元是否过期是根据服务流或发送管理消息所用连接的时延参数来判断,如果服务数据单元的时间超过所述时延参数,则为过期,否则为不过期。
较佳地,所述分段处理器还用于在判断当前剩余发送带宽是否大于进入此处理器的服务数据单元的长度之前,判断所述服务数据单元是否小于所述服务流或发送管理消息所用连接规定的最大服务数据单元长度,如果是,则继续;如果否,则对服务数据单元进行分段操作,生成协议数据单元并发送。
较佳地,所述分段处理器还用于对于一个服务数据单元被分段后,未发送的剩余分段,将其在对应服务流或发送管理消息所用连接中存储起来,在下一次发送过程中发送。
较佳地,所述分段处理器还用于对所述剩余分段再进行分段。
打包处理器,用于判断当前剩余发送带宽是否能够发送此服务数据单元,如果能够发送,则将此服务数据单元缓存,比如缓存到一个用来存放能够打包成一个协议数据单元的服务数据单元的全局链表中;如果否,即当前剩余发送带宽不能够发送此服务数据单元,则将已经缓存的待打包服务数据单元打包成一个协议数据单元。
较佳地,所述打包处理器包含一个缓存计数器,用于记录缓存服务数据单元的个数。
较佳地,所述打包处理器还用于在判断当前剩余发送带宽是否能够发送此服务数据单元之前,根据服务流(或发送管理消息所用连接)的时延参数来判断进入此处理器的服务数据单元是否过期,如果否,则继续;如果是,则丢弃该服务数据单元。
较佳地,所述打包处理器还用于在判断当前剩余发送带宽是否能够发送此服务数据单元之后,如果判断结果为是,则再判断打包后协议数据单元是否小于服务流(或发送管理消息所用连接)规定的最大协议数据单元长度,如果是,则将此服务数据单元缓存,如果否,则将已经缓存的待打包服务数据单元打包成一个协议数据单元并发送。
既分段又打包处理器,用于判断当前剩余发送带宽是否能够将整个进入该处理器的服务数据单元打包,如果是,则将此服务数据单元缓存,等待与其他可打包数据包一起打包发送;如果否,则再判断剩余发送带宽是否能将此服务数据单元分段后打包发送,即判断剩余发送带宽是否能够将服务流(或发送管理消息所用连接)规定的此服务数据单元的最小分段打包,如果是,则将此服务数据单元的分段与缓存的数据包一起打包发送,如果否,则将缓存的数据包打包发送。
较佳地,所述既分段又打包处理器还用于在判断当前剩余发送带宽是否能够将进入该处理器的整个服务数据单元打包之前,根据服务流(或发送管理消息所用连接)的时延参数来判断进入此处理器的服务数据单元是否过期,如果是,则丢弃该服务数据单元,如果否,则继续。
较佳地,所述既分段又打包处理器还用于当判断当前剩余发送带宽是否能够将进入该处理器的整个服务数据单元打包的结果为是时,判断打包后的协议数据单元是否小于服务流(或发送管理消息所用连接)规定的最大协议单元长度,如果是,则将此服务数据单元缓存,等待与其他可打包数据包一起打包发送;如果否,则再判断剩余发送带宽是否能将此服务数据单元分段后打包发送,即判断剩余发送带宽是否能够将服务流(或发送管理消息所用连接)规定的此服务数据单元的最小分段打包,如果是,则将此服务数据单元的分段与缓存的数据包一起打包发送,如果否,则将缓存的数据包打包发送。
较佳地,该无线网络媒体接入控制系统数据处理装置,还包括:加密处理器,用于对生成的协议数据单元进行加密。
较佳地,所述不分段不打包处理器在生成协议数据单元以后,判断此服务流(或发送管理消息所用连接)上的数据是否需要加密处理,若需要,则交由加密处理器处理后发送,否则,直接发送。
较佳地,所述分段处理器生成协议数据单元后,判断此服务流(或发送管理消息所用连接)上的数据是否需要加密处理,若需要,则交由加密处理器处理后发送,否则,直接发送。
较佳地,所述打包处理器在生成协议数据单元以后判断此服务流(或发送管理消息所用连接)上的数据是否需要加密处理,若需要,则交由加密处理器处理后发送,否则,直接发送。
较佳地,所述既分段又打包处理器生成协议数据单元后,判断此服务流(或发送管理消息所用连接)上的数据是否需要加密处理,若需要,则交由加密处理器处理后发送,否则,直接发送。
较佳地,该无线网络媒体接入控制系统数据处理装置,还包括:
位于接收端的协议数据单元分类处理器,和与所述协议数据单元分类处理器连接的重组处理器、解包处理器;其中:
所述协议数据单元分类处理器,用于判断协议数据单元中是否含有分段子头或打包子头,如果否,则直接输出;如果是,则将含有分段子头的协议数据单元发送给重组处理器,将含有打包子头的协议数据单元发送给解包处理器。具体来说,宽带无线城域网中接收端收到协议数据单元后,将协议数据单元交给所述协议数据单元分类处理器,所述协议数据单元分类处理器通过判断IEEE802.16协议中规定的通用媒体接入控制头中的Type字段对协议数据单元进行分类:对于未分段未打包的协议数据单元,若是数据则交给上层,若是管理消息则交给媒体接入控制系统的其他模块处理;对于包含分段数据的协议数据单元,进行重组处理;对于包含打包数据的协议数据单元,进行解包、重组处理。在处理分段或打包协议数据单元时需要对收到的分段缓存,作为一种可实施方式,本发明中在每个服务流(或发送管理消息所用连接)存放数据分段的链表中对分段缓存。
所述重组处理器,用于对只含有分段子头的协议数据单元进行解析重组生成服务数据单元。
较佳地,所述重组处理器,用于解析分段子头获得分段管理标识位(Fragmentation Control,FC)和分段序列号(Fragment Sequence Number,FSN)信息,并将分段序列号与此条服务流(或发送管理消息所用连接)上存储的分段序列号进行比较,如果二者相等,则根据分段管理标识位(FC)值进行组装分段数据;如果二者不相等,根据分段管理标识位(FC)值进行错误处理。具体来说,所述重组处理器解析分段子头获得分段管理标识位(FC)、分段序列号(FSN)信息,并将分段序列号(FSN)与此条服务流(或发送管理消息所用连接)上存储的希望接收到的分段序列号(FSN)值进行比较,如果二者相等,则证明是正确的数据包,根据分段管理标识位(FC)的不同值进行一系列组装工作;如果二者不相同,根据分段管理标识位(FC)不同值进行错误处理。
较佳地,所述重组处理器在解析分段子头获得分段管理标识位(FC)、分段序列号(FSN)信息并将分段序列号(FSN)与此条服务流(或发送管理消息所用连接)上存储的分段序列号(FSN)值进行比较,如果二者相等时,将分段管理标识位(FC)为0(表示独立的服务数据单元)的数据包直接交给网络实体中的应用层;将分段管理标识位(FC)为1(表示收到的是一个服务数据单元的最后一个分段)的数据包连同此服务流(或发送管理消息所用连接)上缓存的其他分段一起组装成一个完整的服务数据单元,交给上层将分段管理标识位(FC)为2(表示是一个服务数据单元的第一个分段)的数据包保存,并清空此服务流(或发送管理消息所用连接)上缓存的其他分段;将分段管理标识位(FC)为3(表示是一个服务数据单元的中间的分段)的数据包保存。在对每一个数据包进行处理后,都令服务流(或发送管理消息所用连接)中缓存的分段序列号(FSN)增1,对应希望收到的下一个数据包的分段序列号(FSN)。
较佳地,所述重组处理器在当收到的数据包的分段序列号(FSN)与服务流(或发送管理消息所用连接)上缓存的分段序列号(FSN)不相同时(表示此数据包不是希望收到的数据包),根据分段管理标识位(FC)的不同值进行处理:分段管理标识位(FC)为0的数据包表示该数据包是独立的服务数据单元,则直接交给网络实体中的应用层;分段管理标识位(FC)为2的数据包表示该数据包是一个服务数据单元的第一个分段,则清空此服务流(或发送管理消息所用连接)上缓存的其他分段,保存此数据包;分段管理标识位(FC)为其他值时表示该数据包为错误的数据包,则将该数据包丢弃。在对每一个分段管理标识位(FC)为0或分段管理标识位(FC)为2的数据包进行处理后,都更新服务流(或发送管理消息所用连接)中缓存的分段序列号(FSN)为分段序列号(FSN)加1,对应希望收到的下一个数据包的分段序列号(FSN)。
所述解包处理器,用于对只含有打包子头的协议数据单元进行解析重组生成服务数据单元。
较佳地,由于IEEE802.16协议规定一个协议数据单元中可以包含多个带有打包子头的数据段,因此所述解包处理器首先需获得此通用媒体接入控制头中所有数据的总长度记为LEN,而后逐一解析每一个数据包中的打包子头,并获得每个打包子头中的分段管理标识位(FC)、分段序列号(FSN)、长度(Length)等信息。根据分段管理标识位(FC)的不同值进行处理:分段管理标识位(FC)为0的数据包表示该数据包是独立的服务数据单元,则直接交给网络实体中的应用层;分段管理标识位(FC)为2的数据包表示该数据包是一个服务数据单元的第一个分段,则清空此服务流(或发送管理消息所用连接)上缓存的其他分段,保存此数据包;分段管理标识位(FC)为其他值时表示该数据包为错误的数据包,则将该数据包丢弃。在对每一个分段管理标识位(FC)为0或分段管理标识位(FC)为2的数据包进行处理后,都更新服务流(或发送管理消息所用连接)中缓存的分段序列号(FSN)为分段序列号(FSN)加1,对应希望收到的下一个数据包的分段序列号(FSN)。
每解析完一个数据包,需从通用媒体接入控制头所有数据的总长度(LEN)中减去当前数据包的长度(Length),直到将所有数据的总长度LEN的数据全部解析完成,退出解包处理器。
较佳地,该无线网络媒体接入控制系统数据处理装置,还包括:
所述协议数据单元分类处理器中包括一个解密处理器,用于对加密的协议数据单元解密。
较佳地,接收端的所述协议数据单元分类处理器,在判断协议数据单元中是否含有分段子头或打包子头之前,在接收到发送端发来的数据链后,首先判断其中数据链消息的类型,除协议数据单元(PDU)类型之外的其他消息直接解析处理;对于协议数据单元(PDU)类型的数据链消息,由于每个消息中可能包含多个协议数据单元,判断当前协议数据单元是否有效,如果协议数据单元无效则继续取下一个协议数据单元;对于有效的协议数据单元根据解析其MAC头的判断头类型进行不同的操作,如果是带宽请求头,则根据带宽请求头申请带宽;如果是通用媒体接入控制(MAC)头,则判断此协议数据单元(PDU)是否被加密,将被加密的协议数据单元(PDU)发送给解密处理器进行解密处理;对于没有被加密的协议数据单元和已经解密的协议数据单元,如果协议数据单元(PDU)中包含分段子头,并且发送数据的服务流(或发送管理消息所用连接)支持自动请求重传机制,则将数据发给采用自动请求重传技术的处理单元处理,对于仅包含分段子头的协议数据单元(PDU)则直接发送给重组处理器,如果协议数据单元(PDU)中不包含分段子头,则判断是否包含打包子头,若包含打包子头,则将该协议数据单元发送给解包处理器;对于解包处理器和分段处理器已重组好的服务数据单元(SDU),则判断如果是管理消息,则交给媒体介入控制处理单元处理,如果是服务数据则交给应用层处理;完成对一个协议数据单元(PDU)的解析后,继续取数据链中包含的下一个协议数据单元,直到所有协议数据单元均解析完。
通过上面对本发明实施方式的描述,可以看出本发明的有益效果:在IEEE802.16协议支持的数据包分段打包机制中,对于数据包的解包重组方法,以及错误数据包的处理流程未做说明,而本发明提供的上述无线网络媒体接入控制系统数据处理装置,实现了宽带无线城域网中接收端对分段数据包、打包数据包、未分段未打包数据包的接收处理,并提供了对错误数据包的处理。
作为一种可实施的方式,下面介绍本发明的无线网络媒体接入控制系统数据处理方法,包括如下步骤:
宽带无线城域网数据发送端,数据处理方法如下:
步骤S1.1:当有服务数据单元需要发送时,根据来自应用层的服务数据单元所在服务流的分段允许标识符和打包允许标识符,或根据来自媒体接入控制层的属于媒体接入控制管理消息的服务数据单元所用连接的属性,判断服务数据单元是否支持分段和/或打包并对服务数据单元进行分类处理:若服务数据单元不支持分段也不支持打包处理,则进入步骤S1.2,若服务数据单元支持分段处理,则进入步骤S1.3,若服务数据单元支持打包处理,则进入步骤S1.4,若服务数据单元既支持打包又支持分段处理,则进入步骤S1.5;
步骤S1.2:检查此服务数据单元是否已过期,若过期则丢弃此数据,否则检查它的长度是否大于当前剩余发送带宽和服务流(或发送管理消息所用连接)支持的最大服务数据单元长度,若不大于则生成相应协议数据单元发送,否则不发送此服务数据单元;
步骤S1.3:将支持分段的服务数据单元分发到分段处理器进行处理。
较佳地,如图2所示,在所述步骤S1.3中所述分段处理器对服务数据单元的处理方法,具体步骤如下:
步骤S1.3.1:判断此服务流(或发送管理消息所用连接)是否支持自动请求重传(ARQ)机制,若是,则将服务数据单元交由采用自动请求重传(ARQ)技术的处理单元处理,否则,进入步骤S1.3.2;自动请求重传(ARQ)技术是本领域技术人员熟知的,因此采用自动请求重传技术的处理单元可以通过现有技术得以实施。
步骤S1.3.2:判断要发送的服务数据单元是否已经过期,若已经过期则执行步骤S1.3.3,否则进入步骤S1.3.4;
步骤S1.3.3:丢弃该数据包,进入步骤S1.3.15;
步骤S1.3.4:判断待发送的服务数据单元加上媒接入控制(MAC)头后,其大小是否大于剩余发送带宽,并且判断是否大于服务流(或发送管理消息所用连接)规定的最大协议数据单元长度,若均不大于则进入步骤S1.3.13,否则进入步骤S1.3.5;
步骤S1.3.5:判断发送带宽是否可以发送服务流(或发送管理消息所用连接)参数中规定的最小分段,若可以发送分段,则进入步骤S1.3.6,否则进入步骤S1.3.15;
步骤S1.3.6:判断此条有数据发送的服务流(或发送管理消息所用连接)上是否有剩余的服务数据单元分段,如果有则进入步骤S1.3.7,没有则进入步骤S1.3.9;
步骤S1.3.7:判断是否需要进一步分段,若需要,则进入步骤S1.3.11,若不需要进一步分段,则进入步骤S1.3.8;
步骤S1.3.8:将待发送的服务数据单元作为负载,添加分段子头,进入步骤S1.3.12;
步骤S1.3.9:判断是否需要对此服务流(或发送管理消息所用连接)上一个待发送的服务数据单元分段,若不需要则进入步骤S1.3.10,否则进入步骤S1.3.11;
步骤S1.3.10:服务数据单元作为负载,添加分段子头,进入步骤S1.3.12;
步骤S1.3.11:对所述剩余的服务数据单元分段进行再分段,添加分段子头;
步骤S1.3.12:添加通用媒体接入控制头,计算用于验证消息完整性的校验和;
步骤S1.3.13:组装协议数据单元;
步骤S1.3.14:判断根据服务流(或发送管理消息所用连接)参数判断此协议数据单元是否需要加密,若需要,则交由加密器处理,否则直接发送;
步骤S1.3.15:流程结束。
步骤S1.4:将支持打包的服务数据单元分发到打包处理器进行处理。
较佳地,如图3所示,所述步骤S1.4中的所述打包处理器对服务数据单元的处理方法,具体步骤如下:
步骤S1.4.1:判断要发送的服务数据单元是否已经过期,若已经过期则进入步骤S1.4.2,否则进入步骤S1.4.3;
步骤S1.4.2:丢弃此数据包,进入步骤S1.4.12;
步骤S1.4.3:判断剩余发送带宽是否能够将此服务数据单元打包,并且打包后协议数据单元大小小于服务流(或发送管理消息所用连接)规定的最大协议单元长度,若同时满足以上两个条件则进入步骤S1.4.4,否则进入步骤S1.4.5;
步骤S1.4.4:缓存此服务数据单元,设置服务数据单元个数缓存计数器加1并等待下一个需要发送的服务数据单元,进入步骤S1.4.12;
步骤S1.4.5:通过缓存计数器判断缓存的未发送的服务数据单元的个数;
步骤S1.4.6:判断是否只缓存了一个服务数据单元,如果是,则将所述服务数据单元生成协议数据单元并进入步骤S1.4.7,否则进入步骤S1.4.8;
步骤S1.4.7:发送协议数据单元,进入步骤S1.4.12;
步骤S1.4.8:为缓存的每个服务数据单元添加打包子头;
步骤S1.4.9:逐一将缓存的服务数据单元加入负载,计算校验和;
步骤S1.4.10:将打包后的服务数据单元生成协议数据单元;
步骤S1.4.11:判断根据服务流(或发送管理消息所用连接)参数判断此协议数据单元是否需要加密,若需要,则交由加密器处理,否则进入步骤S1. 4.7;
步骤S1.4.12:流程结束。
步骤S1.5:将既支持分段又支持打包的数据分发到既分段又打包处理器进行处理。
较佳地,如图4所示,所述步骤S1.5中的所述既分段又打包处理器对服务数据单元的处理方法,具体步骤如下:
步骤S1.5.1:判断要发送的服务数据单元是否已经过期,若已经过期则进入步骤S1.5.2,否则进入步骤S1.5.3;
步骤S1.5.2:丢弃该数据包,进入步骤S1.5.19;
步骤S1.5.3:判断剩余发送带宽是否能够将此服务数据单元打包,并且打包后协议数据单元大小小于服务流(或发送管理消息所用连接)规定的最大协议单元长度,若同时满足以上两个条件则执行步骤S1.5.4,否则执行步骤S1.5.5;
步骤S1.5.4:缓存此服务数据单元,设置服务数据单元个数缓存计数器加1等待下一个需要发送的服务数据单元,进入步骤S1.5.19;
步骤S1.5.5:获取当前缓存的服务数据单元的个数;
步骤S1.5.6:判断是否有已经缓存的服务数据单元(SDU),如果没有,则进入步骤S1.5.7,否则进入步骤S1.5.12;
步骤S1.5.7:判断当前发送带宽是否可以发送最小分段,如果可以,进入步骤S1.5.8,否则步骤S1.5.19;
步骤S1.5.8:对服务数据单元分段,添加打包子头;
步骤S1.5.9:对于移动台可添加带宽请求子头,对于基站端可省略此步骤;
步骤S1.5.10:添加通用媒体接入控制头,计算校验和;
步骤S 1.5.11:将添加媒体接入控制头的服务数据单元生成协议数据单元发送,流程结束;
步骤S1.5.12:判断剩余发送带宽是否可以将此服务数据单元分段后打包发送,如果可以,则进入步骤S1.5.13,否则进入步骤S1.5.14;
步骤S1.5.13:根据发送带宽大小,将服务数据单元分段,并缓存此分段;
步骤S1.5.14:判断是否只缓存了一个服务数据单元或分段,如果是,则进入步骤S1.5.15,否则,进入步骤S1.5.16;
步骤S1.5.15:将此服务数据单元或分段生成协议数据单元并发送,进入步骤S1.5.19;
步骤S1.5.16:为缓存的每个服务数据单元添加打包子头,并将其加入负载;
步骤S1.5.17:添加通用媒体访问控制头,计算校验和;
步骤S1.5.18:生成协议数据单元并发送;
步骤S1.5.19:流程结束。
较佳地,该无线网络媒体接入控制系统数据处理方法,还包括在宽带无线城域网数据接收端对接收的数据进行处理的如下步骤:
步骤S2.1:接收端接收到协议数据单元后,对数据进行分类,根据是否加密、是否是自动请求重传(ARQ)连接上的数据、以及是否分段和是否打包情况进行处理。
较佳地,如图7所示,步骤S2.1具体包括如下步骤:
步骤S2.1.1:收到各种指示(indication)消息;
步骤S2.1.2:判断指示(indication)消息的类型;
步骤S2.1.3:解析类型为协议数据单元的指示(indication)消息;
步骤S2.1.4:根据指示消息中的有效位判断协议数据单元(PDU)是否有效,即PDU是否是正确的数据,若有效则进入步骤S2.1.5,否则进入步骤S2.1.19;
步骤S2.1.5:解析协议数据单元中媒体接入控制头的头类型;
步骤S2.1.6:如果头类型是通用媒体接入控制头,则进入步骤S2.1.8,如果头类型是带宽请求头,则进入步骤S2.1.7;
步骤S2.1.7:向媒体接入控制(MAC)系统请求带宽,进入步骤S2.1.19;
步骤S2.1.8:判断协议数据单元是否被加密,如果是,则进入步骤S2.1.9,否则进入步骤S2.1.10;
步骤S2.1.9:解密协议数据单元;
步骤S2.1.10:判断协议数据单元中是否包含分段子头,如果是则进入步骤S2.1.11,否则进入步骤S2.1.13;
步骤S2.1.11:判断连接是否支持IEEE802.16e中的自动请求重传(ARQ)机制,如果是,进入步骤S2.1.12,否则进入步骤S2.3;
步骤S2.1.12:将数据交给媒体接入控制(MAC)系统中采用自动请求重传(ARQ)技术的处理单元处理,进入步骤S2.1.17;
步骤S2.1.13:判断协议数据单元是否包含打包子头,若不包含打包子头,则进入步骤S2.2,若协议数据单元包含打包子头,则进入步骤S2.4;
步骤S2.1.14:判断重组后的服务数据单元类型,若为管理消息,则进入步骤S2.1.15,若为数据进入步骤S2.1.16;
步骤S2.1.15:将管理消息交由媒体接入控制(MAC)系统中处理管理消息的处理器处理;进入步骤S2.1.17;
步骤S2.1.16:将数据交给网络实体中的应用层;
步骤S2.1.17:判断是否是最后一个要解析的协议数据单元,如果是,则进入步骤S2.1.18,否则进入步骤S2.1.19;
步骤S2.1.18:取下一个需要解析的协议数据单元,进入步骤S2.1.4;
步骤S2.1.19:流程结束。
步骤S2.2:对于既未分段,又未打包的数据包,根据IEEE802.16e规定的连接标识符来判断属于管理消息还是服务数据,对于管理消息,交由媒体接入控制(MAC)系统中对管理消息进行处理的处理器进行处理,对于服务数据,交由网络实体中的应用层处理;
步骤S2.3:对于被分段的数据,根据IEEE802.16e规定的分段子头中的标识位来重组分段。
较佳地,如图5所示,在步骤S2.3中对于接收包含分段的协议数据单元的处理方法,具体包括如下步骤:
步骤S2.3.1:解析收到的协议数据单元中的分段子头,获取分段管理标识位(FC)、分段序列号(FSN)等关键字段;
步骤S2.3.2:获取接收该数据的服务流(或发送管理消息所用连接)中存的分段序列号(FSN);
步骤S2.3.3:将步骤S2.3.2中获得的分段序列号(FSN)与从服务流(或发送管理消息所用连接)收到分段的分段序列号(FSN)进行比较,如果二者值相等,则进入步骤S2.3.4,否则进入步骤S2.3.11;
步骤S2.3.4:根据步骤S2.3.1中解析出的分段管理标识位(FC)值,进行不同处理,若分段管理标识位(FC)为0,进入步骤S2.3.5;若分段管理标识位(FC)为1,进入步骤S2.3.6;若分段管理标识位(FC)为2,进入步骤S2.3.8;若分段管理标识位(FC)为3,进入步骤S2.3.9;
步骤S2.3.5:直接将数据交与网络实体中的应用层处理,进入步骤S2.3.19;
步骤S2.3.6:保存此数据分段;
步骤S2.3.7:将此服务流(或发送管理消息所用连接)上缓存的所有分段组装成完整的服务数据单元,交给上层处理,进入步骤S2.3.19;
步骤S2.3.8:清空此服务流(或发送管理消息所用连接)上缓存的所有分段;
步骤S2.3.9:保存此数据分段;
步骤S2.3.10:更新服务流(或发送管理消息所用连接)中保存的分段序列号(FSN)为原值加1,进入步骤S2.3.19;
步骤S2.3.11:根据步骤S2.3.1中解析出的分段管理标识位(FC)值,进行不同处理,若分段管理标识位(FC)为0,进入步骤S2.3.12;若分段管理标识位(FC)为2,进入步骤S2.3.14;若分段管理标识位(FC)为其他值,进入步骤S2.3.17;
步骤S2.3.12:直接将数据交与上层处理,进入步骤S2.3.13;
步骤S2.3.13:清空此服务流(或发送管理消息所用连接)上缓存的所有分段,进入步骤S2.3.16;
步骤S2.3.14:清空此服务流(或发送管理消息所用连接)上缓存的所有分段;
步骤S2.3.15:保存此数据分段,进入步骤S2.3.16;
步骤S2.3.16:服务流(或发送管理消息所用连接)中保存的分段序列号(FSN)更新为分段中包含的分段序列号(FSN)加1,进入步骤S2.3.19;
步骤S2.3.17:丢弃该数据分段;
步骤S2.3.18:清空服务流(或发送管理消息所用连接)上缓存的所有分段,进入步骤S2.3.19;
步骤S2.3.19:流程结束;
步骤S2.4:对于被打包的数据,根据IEEE802.16规定的打包子头中的标识位来解包、重组成完整的数据。
较佳地,如图6所示,在步骤S2.4中对于接收包含打包的协议数据单元的处理方法,具体包括如下步骤:
步骤S2.4.1:解析出MAC头中PDU数据的总长度字段,记为LEN;
步骤S2.4.2:解析收到的协议数据单元中的打包子头,获取分段管理标识位(FC)、分段序列号(FSN)、长度(LENGTH)等关键字段;
步骤S2.4.3:获取接收该数据的服务流(或发送管理消息所用连接)中存的分段序列号(FSN);
步骤S2.4.4:将步骤S2.4.3中获得的分段序列号(FSN)与从服务流(或发送管理消息所用连接)收到分段的分段序列号(FSN)进行比较,如果二者值相等,则进入步骤S2.4.5,否则进入步骤S2.4.12;
步骤S2.4.5:根据步骤S2.4.2中解析出的分段管理标识位(FC)值,进行不同处理,若分段管理标识位(FC)为0,进入步骤S2.4.6;若分段管理标识位(FC)为1,进入步骤S2.4.7;若分段管理标识位(FC)为2,进入步骤S2.4.9;若分段管理标识位(FC)为3,进入步骤S2.4.10;
步骤S2.4.6:直接将数据交与网络实体中的应用层处理,进入步骤S2.4.11;
步骤S2.4.7:保存此数据分段;
步骤S2.4.8:将此服务流(或发送管理消息所用连接)上缓存的所有分段组装成完整的服务数据单元,交给上层处理,进入步骤S2.4.11;
步骤S2.4.9:清空此服务流(或发送管理消息所用连接)上缓存的所有分段;
步骤S2.4.10:保存此数据分段;
步骤S2.4.11:更新服务流(或发送管理消息所用连接)中保存的分段序列号(FSN)为原值加1,进入步骤S2.4.20;
步骤S2.4.12:根据步骤S2.4.2中解析出的分段管理标识位(FC)值,进行不同处理,若分段管理标识位(FC)为0,进入步骤S2.4.13;若分段管理标识位(FC)为2,进入步骤S2.4.15;若分段管理标识位(FC)为其他值,进入步骤S2.4.18;
步骤S2.4.13:直接将数据交与上层处理,进入步骤S2.4.14;
步骤S2.4.14:清空此服务流(或发送管理消息所用连接)上缓存的所有分段,进入步骤S2.4.17;
步骤S2.4.15:清空此服务流(或发送管理消息所用连接)上缓存的所有分段;
步骤S2.4.16:保存此数据分段,进入步骤S2.4.17;
步骤S2.4.17:服务流(或发送管理消息所用连接)中保存的分段序列号(FSN)更新为下一个希望接收到的分段的序列号,比如更新为所述数据分段中包含的分段序列号(FSN)值加1,进入步骤S2.4.20;
步骤S2.4.18:丢弃该数据分段;
步骤S2.4.19:清空服务流(或发送管理消息所用连接)上缓存的所有分段,进入步骤S2.4.20;
步骤S2.4.20:将步骤S2.4.1中的LEN值减去S2.4.2中打包子头中的LENGTH值,判断若LEN值大于0,则进入步骤S2.4.2,否则进入步骤S2.4.21;
步骤S2.4.21:流程结束。
本发明结合IEEE802.16e协议支持的对服务数据单元进行分段打包的机制,实现了宽带无线城域网中在发送端对服务数据单元(SDU)和对属于MAC管理消息类型的服务数据单元进行分段、打包生成协议数据单元(PDU),在接收端对收到的协议数据单元(PDU)进行重组形成服务数据单元,当网络可用发送带宽不断变化时,根据带宽变化情况对数据进行分段打包处理,能够最大限度的利用发送带宽,提高带宽利用率,同时也有助于保证多媒体实时业务的服务质量(Quality of Service,QoS)。
以上所述内容,仅为本发明具体的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。