分离成若干个分组的消息的传输方法

文档序号:7650576阅读:427来源:国知局
专利名称:分离成若干个分组的消息的传输方法
技术领域
本发明涉及一种传输分离成若干个分组的消息的方法。这一方法特别地适用于无线Hiperlan 2环境中的装置。
更具体地说,本申请涉及基于分组的会聚层和数据链路控制层的工作情况。
在一个Hiperlan2接收器中,CPCS分组被分成若干个具有固定长度(54字节)的DLC分组数据单元(‘PDU’)。图3是对DLC PDU的内容的说明。
如果DLC层放弃一些PDU,部分接收的CPCS分组可能会丢失。因此,分段和重装层可以从DLC层接收如象

图1所示的PDU序列。
由于对每个CPCS消息仅发送一个停止位,如果DLC层已经放弃了包括停止位的一个DLC PDU,CPCS子层就会根据接收的分组长度消息在长度检查期间放弃两个CPCS分组。
本发明的目的是提供一种在传输系统中处理接收的分组的方法,该传输系统包括发射装置和接收装置,来自于发射机,被分成固定长度的分组,以便传输到接收机的消息,利用与该消息有关的至少一个分组发射的消息长度为N的指示。其特征在于包括步骤根据分组的序列号次序接收这些分组并将这些分组存储在存储器中;当接收到了消息结束分组时,根据长度指示确定需要包含该消息的分组数量;检索存储器中已确定的分组的数量,从具有最大序列号的分组回溯,并使用检索到的分组重构该消息;放弃存储器中的其它分组。
已描述的并且作为现有技术的图2是表示DLC PDU的格式的表。图3表示根据本发明由接收机对图1的错误序列的处理。
已描述的并且作为现有技术的图4是Hiperlan 2节点中的协议栈的示意图。
根据上面的文献(c),CPCS层发送一个消息(被称为CPCS SDU)给SAR层。SAR层将CPCS分组分成最多48字节的有效负载,这些有效负载包括在被称做SAR PDU的固定大小的分组中。一个消息的最终分组在它的首部中包括一个标记(‘停止位’),用于识别其作为最后的分组。这个分组也包括一个整个消息的长度的指示。这个指示包括在CPCS PDU的尾部,并总是位于字节50和51。由于SAR PDU的有效负载具有固定的48字节的长度,将填充字节加到CPCS PDU中,以获得等于48字节倍数的长度。这些填充字节加到CPCS PDU尾部的前面,以使尾部在SAR PDU中具有固定的位置,也就是占据有效负载的最后四个字节。将SAR PDU传输到DLC层。
发射机的DLC层把每个SAR PDU映射到一个DLC PDU。它还为其所发送或接收的分组维护一个序列数计数器。在发送DLC PDU之前,序列数计数器增加。当接收装置接收到了一个不正确的PDU时,它拒绝确认相应的PDU。当发射机接收到该确认时,它必须重发对应的PDU。接收机请求发射机重新发送不正确的PDU,直到PDU被正确地接收。因此,要确保接收机的会聚层使得如果接收的PDU是一个消息的最后部分,那么就已经完整并正确地接收了该消息,除非发射机放弃了该消息的一些PDU数据。
一个接收机的DLC层可以以与序列数的次序不同的次序接收PDU。在把与一部分DLC PDU对应的SAR PDU发射到SAR之前,DLC层对DLC PDU重新排序,。因此,虽然可能丢失一些SAR PDU,SAR总是以正确的次序接收SAR PDU。
通过图2描述DLC PDU。
根据本实施例,为了放弃部分接收的消息并重构第一个有效的消息,接收机的DLC层首先找到和读取包含被设置成1的SAR停止位的PDU的长度字段。该停止位是DLC PDU首部(图2)的‘CL Flag标志’字段中的一位。长度字段的位置对应于SAR PDU的有效负载的最后两个字节。
如图1所示,假设将DLC PDU同它们的首部和CRC冗余字节一起写入一个缓存器。
下列描述用来找到第一个有效的消息的第一个PDU的机理。这一过程通过图3进行描述。
图1和图3二者代表了接收机的一个缓存器,其中PDU分组已经存储在缓存器中。为了便于解释,每个分组被描述成标记为具有序列号‘SN’的分组,这个序列号代表在每个PDU首部中的序列号。为了清楚起见,每个PDU分组还被给出与其在每个消息中的次序(‘Msg#y’)对应的等级(‘PDU x’)。(1)确定第一个有效CPCS消息的长度一个DLC PDU有效负载的长度是48字节。整个DLC PDU的长度是54字节,包括3个首位字节和3个循环冗余码校验(CRC)字节。
一个标准的CPCS-PDU Hyperlan 2消息的消息尾部的长度是4字节。该尾部将长度字段包括在其最后两个字节上。该长度不包括任何填充字节。
发射CPCS消息所需DLC PDU的数量作为其长度的函数则有N=Int((长度+3)/48)+1根据本例,长度等于150字节N=Int((150+3)/48)+1=4(也就是SN15到SN18)第一个PDU的序列号=(最后一个PDU的SN)-Int((长度+3)/48)=18-Int((150+3)/48)=15在已经计算了第一个PDU的位置之后,可以由SAR层重装该消息。在上述的例子中,使用SN等于15到18的PDU构成一个消息。在最后的PDU(SN=18)中,仅有150-48*3=6个第一字节属于这一消息,其它字节是填充字节和末尾字节。DLC层将相应的消息传送到会聚层。
由于假设其它PDU(SN 4和5)构成已经被发射机放弃了最后PDU的不完整消息的开始,因此忽略其它PDU(SN 4和5)。
接收机继续分析输入的PDU以检查它们是否包括了一个停止位和进行如上的处理。
虽然为了说明的目的使图1和图3中的PDU与它们的DLC层序列号相关,这并不是实施本发明所必需的。以正确的次序存储上层的固定长度分组并了解包含在这些分组中的消息的长度就足够了。
上述方法已经应用到通过DLC层接收的PDU。其它层,例如CPCS层可以应用相似的回溯过程。
关于最后CPCS SDU重构,直接计算CPCS SDU首部的位置是可能的。此外,如果在CPCS层中的目的地不是一个FIFO(先进先出),而是一个RAM,开始存储在消息末端开始的数据可能是有益的。CPCS消息是48字节的倍数,因为它仍然包括填充数据。为了避免在消息重构算法中必须执行除法运算,我们重复地从包括在RAM中的每个分段的长度字段的值中减去一个分段的长度(48字节,即,一个DLC PDU的有效负载),直到到达最后分段并且是以相反的接收次序,也就是从接收的最后分段开始。这一最后分段至少包括一些尾部和填充字节。
被称为‘PDU-READ’的指针定义为a-将PDU-READ定义成CPCS PDU的最后字节在缓存器中的位置。
还定义了长度值。长度值携带包含在最后分段中的CPCS SDU的字节数量。该字段位于有效负载的结尾(正好在CRC24之前)b-包括尾部和填充字节(48字节的倍数)的整个CPCS消息存储在RAM中,及将由CPCS存取。在该消息的结尾读取该长度字段。
c-如果长度>=48字节,那么长度值减少48字节。
PDU-READ=PDU-READ-48继续步骤(b)。
d-如果长度>=45(并且<48),那么由于尾部具有4个字节的长度,这意味着仅包括填充字节和尾部的CPCS PDU的最后48字节的分段不扩展到2个分段(有效负载),并总是位于一个分段的结尾。最后一个分段在步骤(a)中被第一个读出。e-如果长度=<44,那么提取当前分段(整个有效负载)。它是CPCS PDU的第一个分段,并且与读入存储器中的第一个48字节的分段相对应,我们现在知道在最后的DLC PDU中存储了多少个字节它是由长度参数所给出的剩余值。现在也可推导出填充字节的数量。它等于48减去剩余长度并减去尾部的长度。因此可以从该消息中排除填充字节。
权利要求
1.一种在传输系统中处理接收的分组的方法,该传输系统包括发射装置和接收装置,来自发射装置且被分成固定长度的分组,以传输到接收机的消息,以与该消息有关的至少一个分组发射的消息长度为N的指示,其特征在于具有步骤接收分组并根据分组的序列号次序将这些分组存储在存储器中;当接收到了消息结束分组时,根据该长度指示来确定包含该消息所需的分组的数量;在存储器中检索确定的分组的数量,从具有最大序列号的分组回溯,并使用这些检索到的分组重构这一消息;放弃存储器中的其它分组。
2.根据权利要求1所述的方法,其中每个分组包括一个序列号,一个消息的最后分组,该最后分组包括识别其作为该消息的最后分组的一段数据,和在消息的最后分组内位于预定位置的消息长度指示符。
全文摘要
关于一种在传输系统中处理接收的分组的方法,该传输系统包括发射装置和接收装置,来自发射装置且被分成固定长度的分组,以传输到接收机的消息,以与该消息有关的至少一个分组发射的消息长度为N的指示,其特征在于具有步骤接收分组并根据分组的序列号次序将这些分组存储在存储器中;当接收到了消息结束分组时,根据该长度指示来确定包含该消息所需的分组的数量;在存储器中检索确定的分组的数量,从具有最大序列号的分组回溯,并使用这些检索到的分组重构这一消息;放弃存储器中的其它分组。
文档编号H04L12/54GK1401199SQ01804988
公开日2003年3月5日 申请日期2001年2月14日 优先权日2000年2月14日
发明者雷诺·多尔, 帕特里克·方丹, 卢多维克·让娜 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1