已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 RLC架构RLC实体从/向上层(RRC for CCCH, PDCP otherwise)接收/发送RLC SDUs,向/从底层发送/接收与对等RLC实体间的RLC PDUs。RLC PDU包括RLC数据PDU和控制PDU两类。如果一个RLC实体从与上层间的一个独立的SAP中接收到RLC SDUs后,RLC将其转化为RLC数据PDUs,然后通过一个独立的逻辑信道递交给底层。如果一个RLC实体从底层某个独立的逻辑信道上接收到RLC数据PDUs,然后将其转化为RLC SDUs,并通过与上层间某个独立的SAP递交给上层。如果一个RLC实体向/从底层发送/接收到RLC控制PDUs,则通过的通道发送/接收RLC数据PDU相同。 RLC实体可以以下列三种模式实现数据的传输:TM(透明模式),UM(非确认模式)或者AM(确认模式)。根据这三类传输模式,RLC实体可以分为TM RLC实体,UM RLC实体或者AM RLC实体。图1 RLC子层模型对于所有RLC实体(包括TM、UM、AM RLC实体):1) 支持字节对齐的可变尺寸的RLC SDUs2) 只有当底层(MAC)通知可以发送,RLC才会组成RLC PDUs递交给底层1.1 TM RLC实体TM RLC实体用于发送/接收逻辑信道BCCH, DL/UL CCCH和PCCH上的RLC PDUs。图2 双TM实体模型TM实体发送/接收TM模式的RLC数据PDU:TMD PDUTM RLC发送实体:当一个发送TM RLC实体将RLC SDUs组成TMD PDUs时,不会分段也不会级联,且不会在TMD PDUs中包含任何的RLC头。TM RLC接收实体:当一个TM RLC接收实体收到TMD PDUs,将其(即RLC SDUs)递交给上层1.2 UM RLC实体UM RLC实体用于发送/接收逻辑信道DL/UL DTCH上的RLC PDUs。图3 双UM实体模型UM实体发送/接收UM模式的RLC数据PDU:UMD PDUUM RLC发送实体:UM RLC实体将RLC SDUs形成UMD PDUs时,需要:1) 分段和/或级联RLC SDUs,这样UMD PDUs就可以和某个发送时机内底层指示的RLC PDU(s)大小相匹配了2) 需要在UMD PDU里包含相关的RLC头UM RLC接收实体:当UM RLC接收实体收到UMD PDUs后,将:1) 检查UMD PDUs是否重复接收,如果重复则丢弃2) 如果接收是乱序的,则需要重排序3) 在底层检测UMD PDUs是否丢失,避免额外的重排序时延4) 将重排序过的UMD PDUs重组为RLC SDUs(不包括已经检测到丢失的)5) 丢弃接收到的无法重组为一个RLC SDU(由于某些相关的UMD PDU丢失)的 6) UMD PDUsRLC重建的时,UM RLC接收实体将:7) 将乱序接收到的UMD PDUs重组后递交给上层8) 丢弃剩余的无法重组为RLC SDUs的UMD PDUs9) 初始化相关的状态变量,停止相关的定时器1.3 AM RLC实体AM RLC实体用于发送/接收逻辑信道DL/UL DCCH or DL/UL DTCH上的RLC PDUs。图4 一个AM RLC实体模型 AM RLC实体发送/接收RLC数据PDU:AMD PDU;AMD PDU分段 AM RLC实体发送/接收RLC控制PDU:STATUS PDU发送侧:当发送侧将RLC SDUs转换为AMD PDUs时,需要:分段和/或级联RLC SDUs,这样AMD PDUs就可以和底层指示的RLC PDU(s)总大小相匹配发送侧支持RLC数据PDUs的重传(ARQ):1) 如果重传的RLC数据PDU和某个发送时机内底层指示的总大小不匹配,则将RLC数据PDU重分段为AMD PDU segments2) 重分段的格式不受限制在发送AMD PDUs或者重AMD PDU segments时都需要在RLC数据PDU里添加相关的RLC头接收侧:收到RLC数据PDUs后,将1) 检测接收到的RLC数据PDUs是否重复,如果重复则丢弃2) 如果接收到的数据包乱序,则重排序3) 底层检测是否有丢失的RLC数据PDUs,如果有则请求对等RLC实体进行重传4) 将乱序的RLC数据PDUs重组为RLC SDUs,并将其按序递交给上层当RLC重建时,接收侧的AM RLC实体将:1)将乱序的RLC数据PDUs重组为RLC SDUs,并将其按序递交给上层2)丢弃剩余的无法重组为RLC SDUs的RLC数据PDUs3)初始化相关的状态变量,停止相关定时器2RLC提供的服务提供给上层(即RRC或者PDCP)的服务:1) TM数据传输2) UM数据传输3) AM数据传输,包括指示上层发送成功期望底层提供的服务:1) 数据传输2) 发送时机通知,以及在该发送时机内能够发送的RLC PDU(s)的总大小3RLC实体的功能1)上层PDUs传输2)AM数据传输时,通过ARQ进行错误检查3)UM和AM数据传输时,进行级联、分段和重组4)AM数据传输时,重组RLC数据PDUs5)UM和AM数据传输时,对RLC数据PDUs进行重排序6)UM和AM数据传输时,重复检查7)UM和AM数据传输时,RLC SDU丢弃8)RLC重建9)协议错误检查和恢复4可以进行发送的数据1)还没有包含在一个RLC数据PDU内的RLC SDUs或者分段2)pending住待重传的AM模式RLC data PDUs, or portions如果需要发送一个STATUS PDU,且status prohibit timer没有运行或者已经超时,则UE将在下个发送时机内估算STATUS PDU的大小,并认为是一个可以发送的数据。5数据传输流程5.1 TM数据传输发送操作当发送一个新TMD PDU给底层时,RLC TM发送实体将不做任何修改把该RLC SDU发送给底层;接收操作从底层接收到一个新的TMD PDU时,TM RLC接收实体也将不做任何修改把该PDU递交给上层。5.2 UM数据传输UM RLC实体相关变量发送实体1) VT(US)下次将要生成的UMD PDU的SN。初始值为0,当UM RLC实体发送了一个SN = VT(US)的UMD PDU后该参数被更新接收实体1)VR(UR):UM接收状态变量 被考虑重排序的UMD PDU中最早的一个SN,初始值为02)VR(UX):UM t-Reordering状态变量 触发t-Reordering的UMD PDU之后的UMD PDU的SN3)VR(UH):UM最高已接收的状态变量 在所有已经接收的UMD PDUs中SN最高的UMD PDU之后的UMD PDU的SN,该值为重排序窗口的最高边界。初始值为04)UM_Window_Size定义了可以被接收的SNsThis constant is used by the receiving UM RLC entity to define SNs of those UMD PDUs that can be received without causing an advancement of the receiving window. UM_Window_Size = 16 when a 5 bit SN is configured and UM_Window_Size = 512 when a 10 bit SN is configured.发送操作 当发送一个新的UMD PDU给底层时,UM RLC发送实体把该UMD PDU的SN置为VT(US),然后把VT(US)加1接收操作UM RLC接收实体将根据状态变量VR(UH)维护一个重排序窗:1) 如果(VR(UH) UM_Window_Size) = SN VR(UH)则该SN将落入重排序窗2) 否则SN落入窗口外当UM RLC接收实体从底层接收到一个UMD PDU后,1) 要么丢弃接收到的PDU,要么将它放在接收缓存里2) 如果该PDU放入接收缓存,则需要更新状态变量,重组并将RLC SDUs递交给上层,如果需要的话开启/停止t-Reordering当t-Reordering超时后,则UM RLC接收实体将更新状态变量,重组并递交RLC SDUs给上层,需要的话开启t-Reordering具体:当UM RLC接收实体从底层接收到一个SN = x的UMD PDU,则1)如果VR(UR) x VR(UH),且SN = x的UMD PDU在之前已经接收过,或者如果(VR(UH) UM_Window_Size) = x current VR(UR)(还没有接收到的)第一个UMD PDU的SN2)将SN updated VR(UR)的UMD PDUs重组,去掉RLC头,并按照RLC SN升序把重组成的RLC SDUs递交给上层3如果t-Reordering正在运行,则1)如果VR(UX) VR(UR),开启start t-Reordering;将VR(UH)设置为VR(UX)t-Reordering超时后的处理1)更新VR(UR)为SN = VR(UX)(还没有被接收)的第一个UMD PDU的SN2)将SN VR(UR): 开启t-Reordering 把VR(UH)设置为VR(UX)5.3 AM数据传输相关参数发送侧1)VT(A):确认状态变量 下一个需要被正确确认的AMD PDU的SN,作为发送窗口的最低边界。初始值为0,当收到一个SN = VT(A)的AMD PDU的正确确认后更新该参数2)VT(MS):最大发送状态参数 该参数值等于VT(A) + AM_Window_Size,为发送窗口的最高边界3)VT(S):发送状态参数 分配给下一个将要生成的AMD PDU的SN,初始值为0,只要发送了一个SN= VT(S)的AMD PDU后,该值便会更新4)POLL_SN:轮询发送状态变量 该变量值等于最近一次发送的P位置1的RLC数据PDU的SN,初始值为0接收侧1)VR(R):接收状态变量 变量值为最后一个顺序接收到的AMD PDU的下一个PDU的SN,作为接收窗口的最低边界。初始值为0,当收到SN= VR(R)的AMD PDU时,该值更新2)VR(MR):最大可接收状态变量 等于VR(R) + AM_Window_Size,接收窗外第一个PDU的SN,作为接收窗的最高边界3)VR(X):t-Reordering状态变量 等于触发t-Reordering的RLC数据PDU的下一个PDU的SN4)VR(MS):最大STATUS发送状态变量 当需要构造一个STATUS PDU的时候,该值等于可以被“ACK_SN”指示的SN的最大值5)VR(H):最高接收状态变量 已经接收到的RLC数据PDUs中的SN最高值,初始值为06)POLL_SN:轮询发送状态参数等于最近一次发送的P位指示为1的RLC数据PDU时的VT(S)-1,初始值为0发送操作AM RLC实体优先发送RLC控制PDUs,其次才是RLC数据PDUs;优先发送重传RLC数据PDUs,其次才是新的AMD PDUs。AM RLC实体的发送侧根据状态变量VT(A)和VT(MS)维护一个发送窗口:- 如果VT(A) = SN VT(MS),则该PDU落入发送窗口- 否则,落在窗口外发送侧不会把落在发送窗外的RLC数据PDU递交给底层当把一个新的AMD PDU递交给底层后,发送侧将把VT(S)设置为该PDU的SN,然后把VT(S)加1AM RLC发送侧可以获得对等AM RLC实体对某个RLC数据PDU的正确确认,即收到STATUS PDU当收到对SN= VT(A)的AMD PDU的确认后,发送侧将:- 设置VT(A)为,满足VT(A) = SN = VT(S)中,且没有收到正确确认的PDU中最小的SN- 如果一个发送实体发送和某个发送RLC SDU相关的所有AMD PDUs都已经被正确确认了,则RLC需要指示给上层该RLC SDU发送成功接收操作接收侧将根据状态变量VR(R)和VR(MR)维护一个接收窗:- 当VR(R) = SN current VR(MS)(没有接收完所有分段)的AMD PDU中的第一个PDU的SN- 如果x = VR(R) - 如果SN=VR(R)的所有分段都已经接收到则 - 更新VR(R)为没有接收到所有分段(SN current VR(R))的第一个AMD PDU的SN - 将VR(MR)更新为VR(R) + AM_Window_Size - 重组落在接收窗外的AMD PDU的任意分段以及SN = VR(R)的按序分段,取掉RLC头,按序将重组后的且之前没有递交过的RLC SDUs递交给上层- 如果x = VR(H)更新VR(H)为x+ 1- 如果t-Reordering正在运行 如果VR(X) = VR(R)或者VR(X)落在接收窗外,则停止并复位t-Reordering- 如果t-Reordering不在运行(包括因上述原因而被停止)如果VR (H) VR(R) 开启t-Reordering 设置VR(X)为VR(H)当t-Reordering超时后,AM RLC实体的接收侧将- 将VR(MS)更新为SN current VR(MS)(没有接收完所有分段)的AMD PDU中的第一个PDU的SN- 如果VR(H) VR(MS)- 停止t-Reordering- 设置VR(X)为VR(H)6ARQ过程 该过程仅用于AM模式6.1 重传AM RLC实体的发送侧可能收到对等AM RLC实体发送的非确认包(STATUS PDU),错误确认一个AMD PDU或者一个AMD PDU的一部分当收到一个非确认包后,如果相关PDU的SN在VT(A) = SN = pollPDU或者BYTE_WITHOUT_POLL = pollByte则在RLC数据PDU里包含一个poll 当重组了一个新的AMD PDU或者AMD PDU分段,则发送侧将:- 如果在发送了RLC数据PDU后,发送缓存和重传缓存就变空了(不包含已经发送出去正在等待确认的数据包),或者- 如果发送了RLC数据PDU后没有新的RLC数据PDU可以被发送(例如窗停止)则在RLC数据PDU里包含一个poll 当在一个RLC数据PDU里包含一个poll时,发送侧将:- 将RLC数据PDU的P域置为1- 将PDU_WITHOUT_POLL设置为0- 将BYTE_WITHOUT_POLL设置为0 当把一个带P位的数据包递交给底层后,如果需要的话增加VT(S),发送侧将:- 设置POLL_SN为VT(S) 1- 如果t-PollRetransmit没有运行,则开启t-PollRetransmit- 否则,重新开启t-PollRetransmit6.2.2 收到状态报告当RLC AM实体收到发送侧的一个状态报告后,如果状态报告中包含对SN等于POLL_SN的PDU的正确或者错误确认,则如果t-PollRetransmit正在运行,则停止t-PollRetransmit.6.2.3 t-PollRetransmit超时t-PollRetransmit超时后,发送侧:- 如果在发送了RLC数据PDU后,发送缓存和重传缓存就变空了(不包含已经发送出去正在等待确认的数据包),或者- 如果发送了RLC数据PDU后没有新的RLC数据PDU可以被发送(例如窗停止)则将SN = VT(S) 1的AMD PDU认为是重传或者认为被重传的PDU没有被正确确认- 在这个PDU中包含一个poll,之后的处理同6.2.16.3 状态报告为了对RLC PDUs或者其中的一部分进行正确或者错误确认,AM RLC实体将给它的对等AM RLC实体发送STATUS PDUs。RRC配置是否使用状态禁止功能,触发状态报告:- 当从底层收到一个SN=x,且P位设置为1的数据PDU后,接收侧将:- 如果满足丢弃条件,则丢弃该数据PDU- 如果x = VR(MR) 则触发状态报告- 否则,延迟触发时间,直到x = VR(MR).状态包在HARQ重排序后发送当发现一个RLC数据PDU接收失败后,t-Reordering超时时,接收侧将触发状态报告T_reordering超时后会触发VR(MS)更新、发送一个状态报告,当状态报告的发送要在VR(MS)更新之后如果触发了状态报告,接收侧将:- 如果t-StatusProhibit没有在运行,在第一个收到底层指示发送时机时,构造一个STATUS PDU,并递交给底层- 否则,t-StatusProhibit超时后,当底层第一次指示发送时机时,构造一个STATUS PDU(即使在t-StatusProhibit运行期间已经触发过多次),并递交给底层当一个STATUS PDU已经递交给底层后,接收侧将开启t-StatusProhib
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 认识物流活动方案
- 鞋柜室内活动方案
- 遇难者哀悼活动方案
- 酒水活动宣传活动方案
- 疫情升旗活动方案
- 疫情聚餐活动方案
- 纪念沈从文活动方案
- 金融理财节活动方案
- 社区义诊活动方案
- 2025-2030滑石在3D打印材料中的应用研发与商业化报告
- 2025法院书记员考试历年真题及答案
- 新质生产力:从概念到实践的演进
- 急危重孕产妇的救治课件
- 涉外商标培训课件
- 2025至2030中国医疗AI行业发展趋势分析与未来投资战略咨询研究报告
- 急性阑尾炎诊治培训课件
- 2025年对酒驾醉驾问题谈心谈话记录内容范文
- 2025年城管岗面试题目及答案解析
- 黄河流域规划解读课件
- 2025~2026学年度八年级上学期期中测试.名校调研系列卷 语文(含答案)
- 新建银包铜粉生产项目环境影响评价报告表
评论
0/150
提交评论