51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 6927|回复: 10
打印 上一主题 下一主题

GSM无线接入环境下GPRS手机协议栈中的LLC协议介绍 [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2011-5-15 13:50:12 |只看该作者 |倒序浏览
一键分享 一键分享
本帖最后由 爱卫生 于 2011-5-15 13:59 编辑

   文本将介绍的对GPRS 手机协议栈中的逻辑链路控制(LLC Logical Link Control) 层协议,LLC类似于国际标准化组织OSI - 7 层参考模型中的第2层———数据链路层。LLC层是针对GSM和EDGE无线接入技术的手机侧协议栈,如果是3G的无线环境,例如WCDMA等,则没有LLC层。相应的功能由RRC层实体替代。

   1 LLC 的位置及基本功能
    LLC 主要作用是在移动台MS (Mobile Subscri2ber) 和GPRS 业务支持节点SGSN(Serving GPRS Sup2port Node) 的Layer - 3 的实体之间传送信息。LLC 支持同一Um 无线接口中的多个MS(移动台) 或者在一个MS 中的多个Layer - 3 的实体之间的信息传送。LLC 提供通过逻辑连接在MS 和SGSN 的对等实体之间的消息传送。
    在实际的GPRS 手机协议栈体系结构中,LLC层位于GPRS 移动性管理协议层GMM(GPRS Mobili2ty Management)P子网相关汇聚协议层SNDCP(Subnet2work Dependent Convergence Protocol)P短消息业务SMS的下层、无线链路控制层RLC(Radio Link Control) 的上层,如图1所示。  
    GMM,SNDCP 和SMS 为LLC 的服务用户,LLC通过业务接入点SAP(Service Access Point) 为它们提供和SGSN 的逻辑链接。LLC 层一共提供了6 个业务接入点:4 个专用于SNDCP 层,它们负责分组数据的传送;1 个专用于GPRS 移动性管理( GMM) ;1 个专用于短消息业务(SMS) 。每个SAP 通过业务接入点标识符SAPI(Service Access Point Indicator) 来标识。GMM和SNDCP 还可以给LLC 发送消息原语,来控制LLC 完成某些操作,比如建立P释放逻辑链路连接。而RLC 则是将上层LLC 的数据分段和重组,以便在逻辑信道上传送。图2 表示了LLC 与相邻模块的关系。


    LLC 层的基本功能如下:

    (1) 提供用数据链路连接标识符DLCI(Data LinkConnection Identifier) 来区分的一个或多个逻辑连接;
    (2) 同时支持证实模式和非证实模式数据传输;
    (3) 允许MS 和SGSN 之间进行XID ( ExchangeIdentification) 协商,选用合适的XID 参数来进行数据传输;
    (4) 对通过逻辑链路传送帧的顺序控制;
    (5) 逻辑链路流量控制;
    (6) 对逻辑链路上的传送信息、信息格式和操作错误的检测;
    (7) 对检测到的信息传送、信息格式和操作错误的恢复,报告不可恢复的错误;
    (8) 用户数据加密。

2 LLC 信息传送方式、帧结构和数据安全
2. 1 信息传送方式
   LLC 信息传送有2 种传送方式:证实传送方式和非证实传送方式。
(1)证实方式
   用证实方式传送的3 层消息是以有序的信息帧( I 帧) 来传送,而且需要LLC 层的证实信息,有错误恢复、重传机制和流控制。几个I 帧可以同时被证实。如果出现了LLC 层不能纠正的错误,会向上层GMM报告,由上层负责处理。
   证实方式的激活是通过发送设置异步平衡模式命令SABM(Set Asynchronous Balanced Mode) 帧。除了SAPI1 (用于GMM业务) 和SAPI7 (用于SMS 业务)不能用证实方式外,其它SAPI(SAPI 3 ,5 ,9 ,11) 都可以用证实方式。
(2) 非证实方式

    用非证实方式传送的3 层消息是以非证实的方式UI(Unconfirmed Information) 帧传送的,不需要LLC层的证实。该方式中没有错误恢复、重传机制和流控制,但能检测传输和格式错误,重复的帧会被抛弃。
    有2 种非证实的操作模式:保护模式和非保护模式。保护模式是UI 帧的帧头和信息字段都被帧校验序列FCS 字段保护;非保护模式是FCS 只保护帧头和信息字段的前N202 个字节。非证实方式适用与所有的业务接入点(SAPI 1 ,3 ,5 ,7 ,9 ,11) 。

2. 2 帧结构
   移动台MS(Mobile Subscriber)LLC 层与SGSN 对等层间的信息交换都是按照一定的帧格式进行的,LLC 的帧结构中包括:地址字段、控制字段、信息字段、帧校验序列字段。
   帧头包括地址字段和控制字段,最小为2 字节,最大为37 字节。地址字段是一个字节,包括协议标识符PD 位、命令P响应指示CPR 位、两个空闲位和业务接入点SAPI。
   控制字段由1 到36 个字节组成,有4 种格式: I(信息帧) ,UI (非证实的信息帧) ,U (非编号格式帧) ,S(监督帧) 。控制字段装载了控制信息、帧序号信息和证实信息。
   信息字段在控制字段之后,最大为N201 字节,可以为空。N201 是MS 与SGSN 之间可以进行协商的一个参变量。
   帧校验序列(FCS) 字段包括24 位的循环冗余校验码(CRC) 。24 位CRC 校验码用来检测帧头和信息字段是否出错。CRC 的计算是在发送方加密消息之前,在接受方是在消息解密后进行。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 9Rank: 9

懒

沙发
发表于 2011-5-15 14:06:40 |只看该作者

3  LLC 的主要处理规程

本帖最后由 爱卫生 于 2011-5-15 14:51 编辑

3. 1  非证实模式数据传输
   在非证实模式下,MS 端Layer - 3 层的数据采用UI 帧进行传输。非证实模式的数据传输比较简单ayer - 3 层发起非证实数据传输请求,请求消息原语中携带Layer - 3 层的PDU、保护模式和加密模式参数。LLC 将Layer - 3 层的信息组装成UI 帧,发送给SGSN。SGSN 对等LLC 层接收到UI 帧后,如果UI帧没有出错,则将消息打包后转发给Layer - 3 层实体。Layer - 3 层非证实数据发送成功。

3. 2  证实模式的数据传输
   LLC 中证实模式只用于传输I 帧消息。证实模式定义了错误恢复P重传机制:当出现数据错误时,则进行数据重传,如果多次重传还是无法恢复错误时,LLC 将主动向GMM汇报。

3. 2. 1  ABM操作的建立
   MS和SGSN 之间要进行证实模式的数据传输前,首先要建立异步平衡模式ABM (AsynchronousBalanced Mode) 状态。MS 建立ABM 操作状态有两种途径:一种是MS 端SNDCP 发起链路建立请求;一种是接受SGSN 发送的SABM命令。
   MS 端SNDCP 发起链路建立请求方式。LLC 接受SNDCP 层的链路建立请求后,进入本地建立状态。LLC 给SGSN 对等层发送建立异步平衡模式SABM命令。SGSN 对等层返回非证实响应UA(Un2numbered Acknowledged) 帧后,LLC 进入ABM状态。
   MS LLC 接受SGSN 的SABM 命令方式。当MS端LLC 处在临时逻辑链路标识符TLLI ( TemporaryLogical Link Entity) 已分配状态时,如果收到SGSN 的SABM指令,进入远端建立状态,再向SNDCP 层请示,如果SNDCP 给予允许进入ABM 状态的响应,则LLC 进入ABM状态。
在MS 和SGSN 的LLC 层都进入ABM 状态后,双方可以开始进行证实模式的数据传输。

3. 2. 2  ABM操作的终止
   同建立ABM 操作类似,终止ABM 操作也有两种途径:一种是MS 端SNDCP 发起的链路释放请求;另一种是接受SGSN 的断开连接DISC 命令。MSLLC层接受了上述链路释放请求或断开连接命令,将状态转到TLLI 已分配状态。如果LLC 不接受请求或命令,则相应向SNDCP 发送不执行命令响应DM(Disconnected Mode) 帧、给SGSN 发送非证实响应UA 帧。

3. 2. 3 I帧 / S帧传输
   在MS 和SGSN 都进入ABM 状态后,就可以开始进行I 帧和S 帧的传输了。ABM 状态中,LLC 层每个SAPI 逻辑链路实体LLE(Logical Link Entity) 都需要存储传送过的I 帧序号,这个记录在I 帧重传时被用到。
   I 帧传送(包括重传) 。MS LLC 层接收到SNDCP的证实模式数据发送请求,如果在发送窗口中还有空闲空间,则将数据插入队列中,并给其分配发送帧号N(S) = V(S) ,发送状态变量V(S) 加1。如果有I 帧需要重传且重传次数没有超过最大重传次数N200 ,则重传此帧;超过最大重传次数时,发起链路重建工作。检查发送窗口,如果有新的I 帧需要发送,而且发送窗口仍然打开: (V(S) - V(A) ) mod 512 < k(注:V(A) 为证实状态变量, k 为发送窗口大小, k可以由MS 和SGSN 协商得到) ,则发送此I 帧。在SGSN 有发送证实请求时,LLC 将发送监督帧。
  I 帧接收。接收到SGSN 发送过来的I 帧后,LLC 将其插入到接收队列中,如果该帧信息字段不为空, 将I 帧数据转发给SNDCP , 接收状态变量V(R) 加1。
   I 帧发送成功确认。当LLC 确认I 帧是否已经发送成功后: (N (R) - V (A) ) mod512 > 0 时,将I 帧从传送队列中清除,给SNDCP 层发送证实模式数据发送成功确认消息,V(A) 加1。

3. 2. 4  ABM操作的重建
   发生异常情况( I 帧多次重传失败、定时器T200PT201 超时或满足帧拒绝条件) 后,MS LLC 将发起链路重建工作。MS LLC 给SGSN 发送SABM指令,并进入ABM状态,待SGSN 接受SABM 指令返回UA 响应帧后,双方便可以恢复证实模式数据的传送。

3. 2. 5  SAPI 的激活与去活
   在用户数据业务实体逻辑链路已经建立的情况下,SNDCP 根据需要可以向相应LLC 层LLE 实体发送激活P去活请求。在LLE 实体收到链路激活请求后,激活相应链路,并且更新QoS 参数:时延优先等级和峰值吞吐量等级。在LLE 实体收到链路去活请求后,将去激活相应链路,并且将QoS 参数:时延优先等级和峰值吞吐量等级参数恢复为缺省值。


3. 3  XID 参数协商
   LLC在进行证实模式数据传送前,必须先建立逻辑链路,并对链路参数进行XID 协商( ExchangeIdentification) 。XID 协商既可以协商LLC 层参数(LLC 版本号Version、UI 帧IOV - UI 参数等12 个) , 也可以协商SNDCP 层参数(包括协议压缩参数和数据压缩参数) 。XID 帧可以在ADM 状态和ABM 状态中传输。
   对于SAPI 1 ( GMM) 和SAPI 7 ( SMS) , 只能在ADM状态进行XID 协商,而且协商的参数只有四个:Version ,T200 ,N200 ,N201 - U。协商有两种方式:MS 端LLC 向SGSN 发起XID 协商命令,如果SGSN对等层接受协商,则返回XID 协商响应;MS 端LLC接受SGSN 的XID 协商命令,返回XID 协商响应。如果双方都接受了协商的参数,则完成了XID 协商操作,后续非证实数据传送遵循新的链路参数。
   对于用户数据传送四个业务接入点SAPI 3/5/9/11 ,XID 协商方式有三种:MS 端SNDCP 发起的XID参数协商,MS 端LLC 发起的XID 参数协商,SGSN 对等层发起的XID 参数协商。前两种方式中,MS 端向SGSN 发送XID 协商命令,SGSN 对等层接受协商后,返回协商响应。在SGSN 发起的XID 协商中,如果参数字段中含有RESET 参数,且RESET 为第一个参数,MS 端LLE 实体要进行复位,将链路参数恢复为缺省值;否则按协商的结果更新链路参数。在完成XID 参数协商后,后续证实数据传送要遵循新的链路参数。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

板凳
发表于 2011-5-15 14:27:47 |只看该作者
4 流量控制
   在MS 端,发送队列和接收队列缓冲区大小是有限制的,为保证数据的顺利接收与发送,要采取流量控制。在LLC 层,数据流量控制只用在四个用户数据业务实体的进程当中,其中几个重要的参数为LC - RLC 流控指数(包括证实数据和非证实数据) 、证实数据发送队列缓冲区个数、证实数据接收队列缓冲区个数、上行数据窗口大小kU、下行数据窗口大小kD。参数kD 和kU 可由MS 与SGSN 之间进行协商。

4.1 LLC - RLC 流控指数
   在LLC 进入ADM 状态后,LLC - RLC 流控指数赋予一个初始值,每当LLC 接收到LLC 分组数据发送成功确认消息或者被抛弃消息,流控指数加1 (不能超过初始值) ;而LLC 进程每发送出一个数据帧(证实数据或非证实数据) ,流控指数减1 ,减到0时,将停止接收P发送数据。

4.2 MS 端接收数据的流量控制
    对于每个LLC LLE 实体,接收数据缓冲区个数为一个常数。当SGSN 下一帧发送帧序号N(S) 减去MS 接收下一帧状态变量V(R) 大于kD 或接收缓冲区个数时SGSN 的分组数据被抛弃。如果有缓冲区能够接收SGSN 的数据,且SGSN 数据信息字段不为空,则将数据发送给SNDCP ,V(R) 加1。

4.3 MS 端发送数据的流量控制
    对于每个LLC LLE 实体,发送数据缓冲区个数也是一个常数。在LLC 收到SNDCP 的分组数据后,如果还有空闲的发送缓冲区,则将数据放入缓冲区,发送下一帧状态变量V(S) 加1。在发送队列中,如果有需要重传的I 帧,如果I 帧的重传次数小于N200 ,则重传该帧,否则发起ABM重建;如果有需要传送的I 帧,且发送窗口打开: (V(S) - V (A) ) mod512) < kU ,则发送I 帧,否则不发送。收到证实帧后,释放V(A) 在传送队列中相应的帧,V(A) 加1 ,当V(A) 等于N(R) 时,表明所有I 帧发送成功。

5 小结
   GPRS 被称为是第二代移动通信系统向第三代移动通信平滑演进的一个捷径。GPRS 系统在现有GSM网络的成功实施,为高速率的无线数据传输提供了一种解决方案。第三代手机协议栈Layer - 2 ,Layer - 3 层和GPRS 手机协议栈的Layer - 2 ,Layer -3 层非常相似,LLC 作为其中的一个子层,负责为Layer - 3 层的数据传送提供可靠的逻辑链路连接,LLC 中使用的流量控制、重传、帧校验、加密、XID 协商等方法都是在解决分组传输问题中必不可少的,因而对GPRS 手机协议栈中逻辑链路控制LLC 层协议进行研究具有很重要的意义。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

地板
发表于 2011-7-26 13:36:20 |只看该作者
写的比较明白,学习了,谢谢

使用道具 举报

VIP会员

服务生

Rank: 8

超级之星 论坛核心会员

5#
发表于 2011-11-2 11:26:04 |只看该作者
{:soso__14237679105404357233_4:}感谢 爱卫生的分享
知之者不如好之者,好之者不如乐之

使用道具 举报

Rank: 2Rank: 2

6#
发表于 2012-3-23 11:04:18 |只看该作者
学习了

使用道具 举报

Rank: 3Rank: 3Rank: 3

7#
发表于 2012-6-21 23:07:49 |只看该作者
建议爱总详细的做个视频解释下,那样更深刻。。

使用道具 举报

Rank: 2Rank: 2

8#
发表于 2012-7-4 09:20:30 |只看该作者
愛總您好,最近在閱讀LLC的spec 04.64,目前有幾個地方不太清楚,想請愛總及各位先進幫忙解答下。
Q1:"支持同一Um 无线接口中的多个MS(移动台)"這句話的意思是說,多個MS可透過同一個Um接口連到同一個SGSN嗎?

Q2:在LLC layer的"Multiplex Procedure"實體中,標準提到一句話"provieds SAPI-based LLC contexsion resolution between the various LLEs",指的是說當多個LLE在傳frame經過這個實體時,此時體會處理frame的傳送順序嗎?是的話,他處理的依據是?

Q3:標準提到State variable和sequence number{V(A), V(S), V(U), V(R), V(UR), N(R), N(S), N(U)}這些參數,雖然都有稍微講一下代表什麼,但我還是不太能理解。實際運作上,這些值如何使用、如何變化,以及他們之間是否有關連性.......

煩請各位前輩能給予指導,謝謝!

使用道具 举报

Rank: 9Rank: 9

懒

9#
发表于 2012-7-4 19:25:12 |只看该作者
ldc7491 发表于 2012-7-4 09:20
愛總您好,最近在閱讀LLC的spec 04.64,目前有幾個地方不太清楚,想請愛總及各位先進幫忙解答下。
Q1:"支 ...

说说我的理解。
Q1:问题是不是一个LLC一个MS?如果说Um接口被多个MS复用那是自然的。Um就是逻辑接口,就像Gn接口一样。所以肯定是多个MS共用的。每个MS都有自己的一条LLC连接。

Q2:请告知44.064的版本哦,我找了3GPP的R4、R6、R9都没看到这句话。据我了解,好像是不区分不同SAPI实体之间的优先级的。也就是GMM这个SAPI应该不能抢占SNDCP这个SAPI。

Q3:我不是研发人员。学习有时候比较功利。你提到的这些参数全部属于LLC的确认模式术语,用于保证LLC层的可靠传递。但实际上GPRS网络中绝大部分都是用的LLC非确认模式,因为确认模式的功能与RLC层的确认模式功能重叠。因为现网没有,所以暂时还没有花精力去学习。而且也找不到这样的现网报文。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

10#
发表于 2012-7-4 19:37:22 |只看该作者
爱卫生 发表于 2012-7-4 19:25
说说我的理解。
Q1:问题是不是一个LLC一个MS?如果说Um接口被多个MS复用那是自然的。Um就是逻辑接口,就 ...

愛總您好,我念得標準是 04.64 v8.7.0 Release1999
在4.7.2節,介紹Multiplex Procedure這個實體的時候,有提到這段話。

感謝愛總您的回答喔!!

使用道具 举报

Rank: 2Rank: 2

11#
发表于 2012-7-24 16:42:49 |只看该作者
愛總您好,再請教個問題,LLC在建立ABM的過程,傳送端發 SABM,接收端發UA or DM,對應到底層通道的話,是如何對應的呢?
我的理解是,這些都屬於LLC frame,差別在於frame structure的不同,對下層RLC/MAC而言,都是LLC PDU,只是再往下對應,我就不清楚了。不知道這部份的資訊應該參照哪個部份的spec呢?

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-8 21:06 , Processed in 0.082269 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部