GSM 第三層協議

GSM 第三層協議

來自專欄 像新手一樣拚命學習協議,饑渴而貪婪

包括

無線資源管理RRM (Radio Resource Management)

移動性管理 MM(Mobility Management)

接續管理 CM(Connection Management)

***RRM

管理無線介面,包括信道的配置,傳輸移動性管理

手機的狀態 只有兩種 一種是空閑模式 另外一種是 專用模式

空閑模式 移動台和系統是否已經建立連接的狀態

專用模式 MS 已經在一條激活的全雙工信道上的狀態

空閑模式:網路選擇 小區選擇 小區重選 位置更新

專用模式:MS將出現尋呼 立即指配 鑒權加密 主叫 被叫 短消息 切換 信道模式改變 連接釋放 呼叫重建 功率控制等

下面按照手機整個流程 學習

手機進入空閑模式 轉向 專用模式 進入RRM初始化階段,稱為接入 Access

接入過程有兩種 一種主動發起 主叫 或者位置更新,另外一種是網路側發起 MS被叫,如果是被叫,如果被叫狀態正常,就可以通過尋呼找到被叫,因為MS在空閑模式下總是在收聽某個尋呼信道PCH的尋呼消息,收到尋呼消息,發起一個連接,接入網路。

但是如何接入網路的:

MS通過隨機接入信道(RACH)發送消息接入網路,網路,網路通過接入許可信道(AGCH),發送立即指配作為響應,為該MS指定一條專用信道。RACH信道工作在0號時隙通過控制信道的上行信道,是很多MS 共享資源。

因為是共享資源肯定會信號碰撞,所以會使用區域網的ALOHA協議解決

尋呼過程 是網路側 出發MS進行RRC(Radio Resource Connection)的方式,過程是這樣的:

MSC負責向BSC提供被叫用戶的IMSI號,BSC組織尋呼覆蓋的小區表(一個BSC下的所有小區屬於同一個尋呼區),然後BSC要編組和尋呼消息的發送和重複次數。確定被叫的IMSI號和尋呼子信道的關係,選擇合適的尋呼信道發送消息

尋呼信道是下行公共信道控制的部分,用戶尋呼消息總是在同一個尋呼信道上發送,減少MS在空閑狀態下需要接收信息量,從而降低手機功耗

***** RRM 包括兩個方面內容

1. MSC 必須在RRM器件隨時通知傳輸模式改變的要求

2. BSC 要能組織MS 和BTS來滿足MSC的需求

傳輸管理還有兩個任務 1. 加密模式的管理,2. 非連續發射模式(DTX)的管理

小區切換:

條件:

1.保證當前通話中的MS超出當前小區的覆蓋範圍時,不至於產生雕花

2.當通話中出現強幹擾,能夠切換到別的小區避免干擾

3.MS當前小區出現擁塞,MS能夠切換到相鄰小區,避免擁塞

從而知道多種切換判決的方法

  1. 根據通信質量來進行判決,其依據是上下行的接受電平和誤碼率,測量然後上報給BSC ,MS通過SACCH信道每秒2次的頻率 上報給BTS再轉給BSC
  2. 根據TA(Time Advance 時間提前量)進行判決,設置TA門限值
  3. 擁塞引發的切換,需要根據每個BTS當前負載的情況進行判決,BTS是不知道別的BTS負載的情況,只有MSC 和BSC知道

上面是小區管理,但是還有小區信道的配置和分配 的工作要做

空閑模式 MS 和 MS初始接入 (BCCH PCH RACH AGCH)還有一部分是話務信道用於支持通話中的控制和監測(TCH SACCH SDCCH)

小區配置 還修改業務信道TCH 以滿足也無需求,當SDCCH 信道不夠時候,可以將TCH/F 用作SDCCH/8

專用信道和控制信道 可以根據MS的不同需求分給它

  1. 初始信道分配 RACH 開始接入時分配 一般分配SDCCH
  2. 後繼分配:如當前使用信道類型和所需要的信道類型不一致,進行無線信道模式的修改
  3. 切換分配:當MS越區或者質量變壞或者TA超限時切換處理,切換時也需要分配新到

首先 是信道選擇 然後是激活所選擇的信道,BSC負責信道的選擇和激活BTS上的信道,BSC需要預先知道每個空閑信道的連接情況,這其中很多因素難以確定,單上行的干擾電平可以確定,因為BTS總是周期性的對所有空閑信道干擾電平進行測量

TCH信道的分配

1.超前分配,MS請求連接 馬上分配

2.提前分配,當MS請求連接先分配SDCCH 儘可能分配TCH/F

3.滯後分配方式,當MS要求連接時 先分配SDCCH 儘可能分配TCH/F 直到被叫應答後再分配TCH 這種資源利用效率最高。但是會有時間延時

無線信道分配完了以後,又要告訴所有的MS ,這個很複雜用到演算法啥的

引發隨機接入的原因3中

  1. 執行小區位置更新
  2. 響應尋呼
  3. 建立呼叫或發送短消息

上面說了隨機接入可能會產生衝突,這裡的解決方案藉助 ALOHA協議

MS信道請求沒有被響應前,MS並不知道網路是否會響應它,於是在一個隨機間隔的時間後選擇重發,但是業務量太大,所以需要用網路容量來限制

大致分為三種機制

  1. ALOHA協議,隨機重發,然後設置一個門限,M 最大重傳次數,不超過這個數目,時間間隔取決於S參數和T參數。
  2. BSC 發現沒有分配信道時候,就直接拒絕RACH 上的請求消息,並在一定時間內限制被拒絕MS重複接入,MS收到網路的拒絕信息後,啟動T3122計數器,並返回空閑態,直到計數結束重新RRC
  3. 建立接入級別限制,網內的用戶分為15個級別,每個用戶級別定義在SIM卡和HLR中,正常情況下所有的MS都允許接入,當需要控制業務量的時候,由BSC決定阻塞哪些登記,處於阻塞的用戶仍可以進行緊急呼叫。0~9是普通用戶 11~15 是PLMN管理 安全部門應用 公共事業部門 緊急業務 PLMN職員

RACH 3bit 用來信道申請理由 5bit 隨機鑒別數 用來區別不同的MS

BTS 收到 RACH 通過RSM實體 信道請求消息 通知BSC 並加入BTS對MS到BTS傳輸延時 消息,可以計算出BSC初始化時間提前量TA,還有其他信息對該MS的接收電平,BSC根據接入原因和當前資源的情況。選擇一條合適的空閑信道。

BTS 完成指定信道激活BSC在AGCH上發送一條立即指配消息到MS 立即指配消息,包含分配給該MS的信道描述,,初始化的時間提前量TA值 初始化最大傳輸功率以及一個參考值(BTS收到MS的8bit信息 包含TDMA幀號,會拿來和自己比較,確定是不是自己發送的),如果沒有空閑信道BSC 就要MS發送立即指配拒絕 包含T3122的值 就是我們說的T3122鬧鐘

分配成功流程圖如圖

MS連接到信道上第一件事就是發送一個SAPI=0(GSM空口消息 數據鏈路層的概念 SAPI=0 對應信令)的鏈路層SABM幀,用於建立證實模式下數據鏈路層連接

SABM 為了證實MS 發送的建立原因和隨機鑒別數 是唯一的

分配信道後流程是這樣的

在BTS 收到SABM幀後就會不經修改向MS發送一個內容一樣的UA幀,MS然後對比,一致就繼續接入,否則完全放棄信道,重新申請

BTS在信令鏈路層建立後,向BSC發出建立指示,BSC收到建立指示後,向MSC申請SCCP連接,SCCP建立後,MSC能夠控制RR管理的傳輸特性,BSS處於監控傳輸質量和隨時準備切換的狀態

尋呼介紹(3種)

  1. 正常尋呼模式 通常都是這樣,即由IMSI定義某組的尋呼消息僅在屬於該尋呼組的PCH子信道上發送
  2. 權尋呼模式 當以這種模式下發某中尋呼時,該尋呼消息可以在任何PCH子信道上發送
  3. 擴展尋呼模式 BSS可以把某個分組的尋呼消息附加在另一個尋呼子信道上發送

立即指配時,傳輸模式BSC決定,MSC要求改變傳輸模式,如圖:

呼叫重建

呼叫重建和初始接入很像 ,MS向選擇的小區發「接入請求」,願意為呼叫重建,網路識別後直接分配一條TCH,在資源釋放前建立

RRC 釋放

RR連接釋放的情況有幾種:第一種是正常釋放,比如位置更新結束,呼叫結束;第二種是異常釋放,比如說無線鏈路故障。正常的釋放是由MSC發起的,MS接收到MSC發來的信息後,釋放佔用的資源,並從專用模式轉化為空閑模式

MSC之間的釋放消息是通過7號信令中的ISUP發送的。

MSC和BSC之間的鏈路通過MSC向BSC發送BSSMAP清除指令 釋放相應的SCCP。清除之後BSC向MSC發送SCCP釋放完成的消息

BSC隨後通過層3消息通知MS要求其釋放鏈路返回空閑模式,移動台收到「信道釋放」命令,會送一條LAPDm層的DISC(disconnection)消息,準備斷開連接,BTS收到斷開消息,發送UA消息證實,MS收到後去激活掉所有信道,返回空閑模式

BTS發出UA消息證實時,向BSC發送 釋放指示,BSC收到後,向BTS發送「RF信道釋放」指令。BTS中相應設備 由激活態變為非激活態,完成後,返回一個證實消息

負載管理

MSC和BSC 除了負責具體某個RRM,還要管理整體。BSC通過BTS上發送和接收的情況,BTS通過向BSC發送「CCCH負載指示」描述當前負載情況,了解RACH和AGCH上的負載狀態,如果出現擁塞,就便於BSC對RACH進行控制

SACCH過程

如果說BCCH是空閑模式下對MS進行信令傳遞和管理的一種手段,那麼SACCH就是專用模式下進行RRM的利器,用來傳遞信令,在下行和上行方向 SACCH主要用來承載功率控制和時間提前量

除此之外,SACCH傳似無線參數,系統消息(SIB5 SIB6)包含位置區標識 小區色碼 網路色碼,臨近小區的頻點信息等,發送短消息也是SACCH的一個功能

廣播消息 系統消息(除SIB5 SIB6)

廣播消息在RRC之前

廣播消息 有小區選擇的處理,不僅是本小區還有鄰近小區,本小區的頻點配置是通過SIB1 小區配置來描述的,鄰近小區的配置通過SIB2來下發,不僅知道頻點,還需要知道SIB3 比如小區重選滯後(CRH Cell Reselection OFFSET)、臨時偏移(TO,TEMPORARY——OFFSET)、懲罰時間(PT,PENALTY_TIME),還需要知道當前小區的標識碼(CGI)和位置區碼(LAI)這些消息實在SIB3發送給MS

小區選擇完了,如果要進行呼叫或者位置更新,建立RRC ,在這之前知道多少RACH 多少AGCH 信道 多少個尋呼子信道 ,這些信息在SIB3中發送包含公共控制信道配置(CCCH-CONF)、接入允許保留塊數(BS_AG_BLKS_RES)尋呼信道復幀數(BS_PA_MFRAMS)

隨機接入控制信息 在系統消息1 2 3 4中都有

最大重發次數(MAX retrans) 表示允許手機在收到立即指配消息前重發信道請求消息的個數,即手機可以發送信道請求個數M+1 它是2比特編碼 範圍 0~3對應最大的重發次數1247次

擴展傳輸時隙數(TX_interger):表示手機在連續發送多個信道請求消息時,每次發送之間間隔的時隙數目

小區接入禁止(CELL_BAR_ACCESS)表示小區是否允許手機接入 0表示允許接入 1表示不允許接入該小區

接入等級控制(AC)

呼叫重建允許(RE)0 表示允許本小區允許呼叫重建,1本小區不允許重建

緊急呼叫允許(EC)指示用戶在么有SIM卡或者而接入等級被當前小區關閉情況下,允許發起緊急呼叫 0表示允許緊急呼叫 1不允許緊急呼叫

非連續發射DTX 指示MS是否使用DTX功能,在系統消息3中為2bit編碼,系統選項6中為3bit編碼

無線鏈路超時(Radio_Link_Timeout),用來判斷RR連接是不是斷了,是一個4bit編碼,範圍015 對應的數值4~64 當MS每收到一個正確的SACCH信息時,該值加2 當MS在應收到SACCH消息時刻無法解碼出一個正確的SACCH消息時,該值減1,為0 時,MS向基站上報無線鏈路故障

網路通過BTS不斷給MS發送一些消息,這些被稱為系統消息,在GSM網路中根據消息內容的不同和傳送信道的不同,系統消息分為以下幾類

  1. 系統消息 1 : 小區頻點的分配(CA)表和隨機接入信道(RACH)信息
  2. 系統消息 2:主要描述了鄰近小區的頻點分配(BA)表、隨機接入信道(RACH)信息和網路色碼允許(NCC Permitted)
  3. 系統消息3:主要描述位置區標識(LAI)、小區標識(CGI)、隨機接入信道(RACH)信息和小區選擇有關的參數、小區功能描述(DTX、無線鏈路超時)
  4. 系統消息4: 位置區標識(LAI)CBCH描述 隨機接入信道(RACH)信息以及小區選擇有關的參數
  5. 系統消息5: 這些消息通過SACCH信道下發,主要描述鄰小區頻點分配表(BA表)。系統消息5與系統小3 的主要區別沒有隨機接入的信息以及小區選擇有關參數,因為已經建立了RRC
  6. 系統消息6: 主要描述了位置區標識(LAI)、小區標識(CGI),網路色碼允許(NCC Permitted)。以及描述小區功能的參數,系統消息6與系統消息4主要區別也是沒有隨機接入信道RACH 信息以及和小區有關的參數
  7. 系統消息7: 其他消息,在BCCH上發送,包含小區重選信息
  8. 系統消息8:這個消息在BCCH上發送,包含小區重選的信息

*****MM

一個PLMN 覆蓋一個國家,PLMN之間要實現互通 有幾個條件:

  1. PLMN之間能夠通信,需要有標準的通信協議
  2. SIM卡要是能在不同的PLMN網路中註冊,GSM每個用戶都在一個PLMN建立註冊關係,稱這個PLMN用戶的歸屬地PLMN網

VLR 訪問位置寄存器 VLR額MSC結合,控制所有小區的臨時用戶的註冊,這些小區覆蓋區域稱為VLR

LA: LA 是位置區的意思,LAI是位置區標識,後者是前者的標識符號,MS的位置更新是在LA之間進行的,一個MSC 有若干個BSC 通常把某個BSC下控制的小區分為一個LA,LA選擇業務量不是很大的區域,業務量大,位置區更新必然多,給網路大的信令負擔

MS首先通過SIM卡註冊當前的VLR VLR重HLR調取用戶數據,獲取服務。註冊過重先選擇PLMN(選擇運營商),然後小區選擇(選擇一個能夠通信的小區)

位置更新的流程

位置更新為了做被叫,由MS觸發,,但是關機或者而進入盲區,GSM設置一個T3212的小區參數,要求MS定時上報自己的位置信息,稱為周期性更新,超時了,網路默認進入無網路,在MSC/VLR做標記

所以開關機的時候進行通知網路 IMSI Attach/Detach ,關機發送detach 用戶脫離網路,用戶脫離網路的消息並不發給HLR 如果被尋呼,HLR會向該用戶當前所在MSC/VLR要漫遊的MSRN用於建立連接,MSC/VLR通知HLR該用戶已經脫離網路,不需要進行尋呼。

開機時,收到接受系統消息發現開機的位置區標識(LAI)發生變化,那就執行位置更新。如果沒有改變 只發送附著消息

IMSI號 ICCID號 Ki號在手機中 是很關鍵的數據,IMSI可以在SIM卡中讀取出來,ICCID就是SIM卡號,只有密鑰Ki是一個16byte的加密數據,在網路側AUC也保存一份這樣的數據

GSM加密演算法大致有3中種演算法 A3 A5 A8

手機登錄移動網路的時候,會產生128bit的隨機數給手機,手機發送給SIM卡,SIM卡用密鑰Ki 和隨機隨機數 運算,生成32bit應答(SRES)發送給手機,並抓發給網路,網路也進行相同的演算法比對結果。然後判斷允許接入,驗證演算法GSM規範中稱為A3

暴力破解不行:因為SIM卡只能被2^16次查詢,超過SIM卡就自動報廢,後面又有新技術,不說了,自己查資料

*****CM 計費 接續管理

CM 工作是建立主叫和被叫點對點通信鏈路以及呼叫完成後對這條鏈路進行拆除。

  1. 運營商 計費 長途漫遊 國際漫遊
  2. CM實施基礎是找到對點通信的路由,如何正確路由

GSM系統中用戶使用的號碼稱為MSISDN號 ,於此對應的是MSRN,是用來在MSC/VLR之間路由信息,由系統臨時分配

GSM系統使用國際移動用戶識別號IMSI,是GSM系統資料庫使用識別用戶的號碼

MSISDN用於判斷國家的CC(Country Code 國家碼)用於判斷運營商的NDC(National Destionation Code 國內目的地碼)

IMSI用於判斷國家是MCC(Mobile Country Code移動國家碼)判斷運營商MNC(Mobile Network Code 移動網路碼 )

國內移動號碼通常是13XH0H1H2H3ABCD 格局,H0H1H2H3 是一個城市,用於識別用戶歸屬地HLR 然後通過HLR確定到達移動用戶的路由,整個路由的建立分為兩個部分路由查詢 和連接建立

路由查詢 分為兩個部分 GMSC到HLR第一段路由 HLR到VMSC 第二段路由,其中GMSC(gateway Mobile Switching Center)作用就是路由的轉接,不涉及移動交換功能

  1. GMSC經過被叫號碼H0H1H2H3分析 可以知道號碼的歸屬地寄存器HLR 向HLR發送信息,GMSC 向HLR發送MSISDN
  2. HLR分析MSISDN,找到對應的IMSI號和所在的MSC地址,並向該終端MSC發送被叫的IMSI號,要求VMSC提供MSRN號用來建立呼叫
  3. VMSC找到空閑MSRN賠給IMSI用戶,向HLR提供
  4. HLR向GMSC返回MSRN號
  5. GMSC根據MSRN判斷VMSC地址,然後建立連接

--------------------------------

在程序員的路上你不孤單,還有賤賤的楊

歡迎經常來逛博客,是我工作中遇到的零零散散記得筆記,不多,但會不定時更新和大家探討

初始篇:Android 源碼環境搭建(OSX) - engineer_james的博客 - CSDN博客

歡迎給我郵件 jamesyang1991cn@gmail.com


推薦閱讀:

學習大話無線通信 無線通信基本知識
什麼是Wi-Fi新協議——802.11ax?
物聯網與無線傳輸技術
業餘頻段上的通聯神話——大神級偶像
如何衡量WIFI信號強度的好壞?

TAG:無線通信 | GSM | 網路協議 |