RLC可以采用TM、UM、AM三种方式的区别是什么

转自MSCBSC heclong
语音业务在RLC层不是透传的,看协议栈一下就明白了!如下图所示,业务面在RLC层只有AM,UM模式,没有TM,TM只承载信令,用于传SRB0,寻呼,和广播消息。

claw3in1
以从处理上层下发的信息为例,简而言之:
TM:不为上层的PDU添加额外信息直接透传;
UM:添加额外信息,所传送信息不需对等实体确认;
AM:添加额外信息,所传送信息需对等实体确认。

PS:具体可参考
3GPP 25.332
《Radio Link Control (RLC) protocol specification》

marinelick
选择TM模式传输的数据对于实时性要求较高,而对完整性或者准确性要求并不高,比如语音业务;
对于AM模式的数据,对于准确性的要求非常高,为了保证数据的正确接收将会牺牲一些实时性,比如PS业务,或者非常关键的信令(如切换命令);
而UM模式的数据则介于其间,常见到的主要有周期上报的测量报告等非关键性信令

潇洒
TM:不为上层的PDU添加额外信息直接透传;
UM:添加额外信息,所传送信息不需对等实体确认
AM:添加额外信息,所传送信息需对等实体确认

xxcbzq
TM模式为透明模式,CS语音业务主要保证语音业务的实时性,传送的相关数据RLC层不做处理。

AM UM模式RLC层在建立实体是配置,有UM模式和AM模式两类,AM模式中在下发需要确认的消息时采用AM模式,SRB2,3;UM模式配置为SRB1,在释放消息:例如RRC_CONN_REL可以不等确认时采用。另外AM模式在L2是否回ACK消息还需要看POLL参数的置位信息

cagio
AM和UM只是RLC的处理机制上的区别,AM的话,BS会要求UE反馈状态报告,有ARQ机制重传丢失的PDU,UM的话就是发了不管的,没有重传。AM下丢包率较低,但是AM依赖于上行的反馈,对上行有要求。

z92nick
你混淆了lte和W/TD,lte没有cs域。w或td的cs rb是建立在tm上的。

时间: 2024-11-05 12:25:47

RLC可以采用TM、UM、AM三种方式的区别是什么的相关文章

【Struts2】Struts2获取session的三种方式

1.Map<String,Object> map =  ActionContext.getContext().getSession(); 2.HttpSession session = ServletActionContext.getRequest().getSession(); 3.让Action实现SessionAware接口,并实现public void setSession(Map<String, Object> session) {} 方法,Struts2会在实例化Act

Java Class类以及获取Class实例的三种方式

T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>. [java] view plain copy print? public final class Class<T> extends Object  implements java.io.Serializable, java.lang.reflect.GenericDeclaration, java.lang.r

【Eclipse使用方法】Eclipse中安装插件的三种方式

Eclipse也用了很久,但是都没有怎么去研究过怎么安装插件,今天正好在自己新买的本上试了一下.现在将心得写下,以供参考.目前安装Eclipse插件主要有以下三种方式: 在线安装: 以TestNG的安装为例来阐述其安装过程. 第一步:点击菜单栏中“Help”菜单,在下拉列中选择“Install New Software...”.此时会弹出“install”的安装框. 第二步:在弹出的“install”框,选择之前已经建立好的site,如果没有建立好,则可以点击“Add”按钮,弹出一个添加site

java创建线程的三种方式及其对比

Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.thread; public class FirstThreadTest extends Thread{ int i = 0; //重写run方法,run方法的方

tomcat发布web项目的三种方式

tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 <Context path="/aa" docBase="C:\AA\BB" /> 即/aa这个虚拟路径映射到了C:\AA\BB目录下,修改完servler.xml需要重启tomcat服务器 方式二: 在conf目录下创建Catalina目录,在此目录下新

iOS:延时执行的三种方式

延时执行的三种方式:performSelectorXXX方法.GCD中延时函数.创建定时器 第一种方式:NSObject分类当中的方法,延迟一段时间调用某一个方法 @interface NSObject (NSDelayedPerforming) ※延时调用在当前线程使用特定模式的方法(如果数组没有数据或者参数为nil,则不会调用selector中方法) - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterD

iOS开发 跳转场景的三种方式

假设A跳转到B,三种方法: 1.按住ctrl键,拖动A上的控件(比如说UIButton)到B上,弹出菜单,选择Modal.不需要写任何代码,在A上点击Button就会跳转到B 2. 按住ctrl键,拖动A上的View Controller到B上,弹出菜单,选择Modal,两个场景间自动添加连接线和图标,选中该图标,打开Storyboard Segue,identifier输入一个标识符,这里以”aaaa”为例.A里需要跳转时,执行下面的代码: 1 [self performSegueWithId

清空数组的三种方式

清空数组的三种方式: 1.splice(0,数组的长度): var arr1 = arr.splice(0,arr.length); console.log(arr1); 2.让数组的长度为0: 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如   int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了; (在JS中length的属性是可读可写的,也就是可以给length属性赋值

spring配置datasource三种方式

1.使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">