ORAN专题系列-20:5G O-RAN 通过TR-069协议实现一体化小基站的自动配置和安装
Table of Contents
前言:
第一章 為什么需要TR069協議?
第二章 什么是TR069協議?
第三章 TR069網絡架構
第四章 TR069協議棧
第五章 TR069自動配置的消息交互流程
第六章 TR-069與O-RAN NMS的關系
前言:
TR069原本是 CPE(客戶前置設備) 和 ACS(自動配置服務器)之間通信的協議。通過此協議,能夠實現CPE自動開通與即插即用。
一體化的小基站本質上是一種能夠提供LTE/5G無線接入的CPE,特別是部署在企業網或公網中的小基站。傳統的通過網管配置基站的方式越來越不適應O-RAN白盒化小基站的需求,即插即用對于一體化白盒小基站越來越重要。
Table of Contents
前言:
第一章 為什么需要TR069協議?
第二章 什么是TR069協議?
第三章 TR069網絡架構
第四章 TR069協議棧
第五章 TR069自動配置的消息交互流程
第六章 TR-069與O-RAN NMS的關系
第一章 為什么需要TR069協議?
在N年前,隨著VoIP、IPTV等越來越多IP終端設備的普及(尤其在家庭中的普及),大量設備的配置和維護變得越來越困難,大大提高了網絡產品運營商的成本,傳統的基于SNMP的網管系統面對眾多的終端設備時顯得力不從心,限制了寬帶接入市場的發展速度和規模。于是TR069因運而生,TR069是 CPE(客戶前置設備) 和 ACS(自動配置服務器)之間通信的協議,通過此協議,CPE設備能夠實現自動開通與即插即用。
一體化的小基站本質上是一種能夠提供LTE/5G無線接入的CPE,特別是部署在企業網或公網中的小基站。傳統的通過網管配置基站的方式越來越不適應O-RAN白盒化小基站的需求,即插即用對于一體化白盒小基站越來越重要。
即插即用,在LTE小基站時代,就有這樣的功能,但不同的廠家,有不同的實現方案,沒有統一的標準。
對于O-RAN白盒化小基站, 要支持即插即用,TR069開放標準是一個不錯的選擇,雖然,目前還沒有看到到其已經成為O-RAN標準,但中國移動已經已經建議,國內的O-RAN白盒化小基站需要支持TR069。
第二章 什么是TR069協議?
TR069, 全稱“Technical Report 069”是由DSL Forum(一個非盈利性的全球行業聯盟,致力于發展寬帶網絡范,
其成員包括通訊、設備、計算機、網絡和服務提供商等行業的領先廠商,現已更名為“Broadband Forum”)修訂一
份技術規范,該規范是應用層的管理協議,命名為“CPE廣域網管理協議(CPE WAN Management Protocol)”。
TR069定義了一套全新的網管體系結構,包括管理模型,交互接口及基本的管理參數,能夠有效地實施對家庭網絡設
備的管理。
第三章 TR069網絡架構
在上述架構中,包括兩個最主要的網元:(1)自動配置服務器(ACS)和(2) 網關設備CPE.
(1)自動配置服務器(ACS):負責給用戶終端設備(CPE)提供配置數據的路徑,完成配置數據自動化下載和設備的自動化初始化。
(2)網關設備(CPE):CPE,英文全稱為Customer Premise Equipment,直譯:客戶前置設備,實際是一種接收移動信號并以無線WIFI信號轉發出來的移動信號接入設備,它也是一種將高速4G或者5G信號轉換成WiFi信號的設備,可支持同時上網的移動終端數量也較多。CPE可大量應用于農村,城鎮,醫院,單位,工廠,小區等無線網絡接入,能節省鋪設有線網絡的費用。
(3)終端設備(Managed xxx Device)通過CPE連接到網絡中,享受網絡提供的服務。
(4)北向接口:ACS與運營商的其他網管系統、業務管理系統、計費系統(OSS/BSS)之間的接口稱為北向接口。
(5)南向接口:ACS與CPE之間的接口稱為南向接口,TR069協議主要定義南向接口的標準。
第四章 TR069協議棧
| CPE/ACS Management Application |
| RPC Methods |
| SOAP |
| HTTP |
| SSL/TLS |
| TCP/IP |
從下到上的協議封裝如下:
(1)TCP/IP:非安全傳輸控制協議
(2)SSL/TLS:安全傳輸控制協議
(3)HTTP:一種簡單的、面向TCP連接的、基于客戶/服務器模式、請求-響應的、超文本傳輸協議。
因此,TCP/IP、SSL/TLS、HTTP都是傳輸協議,用于在互聯網的不同設備之間傳輸“數據”!
(4)SOAP(Simple Object Accrss Protocol,簡單對象訪問協議):是一種簡單的基于XML的協議,可以使應用程序在分散或分布式的環境中,通過HTTP傳輸協議,來交換基于對象模型的文本信息。
因此,SOAP協議本身也是一種傳輸協議,需要傳輸的信息被封裝在所謂的“對象”中。
?ACS與CPE之間進行消息,就是通過HTTP協議進行傳輸,并把消息內容封裝在SOAP協議以及SOAP協議的對象中,SOAP是由SOAP head和SOAP body兩部分組成。
SOAP報文實例
(5)RPC Methods:這是TR069協議自有定義一部分,它定義了CPE與ACS之間,通過TR069協議,實現遠程操作的方法(即所謂的遠程過程調用RPC)
這些方法,用于自動配置服務器(ACS)對CPE進行配置和管理,如:設置CPE參數、獲取CPE參數、硬件升級、重啟設備等;
常見的自動配置服務器(ACS)對CPE進行配置和管理的方法有:
當然,CPE也可以請求ACS執行某種遠程操作,這些方法有:
(6)CPE/ACS Management Application:CPE/ACS之間交互的應用層消息。
第五章 TR069自動配置的消息交互流程
0. 設備啟動。
1. 根據預先配置的ACS(自動配置服務器)地址,與ACS建立安全的HTTP連接
2. CPE給ACS發出一個Inform,上報自身的設備信息
設備信息包括:
| DeviceID | 數據結構標識CPE |
| Event | 標識此次Inform發起的原因 |
| MaxEnvelopes | HTTP Response可攜帶SOAP信封數 |
| CurrentTime | CPE當前的時間 |
| RetryCount | 這次Session最大的重復連接次數 |
| ParameterList | 這次Inform所需攜帶的參數 |
消息體案例:
POST /service.tr069 HTTP/1.1 Host: 183.62.12.23:8012 User-Agent: cwmp Content-Type: text/xml; charset=utf-8 Connection: keep-alive Content-Length: 1730<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">946684824</cwmp:ID></SOAP-ENV:Header><SOAP-ENV:Body><!-- inform方法任何時刻要建立與ACS的連接,都必須調用Inform方法--><!-- 來初始化一個傳輸序列,向ACS服務器上報一些事件,具體事件就攜帶在EventCode --><cwmp:Inform><!-- 設備描述信息 --><DeviceId><!-- 設備廠商 --><Manufacturer>star-net</Manufacturer><!-- 設備制造商的唯一標示 --><OUI>00D0F8</OUI><!-- 設備類型 --><ProductClass>SVP3000_V5_SIP_CN</ProductClass><!-- 設備序列號 --><SerialNumber>00100400RJ0100100000001AA9800003</SerialNumber></DeviceId><!-- 引起此次會話建立的具體事件 --><Event SOAP-ENC:arrayType="cwmp:EventStruct[1]"><EventStruct><!-- 上報BOOT事件,也就是告訴ACS要發起CWMP連接了 --><!-- 1 boot表明發起會話的原因是設備上電(首次啟動或者其他原因引起的設備重啟) --><EventCode>1 BOOT</EventCode><CommandKey></CommandKey></EventStruct></Event><!-- 接收響應的允許SOAP信包數目,0表示無限制 --><MaxEnvelopes>1</MaxEnvelopes><!-- cpe當前的時間 --><CurrentTime>2000-01-01T08:00:23</CurrentTime><!-- 完成inform調用前嘗試的次數每次加1 --><RetryCount>0</RetryCount><!-- CPE設備參數列表--><ParameterList SOAP-ENC:arrayType="cwmp:ParameterValueStruct[6]"><ParameterValueStruct><!-- 設備描述信息 --><Name>Device.DeviceSummary</Name><Value>Device:1.0[](Baseline:1), VoiceService:1.0[1](Baseline:1)</Value></ParameterValueStruct><ParameterValueStruct><!-- 設備的硬件版本信息 --><Name>Device.DeviceInfo.HardwareVersion</Name><Value>5.0</Value></ParameterValueStruct><ParameterValueStruct><!-- 設備的軟件版本信息 --><Name>Device.DeviceInfo.SoftwareVersion</Name><Value>AIM1.3.10.8</Value></ParameterValueStruct><ParameterValueStruct><!-- 請求URL(設備聯系地址) --><Name>Device.ManagementServer.ConnectionRequestURL</Name><Value>http://192.168.99.17:7547/</Value></ParameterValueStruct><ParameterValueStruct><!-- 對某些方法的調用會導致該值的該改變如 Scheduled Inform、reboot、download、upload方法 --> <!-- 除此以外的調用該值均為空,此消息中設備只調用了 inform方法,故該值應該置為空 --><Name>Device.ManagementServer.ParameterKey</Name><Value></Value></ParameterValueStruct><ParameterValueStruct><!-- 設備ip地址 --><Name>Device.LAN.IPAddress</Name><Value>192.168.99.17</Value></ParameterValueStruct></ParameterList></cwmp:Inform></SOAP-ENV:Body> </SOAP-ENV:Envelope>3. ACS會返回給一個Inform response作為確認
消息體案例:
HTTP/1.1 200 OK Date: Tue, 02 Aug 2011 03:20:53 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Set-Cookie: SerialNumber=00100400RJ0100100000001AA9800003; path=/ Cache-Control: private Content-Type: text/xml;charset=UTF-8 Content-Length: 522<!-- 對設備端inform消息的響應即接受連接請求 --> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><soap:Header><cwmp:ID soap:mustUnderstand="1">946684824</cwmp:ID><cwmp:HoldRequests soap:mustUnderstand="1">0</cwmp:HoldRequests></soap:Header><soap:Body><!-- ACS接受設備端(cpe)端的inform請求(即創建cwmp連接的請求) --><cwmp:InformResponse><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></soap:Body> </soap:Envelope>4. Content-Length=0:發送空消息,表明無數據上報
消息體案例:
POST /service.tr069 HTTP/1.1 Host: 183.62.12.23:8012 User-Agent: cwmp Content-Type: text/xml; charset=utf-8 Connection: keep-alive Cookie: SerialNumber=00100400RJ0100100000001AA9800003;path=/ Content-Length: 0<!-- Host: ACS(自動配置服務器)地址 --> <!-- Cookie: 設置在設備的序列號--> <!-- Content-Length: 消息內容長度為0代表空消息-->5. 終端的合法性驗證
ACS根據空消息中攜帶的序列號對設備進行合法性驗證,若驗證通過則進行后續操作,若不通過則下發消息提示設備非法。
6. ?GetParameterValues:請求終端的賬號驗證
消息體案例:
HTTP/1.1 200 OK Date: Tue, 02 Aug 2011 03:20:53 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Set-Cookie: SerialNumber=00100400RJ0100100000001AA9800003; path=/ Cache-Control: private Content-Type: text/xml;charset=UTF-8 Content-Length: 658<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><soap:Header><cwmp:ID soap:mustUnderstand="1">1</cwmp:ID><cwmp:HoldRequests soap:mustUnderstand="1">0</cwmp:HoldRequests></soap:Header><soap:Body><!-- 請求的方法為GetParameterValues,獲取設備端的參數信息 --><cwmp:GetParameterValues><ParameterNamesSOAP-ENC:arrayType="xsd:string[2]"><!-- 獲取設備TR069網管用戶名 --><string>Device.ManagementServer.Username</string><!-- 獲取設備TR069網管密碼 --><string>Device.ManagementServer.Password</string></ParameterNames></cwmp:GetParameterValues></soap:Body> </soap:Envelope>7. GetParameterValuesResponse:回復終端的賬號信息
消息體案例:
HTTP/1.1 Host: 183.62.12.23:8012 User-Agent: cwmp Content-Type: text/xml; charset=utf-8 Connection: keep-alive Cookie: SerialNumber=00100400RJ0100100000001AA9800003;path=/ Content-Length: 828 SOAPAction: ""<SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">1</cwmp:ID></SOAP-ENV:Header><SOAP-ENV:Body><!-- 將賬號信息作為ACS請求的響應消息 --><cwmp:GetParameterValuesResponse> <ParameterList xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:ParameterValueStruct[2]"><ParameterValueStruct><!-- 設置在設備上的網管用戶名 --><Name>Device.ManagementServer.Username</Name><!-- 用戶名的具體值 --><Value>66661160</Value></ParameterValueStruct><ParameterValueStruct><!-- 設置在設備上的網管密碼 --><Name>Device.ManagementServer.Password</Name><!-- 密碼的具體值 --><Value>66661160</Value></ParameterValueStruct></ParameterList></cwmp:GetParameterValuesResponse></SOAP-ENV:Body> </SOAP-ENV:Envelope>8. 對終端的賬號進行個驗證(ACS與賬號服務器通信)
9. Download:賬號合法,許可CPE下載配置文件,并提供配置數據文件的URL地址
消息體案例:
HTTP/1.1 200 OK Date: Tue, 02 Aug 2011 03:21:04 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Set-Cookie: SerialNumber=00100400RJ0100100000001AA9800003; path=/ Cache-Control: private Content-Type: text/xml;charset=UTF-8 Content-Length: 856<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:cwmp="urn:dslforum-org:cwmp-1-0"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><soap:Header><cwmp:ID soap:mustUnderstand="1">1</cwmp:ID><cwmp:HoldRequests soap:mustUnderstand="1">0</cwmp:HoldRequests></soap:Header><soap:Body><cwmp:Download><CommandKey>M Download</CommandKey><!-- 文件類型 配置文件--><FileType>3 Vendor Configuration File</FileType><!-- 配置文件的URL地址,設備端從該地址獲取配置文件并自動載入設備 --><URL>http://183.62.12.23:8012/Config.aspx?ID=00100400RJ0100100000001AA9800003</URL><Description></Description><Username></Username><Password></Password><FileSize>0</FileSize><TargetFileName>ConfigFile.xml</TargetFileName><DelaySeconds>0</DelaySeconds><SuccessURL></SuccessURL><FailureURL></FailureURL></cwmp:Download></soap:Body> </soap:Envelope>10. 從指定的文件服務器上下載配置文件
11. DownloadResponse:回復下載配置文件的狀態(成功)
消息體案例:
POST /service.tr069 HTTP/1.1 Host: 183.62.12.23:8012 User-Agent: cwmp Content-Type: text/xml; charset=utf-8 Connection: keep-alive Cookie: SerialNumber=00100400RJ0100100000001AA9800003;path=/ Content-Length: 484 SOAPAction: ""<SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">1</cwmp:ID></SOAP-ENV:Header><SOAP-ENV:Body><!-- 通過該消息告知ACS服務器設備成功獲取配置文件 --><cwmp:DownloadResponse><!-- 成功下載的狀態碼 --><Status>1</Status></cwmp:DownloadResponse></SOAP-ENV:Body> </SOAP-ENV:Envelope>12. 是否升級下載的配置文件,由終端自己決定
13. Content-Length=0: 發送空消息,表明無數據傳輸
消息體案例:
HTTP/1.1 200 OK Date: Tue, 02 Aug 2011 03:21:05 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Set-Cookie: SerialNumber=00100400RJ0100100000001AA9800003; path=/ Cache-Control: private Content-Length: 0 <!-- Content-Length: 消息內容長度為0代表空消息 -->備注:
從上述流程,可以看出,流程是由Z終端通過inform消息上報自己的device id觸發的,但整個流程的控制,是在ACS服務器控制下完成的,終端都是被動的響應ACS服務器的請求。
第六章 TR-069與O-RAN NMS的關系
TR-069并非是無線接入網的NMS系統,它是NMS系統的一小部分,僅限于終端即插即用時,通過該協議實現自動配置與初始化。
總結
以上是生活随笔為你收集整理的ORAN专题系列-20:5G O-RAN 通过TR-069协议实现一体化小基站的自动配置和安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python wordpress xml
- 下一篇: 编写linux驱动程序步骤