亚洲免费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ù)的分析及探討
        日韩亚洲欧美中文在线| 日韩av天堂综合网久久| 99精品国产综合久久麻豆| 国产在线h视频| 黄色录像成人播放免费99网| 三个黑人插一个女的视频| 国产99久久久国产精品~~牛| 亚洲av无码一区二区三区乱子伦| 亚洲美女又黄又爽在线观看| 在教室伦流澡到高潮hnp视频| 一本大道久久东京热无码av| 国产精品久久熟女吞精| 成人在线观看视频免费播放| 亚洲视频免费一区二区| 美女脱了内裤露出奶头的视频| 激情人妻另类人妻伦| 日韩一卡2卡3卡4卡新区亚洲| 久久综合第一页无码| 亚洲精品中文字幕二区| 亚洲精品一区二区三区蜜臀| 男人的精品天堂一区二区在线观看| 亚洲国产精品美女久久| 人妻插b视频一区二区三区| 国内精品视频一区二区三区| 看全色黄大色大片免费久久久| 亚洲精品中文字幕不卡| 门卫又粗又大又长好爽| 在线va免费看成| 日本动态120秒免费| 日本一区二区国产高清在线播放 | 亚洲国产日韩一区二区三区四区| 曰韩无码av一区二区免费| 激情内射亚州一区二区三区爱妻| 91白浆在线视频| 亚洲天堂av在线免费播放 | 日本久久久免费观看视频| 亚洲av无码精品蜜桃| 巨爆乳中文字幕爆乳区| 亚洲乱码av中文一区二区第八页| 人妻丰满熟妇aⅴ无码| 国产高清一区二区三区视频|