某通訊公司 SNDCP LOG 分析

來源:互聯網
上載者:User
1.     縮減語
1)SNDCP:SubnetworkDependence Converage Protocol,子網相關匯聚協議
2)NSAPI:Network Layer Service Access Point Identifier,網路層服務存取點標識,其實就是在使用SNDCP層的服務的PDP的PDP內容相關的一個索引,SNDCP向上層提供的服務存取點;
3)SAPI: LLC 向上層提供的服務存取點
3)Qos:quality ofservice 
4)BSS:Base StationSystem
5)SGSN:Service GPRSSupport Node
6)PDP:Packet DataProtocol
2.     SNDCP功能
1)PDP的多工, 一,將不同協議的資料複用成 LLC PDU;
2)使用者資料的壓縮和解壓縮;
3)協議控制資訊的壓縮和解壓縮;
4)將網路通訊協定資料單元(N-PDU)的分區層邏輯鏈路控制協議(LLC)的資料單元(LL_PDU),以及將邏輯鏈路控制協議的資料單元(LL_PDU)重組成網路通訊協定資料單元(N-PDU);
 
 
圖一 SNDCP 多工
 
§   SNDCP作用就為了讓LLC不用管N-PDU是來自哪種網路通訊協定,即複用;
§   SNDCP可以將網路資料進行分段或者重組,還有壓縮或者解壓縮等作用,其中有是否進行分段標識符 segment,因為LLC對資料包有限制;
§   BSSGP使用TLLI來區別不同的LLC,即區別不同的使用者;
§   LLC中的user-data的SAPI必須與SNDCP中的NSAPI一一對應,因此NSAPI受限於SAPI數目;
 
SNDCP 向上層提供服務存取點 NSAPI,上層協議通過 NSAPI發送 N-PDU給SNDCP 實體,SNDCP 將資料根據配置壓縮、分段後SN-PDU,通過 SAPI 發給 LLC 實體。N-PDU 對應 SPRD 協議棧中的SN_DATA_REQ (reliability_class=1 or 2) 和 SN_UNITDATA_REQ (reliability_class=3or 4),對應關係如表一,圖二 SNDCP 上下層關係,圖三 LLC 承載 SNDCP 已經其他協議資料;
 
表一 NSAPI 與SAPI 對應關係
SAPI
MESSAGE
RELIABILITY CLASS
3
SN_DATA_REQ
1
5
SN_DATA_REQ
2
9
SN_UNITDATA_REQ
3
11
SN_UNITDATA_REQ
4
1
GMM移動性管理
 
7
短訊息
 
 
 
圖二 SNDCP 上下層關係
 
 
圖三 LLC 承載上層資料
3.     SNDCP 邏輯結構
SNDCP 邏輯結構三,網路側有對等待邏輯實體,上層是 TCP/UDP等應用程式層協議,下層是 LLC 協議;
 
圖四 SNDCP 邏輯結構
 
SNDCP SPRD 實現結構四,所有配置資訊都來自 SM,信令面只與SM有關係,資料面上層是TCP/IP,下層是LLC。
 
圖五 SPRD SNDCP 實現結構
 
4.     SPRD SNDCP 訊息
4.1 SNSM_ACTIVATE_IND
pdp_accept 後 SM 通知 SNDCP相關參數,啟用(配置)SNDCP實體;
4.2  SNSM_DEACTIVATE_IND
PDP DEACTIVATE IND 後或者PS 域 DETACH 後,SM 通知 SNDCP;
 
4.3  SNSM_MODIFY_IND
SM實體使用該原語來觸發某個NSAPI的Qos配置的改變和要使用的SAPI。SGSN的SM實體用它來通知SNDCP實體必須以一個重新協商的Qos配置和分配的SAPI建立一個NSAPI,移動台的SM實體還可以用它來指示RLC/MAC使用的射頻優先順序。在收到SNSM_MODIFY_IND原語時,SNDCP如果必要,必須為指定SAPI建立確認方式點對點LLC操作,並釋放原來分配SAPI
 
4.2 SN_XID_REQ
SNDCP使用者使用該原語來傳遞請求的XID(exchangeidentity)參數給對等實體。
4.4  LL_SNDC_XID_IND
SNDCP實體用該原語傳遞請求的XID參數列表給SNDCP使用者。
TlliAssigned_HandleSndcLlXidReq
 
4.5  LL_SNDC_XID_CNF
SNDCP實體使用該原語來確認SN_XID_REQ,這個確認應該是在SNDCP收到LLC-XID.cnf之後(也就是已經收到對端的確認)。
4.6  SNSM_SEQUENCE_IND
在SGSN路由區切換的時候使用,並且只用於確認方式點對點LLC操作。當MS收到該原語時,接收到的N-PDU數值參數指示了在SGSN接收到了N-PDU數值,如果緩衝中的N-PDU被對端SNDCP已經收到的N-PDU數值確認,該N-PDU必須從buffer中刪除。另外,SNDCP層在收到該原語後,將繼續那個NSAPI的SN-PDU傳輸,且所有的緩衝N-PDU(比如那些未經確認或者未發的)必須從最老的N-PDU開始傳輸。如果這個NSAPI使用的SAPI並未建立,緩衝N-PDU只能在收到LL_ESTABLISH_IND或者LL_ESTABLISH_CNF原語之後才能使用。SNSM_SEQUENCE_RSP是對SNSM_SEQUENCE_IND的響應。移動台在接收到SNSM_SEQUENCE_IND後可以發送該原語來返回接收到的N-PDU數值給SGSN。
 
4.7  SN_UNITDATA_REQ
該原語被SNDCP用來進行非確認模式(unacknowledged)的N-PDU的傳輸.該原語包含了用來標識PDP的NSAPI
4.8  SN_DATA_REQ
該原語主要給SNDCP user使用,用於確認模式(acknowledged)的N-PDU的傳輸,SN-PDU的成功傳輸將由LLC層進行確認。該原語的參數包括N-PDU,NSAPI和N-PDU號碼.
4.9  LL_SNDC_ESTABLISH_IND
LLC層使用該原語來通知SNDCP層某個SAPI的確認模式點對點操作的建立或者重建.所請求的XID用來傳遞請求的SNDCP XID參數給SNDCP層.在重建的情況下,映射到受影響的SAPI的所有NSAPI必須進入recovery狀態,所有緩衝的N-PDUs(比如那些完全接收沒有得到確認的,以及那些尚未被傳輸的)當串連重建後必須以最老的N-PDU開始被傳輸.並且所有的在這個SAPI上使用確認模式的點對點LLC操作的壓縮實體被重設.
 
4.10          LL_SNDC_ESTABLISH_CNF
LLC層使用該原語來告知SNDCP層某個SAPI的確認模式點對點操作的成功發起,XID參數用來傳遞協商過的SNDCP XID參數.在重建的情況下,映射到受影響的SAPI的所有NSAPI將進入recovery狀態,所有的緩衝的N-PDU(比如那些完全接收還未得到確認,或者那些還未傳輸的)在串連重建的時候將以最老的N-PDU開始被傳輸.並且所有在這個SAPI上使用確認模式點對點LLC操作的壓縮實體將重設.
4.11          LL_SNDC_RELEASE_IND
SNDCP層使用LL_RELEASE_REQ來釋放確認方式的點對點操作,LL_RELEASE_CNF被LLC層用來進行對LL_RELEASE_REQ的確認。LL_RELEASE_IND則被LLC層用來通知SNDCP層某個SAPI的確認方式點對點操作的終止,該indication的cause參數用來表示終止的原因。SNDCP層在收到LL_RELEASE_IND或者LL_RELEASE_CNF以後,受影響的SAPI的壓縮N-PDU隊列將從SNDCP層中被刪除,在這個SAPI上使用確認的點對點操作的壓縮實體將被重設.
4.12          LL_SNDC_RELEASE_CNF
參加 4.9
4.13          LL_SNDC_RESET_IND
SGSN的LLC層使用該原語來指示SNDCP層重設的XID參數已經被傳輸,移動台的LLC層使用該原語來指示SNDCP層收到重設的XID參數.
在收到LL_RESET_IND時, SNDCP層必須
§   將所有未完成的SNDCP<---->LLC請求類型原語視為沒有發送
§   重設所有的SNDCPXID參數為預設值
§   在移動台,對每個使用非確認模式的點對點操作的NSAPI,設定發送的N-PDU號碼(非確認的)為0,並且
§   對每個使用確認模式的點對點操作的NSAPI,進入recovery狀態,掛起所有的N-PDU的傳輸,直到收到針
對於該NSAPI的SNSM-SEQUENCE_IND原語.在SGSN,SNDCP層必須為LLC層中受影響的SAPIs重建確認模式點對點操作
 
4.14          LL_SNDC_SUSPENDSENDDATA
用於流量控制?該訊息有 LLC 上報給 SNDCP,具體功能未知,可能是用於流控。
4.15          LL_SNDC_RESUMESENDDATA
用於流量控制?該訊息有 LLC 上報給 SNDCP,具體功能未知,可能是用於流控。
4.16          LL_SNDC_UNITDATA_IND
非確認模式資料轉送涉及的兩個原語。在LL_UNIDATA_REQ中,SGSN的QoS參數優先順序層級,延遲層級,可靠性層級和最高輸送量。移動台的Qos參數包括最高輸送量和可靠性層級。可靠性層級指示了指示了攜帶SN-PDU的LLC禎是否以保護模式傳輸,以及RLC/MAC是使用確認模式還是非確認模式。射頻優先順序僅在移動台中包括,指示了RLC/MAC使用的無線優先順序層級。
 
4.17          LL_SNDC_DATA_IND
確認模式下進行SN-PDU的傳輸涉及到的3個LLC層的原語。sndcp層使用LL_DATA_REQ來請求資料轉送,並為每個請求關聯一個參考參數,在SGSN的Qos參數中包括優先順序層級,延遲層級和最大輸送量。在移動台的Qos參數中包括最大輸送量,Qos參數是3GPP TS04.08中定義的服務資訊元素的品質。射頻優先順序只包括在移動台中,指定了RLC/MAC使用的射頻優先順序別。在LL_DATA_REQ使用前,必須先用LL_ESTABLISH建立SAPI的確認方式點對點操作。LL_DATA_CNF被LLC層用來告知sndcp SN-PDU的成功傳輸,該原語包含了一個參考參數,通過該參數可以標識與之相應的LL_DATA_REQ,那些收到完全接收的confirm的緩衝N-PDU將被刪除.
 
4.18          LL_SNDC_DATA_CNF
見 4.14 
 
4.19          SNSM_TLLI_IND
SM 通知 SNDCP TLLI。
4.20          LL_SNDC_DEACTIVED_IND
LLC Entity 發給 SNDCP的訊息,去啟用指示?不確定。
 
4.21          LL_SNDC_ACTIVED_IND
4.22          LL_SNDC_ESTABLISH_IND
4.23          LL_SNDC_XID_IND
4.24          LL_SNDC_DATA_IND
4.25          SN_DATA_REQ
4.26          LL_SNDC_ESTABLISH_CNF
4.27          LL_SNDC_XID_CNF
4.28          LL_SNDC_UNITDATA_IND
 
5.     SNDCP資料轉送執行個體
5.1 具體功能
§   將SN-DATA原語映射到LL_DATA原語
§   將SN-UNIDATA原語映射到LL_UNIDATA原語
§   複用一個到多個的網路層實體的N-PDU到恰當的LLC串連建立,重建和釋放確認方式的點對點LLC操作
§   確認方式點對點LLC操作中,通過緩衝和重傳機制來使LLC層實現了資料的完整性
§   獨立為每個NSAPI管理投遞系列號
§   在傳輸端對冗長的協議控制資訊進行壓縮,在接收端進行解壓縮。壓縮方法特定用於在使用的網路層和傳輸層。
§   在傳輸端對冗長的資料資訊進行壓縮,在接收端進行解壓縮。對每個SAPI,資料壓縮獨立執行,也可能對每個PDP上下文獨立執行。壓縮參數可以在MS和SGGN間進行協商
§   分區和重組。壓縮功能的輸出是分區為LL_PDU的最大長度。這個程式同在使用的特定網路層協議無關。
§   在對等SNDCP實體間協商XID參數。
 
 
圖六 SNDCP在發送端的資料流程
 
5.2 N-PDU的多工
網路層使用的協議由動態分配的NSAPI來標識(該NSAPI應該是在PDP啟用時在SM層產生的,然後通過SNSM-ACTIVE_IND傳遞給SNDCP層的,其實相當於在此建立了網路層協議和NSAPI之間的對應關係)。SNDCP在收到N-PDU後,在發向下層之前會插入該NSAPI,對等實體收到底層資料後,會根據NSAPI來確定所使用的網路通訊協定。
 
5.3 確認方式點對點LLC操作的建立和釋放
1)建立準則
§   收到SNSM-ACTIVE.ind,該NSAPI的Qos配置要求使用acknowledgedpeer-to-peer LLC operation,但是對應的SAPI還未建立acknowledged peer-to-peer LLC operation(Qos中的Reliabilityclass參數)
§   收到SNSM-MODIFY.ind(dlmu2001:此時Qos profile發生了變化,此時可能從unacknowledged模式改變成acknowledged模式,或者從一個老的SAPI更新到一個新的SAPI上)
 
2)重建準則
§   V.42資料壓縮演算法檢測到錯誤
§   分區重組時候,處於Receivefirst segment 狀態,收到F位置0的SN-DATA PDU(此時該PDU將被丟棄,LLC operation進行重建)
§   分區重組時,處於Receivesubsequent segment狀態,收到F位置1的SN-DATA PDU,且DCOMP,PCOMP或  者N-PDU number同第一個分區不同(此時屬於同一個N-PDU的之前的分區將被丟棄,對應的SAPI的 LLC operation將重建)
 
3)SNDCP發起的建立/重建流程
 
 
說明:
§   LL_ESTAB.req中可以包含XID參數,如果包含該參數
§   可能的結果:成功;失敗;發生衝突後成功解決
§   收到LL_ESTAB.cnf表示建立成功;收到LL_RELEASE.ind表示建立失敗,根據失敗的原因,SNDCP層需要作出恰  當的動作(比如通知SM子層)
§   如果SNDCP實體在發出LL_ESTAB.req或者LL_XID.req之後收到LL_ESTAB.ind或者LL_XID.req,此時即發生衝突,這種情況下,SNDCP實體就當做沒有發過LL_ESTAB.req,正常處理接收到的LL_ESTAB.ind或者LL_ XID.req,如果之前發出的LL_ESTAB.req或者LL_XID.req包含一個或者多個XID參數,或者在XID參數中包含了一個或者多個壓縮欄位,或者在一個壓縮欄位中包含了一個或者多個參數,而這些參數沒有在LL_ESTAB.ind或者LL_XID.ind中協商,則sndcp實體此時再LL_XID.req進行協商。
 
4)acknowledged peer-to-peer LLC operation的釋放
§   釋放準則:收到SNSM-DEACTIVE.ind或者SNSM-MODIFY.ind且對應的SAPI不再有使用acknowledgedpeer-to-peer的NSAPI。
§   過程:調用LL_RELEASE.req,收到LL_RELEASE.cnf表示釋放成功
 
5.4 N-PDU緩衝
§   N-PDU在壓縮成分區並傳輸到LLC層之前,必須緩衝.這個緩衝使用哪一層的buffer比較好?網路層?
§   收到SNSM-DEACTIVE.ind會刪除相關的NSAPI的對應緩衝
§   對於acknowledged方式的資料轉送,緩衝必須被確認後才能刪除(LL_DATA.cnf和SNSM.SEQUENCE可以完成該確認)
§   對於unacknowledged方式的資料轉送,傳輸完成就刪除
5.5.投遞順序管理
SNDCP層負責維護對等實體間每個NSAPI的N-PDU的投遞順序.
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.