提供關(guān)于web應(yīng)用的起源洞察的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本公開的技術(shù)概括而言涉及用于使能網(wǎng)絡(luò)地址轉(zhuǎn)換(Network AddressTranslat1n, NAT)穿越的網(wǎng)絡(luò)地址轉(zhuǎn)換會話穿越實用工具(Sess1n TraversalUtilities for Network Address Translat1n, STUN)方法和協(xié)議。
【背景技術(shù)】
[0002]作為一種正在進行的開發(fā)行業(yè)標(biāo)準來用于將實時通信功能集成到諸如web瀏覽器之類的web客戶端中的努力,Web實時通信(Web Real-Time Communicat1ns, WebRTC)的出現(xiàn)導(dǎo)致了能夠與其他web客戶端直接交互的web客戶端的激增。由WebRTC使能的實時通信功能可由web開發(fā)者經(jīng)由諸如超文本標(biāo)記語言的版本5 (HTML5)提供的那些之類的標(biāo)準標(biāo)記標(biāo)簽和諸如JavaScript API之類的客戶端側(cè)腳本處理應(yīng)用編程接口(API)來訪問。關(guān)于 WebRTC 的更多信息可在 Alan B.Johnston 和 Daniel C.Burnett 所著的“WebRTC: APIsand RTCffEB Protocols of the HTML5 Real-Time Web”第 2 版(2013Digital Codex LLC)中找到,這里通過引用將該文獻全部并入。
[0003]使能了 WebRTC的web客戶端或者其他實時通信web客戶端之間的直接交互可受到由web客戶端之間的網(wǎng)絡(luò)路徑中的諸如網(wǎng)絡(luò)流量路由設(shè)備之類的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備的存在引起的網(wǎng)絡(luò)穿越問題的阻礙。NAT設(shè)備將本地網(wǎng)絡(luò)上的多個web客戶端的互聯(lián)網(wǎng)協(xié)議(IP)地址映射到單個公開暴露的IP地址。隨著網(wǎng)絡(luò)流量的封包從每個web客戶端傳遞到因特網(wǎng),NAT設(shè)備將每個封包的源地址從該web客戶端在本地網(wǎng)絡(luò)上的IP地址轉(zhuǎn)換成公共IP地址。當(dāng)答復(fù)從因特網(wǎng)返回到該公共IP地址時,NAT設(shè)備使用連接跟蹤數(shù)據(jù)來確定該答復(fù)要被轉(zhuǎn)發(fā)到的本地網(wǎng)絡(luò)地址。因為本地網(wǎng)絡(luò)上的web客戶端可能不知曉NAT設(shè)備提供的公共IP地址,所以web客戶端可能不能夠與本地網(wǎng)絡(luò)外的另一 web客戶端建立直接連接。
[0004]為了解決這些網(wǎng)絡(luò)穿越問題,已開發(fā)了一種被稱為網(wǎng)絡(luò)地址轉(zhuǎn)換會話穿越實用工具(STUN)的網(wǎng)絡(luò)協(xié)議(由請求評論(RFC) 5389定義,可在http://www.1etf.0rg/rfc/rfc5389.txt在線獲得)。使能了 WebRTC的web客戶端可使用STUN服務(wù)器來確定由NAT設(shè)備分配給它的公共IP地址,并且可將該公共IP地址提供給遠程端點以便建立實時通信。STUN的一種擴展被稱為利用中繼穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(Traversal Using Relays aroundNetwork Address Translat1n, TURN)(由 RFC 5766 定義,可在 http://www.1etf.0rg/rfc/rfc5766.txt在線獲得),其通過經(jīng)由因特網(wǎng)上的TURN服務(wù)器中繼網(wǎng)絡(luò)流量來提供額外的網(wǎng)絡(luò)穿越能力。
[0005]STUN既提供了短期證書機制也提供了長期證書機制,STUN服務(wù)器和客戶端可使用這些證書機制來認證STUN消息。這兩種機制都依賴于STUN服務(wù)器和客戶端在認證STUN消息之前利用某種其他協(xié)議來交換證書(例如,用戶名和口令)。然而,STUN不包括用于基于生成STUN消息的web應(yīng)用的起源(例如,由RFC 6454定義的“web起源”,可在http://www.1etf.0rg/rfc/rfc6454.txt在線獲得)來提供STUN服務(wù)的機制。例如,STUN服務(wù)器可能不能夠判定嘗試向STUN服務(wù)器發(fā)送STUN消息的web應(yīng)用是否起源于被授權(quán)訪問STUN服務(wù)器的來源。這可對諸如希望僅允許企業(yè)web應(yīng)用或起源于授權(quán)來源的其他web應(yīng)用訪問企業(yè)STUN服務(wù)器的企業(yè)之類的實體造成挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0006]詳細描述中公開的實施例經(jīng)由網(wǎng)絡(luò)地址轉(zhuǎn)換會話穿越實用工具(STUN)消息提供關(guān)于web應(yīng)用的起源洞察。也公開了相關(guān)方法、系統(tǒng)和計算機可讀介質(zhì)。在一些實施例中,web客戶端被配置為確定標(biāo)識web應(yīng)用的來源的起源標(biāo)識符。web客戶端隨后生成包括起源標(biāo)識符的STUN消息,并將STUN消息發(fā)送到STUN服務(wù)器。STUN服務(wù)器被配置為提取起源標(biāo)識符,并且基于起源標(biāo)識符來判定是否向web應(yīng)用提供STUN服務(wù)。這樣,可基于請求STUN服務(wù)的web應(yīng)用的起源來規(guī)制對STUN服務(wù)器的訪問。
[0007]在此,在一個實施例中,提供了一種經(jīng)由STUN消息來提供關(guān)于web應(yīng)用的起源洞察的方法。該方法包括由在計算設(shè)備上執(zhí)行的web客戶端確定關(guān)于嘗試向STUN服務(wù)器發(fā)送STUN消息的web應(yīng)用的起源標(biāo)識符。該方法還包括生成包含關(guān)于web應(yīng)用的起源標(biāo)識符的STUN消息,并將該STUN消息發(fā)送到STUN服務(wù)器。
[0008]在另一實施例中,提供了一種由STUN服務(wù)器基于起源洞察來向web應(yīng)用提供STUN服務(wù)的方法。該方法包括由在計算設(shè)備上執(zhí)行的STUN服務(wù)器接收來自web客戶端的STUN消息。該方法還包括從STUN消息中提取關(guān)于web應(yīng)用的起源標(biāo)識符。該方法還包括基于關(guān)于web應(yīng)用的起源標(biāo)識符來判定是否向web應(yīng)用提供STUN服務(wù)。該方法還包括響應(yīng)于判定不應(yīng)當(dāng)提供STUN服務(wù)而無視該STUN消息。該方法還包括響應(yīng)于判定應(yīng)當(dāng)提供STUN服務(wù)而處理該STUN消息。
[0009]在另一實施例中,提供了一種用于經(jīng)由STUN消息來提供關(guān)于web應(yīng)用的起源洞察的系統(tǒng)。該系統(tǒng)包括至少一個通信接口,以及與至少一個通信接口相關(guān)聯(lián)的計算設(shè)備。計算設(shè)備包括執(zhí)行嘗試向STUN服務(wù)器發(fā)送STUN消息的web應(yīng)用的web客戶端。web客戶端被配置為確定關(guān)于web應(yīng)用的起源標(biāo)識符,并且生成包含關(guān)于web應(yīng)用的起源標(biāo)識符的STUN消息。web客戶端還被配置為將STUN消息發(fā)送到STUN服務(wù)器。
[0010]在另一實施例中,提供了一種由STUN服務(wù)器基于起源洞察來向web應(yīng)用提供STUN服務(wù)的系統(tǒng)。該系統(tǒng)包括至少一個通信接口,以及與至少一個通信接口相關(guān)聯(lián)的計算設(shè)備。計算設(shè)備包括STUN服務(wù)器,該STUN服務(wù)器被配置為接收來自web客戶端的STUN消息。STUN服務(wù)器還被配置為從STUN消息中提取關(guān)于web應(yīng)用的起源標(biāo)識符。STUN服務(wù)器還被配置為基于關(guān)于web應(yīng)用的起源標(biāo)識符來判定是否向web應(yīng)用提供STUN服務(wù)。STUN服務(wù)器還被配置為響應(yīng)于判定不應(yīng)當(dāng)提供STUN服務(wù),無視STUN消息。STUN服務(wù)器還被配置為響應(yīng)于判定應(yīng)當(dāng)提供STUN服務(wù),處理STUN消息。
[0011]在另一實施例中,提供了一種非暫態(tài)計算機可讀介質(zhì),其上存儲有計算機可執(zhí)行指令來使得處理器實現(xiàn)一種經(jīng)由STUN消息來提供關(guān)于web應(yīng)用的起源洞察的方法。由計算機可執(zhí)行指令實現(xiàn)的該方法包括確定關(guān)于嘗試向STUN服務(wù)器發(fā)送STUN消息的web應(yīng)用的起源標(biāo)識符。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括生成包含關(guān)于web應(yīng)用的起源標(biāo)識符的STUN消息。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括將STUN消息發(fā)送到STUN服務(wù)器。
[0012]在另一實施例中,提供了一種非暫態(tài)計算機可讀介質(zhì),其上存儲有計算機可執(zhí)行指令來使得處理器實現(xiàn)一種由STUN服務(wù)器基于起源洞察來向web應(yīng)用提供STUN服務(wù)的方法。由計算機可執(zhí)行指令實現(xiàn)的該方法包括接收來自web客戶端的STUN消息。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括從STUN消息中提取關(guān)于web應(yīng)用的起源標(biāo)識符。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括基于關(guān)于web應(yīng)用的起源標(biāo)識符來判定是否向web應(yīng)用提供STUN服務(wù)。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括響應(yīng)于判定不應(yīng)當(dāng)提供STUN服務(wù)而無視該STUN消息。由計算機可執(zhí)行指令實現(xiàn)的該方法還包括響應(yīng)于判定應(yīng)當(dāng)提供STUN服務(wù)而處理該STUN消息。
【附圖說明】
[0013]結(jié)合在本說明書中并形成本說明書的一部分的附圖圖示了本公開的若干個方面,并且與描述一起幫助說明本公開的原理。
[0014]圖1是圖示出一種示范性交互式通信系統(tǒng)的概念圖,該系統(tǒng)包括用于經(jīng)由網(wǎng)絡(luò)地址轉(zhuǎn)換會話穿越實用工具(STUN)消息來提供關(guān)于web應(yīng)用的起源洞察的web客戶端和用于基于經(jīng)由STUN消息提供的起源洞察來提供STUN服務(wù)的STUN服務(wù)器;