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

        ?

        基于ⅠCE 框架的P2P 技術(shù)在通訊領(lǐng)域的研究

        2022-08-08 15:23:44袁永勝YUANYongsheng趙魁元ZHAOKuiyuan肖崢瑜XAOZhengyu趙搏ZHAOBo王春艷WANGChunyan
        價(jià)值工程 2022年23期
        關(guān)鍵詞:用戶信息

        袁永勝YUAN Yong-sheng;趙魁元ZHAO Kui-yuan;肖崢瑜XⅠAO Zheng-yu;趙搏ZHAO Bo;王春艷WANG Chun-yan

        (河南科技大學(xué)軟件學(xué)院,洛陽 471000)

        0 引言

        隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,人們對網(wǎng)絡(luò)服務(wù)的要求也在不斷提高。在傳統(tǒng)的C/S 或B/S 模式中,網(wǎng)絡(luò)服務(wù)主要由服務(wù)器提供,用戶的一切交互行為都要經(jīng)過服務(wù)器。隨著用戶的大量增加,這種模式不僅加重了服務(wù)器所需要的資源,而且用戶在交互過程中產(chǎn)生的一切個(gè)人信息也都可能會(huì)保存到服務(wù)器中,尤其是在通訊領(lǐng)域中,我們的信息都有可能在不經(jīng)意間泄露。因此,本文提出了P2P 內(nèi)網(wǎng)穿透技術(shù)在通訊領(lǐng)域的研究,相比于傳統(tǒng)的C/S 架構(gòu),P2P模式不依賴于中心服務(wù)器,各個(gè)節(jié)點(diǎn)之間都是平等的,有著較高的容錯(cuò)性和節(jié)點(diǎn)可擴(kuò)展性,能夠極大緩解傳統(tǒng)架構(gòu)中服務(wù)器端的壓力過大,單點(diǎn)失效等問題,同時(shí)更好地保護(hù)了用戶的信息安全。

        1 研究內(nèi)容

        本文主要對P2P 技術(shù)在通訊領(lǐng)域中的應(yīng)用展開研究。當(dāng)前互聯(lián)網(wǎng)中的應(yīng)用普遍采用的是B/S 或C/S 模式。在這種傳統(tǒng)的模式中,信息的資源共享都是以一個(gè)服務(wù)器為中心,用戶之間的所有通信都需要中心服務(wù)器進(jìn)行請求轉(zhuǎn)發(fā)。這種方式對于共享資源的查找、更新較為容易,但是會(huì)加重服務(wù)器的負(fù)載量,因?yàn)橛脩舻纳闲袑拵г诖蟛糠謺r(shí)間中都是空閑的,這不僅造成了資源的浪費(fèi)而且速度也會(huì)降低。另外,這種方式應(yīng)用在通訊領(lǐng)域中,由于所有數(shù)據(jù)都要經(jīng)過中心服務(wù)器進(jìn)行存儲轉(zhuǎn)發(fā),因此會(huì)對用戶的信息安全造成極大威脅,極有可能造成用戶數(shù)據(jù)泄露。而在P2P 體系結(jié)構(gòu)中,中心服務(wù)器的作用得到了淡化,每個(gè)用戶既可以是客戶端也可以是服務(wù)端。在這種模式中,系統(tǒng)會(huì)將用戶端也當(dāng)做服務(wù)端,利用終端用戶的上行寬帶來輔助數(shù)據(jù)的轉(zhuǎn)發(fā)、交換。通過這種方式,用戶之間可以直接進(jìn)行通信而不需要依賴于同一個(gè)中心服務(wù)器,速度得到了很大提升,也充分利用了網(wǎng)絡(luò)資源。其次,采用這種方式,用戶的數(shù)據(jù)都保存在本地而不是服務(wù)器,因此用戶的信息安全性得到了極大的改善。但是,這種方式在打洞時(shí)通常都是基于UDP 的,由于UDP 是一種不可靠的傳輸協(xié)議,因此需要在數(shù)據(jù)傳輸過程中解決不可靠傳輸問題,使數(shù)據(jù)能夠安全傳輸。另外,除卻在用戶信息交流方面的應(yīng)用,P2P 還可以應(yīng)用于目前比較流行的音視頻類的物聯(lián)網(wǎng)中,例如車機(jī)系統(tǒng)、智能攝像頭、可視化門鎖、門鈴等,利用這種技術(shù)會(huì)極大地節(jié)省云端服務(wù)器所消耗的巨大成本,并使用戶得到快速、安全的體驗(yàn)。

        2 穿透原理

        2.1 NAT 端口

        NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)是為了解決IP 地址不夠用而產(chǎn)生的一種路由器解決方案。它可以給用戶分配本地網(wǎng)絡(luò)IP,在用戶上網(wǎng)時(shí)NAT 路由器會(huì)自動(dòng)將用戶本地IP 轉(zhuǎn)換成公網(wǎng)IP 與外部通信。NAT 端口主要分為兩大類:錐型NAT 和對稱型NAT。而錐形又分為全錐形、受限錐形和端口受限錐形。對于處于不同端口類型后的網(wǎng)絡(luò),其穿透方式也不盡相同。

        2.2 ICE 穿透

        ICE 全稱為交互式連接建立,它主要集成了STUN[1]和TURN[2]協(xié)議。因?yàn)橛脩艟W(wǎng)絡(luò)基本上都位于不同的內(nèi)網(wǎng)之中,如果采用P2P 技術(shù)的話,就必須以某種方式讓兩端用戶能夠互相發(fā)現(xiàn)對方,因此ICE 穿透技術(shù)便是整個(gè)系統(tǒng)能夠正常工作的核心。其工作原理如圖1 所示。其中,TURN服務(wù)器是STUN 服務(wù)器的備用。

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

        然而在日常生活中,用戶網(wǎng)絡(luò)所處的NAT 設(shè)備類型多種多樣,因此ICE 在工作之初會(huì)先對用戶雙方的NAT類型進(jìn)行判定。對于處于非對稱型NAT 設(shè)備后的用戶,STUN 服務(wù)器將會(huì)檢查用戶所請求的IP 地址(位于端口后的用戶應(yīng)用程序所發(fā)出的請求IP),并將這個(gè)地址通過信令服務(wù)器傳遞給位于另外一個(gè)端口后的客戶端從而使兩個(gè)客戶端直接建立連接。而對于存在對稱型設(shè)備的網(wǎng)絡(luò),有兩種情況STUN 協(xié)議將不能進(jìn)行NAT 穿越,一種是用戶分別處于端口限制型NAT 和對稱型NAT 后,一種是雙方都處于對稱型NAT 后,因?yàn)槊慨?dāng)客戶機(jī)發(fā)出一次請求,對稱型NAT 都會(huì)重新給用戶分配一個(gè)端口。那么此時(shí)ICE 會(huì)使用TURN 服務(wù)器進(jìn)行中繼轉(zhuǎn)發(fā)[3]。值得一提的是,在穿透的幾種類型中,ICE 會(huì)優(yōu)先使用STUN 建立一個(gè)基于UDP 的連接,如果建立失敗,將會(huì)去嘗試進(jìn)行TCP 連接,仍然打洞失敗時(shí)才會(huì)使用TURN 服務(wù)器進(jìn)行中繼轉(zhuǎn)發(fā)。因此,TURN 服務(wù)器所產(chǎn)生的relay 候選地址的優(yōu)先級是最低的,因?yàn)橹欣^雖可靠但是也是效率最低的一種P2P通信方式,ICE 協(xié)議會(huì)在多個(gè)candidate 中選取最合適的地址進(jìn)行通訊[4]。其工作流程如圖2 所示。

        圖2 ⅠCE 框架工作流程

        3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        本系統(tǒng)前端采用安卓端的原生開發(fā)策略,后端采用Spring Boot 開發(fā),保證了數(shù)據(jù)的安全可靠性,運(yùn)行速度快、性能高,用戶體驗(yàn)最佳。

        3.1 整體功能分析

        3.1.1 注冊與登錄

        客戶端將用戶名以及輸入的密碼進(jìn)行加密,發(fā)送給服務(wù)器,以用戶名為主鍵在數(shù)據(jù)庫中搜索用戶的信息,如果沒有搜索到將會(huì)返回給客戶端登錄失敗信息,搜索到后,系統(tǒng)會(huì)對密碼進(jìn)行二次加密,再進(jìn)行密碼的校驗(yàn),放入數(shù)據(jù)庫的密碼進(jìn)行了兩次加密(注冊也是如此),即使數(shù)據(jù)庫的權(quán)限被盜取也很難破解出密碼,校驗(yàn)成功后將token 返回給客戶端進(jìn)行登錄后的權(quán)限驗(yàn)證。注冊用郵箱作為賬號,輸入郵箱,點(diǎn)擊獲取驗(yàn)證碼,服務(wù)器端隨機(jī)生成驗(yàn)證碼并保存,一定時(shí)間后會(huì)自動(dòng)刪除,將驗(yàn)證碼發(fā)送到注冊的郵箱中,點(diǎn)擊登錄按鈕,后臺先進(jìn)行驗(yàn)證碼的校驗(yàn),通過校驗(yàn),將注冊信息存入數(shù)據(jù)庫,注冊成功。

        3.1.2 消息同步

        網(wǎng)絡(luò)通訊的主要是在兩端進(jìn)行的,消息同步機(jī)制在兩端之間交互。消息分為索引和內(nèi)容兩部分進(jìn)行存儲,雙端在進(jìn)行同步時(shí)將會(huì)對比雙方持有的索引鏈表,并將對方需要的消息內(nèi)容根據(jù)索引發(fā)送給對方,從而使雙方的消息記錄保持一致。在消息發(fā)送時(shí),發(fā)送方將會(huì)向信令服務(wù)器發(fā)送一個(gè)請求,請求中僅包含接收方的用戶ID 和發(fā)送方用戶ID,然后信令服務(wù)器會(huì)向接收方發(fā)送一個(gè)消息提醒,并將其存儲在緩存中,如果接收方離線,接收方上線后會(huì)主動(dòng)向信令服務(wù)器發(fā)起詢問是否有新的消息,信令服務(wù)器會(huì)將緩存中的數(shù)據(jù)重新發(fā)送給接收方并清理緩存。

        3.1.3 局域網(wǎng)中的數(shù)據(jù)傳輸

        如果用戶處于同一局域網(wǎng)內(nèi),則不需要通過穿透服務(wù)器進(jìn)行內(nèi)網(wǎng)穿透,用戶登錄后向局域網(wǎng)廣播用戶信息,局域網(wǎng)內(nèi)其他在線用戶可同步收到該廣播信息并將其加入在線用戶。如果用戶A 要和用戶B 通信,用戶A 會(huì)向用戶B 發(fā)送一個(gè)Socket 請求,用戶B 收到A 發(fā)來的Socket 請求后會(huì)將其暫存并向A 也發(fā)送一個(gè)Socket。雙方都擁有一個(gè)對方的Socket 后就建立起了局域網(wǎng)內(nèi)的連接,可進(jìn)行文件傳輸、信息交流。其中Socket 會(huì)保存一段時(shí)間,下一次通信時(shí)則不需要重新建立連接而直接進(jìn)行信息傳輸。

        3.1.4 不同內(nèi)網(wǎng)間數(shù)據(jù)傳輸

        當(dāng)兩個(gè)客戶端處于非轉(zhuǎn)發(fā)方案中的情況時(shí),用戶首先要連接服務(wù)器,注冊自己的信息,這個(gè)信息包括用戶公網(wǎng)映射IP 地址和端口以及用戶的信息,以供客戶端A 和B在自行連接的時(shí)候在公網(wǎng)上找到對方進(jìn)行信息的傳輸,當(dāng)客戶端A 想要和某個(gè)用戶(已經(jīng)在服務(wù)器端注冊的用戶)進(jìn)行連接時(shí),點(diǎn)擊注冊用戶列表中的用戶就可以實(shí)現(xiàn)兩端的信息交互。注冊后,客戶端命令服務(wù)器呼叫客戶端B,驗(yàn)證網(wǎng)絡(luò)連接是否暢通,如果此時(shí)用戶已經(jīng)下線,服務(wù)器端會(huì)給客戶端A 回復(fù)客戶端B 不在線,否則客戶端會(huì)根據(jù)注冊的IP 和端口自行連接,實(shí)現(xiàn)端到端的通訊,但當(dāng)一方下線時(shí),會(huì)給服務(wù)器發(fā)送下線消息,服務(wù)器會(huì)通知對方下線,通訊回話結(jié)束。

        3.1.5 安全傳輸

        為了加強(qiáng)端對端傳輸之間的安全性,采用證書以及非對稱加密算法對通訊雙方的內(nèi)容進(jìn)行加密,以防止中間人攻擊。通訊雙方在通訊建立時(shí)將會(huì)向?qū)Ψ桨l(fā)送自己的證書以驗(yàn)證身份,然后會(huì)使用證書中的公鑰加密一個(gè)隨機(jī)數(shù)并返回對方。雙方在收到隨機(jī)數(shù)后使用自己的私鑰解密,并用對方的公鑰重新加密后重新發(fā)送給對方。雙方接收到后用自己的私鑰解密,然會(huì)對比是否為自己之前生成的隨機(jī)數(shù),若正確,則可以保證雙方之間的通訊沒有被第三人篡改,而后再使用對方的公鑰進(jìn)行通訊。證書是由信令服務(wù)器提供方頒發(fā),雙方可以通過信令服務(wù)器方驗(yàn)證證書的合法性。

        3.2 穿透服務(wù)器

        Coturn 服務(wù)器是一個(gè)開源的穿透服務(wù)器,它完整地集成了STUN/TURN/ICE 協(xié)議并支持P2P 防火墻穿透技術(shù)。在本次研究測試中,穿透服務(wù)器采用的是在Ubuntu 云服務(wù)器中安裝Coturn,在安全組中開放了3478 等相關(guān)端口,并在Trickle ICE 中測試通過,能夠成功收集到STUN 協(xié)議獲得的srflx 地址和TURN 協(xié)議獲得的relay 地址(統(tǒng)稱為候選列表)。

        3.3 信令服務(wù)器

        信令服務(wù)器使用了SpringBoot 框架[5]進(jìn)行開發(fā),采用WebSocket 通訊協(xié)議與客戶端交互。

        3.3.1 信令協(xié)議

        信令服務(wù)器與客戶端之間的通訊使用了自定義的WSTP(WebSocket Signaling Transport Protocol)信令傳輸協(xié)議,協(xié)議規(guī)定了一個(gè)信令是由一個(gè)20 字節(jié)的信令頭以及數(shù)據(jù)組成。信令頭的組成如表1 所示。

        表1 信令頭設(shè)計(jì)

        版本號根據(jù)高低4 位分為不兼容版本號和兼容性版本號,代表當(dāng)前協(xié)議數(shù)據(jù)包服務(wù)器可處理程度;魔數(shù)是一個(gè)用于保證完整性的簡易校驗(yàn)方式,是一個(gè)固定的數(shù);標(biāo)識位用于控制一些選項(xiàng)(IE、CT、HB、BIN、RESP 等);類標(biāo)識符是用于指示該協(xié)議包要訪問哪個(gè)信令類;數(shù)據(jù)長度即為攜帶數(shù)據(jù)的總長度。信令協(xié)議可攜帶的數(shù)據(jù)有兩種,JSON 和二進(jìn)制。

        3.3.2 信令管理器

        信令服務(wù)器中的所有信令都定義在信令類中,服務(wù)器在啟動(dòng)時(shí), 信令管理器會(huì)使用SpringBoot 中的ResourceLoaderAware 掃描特定的包,并將所有擁有@Signaling 注解的信令類注冊到管理器中,并由信令管理器管理它們的生命周期,此后,信令管理器將會(huì)根據(jù)信令類中帶有Mount 的注解的屬性類型從Spring Bean 管理器中獲取Bean,并掛載在這些屬性中。當(dāng)WebSocket 服務(wù)器接收到數(shù)據(jù)時(shí),會(huì)先將數(shù)據(jù)按照WSTP 協(xié)議處理為Protocal 對象,并傳入到信令管理器中,信令管理器會(huì)根據(jù)Protocal 對象中的標(biāo)識符以及數(shù)據(jù)訪問對應(yīng)得信令方法執(zhí)行,并取得結(jié)果封裝為ResponseProtocal 返回給客戶端。

        3.4 安卓端的實(shí)現(xiàn)

        本系統(tǒng)最終在安卓端完成編寫與測試,使用Android Studio 進(jìn)行開發(fā),使用了開源的原生UI 框架XUI 進(jìn)行界面開發(fā),采用WebSocket 通信協(xié)議與后端進(jìn)行交互,調(diào)用信令服務(wù)器提供的各接口以實(shí)現(xiàn)整體功能。其中主要使用了重寫后的WebSocketClient,使其可以直接發(fā)送信令數(shù)據(jù),并且可以直接發(fā)送Java 對象。 重寫后的WebSocektClient 需要在發(fā)送時(shí)設(shè)置一個(gè)回調(diào),在執(zhí)行成功、失敗、超時(shí)時(shí)會(huì)自動(dòng)調(diào)用回調(diào)。重寫后的WebSocketClient 可以自管理Token 信息。

        4 結(jié)語

        綜上所述,在如今互聯(lián)網(wǎng)高速發(fā)展的時(shí)代,大量的網(wǎng)絡(luò)資源造成浪費(fèi),人們的信息安全也亟需加強(qiáng)。本文通過對基于ICE 框架的P2P 技術(shù)的原理分析,闡述了P2P 技術(shù)在如今互聯(lián)網(wǎng)中的發(fā)展方向和潛力,尤其在通訊領(lǐng)域中,P2P 技術(shù)就顯得尤為重要。本文提出了P2P 技術(shù)在通訊領(lǐng)域的研究應(yīng)用,旨在為通訊領(lǐng)域提供一個(gè)不同于傳統(tǒng)C/S 模式的方法,能夠讓用戶更加重視自己的信息安全,具有一定的參考價(jià)值。

        猜你喜歡
        用戶信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        100萬用戶
        如何獲取一億海外用戶
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        亚洲av综合av国产av中文| 蜜桃在线观看免费高清| 久久精品国产亚洲av久五月天| 久久精品国产99久久久| 国产精品对白刺激久久久| 国产91色在线|亚洲| 亚洲精品乱码久久麻豆| 白嫩丰满少妇av一区二区| 国产特级毛片aaaaaaa高清| 国产精品欧美久久久久老妞| av免费在线观看网站大全| 人妻少妇偷人精品免费看| 成人久久久久久久久久久| 国精品无码一区二区三区在线看| 中文字幕人妻在线少妇完整版| 国产精品久久久久久久久电影网| 人妻少妇精品专区性色av| 国产精品自产拍在线观看中文| 国产精品亚洲一区二区三区久久| 暖暖 免费 高清 日本 在线| 亚洲欧美日韩综合久久久| 久久久久久久久高潮无码| 久久一区二区国产精品| 亚洲精品无码久久久久av老牛| 婷婷丁香91| 男女后入式在线观看视频| 国产熟女亚洲精品麻豆| 国产超碰人人做人人爱ⅴa| 午夜福利视频男同女同| 蜜臀av一区二区三区| 狠狠人妻久久久久久综合蜜桃 | 黄片视频免费在线观看国产| 男同gay毛片免费可播放| 真人在线射美女视频在线观看| 亚洲天堂av黄色在线观看| 五月丁香综合激情六月久久| 日本a在线看| 亚洲精品中文字幕码专区| 少妇被爽到高潮喷水久久欧美精品| 婷婷丁香社区| 日本一区二区高清视频在线播放|