【PDCP】5.5 PDCP Behaviour at Handover(翻译)

Posted on 2008-08-26 13:54  猫咪与非  阅读(1115)  评论(0)    收藏  举报

 5.5.1 DRBs mapped on RLC AM

 5.5.1.1 Actions at handover

当上层通知handover发生时,对于映射到RLC AM上的radio bearers,UE应该:

    开始Flush_Timer,如果已经运行则restart;

    运行5.5.1.2.1的操作,使用PDCP PDU的security 算法和在handover之前使用的、从下层收到的、(由于下层重建因此按序投递没有得到保证)的parameters;

    如果上层配置radio bearer以发送PDCP status report,则生成的status report如下,它作为传输的第一个PDCP PDU被递交给下层:

      设置FMS为第一个丢失的PDCP SDU的PDCP SN;

      如果有多于一个的missing PDCP SDU,分配一个Bitmap域,它的长度为从第一个missing PDCP PDU(不包含它本身)到最后一个无序的PDCP PDU(包含它本身)个PDCP SN的长度,rounded up to the next multiple of 8;

      对于所有下层提示没被收到的PDCP SDU以及(可选)decompress失败的PDCP PDU,在bitmap对应位置置‘0’;

      对于所有其他的PDCP SDU,置相应bitmap为‘1’。

    在PDCP entity的发送端和接收端reset包头压缩协议;

    如5.5.1.2.1所述在downlink进行按序投递和重复删除(duplicate elimination) ,使用安全算法和handover之后的parameters,直到如5.5.1.2.2中所述的记录功能结束;

    如5.5.1.3所述,在uplink进行PDCP SDU的重传。

 5.5.1.2 downlink上的按序投递和复制删除

 5.5.1.2.1 激活条件和过程

当从下层收到一个带有PDCP SN的PDCP PDU,UE应该:

    if 收到的PDCP SN – Last_Submitted_PDCP_RX_SN > Reordering_Window or 0 <= Last_Submitted_PDCP_RX_SN – received PDCP SN < Reordering_Window:

      if 收到的PDCP SN > Next_PDCP_RX_SN:

               使用基于变量RX_HFN-1值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,根据5.3解密这个PDCP PDU;

      else,

               使用基于变量RX_HFN值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,根据5.3解密这个PDCP PDU;

      if 如5.2.5所述进行了配置,进行header decompression;

      抛弃这个PDCP SDU;

    else if Next_PDCP_RX_SN – 收到的PDCP SN > Reordering_Window:

      RX_HFN++;

      使用基于变量RX_HFN值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,解密这个PDCP PDU;

      置Next_PDCP_RX_SN的值为接收到的PDCP SN+1;

    else if  接收到的PDCP SN – Next_PDCP_RX_SN > Reordering_Window:

      使用基于变量RX_HFN-1值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,解密这个PDCP PDU;

    else if 接收到的PDCP SN >= Next_PDCP_RX_SN:

      使用基于变量RX_HFN值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,解密这个PDCP PDU;

      置Next_PDCP_RX_SN的值为接收到的PDCP SN+1;

      if Next_PDCP_RX_SN > Max_PDCP_SN:

          - 置Next_PDCP_RX_SN为0;

          - RX_HFN++;

    else if 接收到的PDCP SN < Next_PDCP_RX_SN:

      使用基于变量RX_HFN值和包含在PDCP PDU header的SN域中的PDCP SN值的COUNT,解密这个PDCP PDU;

    if 上面没有抛弃这个PDCP PDU:

      如5.2和5.3所述执行deciphering和header decompression;

      if 一个带有相同PDCP SN的PDCP SDU被存储

         - 抛弃这个PDCP SDU;

      else 

         - 为后续投递存储这个PDCP SDU;

    if 由于下层重建导致接收PDCP PDU没有被接收到:

      把相关COUNT值按升序递交到上层:

         - 所有已存储的、相关COUNT值<=接收PDCP SDU的COUNT值的PDCP SDU;

         - 所有已存储的、从接收PDCP SDU+1的COUNT值开始连续的COUNT值对应的PDCP SDU,如果有的话。

    else

      置变量Last_Submitted_PDCP_RX_SN的值为最后一个投递到上层的PDCP SDU的PDCP SN。

 5.5.1.2.2 重新排序功能的停止

如果Flush_Timer计时终止,UE应该:

    在downlink上停止按序投递和复制删除;

当downlink上的按序投递和复制删除功能被停止,UE应该:

    按相关COUNT值升序投递所有以存储的PDCP SDU到上层;

    置变量Last_Submitted_PDCP_RX_SN的值为最后一个投递到上次的PDCP SDU的SN值。

 5.5.1.3 uplink上的PDCP SDU的重传

当上层提示handover发生,对于映射到RLC AM上的radio bearers,UE应该:

    从第一个对应的PDCP PDU的成功投递还没有被下层确认的PDCP SDU开始,重传所有uplink上的PDCP SDU; 

    在PDCP SDU上执行header compression(如果需要)和加密,如5.2和5.3所述。

 5.5.1.4 downlink上PDCP status report的接收

当一个PDCP status report在downlink上被收到,对于映射到RLC AM上的radio bearers,UE应该:

    对于每一个PDCP SDU,若其对应的bitmap位为‘1’,或者其对应的COUNT值 < 被FMS识别出的PDCP SDU的COUNT值,则应丢弃其对应的PDCPPDU和PDCP SDU。如果对应的PDCP PDU已经被投递到低层,这次丢弃应该告知低层。

 5.5.2 DRBs mapped on RLC UM

 5.5.2.1 Actions at handover

当上层通知一次handover发生,对于映射到RLC UM上的DRBs,UE应该:

    使用ciphering算法和在handover之前使用的key,对于从低层收到的PDCP PDUs,执行PDCP SN维持、Header decompression和deciphering,如5.1.1.1、5.2和5.3所述。

    Reset header compressin 和 de-compression协议;

    置变量Next_PDCP_TX_SN,Next_PDCP_RX_SN,TX_HFN和RX_HFN的值为0;

    使用ciphering算法和handover之后使用的key,执行5.1.3中所述的操作。

 5.5.3 SRBs

 5.5.3.1 Actions at handover

当上层通知一次handover发生,对于SRBs,UE应该:

    置变量Next_PDCP_TX_SN,Next_PDCP_RX_SN,TX_HFN和RX_HFN的值为0;

    丢弃所有已存储的PDCP SUDs和PDCP PDUs。