TR-069 协议完整的通信过程

TR-069协议完整的通信过程
TR-069 协议完整的通信过程_第1张图片

以下为设备重启到挂上TR069网管的报文流程解析

  • (1) 设备启动;根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS发出一个Inform的RPC调用请求来向ACS汇报本次连接的信息。ACS会返回给一个Inform response作为确认连接。

标准的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">946684824cwmp:ID>
  SOAP-ENV:Header>
  <SOAP-ENV:Body>
    
    
    <cwmp:Inform>
    
      <DeviceId>
        
        <Manufacturer>star-netManufacturer>
        
        <OUI>00D0F8OUI>
        
        <ProductClass>SVP3000_V5_SIP_CNProductClass>
        
        <SerialNumber>00100400RJ0100100000001AA9800003SerialNumber>
      DeviceId>
      
      <Event SOAP-ENC:arrayType="cwmp:EventStruct[1]">
        <EventStruct>
          
          
          <EventCode>1 BOOTEventCode>
          <CommandKey>CommandKey>
        EventStruct>
      Event>
      
      <MaxEnvelopes>1MaxEnvelopes>
      
      <CurrentTime>2000-01-01T08:00:23CurrentTime>
      
      <RetryCount>0RetryCount>
      
      <ParameterList SOAP-ENC:arrayType="cwmp:ParameterValueStruct[6]">
        <ParameterValueStruct>
          
          <Name>Device.DeviceSummaryName>
          <Value>Device:1.0[](Baseline:1), VoiceService:1.0[1](Baseline:1)Value>
        ParameterValueStruct>
        <ParameterValueStruct>
        
          <Name>Device.DeviceInfo.HardwareVersionName>
          <Value>5.0Value>
        ParameterValueStruct>
        <ParameterValueStruct>
          
          <Name>Device.DeviceInfo.SoftwareVersionName>
          <Value>AIM1.3.10.8Value>
        ParameterValueStruct>
        <ParameterValueStruct>
          
          <Name>Device.ManagementServer.ConnectionRequestURLName>
          <Value>http://192.168.99.17:7547/Value>
        ParameterValueStruct>
        <ParameterValueStruct>
           
          
          <Name>Device.ManagementServer.ParameterKeyName>
          <Value>Value>
        ParameterValueStruct>
        <ParameterValueStruct>
          
          <Name>Device.LAN.IPAddressName>
          <Value>192.168.99.17Value>
        ParameterValueStruct>
      ParameterList>
    cwmp:Inform>
  SOAP-ENV:Body>
SOAP-ENV:Envelope>
  • (2) ACS服务器接受到设备端(CPE端)发出的inform消息之后,会给予一个 informresponse响应机cwmp连接创建成功
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


<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">946684824cwmp:ID>
    <cwmp:HoldRequests soap:mustUnderstand="1">0cwmp:HoldRequests>
  soap:Header>
  <soap:Body>
    
    <cwmp:InformResponse>
      <MaxEnvelopes>1MaxEnvelopes>
    cwmp:InformResponse>
  soap:Body>
soap:Envelope>
  • (3) 设备端发送空消息,表示没有后续的请求
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



  • (4) ACS服务器收到空消息后,根据空消息中携带的序列号对设备进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示设备非法。序列号的判断在ACS内部判断,未体现在报文中

  • (5) ACS验证设备序列号合法,发送消息要求设备端上报网管的账号信息

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: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">1cwmp:ID>
    <cwmp:HoldRequests soap:mustUnderstand="1">0cwmp:HoldRequests>
  soap:Header>
  <soap:Body>
    
    <cwmp:GetParameterValues>
      <ParameterNamesSOAP-ENC:arrayType="xsd:string[2]">
        
        <string>Device.ManagementServer.Usernamestring>
        
        <string>Device.ManagementServer.Passwordstring>
      ParameterNames>
    cwmp:GetParameterValues>
  soap:Body>
soap:Envelope>
  • (6) 设备端接收该ACS服务器请求上报账号的消息后,将发送设备上配置的账号信息作为请求的响应
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: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: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">1cwmp:ID>
  SOAP-ENV:Header>
  <SOAP-ENV:Body>
    
    <cwmp:GetParameterValuesResponse>      
      <ParameterList xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:ParameterValueStruct[2]">
        <ParameterValueStruct>
          
          <Name>Device.ManagementServer.UsernameName>
          
          <Value>66661160Value>
        ParameterValueStruct>
        <ParameterValueStruct>
          
          <Name>Device.ManagementServer.PasswordName>
          
          <Value>66661160Value>
        ParameterValueStruct>
      ParameterList>
    cwmp:GetParameterValuesResponse>
  SOAP-ENV:Body>
SOAP-ENV:Envelope>
  • (7) ACS服务器收到消息后,根据消息中携带的账号信息进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示账号非法。序列号的判断在ACS内部判断,未体现在报文中

  • (8) ACS验证账号合法,发送消息要求设备从特定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: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">1cwmp:ID>
    <cwmp:HoldRequests soap:mustUnderstand="1">0cwmp:HoldRequests>
  soap:Header>
  <soap:Body>
    <cwmp:Download>
      <CommandKey>M DownloadCommandKey>
      
      <FileType>3 Vendor Configuration FileFileType>
      
      <URL>http://183.62.12.23:8012/Config.aspx?ID=00100400RJ0100100000001AA9800003URL>
      <Description>Description>
      <Username>Username>
      <Password>Password>
      <FileSize>0FileSize>
      <TargetFileName>ConfigFile.xmlTargetFileName>
      <DelaySeconds>0DelaySeconds>
      <SuccessURL>SuccessURL>
      <FailureURL>FailureURL>
    cwmp:Download>
  soap:Body>
soap:Envelope>
  • (9) 设备接收到该消息之后,并根据消息中的URL地址下载配置文件并自动配置,同时给ACS服务器一个下载成功的响应消息
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: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: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">1cwmp:ID>
  SOAP-ENV:Header>
  <SOAP-ENV:Body>
    
    <cwmp:DownloadResponse>
      
      <Status>1Status>
    cwmp:DownloadResponse>
  SOAP-ENV:Body>
SOAP-ENV:Envelope>
  • (10) ACS服务器发送消息,要求设备从特定的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: 889

<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">1cwmp:ID>
    <cwmp:HoldRequests soap:mustUnderstand="1">0cwmp:HoldRequests>
  soap:Header>
  <soap:Body> 
    <cwmp:Download> 
      <CommandKey>M DownloadCommandKey>
      
      <FileType>1 Firmware Upgrade ImageFileType>
      
      <URL>http://183.62.12.23:8010/DeviceSoftWareVersion/20110714/svp3000.updateURL>
      <Description>Description> 
      <Username>Username> 
      <Password>Password> 
      <FileSize>3493888FileSize>
      <TargetFileName>/DeviceSoftWareVersion/20110714/svp3000.updateTargetFileName> 
      <DelaySeconds>0DelaySeconds> 
      <SuccessURL>SuccessURL> 
      <FailureURL>FailureURL> 
    cwmp:Download>  
  soap:Body>
soap:Envelope>
  • (11) 设备接收到该消息之后,并根据消息中的URL地址获取升级文件,同时给予ACS服务器一个响应
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: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: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">1cwmp:ID>
  SOAP-ENV:Header>
  <SOAP-ENV:Body>
    
    <cwmp:DownloadResponse>
      
      <Status>1Status>
    cwmp:DownloadResponse>
  SOAP-ENV:Body>
SOAP-ENV:Envelope>
  • (12) ACS服务器发送空消息结束流程
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 


TR069协议簇的其他规范
TR069协议不仅仅包括TR-069子协议,还包括其他一些的协议,构成了一个完整的网管协议簇。与之配套的TR-098协议和TR-104协议分别定义了CPE的数据业务的管理参数和VoIP业务的管理参数,WT-135协议用于定义数字机顶盒的管理参数,TR-111协议定义了在家庭内部数字设备上实施TR069网管的机制,WT-121协议则是各个厂家在实现和部署TR069过程中对协议的修订。


如果版权问题,请及时与作者的联系

以上内容的原文地址:
1. TR069网管流程
2. TR069智能分支管理

你可能感兴趣的:(linux网络编程,tr069)