SNDCP学习笔记二(服务源语和功能)

时间:2022-06-26 15:24:05

 1.SNDCP提供及使用的服务接入点结构图

SNDCP学习笔记二(服务源语和功能) 

2.SNDCP服务源语

1)SN-DATA.request

该源语主要给SNDCP user使用,用于确认模式(acknowledged)N-PDU的传输,SN-PDU的成功传输将由LLC层进行确认。该源语的参数包括N-PDU,NSAPI和N-PDU号码。

注意:N-PDU号码可能在inter-SGSN routeing(路由切换)之前由老的SGSN分配

2)SN-DATA.indication

该源语被SNDCP 实体用来传递收到的N-PDU给SNDCP用户.LLC层已经确认了该N-PDU的成功接收

3)SN-UNIDATA.request

该源语被SNDCP用来进行非确认模式(unacknowledged)的N-PDU的传输.该源语包含了用来标识PDP的NSAPI.

4)SN-UNIDATA.indication

该源语被SNDCP实体用来传输接收到的N-PDU给SNDCP用户

5)SN-XID.request

SNDCP用户使用该源语来传递请求的XID(exchange identity)参数给对等实体

6)SN-XID.indication

SNDCP实体用该源语传递请求的XID参数列表给SNDCP用户

7)SN-XID.response

SNDCP用户使用该源语来响应SN-XID.indication,在收到indication之后,会马上给出响应.

8)SN-XID.confirm

SNDCP实体使用该源语来确认SN-XID.request,这个确认应该是在SNDCP收到LLC-XID.cnf之后(也就是已

经收到对端的确认).

3.SNDCP层使用的其它层提供的服务源语

1)LL-RESET.indication

SGSN的LLC层使用该源语来指示SNDCP层重置的XID参数已经被传输,移动台的LLC层使用该源语来指示

SNDCP层收到重置的XID参数.

在收到LL-RESET.indication时,SNDCP层必须

---将所有未完成的SNDCP<---->LLC请求类型源语视为没有发送

---重置所有的SNDCP XID参数为默认值

---在移动台,对每个使用非确认模式的点对点操作的NSAPI,设置发送的N-PDU号码(非确认的)为0,并且

---对每个使用确认模式的点对点操作的NSAPI,进入recovery状态,挂起所有的N-PDU的传输,直到收到针
    对于该NSAPI的SNSM-SEQUENCE.indication源语.在SGSN,SNDCP层必须为LLC层中受影响的SAPIs重
   建确认模式点对点操作

2)LL-ESTABLISH.request

SNDCP层使用该源语来为LLC层的SAPIs建立或者重建确认模式点对点操作.说请求的XID用来传递给LLC
层的请求SNDCP XID参数.

3)LL-ESTABLISH.indication

LLC层使用该源语来通知SNDCP层某个SAPI的确认模式点对点操作的建立或者重建.所请求的XID用来传递
请求的SNDCP XID参数给SNDCP层.在重建的情况下,映射到受影响的SAPI的所有NSAPI必须进入recovery状态,所有缓冲的N-PDUs(比如那些完全接收没有得到确认的,以及那些尚未被传输的)当连接重建后必须以最
老的N-PDU开始被传输.并且所有的在这个SAPI上使用确认模式的点对点LLC操作的压缩实体被重置.

4)LL-ESTABLISH.response

SNDCP层使用该源语来对LL-ESTABLISH进行响应,XID参数用来传递协商过的SNDCP XID参数

5)LL-ESTABLISH.confirm

LLC层使用该源语来告知SNDCP层某个SAPI的确认模式点对点操作的成功发起,XID参数用来传递协商过的
SNDCP XID参数.在重建的情况下,映射到受影响的SAPI的所有NSAPI将进入recovery状态,所有的缓冲的
N-PDU(比如那些完全接收还未得到确认,或者那些还未传输的)在连接重建的时候将以最老的N-PDU开始
被传输.并且所有在这个SAPI上使用确认模式点对点LLC操作的压缩实体将重置.

6)LL-RELEASE.request
7)LL-RELEASE.indication
8)LL-RELEASE.confirm

sndcp层使用LL-RELEASE.request来释放确认方式的点对点操作,LL-RELEASE.confirm被LLC层用来进行对LL-RELEASE.request的确认。LL-RELEASE.indication则被LLC层用来通知sndcp层某个SAPI的确认方式点对点操作的终止,该indication的cause参数用来表示终止的原因。
sndcp层在收到LL-RELEASE.indication或者LL-RELEASE.confirm以后,受影响的SAPI的压缩N-PDU队列将
从sndcp层中被删除,在这个SAPI上使用确认的点对点操作的压缩实体将被重置

9)LL-XID.request
10)LL-XID.indication
11)LL-XID.response
12)LL-XID.confirm
sndcp层进行XID参数协商时涉及到的LLC层的4个源语

13)LL-DATA.request
14)LL-DATA.indication
15)LL-DATA.confirm
确认模式下进行SN-PDU的传输涉及到的3个LLC层的源语。sndcp层使用LL-DATA.request来请求数据传输,并为每个请求关联一个参考参数,在SGSN的Qos参数中包括优先级级别,延迟级别和最大吞吐量。
在移动台的Qos参数中包括最大吞吐量,Qos参数是3GPP TS04.08中定义的服务信息元素的质量。射频
优先级只包括在移动台中,指定了RLC/MAC使用的射频优先级别。在LL-DATA.request使用前,必须先
用LL-ESTABLISH建立SAPI的确认方式点对点操作。LL-DATA.confirm被LLC层用来告知sndcp SN-PDU
的成功传输,该源语包含了一个参考参数,通过该参数可以标识与之相应的LL-DATA.request,那些
收到完全接收的confirm的缓冲N-PDU将被删除

16)LL-UNIDATA.request
17)LL-UNIDATA.indication
非确认模式数据传输涉及的两个源语。在LL-UNIDATA.request中,SGSN的QoS参数优先级级别,延迟级
别,可靠性级别和最高吞吐量。移动台的Qos参数包括最高吞吐量和可靠性级别。可靠性级别指示了指示
了携带SN-PDU的LLC祯是否以保护模式传输,以及RLC/MAC是使用确认模式还是非确认模式。射频优先
级仅在移动台中包括,指示了RLC/MAC使用的无线优先级级别。

18)LL-STATUS.indication
当LLC层发生无法恢复的错误时,通过该源语告知SNDCP层,Cause参数用来表示错误的原因。SNDCP层
在收到这个源语之后,必须通过SNSM-STATUS.request告知SM子层

19)SNSM-ACTIVE.indication
20)SNSM-ACTIVE.response
21)SNSM-DEACTIVE.indication
22)SNSM-DEACTIVE.response
SM实体使用SNSM-ACTIVE.indication来告知SNDCP实体某个NSAPI已经被激活以用来进行数据传输,同时
告知了协商的Qos配置,为该NSAPI分配的SAPI,对移动台来说,还包括RLC/MAC使用的射频优先级。在
接收到这个源语后,SNDCP如有必要必须建立确认方式点对点LLC操作。
SNSM-DEACTIVE.indication这个源语则被SM层用来告知SNDCP层某个NSAPI被deallocated,不能再由SNDCP层使用。这个NSAPI所有的缓冲的N-PDU都会被删除。在收到这个源语后,SNDCP实体如有必要
必须释放相关的SAPI的确认方式点对点操作。

23)SNSM-MODIFY.indication
24)SNSM-MODIFY.response
SM实体使用该源语来触发某个NSAPI的Qos配置的改变和要使用的SAPI。SGSN的SM实体用它来通知SNDCP实体必须以一个重新协商的Qos配置和分配的SAPI创建一个NSAPI,移动台的SM实体还可以用
它来指示RLC/MAC使用的射频优先级。在收到SNSM-MODIFY.indication源语时,SNDCP如果必要,必
须为指定SAPI建立确认方式点对点LLC操作,并释放原来分配SAPI。

25)SNSM-STATUS.request
SNDCP层使用该源语来通知SM子层,由于LLC层的错误(LLC-RELEASE.indication中指示)或者SNDCP层
的错误,它无法继续操作,Cause参数指示了错误的原因。

26)SNSM-SEQUENCE.indication
27)SNSM-SEQUENCE.response
SNSM-SEQUENCE.indication在SGSN路由区切换的时候使用,并且只用于确认方式点对点LLC操作。当MS收到该源语的时候,接收到的N-PDU数值参数指示了在SGSN接收到了N-PDU数值,当SGSN收到该源语的时候,接收到的N-PDU数值指示了在MS端接收到的N-PDU的数值。如果缓冲中的N-PDU被对端SNDCP已经收到的N-PDU数值确认,该N-PDU必须从buffer中删除。另外,SNDCP层在收到该源语后,将继续那个NSAPI的SN-PDU传输,且所有的缓冲N-PDU(比如那些未经确认或者未发的)必须从最老的N-PDU开始传输。如果这个NSAPI使用的SAPI并未建立,缓冲N-PDU只能在收到LL-ESTABLISH.indication或者LL-ESTABLISH.confirm源语之后才能使用。
SNSM-SEQUENCE.response是对SNSM-SEQUENCE.indication的响应。移动台在接收到SNSM-SEQUENCE.indication后可以发送该源语来返回接收到的N-PDU数值给SGSN。

28)SNSM-STOP-ASSIGN.indication
在SGSN路由切换的时候,老的SGSN的SM实体使用该源语来通知SNDCP停止分配N-PDU数值给通过SN-DATA.request源语接收到的N-PDU.该源语在发送N-PDU数值和接收N-PDU数值被传输到新的SGSN之前调用。

 3.SNDCP层提供的服务(即功能)

1)将SN-DATA源语映射到LL-DATA源语
2)将SN-UNIDATA源语映射到LL-UNIDATA源语
3)复用一个到多个的网络层实体的N-PDU到恰当的LLC连接
4)建立,重建和释放确认方式的点对点LLC操作
5)确认方式点对点LLC操作中,通过缓冲和重传机制来使LLC层实现了数据的完整性
6)独立为每个NSAPI管理投递系列号
7)在传输端对冗长的协议控制信息进行压缩,在接收端进行解压缩。压缩方法特定用于在使用的网络层和
      传输层。
8)在传输端对冗长的数据信息进行压缩,在接收端进行解压缩。对每个SAPI,数据压缩独立执行,也可
     能对每个PDP上下文独立执行。压缩参数可以在MS和SGGN间进行协商
9)分片和重组。压缩功能的输出是分片为LL-PDU的最大长度。这个程序同在使用的特定网络层协议无
     关。
10)在对等SNDCP实体间协商XID参数。

 下图展示了SNDCP在发送端的一个数据流程:

SNDCP学习笔记二(服务源语和功能)