【視頻級聯(lián)GB28181協(xié)議詳解】注冊及心跳流程解析_第1頁
【視頻級聯(lián)GB28181協(xié)議詳解】注冊及心跳流程解析_第2頁
【視頻級聯(lián)GB28181協(xié)議詳解】注冊及心跳流程解析_第3頁
【視頻級聯(lián)GB28181協(xié)議詳解】注冊及心跳流程解析_第4頁
【視頻級聯(lián)GB28181協(xié)議詳解】注冊及心跳流程解析_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

國標級聯(lián)注冊及心跳流程解析一、前言在各種大型項目中,各級平臺經常會用到國標28181協(xié)議進行級聯(lián)。作為級聯(lián)的第一步,“注冊”交互的流程以及注冊之后用于?;畹男奶换チ鞒淌潜仨氄莆盏闹R,其具體要求見《GB_T+28181-2016+公共安全視頻聯(lián)網_信息傳輸交換控制技術要求.doc》(后簡稱“國標2016”)9.1節(jié)和9.6節(jié),國標2016中注冊基本要求如圖1.1,國標2016中心跳基本要求如圖1.2。圖1.1國標2016中注冊基本要求圖1.2國標2016中心跳基本要求簡單來講,國標注冊分為2種:無鑒權注冊和帶鑒權注冊。無鑒權注冊流程比較簡單,帶鑒權的注冊相對無鑒權注冊來說流程多了一步。注冊是有有效期的,在注冊成功之后的有效期內,需要進行心跳交互來維持雙方在線狀態(tài)。二、無鑒權注冊2.1、整體流程圖2.1無鑒權注冊流程信令流程如下:下級發(fā)起register請求;上級返回200ok。2.2、抓包示例圖2.2無鑒權注冊抓包示例2.3、報文詳解如何在抓包中找到國標注冊請求①首先要保證你的抓包條件是對的,host對方ip抓包,或者過濾自己的信令網關端口抓包;②在抓包過濾條件中,輸入sip.Method==REGISTER,點開SessionInitiationProtocol(REGISTER)前面的“>”號,再點開MessageHeader前面的“>”號;③找到Call-ID,選中它,右鍵ApplyasFilter–Selected,這樣就可以看到完整的注冊信令交互流程。圖2.3在抓包中過濾注冊報文REGISTER 注冊是首先由下級向上級發(fā)送一個不攜帶鑒權信息的REGISTER請求,在這個請求中攜帶自己的域標識/IP地址/端口等信息,當然也會攜帶上級的域標識/IP地址/端口等。具體的查看方法如下:圖2.4注冊報文中重點關注字段Request-Line字段攜帶上級信息:上級的域標識@上級IP地址:上級的端口From和To字段均攜帶下級信息:下級的域標識@下級IP地址:下級的端口(或者是@源域名)Request-Line字段、From和To字段中重點關注上下級的域標識除此之外,可以看到還有一個Expires字段,表示這次注冊的有效時間。Expire值大于0,Expires值為0表示注銷。如圖中注冊請求,表示有效期為3600秒。超過有效期之后,下級需要重新(刷新)注冊。內容摘自:國標2016中9.1.1注冊和注冊基本要求200OK上級收到下級的REGISTER請求之后,判斷自己沒有開啟鑒權,會直接校驗該請求攜帶的上級的域標識/IP地址/端口,是否和自己的配置一致;還會校驗該請求攜帶的下級的域標識/IP地址/端口是否和自己保存的該下級的配置一致。如果一致,NCG就驗證通過下級的注冊請求,回復給下級200OK,表示注冊成功。這個時候上下級就會認為對方已經注冊完成,將對方置為在線。如果不一致,上級會返回400BAD,并攜帶對應的錯誤碼,表示這次注冊沒有成功。三、帶鑒權注冊3.1、整體流程圖3.1帶鑒權注冊流程信令流程如下:下級發(fā)起register請求;上級返回401,401中帶了相應的鑒權信息;下級再次發(fā)起register請求,該請求中帶了下級的鑒權信息;上級對比鑒權后,如果通過返回200ok。3.1.1基本注冊流程與其信令消息示范圖3.2國標2016基本注冊流程示意圖注冊流程描述如下:SIP代理向SIP服務器發(fā)送REGISTER請求;SIP服務器向SIP代理發(fā)送響應401,并在響應的消息頭WWW_Authenticate字段中給出適合SIP代理的認證體制和參數(shù);SIP代理重新向SIP服務器發(fā)送REGISTER請求,在請求的Authorization字段給出信任書,包含認證信息;SIP服務器對請求進行驗證,如果檢查出SIP代理身份合法,向SIP代理發(fā)送成功響應200OK,如果身份不合法則發(fā)送拒絕服務應答。內容摘自:國標2016中基本注冊注冊信令消息示范:J.1.1REGISTERsip:SIP服務器編碼@目的域名或IP地址端口SIP/2.0Via:SIP/2.0/UDP源域名或IP地址端口From:<sip:SIP設備編碼@源域名>;tag=185326220To:<sip:SIP設備編碼@源域名>Call-ID:ms1214-322164710-681262131542511620107-0@CSeq:1REGISTERContact:<sip:SIP設備編碼@源IP地址端口>Max-Forwards:70Expires:3600Content-Length:0J.1.2SIP/2.0401UnauthorizedTo:sip:SIP設備編碼@源域名Content-Length:0CSeq:1REGISTERCall-ID:ms1214-322164710-681262131542511620107-0@From:<sip:SIP設備編碼@源域名>;tag=185326220Via:SIP/2.0/UDP源域名或IP地址端口WWW-Authenticate:Digestrealm="64010000",nonce="6fe9ba44a76be22a"J.1.3REGISTERsip:SIP服務器編碼@目的域名或IP地址端口SIP/2.0Via:SIP/2.0/UDP源域名或IP地址端口From:<sip:SIP設備編碼@源域名>;tag=185326220To:<sip:SIP設備編碼@源域名>Call-ID:ms1214-322164710-681262131542511620107-0@CSeq:2REGISTERContact:<sip:SIP設備編碼@源IP地址端口>Authorization:Digestusername="64010000002020000001",realm="64010000",nonce="6fe9ba44a76be22a",uri="sip:64010000002000000001@:5060",response="9625d92d1bddea7a911926e0db054968",algorithm=MD5Max-Forwards:70Expires:3600Content-Length:0J.1.4SIP/2.0200OKTo:<sip:SIP設備編碼@源域名>;tag=69113a2aContact:sip:SIP設備編碼@源IP地址端口Content-Length:0CSeq:2REGISTERCall-ID:ms1214-322164710-681262131542511620107-0@From:<sip:SIP設備編碼@源域名>;tag=185326220Via:SIP/2.0/UDP源域名或IP地址端口Date:2010-11-02T15:01:26.115Expires:3600內容摘自:國標2016中附錄J.1注冊信令消息示范3.1.2基于數(shù)字證書的雙向認證注冊與其信令消息示范圖3.3國標基于數(shù)字證書的雙向認證注冊流程示意圖信令流程描述如下:SIPUA向SIP服務器發(fā)送REGISTER請求,消息頭域中攜帶SIPUA安全能力。增加Authorization頭字段,Authorization的值為Capability,參數(shù)algorithm的值分為三部分,中間以逗號分割。第一部分為非對稱算法描述,取值為RSA;第二部分為摘要算法描述,取值為MD5/SHA-1/SHA-256中的一個或者多個;第三部分為對稱算法的描述,取值為DES/3DES/SM1中的一個或者多個;SIP服務器向SIPUA發(fā)送一個挑戰(zhàn)響應401,響應的消息頭域WWW-Authenticate取值為Asymmetric,參數(shù)nonce分為兩部分a和b兩部分,algorithm的值取SIPUA安全能力中的算法;IPUA收到401響應后,得到nonce中的a和b兩部分。首先用SIPUA私鑰解密b,得到結果c,對結果c用401響應中algorithm指定的算法做摘要,得到結果d,用sip服務器公鑰解密a,得到結果d’,與結果d進行匹配,如果相匹配則信任該結果,否則丟棄。SIPUA重新向SIP服務器發(fā)送REGISTER請求,Authorization取值為Asymmetric,參數(shù)nonce的值與1.2中的相同;response的值為用本消息中algorithm指明的算法對[c+nonce]做摘要的結果;SIP服務器對請求進行驗證,如果檢查SIPUA身份合法,向SIPUA發(fā)送成功響應200OK,如果身份不合法則發(fā)送拒絕服務應答。內容摘自:基于數(shù)字證書的雙向認證注冊基于數(shù)字證書的雙向認證注冊消息示范:J.2.1REGISTERsip:SIP服務器編碼@目的域名或IP地址端口SIP/2.0Via:SIP/2.0/UDP源域名或IP地址端口From:<sip:SIP設備編碼@源域名>;tag=185326220To:<sip:SIP設備編碼@源域名>Call-ID:ms1214-322164710-681262131542511620107-0@CSeq:1REGISTERContact:<sip:SIP設備編碼@源IP地址端口>Authorization:Capabilityalgorithm="A:RSA/ECB/PKCS1,RSA/CBC/PKCS1;H:SHA1,MD5,SHA256;S:DES/ECB/PKCS5,DES/CBC/PKCS5,3DES/ECB/PKCS5,3DES/CBC/PKCS5,SCB2"Max-Forwards:70Expires:3600Content-Length:0J.2.2SIP/2.0401UnauthorizedTo:sip:SIP設備編碼@源域名Content-Length:0CSeq:1REGISTERCall-ID:ms1214-322164710-681262131542511620107-0@From:<sip:SIP設備編碼@源域名>;tag=185326220Via:SIP/2.0/UDP源域名或IP地址端口WWW-Authenticate:Asymmetricnonce="EUiG7xqPhJwSyD7lBgMGCUtzp2AObEdeRVn0cao0JaWPC8VcVBrrHif4+n0mXsHBXFnDGJ43DYWPnPx9XjwEHfl6iN+5SFu0JMa/cQ/VV8Quf8GE3hK7m5c6rGN+Mi61blTwhkI40+vI7ifFnRXbZM5iKynPz7XA1gr9lWd/7hY=&CXUUHOL6RctO4bfTA86EEZ8gxVxek+1f5jw3cleu0vU5kwrH6MG+Vc3cdxaKNL4G8Eo8PLtYDcrBwwYJHKUbSSL3D9mKmbVB6hjQ9cltXVKqQ6lKjPNf4x9b9Z2zGl5VuVsaY9PtQhWO2WHUvZDrFY4focaCYFAZCmZVUwzrfDE="algorithm="A:RSA/ECB/PKCS1&SHA1"J.2.3REGISTERsip:SIP服務器編碼@目的域名或IP地址端口SIP/2.0Via:SIP/2.0/UDP源域名或IP地址端口From:<sip:SIP設備編碼@源域名>;tag=185326220To:<sip:SIP設備編碼@源域名>Call-ID:ms1214-322164710-681262131542511620107-0@CSeq:2REGISTERContact:<sip:SIP設備編碼@源IP地址端口>Authorization:Asymmetricnonce="EUiG7xqPhJwSyD7lBgMGCUtzp2AObEdeRVn0cao0JaWPC8VcVBrrHif4+n0mXsHBXFnDGJ43DYWPnPx9XjwEHfl6iN+5SFu0JMa/cQ/VV8Quf8GE3hK7m5c6rGN+Mi61blTwhkI40+vI7ifFnRXbZM5iKynPz7XA1gr9lWd/7hY=&CXUUHOL6RctO4bfTA86EEZ8gxVxeK+1f5jw3cLeu0vU5kWrH6MG+Vc3cdxaKNL4G8Eo8PLtYDcrBwwYJHKUBSSL3D9mKmbVB6hjQ9cltXvKqQ6lKjPNf4x9b9Z2zGl5VuVsaY9PtQhWO2WHUvZDrFY4focaCYFAZCmZVUwzrfDE=",response="9625d92d1bddea7a911926e0db054968",algorithm=SHA1Max-Forwards:70Expires:3600Content-Length:0J.2.4SIP/2.0200OKTo:<sip:SIP設備編碼@源域名>;tag=69113a2aContact:sip:SIP設備編碼@源IP地址端口Content-Length:0CSeq:2REGISTERCall-ID:ms1214-322164710-681262131542511620107-0@From:<sip:SIP設備編碼@源域名>;tag=185326220Via:SIP/2.0/UDP源域名或IP地址端口Date:2010-11-02T15:01:26.115Expires:3600內容摘自:國標2016中附錄J.2基于數(shù)字證書的雙向認證消息示范3.2、抓包示例圖3.4帶鑒權注冊抓包示例3.3、報文詳解REGISTER首先像無鑒權注冊一樣,下級先向上級發(fā)送一個不攜帶鑒權信息的注冊請求。401Unauthorized上級收到下級REGISTER請求后,檢查自己添加這個下級的時候,是開啟鑒權的。但是對方的注冊請求里沒有攜帶鑒權信息,因此會回復給下級一個401Unauthorized,表示注冊是需要帶鑒權的,下級需要在注冊請求里帶上鑒權信息。圖3.5帶鑒權注冊401UnauthorizedREGISTER(帶鑒權信息) 下級收到上級的401Unauthorized之后,意識到自己需要帶上鑒權信息注冊,因此根據(jù)自己保存的鑒權名和鑒權密碼等信息,加密之后攜帶到第二個REGISTER請求里,具體如下:圖3.5第二個REGISTER帶鑒權信息 可以看到,在Authorization字段中,攜帶了加密后的鑒權信息。需要注意的是,由于鑒權信息是通過MD5方式加密的,因此是無法反向解密的。所以不能通過信令來判斷上下級的鑒權信息誰對誰錯,只能在一開始就協(xié)商好,并且保證一致。200OK 上級再次收到下級的帶鑒權注冊請求,會去校驗對方攜帶的鑒權信息是否和自己保存的鑒權信息一致。如果所有信息一致,則回復200OK表示注冊成功;如果有信息不一致,則返回400BAD表示注冊失敗。四、心跳 經過上面的講解可知注冊是存在有效期的,在上下級注冊成功之后,注冊超時之前的這段時間內,如果上下級任何一方出現(xiàn)問題,比如說程序崩潰/斷電/斷網等,對方是無法感知到的。如果對方仍在繼續(xù)進行正常的業(yè)務請求,那么就相當于在做無用功。為了防止出現(xiàn)這種情況,國標就定義了心跳功能。在注冊成功之后,上下級需要定期進行心跳信令來維持雙方的在線狀態(tài)。任何一方心跳消息連續(xù)不回復達幾次以上,就認為對方離線,默認心跳超時次數(shù)3次。圖4.1國標2016中心跳基本要求圖4.1摘自:國標2016中9.6.1狀態(tài)消息報送基本要求4.1、整體流程圖4.2心跳流程信令流程如下:下級向上級發(fā)送心跳請求;上級返回200ok。4.2、抓包示例與心跳國標報文示范圖4.3心跳抓包示例心跳國標報文示范:J.12.1MESSAGEsip:目的設備編碼@目的域名或IP地址端口SIP/2.0To:<sip:目的設備編碼@目的域名>Content-Length:消息實體的字節(jié)長度CSeq:2MESSAGECall-ID:wlss-3a65dfb6-7ee86970ea84c5b2284ad158b3d4fdee@Via:SIP/2.0/UDP源域名或IP地址From:<sip:源設備編碼@源域名>;tag=e40807c0Content-Type:Application/MANSCDP+xmlMax-Forwards:70<?xmlversion="1.0"?><Notify><CmdType>Keepalive</CmdType><SN>43</SN><DeviceID>64010000001110000001</DeviceID><Status>OK</Status></Notify>J.12.2SIP/2.0200OKVia:SIP/2.0/UDP源域名或IP地址From:<sip:源設備編碼@源域名>;tag=e40807c0To:<sip:目的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論