亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WebRTC的實(shí)時通信

        2021-11-27 02:08:20常天宇彭振
        工程技術(shù)與管理 2021年20期
        關(guān)鍵詞:公網(wǎng)服務(wù)端信令

        常天宇 彭振

        國家無線電監(jiān)測中心檢測中心,中國·北京 100041

        1 概述

        WebRTC 是一個跨平臺的多媒體框架可以進(jìn)行音視頻處理和實(shí)時通訊。通過瀏覽器進(jìn)行音視頻設(shè)備訪問管理、音視頻采集、數(shù)據(jù)傳輸最終搭建實(shí)時互動的平臺[1]。

        信令服務(wù)器用來交換每個終端支持的媒體信息(編解碼器等)和網(wǎng)絡(luò)信息(每個終端可能支持的通路);STUN/TURN 服務(wù)器用來進(jìn)行NAT 穿越和提供中繼服務(wù);NAT 穿越成功可以建立P2P 通道直連進(jìn)行媒體數(shù)據(jù)的傳輸,否則需要中繼節(jié)點(diǎn)進(jìn)行中轉(zhuǎn)[2]。

        2 信令服務(wù)器的搭建

        ①下載并安裝nodejs、express、serve-index、socket.io模塊。

        ②新建server.js 文件中引入以上模塊。

        ③創(chuàng)建http 和https 服務(wù)。

        ④將socket 服務(wù)和web 服務(wù)綁定。

        ⑤服務(wù)端偵聽底層發(fā)送的connection 事件后,繼續(xù)偵聽客戶端自定義事件并進(jìn)行后續(xù)的邏輯處理。

        ⑥打開端口http 服務(wù)監(jiān)聽80,https 服務(wù)監(jiān)聽443。(web和socket 服務(wù)端口復(fù)用)

        ⑦node 運(yùn)行server.js 文件開啟服務(wù)。

        ⑧編寫好的客戶端html、js、css 文件放在服務(wù)端public 路徑,利用本地瀏覽器的v8 引擎進(jìn)行渲染處理后實(shí)現(xiàn)交互。

        3 NAT 穿越

        NAT 功能是給內(nèi)網(wǎng)地址提供一個公網(wǎng)的映射地址,提高安全性并解決IPV4 地址不足。

        有四種類型的NAT,即完全錐型、地址限制性NAT、端口限制性NAT、對稱性NAT。安全性依次增加,給NAT穿越打洞帶來挑戰(zhàn)。對于端口受限錐形與對稱性NAT、對稱型NAT 與對稱性NAT 之間幾乎很難打洞成功[3]。雖然可以嘗試IP 地址和端口猜測的方式,但對猜測算法要求很高。

        如何進(jìn)行NAT 類型檢測有以下步驟:

        ①服務(wù)器2 臺,需有2 個IP 地址和端口(#1 服務(wù)器雙網(wǎng)卡)。

        ②客戶端向服務(wù)端發(fā)送多個ECHO(UDP 報文)請求,服務(wù)端用該IP 地址和端口返回響應(yīng)。如果一個響應(yīng)也沒有收到,那么說明不支持UDP 形式檢測。

        ③如果客戶端收到回復(fù)響應(yīng),則需要對比返回的ip 地址和發(fā)送的IP 地址,如果相同則客戶端沒有在NAT 之后,否則在NAT 之后。

        ④客戶端再向服務(wù)端發(fā)送請求,服務(wù)端用不同于接收請求的IP 地址和端口進(jìn)行回復(fù)響應(yīng),如果客戶端收到了響應(yīng)則說明客戶端處于完全開放的公網(wǎng),否則客戶端位于對稱性防火墻之后。

        ⑤如果第三步在NAT 之后重復(fù)第四部步驟,客戶端收到回復(fù)響應(yīng),則NAT 類型為完全錐形,否則需要進(jìn)一步判斷。

        ⑥向第二臺服務(wù)器重復(fù)步驟二操作,得到回復(fù)后對比經(jīng)過NAT 映射后的公網(wǎng)IP 地址和第三步得到的公網(wǎng)IP 是否相同,如果不同則為對稱性NAT,如果相同客戶端向一臺服務(wù)器再次發(fā)送請求,服務(wù)器端用相同的IP 地址但是不同的端口進(jìn)行回復(fù)響應(yīng),如果客戶端能收到則為IP 限制性NAT,否則為端口限制性NAT。

        4 STUN 服務(wù)

        交換公網(wǎng)IP 地址和端口,便于進(jìn)行NAT 穿越。是典型的客戶端/服務(wù)器模式。即客戶端發(fā)送請求,服務(wù)端響應(yīng)。如果沒有STUN 服務(wù),客戶端無法知道彼此的IP,即使在公網(wǎng)上的主機(jī)也是無法進(jìn)行通訊的(見圖1)。

        圖1 STUN 服務(wù)器工作原理

        5 TURN 服務(wù)

        建立在STUN 協(xié)議之上,TURN 客戶端發(fā)送allocate 請求,服務(wù)器分配公網(wǎng)IP 地址和端口提供流媒體數(shù)據(jù)的中轉(zhuǎn)服務(wù)以解決NAT 無法穿越的問題。TURN 服務(wù)器對于同一客戶端有2 個端口分別提供allocate 請求服務(wù)和數(shù)據(jù)中轉(zhuǎn)服務(wù):TURN 服務(wù)器的3478 端口和客戶端可以是TCP 或者UDP(NAT 穿越基于TCP 打洞或UDP 打洞,一般來說為了保證請求服務(wù)的可靠性都是基于TCP 或者TLS over TCP);50000 端口和客戶端是流媒體的UDP 包,UDP 數(shù)據(jù)的傳輸方式有send/data 或channel,兩者可以共存[4]。

        6 ICE 框架

        收集每個終端可能的通路(本機(jī)地址、反射地址、中繼地址)通過信令服務(wù)器進(jìn)行交換然后再進(jìn)行連通性檢測。優(yōu)先P2P 穿越,不成功選擇TURN 中轉(zhuǎn)服務(wù)。

        STUN/TURN 服務(wù)器搭建選型Coturn 并下載安裝到服務(wù)器,需要配置表1的參數(shù)可以提供基本的STUN/TRUN服務(wù)。

        表1 配置參數(shù)

        配置好后開啟該服務(wù)并用Trickle ICE 檢查服務(wù)運(yùn)行是否正常。candidate 收集到2 個本機(jī)的地址(host 雙網(wǎng)卡)、1 個經(jīng)過NAT 之后的映射公網(wǎng)地址(srflx)以及1 個提供TURN 服務(wù)的中繼地址(relay)。具體網(wǎng)絡(luò)可以通過wireshark 或者linux 下的tcpdump 進(jìn)行抓包分析。

        7 建立通訊

        Peer A 和Peer B 進(jìn)行通訊,先進(jìn)行媒體協(xié)商(即協(xié)商共同支持的編解碼器等),再進(jìn)行候選者收集鏈路優(yōu)先級排序檢查通路,最后進(jìn)行媒體流的傳輸。Peer A、Peer B 在建立的通路上進(jìn)行媒體數(shù)據(jù)的傳輸,并將收到的數(shù)據(jù)添加在本地html頁面標(biāo)簽上顯示。

        信令服務(wù)和STUN/TURN 服務(wù)可以部署在同一臺物理設(shè)備上,客戶端可以發(fā)送本地采集的音視頻數(shù)據(jù)、共享本地桌面、文字聊天和文件傳輸?shù)葘?shí)現(xiàn)1V1 實(shí)時互動。如果是同一NAT 后的終端通訊,不需要開啟STUN/TURN 服務(wù)即可建立P2P 直連,如果是不同網(wǎng)絡(luò)在NAT 穿越失敗后需要TURN 服務(wù)中轉(zhuǎn)才能進(jìn)行通訊。

        8 結(jié)語

        WebRTC 通訊基于服務(wù)端(信令服務(wù)、STUN/TURN 服務(wù))和客戶端的交互,其中信令服務(wù)極為重要。隨著IPV6的普及,NAT 的功能或被淡化,即可以減少NAT 穿越帶來的困難,又能增加網(wǎng)絡(luò)安全性,為音視頻的實(shí)時傳輸提供保障。

        猜你喜歡
        公網(wǎng)服務(wù)端信令
        淺析大臨鐵路公網(wǎng)覆蓋方案
        中國新通信(2022年4期)2022-04-23 23:04:20
        公網(wǎng)鐵路應(yīng)急通信質(zhì)量提升的技術(shù)應(yīng)用
        SLS字段在七號信令中的運(yùn)用
        移動信令在交通大數(shù)據(jù)分析中的應(yīng)用探索
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        基于信令分析的TD-LTE無線網(wǎng)絡(luò)應(yīng)用研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        基于公網(wǎng)短信的河北省高速公路數(shù)據(jù)傳輸應(yīng)用
        LTE網(wǎng)絡(luò)信令采集數(shù)據(jù)的分析及探討
        黄色大片一区二区中文字幕| a级毛片免费完整视频| 欧美性狂猛xxxxx深喉| 91热久久免费精品99| 国产三级精品三级在线| 99久久国产精品网站| 精品国产乱码久久久久久影片| 精品午夜久久网成年网| 日韩精品免费一区二区中文字幕| 青青草免费手机视频在线观看| 欧美放荡的少妇| 无码日韩AⅤ一区二区三区| 国内精品嫩模av私拍在线观看| 少妇无套裸按摩呻吟无呜| 国产av无码专区亚洲awww| 免费 无码 国产在线观看不卡| 亚洲一区二区三区精品久久| 18禁在线永久免费观看| 亚洲av日韩av综合| 国产亚洲精品综合一区| 99蜜桃在线观看免费视频| 精品无人码麻豆乱码1区2区| 欧美真人性做爰一二区| 中文字幕偷拍亚洲九色| 亚洲精品一区二区三区52p| 精品人妻午夜一区二区三区四区| 在线免费观看韩国a视频| 国产精品二区三区在线观看| 无码人妻精品中文字幕| 精品人妻潮喷久久久又裸又黄| av无码特黄一级| 一二三区亚洲av偷拍| 久久精品噜噜噜成人| 成人午夜视频一区二区无码| 国产丝袜一区丝袜高跟美腿| 少妇精品无码一区二区三区| 国产精品白浆视频免费观看| 国产一区二区毛片视频| www夜片内射视频在观看视频| 欧美老妇与zozoz0交| 国产91AV免费播放|