海康萤石摄像机远程监控机制分析
背景介紹
有一個(gè)遠(yuǎn)程監(jiān)控的需求,正常情況下采用服務(wù)器轉(zhuǎn)發(fā)視頻流對(duì)服務(wù)器要求很高,所以p2p看似是一個(gè)比較好的方案,但是p2p打洞卻不是一件容易的事情,所以打算分析下海康螢石攝像機(jī)遠(yuǎn)程監(jiān)控的機(jī)制,是否采用了p2p的方式。
初步分析結(jié)果
少?gòu)U話,先說(shuō)結(jié)果:對(duì)稱(chēng)型nat的p2p打洞是一個(gè)比較困難的技術(shù)問(wèn)題,螢石攝像機(jī)并沒(méi)有很好的解決對(duì)稱(chēng)型p2p打洞的問(wèn)題,而是采用服務(wù)器轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
注:由于測(cè)試環(huán)境比較單一,不能完全確認(rèn)螢石不能打通對(duì)稱(chēng)型nat網(wǎng)絡(luò)。
螢石攝像機(jī)遠(yuǎn)程監(jiān)控的處理流程
螢石攝像機(jī)在跨公網(wǎng)的遠(yuǎn)程在線預(yù)覽時(shí),首先為了保證用戶體驗(yàn),預(yù)覽起初會(huì)采用服務(wù)器對(duì)視頻流進(jìn)行轉(zhuǎn)發(fā),保證用戶盡快的看到視頻監(jiān)控畫(huà)面。
同時(shí)會(huì)嘗試進(jìn)行p2p打洞,采用端口累加的算法嘗試打洞,非常遺憾的是在進(jìn)行了10次左右的測(cè)試中,p2p打洞一直沒(méi)能成功,在嘗試p2p打洞幾分鐘后,確認(rèn)一直打不通后,則放棄p2p方式,后續(xù)一直采用服務(wù)器轉(zhuǎn)發(fā)的模式。
測(cè)試環(huán)境:
- ipc設(shè)備架設(shè)在A處,通過(guò)中國(guó)移動(dòng)網(wǎng)絡(luò)接入公網(wǎng),接入的公網(wǎng)ip為:223.95.81.70。
- 客戶端架設(shè)在B處,通過(guò)中國(guó)電信網(wǎng)絡(luò)接入公網(wǎng)。
- 經(jīng)檢測(cè)以上兩種寬帶接入,都是對(duì)稱(chēng)型nat網(wǎng)絡(luò)。
測(cè)試過(guò)程:
- 通過(guò)客戶端進(jìn)行視頻遠(yuǎn)程預(yù)覽,同時(shí)進(jìn)行抓包。
測(cè)試結(jié)果分析
Frame 2261: 284 bytes on wire (2272 bits), 284 bytes captured (2272 bits) on interface 0 Ethernet II, Src: IntelCor_83:03:74 (24:77:03:83:03:74), Dst: TendaTec_5a:b1:a0 (c8:3a:35:5a:b1:a0) Internet Protocol Version 4, Src: 192.168.0.119, Dst: 223.95.81.70 User Datagram Protocol, Src Port: 10103 (10103), Dst Port: 10009 (10009) Data (242 bytes) Frame 3018: 284 bytes on wire (2272 bits), 284 bytes captured (2272 bits) on interface 0 Ethernet II, Src: IntelCor_83:03:74 (24:77:03:83:03:74), Dst: TendaTec_5a:b1:a0 (c8:3a:35:5a:b1:a0) Internet Protocol Version 4, Src: 192.168.0.119, Dst: 223.95.81.70 User Datagram Protocol, Src Port: 10105 (10105), Dst Port: 10010 (10010) Data (242 bytes) Frame 4770: 284 bytes on wire (2272 bits), 284 bytes captured (2272 bits) on interface 0 Ethernet II, Src: IntelCor_83:03:74 (24:77:03:83:03:74), Dst: TendaTec_5a:b1:a0 (c8:3a:35:5a:b1:a0) Internet Protocol Version 4, Src: 192.168.0.119, Dst: 223.95.81.70 User Datagram Protocol, Src Port: 10107 (10107), Dst Port: 10011 (10011) Data (242 bytes)從抓到的數(shù)據(jù)包可以看到客戶端會(huì)向223.95.81.70地址(ipc設(shè)備所在網(wǎng)絡(luò)的公網(wǎng)ip)發(fā)送長(zhǎng)度為284字節(jié)的udp打洞包,并調(diào)整源端口和目的端口進(jìn)行端口預(yù)測(cè)。
打洞持續(xù)一段時(shí)間后,沒(méi)有打通,則放棄p2p,后續(xù)一直采用服務(wù)轉(zhuǎn)發(fā)的方式進(jìn)行遠(yuǎn)程預(yù)覽。
螢石視頻流的轉(zhuǎn)發(fā)應(yīng)該是通過(guò)私有協(xié)議,而p2p標(biāo)準(zhǔn)定義了turn協(xié)議實(shí)現(xiàn)音視頻數(shù)據(jù)的轉(zhuǎn)發(fā),不知道為什么對(duì)于這種常見(jiàn)的音視頻傳輸,在監(jiān)控領(lǐng)域并沒(méi)有一個(gè)標(biāo)準(zhǔn)的協(xié)議出現(xiàn)。
疑惑
對(duì)稱(chēng)型nat的打洞是十分困難的,雖然有不少預(yù)測(cè)算法聲稱(chēng)可以將打洞成功率提高到90%,不過(guò)從螢石相機(jī)的表現(xiàn)看效果不是很好,但是不知道迅雷,bt,電驢這類(lèi)軟件是如何實(shí)現(xiàn)p2p分享下載的,感覺(jué)這方面的水還是很深的。
另外優(yōu)酷之前推出的可以賺錢(qián)的路由寶,貌似原理就是將個(gè)人的路由器做成能夠分享的小型服務(wù)器,這樣可以利用個(gè)人寬帶的資源,節(jié)省自身的帶寬。不過(guò)路由寶要能夠用來(lái)分享,也是需要進(jìn)行些設(shè)置,通過(guò)搜索感覺(jué)也是為了穿透nat的限制。
總結(jié)
以上是生活随笔為你收集整理的海康萤石摄像机远程监控机制分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【滤波器学习笔记】一阶RC低通滤波
- 下一篇: 光纤交换机 序列号_Brocade光纤交