TWI408936B - 網路穿透方法及網路通訊系統 - Google Patents
網路穿透方法及網路通訊系統 Download PDFInfo
- Publication number
- TWI408936B TWI408936B TW098129547A TW98129547A TWI408936B TW I408936 B TWI408936 B TW I408936B TW 098129547 A TW098129547 A TW 098129547A TW 98129547 A TW98129547 A TW 98129547A TW I408936 B TWI408936 B TW I408936B
- Authority
- TW
- Taiwan
- Prior art keywords
- terminal
- connection
- point
- network
- network address
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明是有關於一種網路穿透方法及使用此方法的網路通訊系統。
隨著科技與網路基礎建設的不斷演進與網路用戶的增加下,大量的NAT被用來解決在網際網路協定(Internet Protocol,IP)中網路位址不足的問題。然而,NAT的出現也對許多使用點對點(peer-to-peer)傳輸行為的應用,例如P2P檔案傳輸應用、網路電話應用等,造成運作上的一大阻礙。
詳細來說,NAT可分為完全圓錐型(Full Cone)NAT、受限圓錐型(Restricted Cone)NAT、埠受限圓錐型(Port Restricted Cone)NAT與對稱式(Symmetric)NAT。完全圓錐型NAT的特性是當其內部用戶端與其外部用戶端建立連線後,任何外部用戶端皆可依據內部用戶端的NAT對應位址/埠號與此內部用戶端進行通訊。受限圓錐型NAT的特性是當其內部用戶端與其外部用戶端建立連線後,僅限於與此內部用戶端建立連線的外部位址可依據內部用戶端的對應位址/埠號與此內部用戶端進行通訊。埠受限圓錐型NAT的特性是當其內部用戶端與其外部用戶端建立連線後,僅限於與此內部用戶端建立連線的外部位址/埠號可依據內部用戶端的NAT對應位址/埠號與此內部用戶端進行通訊。而對稱式NAT的特性則是其內部用戶端發送至不同目的地端的應用都會被指派一個對應的NAT對應位址/埠號,並且僅對應的目的端的位址/埠號能與所指派的NAT對應位址/埠號通訊。
基於上述,在大量用戶端使用私有IP位址(或虛擬IP位址)的環境中,當位於NAT外部的用戶端想要與位於NAT內部的用戶端建立資料傳輸連線時,位於NAT外部的用戶端所送出的請求訊息會被NAT阻擋,因而位於NAT內部的用戶端無法得知有連線建立的請求而造成連線失敗。
為克服上述問題,NAT的使用者資料包協定簡單穿透(Simple Traversal of User Datagram Protocol through NAT,STUN)、使用轉傳的NAT穿透(Traversal Using Relay NAT,TURN)、互動連接建立(Interactive Connectivity Establishment,ICE)等網路協定陸續被提出。網際網路技術意見書(Request For Comments,RFC)3489所記載的STUN網路協定提出一套方法,以使得位於NAT內部的用戶端可以得知NAT所分配的位址/埠號與NAT的型態,並且藉由將這些資訊提供給位於NAT外部的用戶端,則雙方可因此建立連線。然而,STUN在對稱式NAT(symmetric NAT)型態下是無法成功運作的。TURN網路協定是在公眾網域(public domain)中佈建一台TURN伺服器,其中此TURN伺服器會分配的一個位址/埠號來代表位於NAT內部的用戶端,並且使用一對映表來記錄位於NAT內部的用戶端用來對外溝通的位址/埠號和所分配之位址/埠號的對映關係。之後,進入與流出NAT的資料皆會透過TURN伺服器轉送以達到穿透NAT的目的。儘管TURN可以用於對稱式NAT的穿透,然而由於NAT內部的所有用戶端的資料流都需要經過TURN伺服器,因此TURN伺服器會成為一個效能上的瓶頸。而ICE網路協定則是提出了一套混合式的NAT穿透方法以利用STUN與TURN的功能來解決問題,其中當用戶端之間需要穿透NAT建立連線時,用戶端會先去搜集本身的候選網路位址(candidate address)資訊,然後藉由彼此交換候選網路位址資訊後,用戶端針對對方的候選網路位址進行連線測試,最後決定一條最佳的連線來進行資料傳輸。
基於上述網路協定,一些NAT穿透方法被提出以使位於NAT外部的用戶端能夠穿透NAT而與位於NAT內部的用戶端建立連線。例如,RFC 5128所提出的打孔(hole punching)方法就是先在公眾網域下佈建一台會合伺服器(Rendezvous Server),而在NAT底下的所有用戶端都事先與此伺服器建立控制訊息連線。當用戶端A要與用戶端B建立直接的NAT穿透連線時,用戶端A會先送出一個請求建立連線訊息給會合伺服器。會合伺服器收到此請求建立連線訊息後,會合伺服器會將用戶端B的NAT對應位址/埠號傳送給用戶端A,以及將用戶端A的NAT對應位址/埠號傳送給用戶端B。當用戶端A收到用戶端B的位址資訊時,用戶端A會送出一個測試封包到用戶端B的NAT對應位址/埠號,此時此測試封包會被用戶端B的NAT阻擋,但同時用戶端A的NAT對映表會被更改而允許用戶端B的NAT對應位址/埠號可傳送資料給用戶端A。接著用戶端B亦送出測試封包給用戶端A的NAT對應位址/埠號,此時,用戶端B的NAT對映表會被更改而允許用戶端A的NAT對應位址/埠號可傳送資料給用戶端B。基此,雙向的NAT穿透連線可順利地被建立。儘管打孔方法可解決部分NAT穿透問題,然而在雙方NAT的類型分別為埠受限圓錐型NAT與對稱式NAT,或者雙方NAT的類型皆為對稱式NAT的例子中,如上所述由於對稱式NAT會根據不同的目的地端指派不同的NAT對應位址/埠號,因此打孔方法將無法被使用。
為了能夠在雙方NAT的類型分別為埠受限圓錐型NAT與對稱式NAT,或者雙方NAT的類型皆為對稱式NAT的例子中達成網路穿透的目的,美國專利第7328280號揭露一種埠號猜測(Port Prediction)方法。由於對稱式NAT於每次在分配埠號給內部用戶端時,會以一個固定的間隔來分配埠號,因此在埠號猜測方法中欲建立連線的用戶端會先測試本身對應的NAT的埠號分配規則,並且進行資訊交換以獲知對方的埠號分配規則。之後,欲建立連線的用戶端會同時送出多個測試封包到依據對方的埠號分配規則所猜測的埠號,同樣的對方也會類似動作。理論上,經過上述過程便可打通一條穿透NAT的連線供雙方使用。然而,在此方法中猜測NAT所分配的埠號需花費大量的猜測訊息成本以及溝通時間成本,此外亦無法保證猜測的成功率。
本發明範例實施例提出一種網路穿透方法,用於在多個終端之中的一第一終端與一第二終端之間建立連線。本網路穿透方法包括配置一連線伺服器(on-line server),其中上述終端分別地在連線伺服器中註冊一註冊訊息並與此連線伺服器保持一連線狀態。本該網路穿透方法也包括依據終端的註冊訊息分群上述終端,其中上述第一終端位於一第一網路位址轉換器(Network Address Translator,NAT)內且上述第二終端位於一第二網路位址轉換器內,上述終端之中位於第一網路位址轉換器內的終端被分群為第一群組,並且上述終端之中位於第二網路位址轉換器內的終端被分群為第二群組。本該網路穿透方法更包括判斷是否存有用於第一群組的終端與第二群組的終端之間的一可利用連線,其中當判斷存有此可利用連線時,則使用所判斷的可利用連線建立第一終端與第二終端之間的連線。
本發明範例實施例提出一種網路通訊系統,其包括多個網路位址轉換器、多個終端與連線伺服器。上述終端之中的一第一終端是位於上述網路位址轉換器之中的一第一網路位址轉換器內,並且上述終端之中的一第二終端是位於上述網路位址轉換器之中的一第二網路位址轉換器內。連線伺服器是用以分群上述終端,其中上述終端之中位於第一網路位址轉換器內的終端被分群為第一群組,並且上述終端之中位於第二網路位址轉換器內的終端被分群為第二群組。在此通訊系統中,第一終端會判斷是否存有用於第一群組的終端與第二群組的終端之間的一可利用連線,其中當判斷存有此可利用連線時,則第一終端會使用所判斷的可利用連線建立第一終端與第二終端之間的連線。
基於上述,本發明範例實施例第一終端利用兩個群組之間已存在的連線來建立第一終端與第二終端之間的連線,由此可降低穿透NAT所需的時間、成本與複雜度。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明範例實施例所繪示的網路通訊系統的示意圖。
請參照圖1,網路通訊系統包括第一終端102、第二終端104、第三終端106、第四終端108、第五終端110、第一NAT 122、第二NAT 124與連線伺服器(On-Line Server)130。
第一終端102、第二終端104、第三終端106、第四終端108與第五終端110具有支援傳輸控制/網路通訊協定(Transmission Control Protocol/Internet Protocol,TCP/IP)的網路連線功能,並且經由網路140傳送與接收網路電話、音樂檔案、影音檔案、即時通訊等數位內容。在此,網路140是依據TCP/IP所建構的網際網路。
在本範例實施例中,第一終端102、第二終端104、第三終端106、第四終端108與第五終端110皆是透過一有線方式連結至網路140。然而,本發明不限於此,第一終端102、第二終端104、第三終端106、第四終端108與第五終端110亦可分別地透過有線方式或無線方式連結至網路140。此外,在本範例實施例中,第一終端102、第二終端104、第三終端106、第四終端108與第五終端110為個人電腦。然而,本發明不限於此,第一終端102、第二終端104、第三終端106、第四終端108與第五終端110亦可以是伺服器、個人數位助理(Personal Digital Assistant,PDA)或其他可連接至網路140的電子裝置等。
第一NAT 122與第二NAT 124是用以轉換私有IP位址(Private IP Address)與公有IP位址(Public IP Address)。也就是說,第一NAT 122與第二NAT 124會將通過的IP封包標頭中的位址/埠號轉換為另一個位址/埠號,以讓使用私有IP位址的第一終端102、第二終端104、第三終端106、第四終端108與第五終端110能夠連接至網路140。NAT為此領域技術人員所孰知的技術,在此不詳細描述其運作原理。在本範例實施例中,第一NAT 122與第二NAT 124皆為對稱式NAT。然而,必須瞭解的是,本發明不限於此,第一NAT 122與第二NAT 124亦可以是其他類型的NAT。
如圖1所示,第一終端102、第二終端104與第三終端106是位於第一NAT 122內,而第四終端108與第五終端110是位於第三NAT 124內。也就是說,第一終端102、第二終端104與第三終端106是位於第一NAT122的網域下,並且透過第一NAT 122的位址轉換來連接至網路140。同時,第四終端108與第五終端110是位於第二NAT 124的網域下,並且透過第二NAT 124的位址轉換來連接至網路140。在此,第一終端102所使用的私有IP位址/埠號為10.0.0.1:8000,第二終端104所使用的私有IP位址/埠號為10.0.0.2:8000,第三終端106所使用的私有IP位址/埠號為10.0.0.3:8000,第四終端108所使用的私有IP位址/埠號為10.0.0.1:8000,第五終端110所使用的私有IP位址/埠號為10.0.0.2:8000,第一NAT 122所使用的公有IP位址為140.96.178.1,並且第二NAT 124所使用的公有IP位址為140.96.178.5。
必須瞭解的是,在本發明範例實施例中,雖然僅以2個NAT及位於其內的5個終端來作說明,然而本發明不限於此,網路通訊系統可包括任何數量的NAT與終端。
連線伺服器130具有支援傳輸控制/網路通訊協定的網路連線功能並且耦接至網路140。在本範例實施例中,連線伺服器130是位於公眾網域中的單一伺服器。然而,本發明不限於此,在本發明另一範例實施例中,連線伺服器130亦可由點對點網路的重疊網(Overlay)中多台伺服器所組成。
在本範例實施例中,連線伺服器130提供一註冊介面以使第一終端102、第二終端104、第三終端106、第四終端108與第五終端110能與連線伺服器130建立控制通道(control channel)來保持連線狀態。
例如,當第一終端102使用傳輸控制協定(Transmission-Control Protocol,TCP)與連線伺服器130建立連線並於註冊介面中進行註冊時,連線伺服器130會記錄關於第一終端102的註冊訊息,其中包括用戶端帳號欄位、用戶端內部位址/埠號欄位、網路位址轉換器類型欄位與用戶端外部網路位址/埠號。用戶端帳號欄位是用以記錄欲註冊之終端的終端帳號(例如,第一終端102的帳號為“102”),用戶端內部網路位址是用以記錄欲註冊之終端的私有IP位址/埠號(例如,第一終端102的私有IP位址/埠號為10.0.0.1:8000),網路位址轉換器類型用以記錄欲註冊之終端所對應的NAT的類型(例如,第一終端102對應的第一NAT 122的類型為“對稱式NAT”),以及用戶端外部網路位址是用以記錄對應的NAT指派給欲註冊之終端的公有IP位址/埠號(例如,第一NAT 122指派給第一終端102的公有IP位址/埠號為“140.96.178.1:1111”)。同時,在第一終端102註冊之後,第一終端102會與連線伺服器130持續保持連線,直到第一終端102中斷與連線伺服器130的連線為止。類似地,在本範例中,第二終端104、第三終端106、第四終端108與第五終端110亦是以上述方式向連線伺服器130進行註冊並保持連線。
在本範例實施例中,連線伺服器130會將所註冊的終端進行分群並且儲存一群組與連線清單表來記錄在連線伺服器130中註冊之終端的資訊。例如,連線伺服器130會依據終端所位於的NAT來進行分群,並且記錄已註冊的終端之間是否存有點對點直接連線。
圖2是根據本發明範例實施例所繪示的群組與連線清單表的範例。
請參照圖2,群組與連線清單表200包括群組名稱(Group Name)欄位202、群組類型(Group Type)欄位204、用戶端名稱(User Name)欄位206、用戶端位址資訊(User Contact)欄位208、連線群組名稱(Connection Group Name)欄位210與連線用戶端名稱(Connection User Name)欄位212。
群組名稱(Group Name)欄位202是用以記錄已註冊之終端所屬之群組的名稱,在此連線伺服器130是以NAT的公有IP位址來作為群組名稱。
群組類型(Group Type)欄位204是用以記錄已註冊之終端所對應之NAT的類型。
用戶端名稱(User Name)欄位206是用以記錄已註冊之終端的帳號。
用戶端位址資訊(User Contact)欄位208是用以記錄已註冊之終端的私有IP位址/埠號。
連線群組名稱(Connection Group Name)欄位210是用以當已註冊之終端已建立點對點連線時記錄所連線之群組名稱。
連線用戶端名稱(Connection User Name)欄位212是用以當已註冊之終端已建立點對點連線時記錄所連線之終端帳號。
例如,連線伺服器130依據每一終端所對應的NAT將第一終端102、第二終端104與第三終端106分群為第一群組,並且第四終端108與第五終端110分群為第二群組,其中第一群組的名稱為“140.96.178.1”,而第二群組的名稱為“140.96.178.5”。基此,在群組與連線清單表200中會記錄各終端相關的資訊。特別是,在假設第一群組的第三終端106與第二群組的第四終端108已透過上述埠號預測方法建立點對點直接連線的例子中,在群組與連線清單表200中關於第三終端106的資訊會包含其與第二群組的第四終端108已存有點對點直接連線的資訊,且關於第四終端108的資訊會包含其與第一群組的第三終端106已存有點對點直接連線的資訊。
特別是,在本範例實施例中,當網路通訊系統中的終端(即,發起終端)欲穿透NAT與另一終端(即,受邀終端)進行連線時,發起終端與受邀終端會透過連線伺服器130交換彼此的候選網路位址資訊及對應的NAT類型資訊,其中倘若雙方的NAT類型皆為對稱式NAT,或者其中一個NAT為埠受限圓錐型NAT且另一個NAT為對稱式NAT時,則發起終端會向連線伺服器130發送一詢問訊息以查詢發起終端所屬的群組與受邀終端所屬的群組之間是否存有點對點直接連線,並且嘗試利用此已存在的點對點連線來與受邀終端建立連線。
圖3是根據本發明範例實施例所繪示的連線範例示意圖。
請參照圖3,在此假設第一群組的第三終端106與第二群組的第四終端108之間已存在點對點直接連線(S302),並且當第一終端102欲與第五終端110建立連線時,第一終端102會將連線請求與候選網路位址資訊傳送給連線伺服器130(S304),並且連線伺服器130會將第一終端102的連線請求、候選網路位址資訊與對應NAT類型資訊傳送給第五終端110(S306)。同樣的,當第五終端110從連線伺服器130中接收到第一終端102的連線請求與候選網路位址資訊後,第五終端110會將本身的候選網路位址資訊傳送給連線伺服器130(S308)並且連線伺服器130會將第五終端110的候選網路位址資訊與對應NAT類型資訊傳送給第一終端102(S310)。基此,第一終端102與第五終端110會得知彼此都是位於對稱式NAT內。
之後,第一終端102會向連線伺服器130發送詢問訊息以查詢群組與連線清單表200中相同群組之連線清單(S312),並且從連線伺服器130中接收回應訊息(S314)以判斷第一終端102所屬的群組(即,第一群組)中是否有任何終端與第五終端所屬的群組(即,第二群組)中的終端之間已存在點對點直接連線。
如上所述,由於第一群組的第三終端106與第二群組的第四終端108之間已存在點對點直接連線,因此第一終端102會向第三終端106發送一連線授權請求(S316),其中在第三終端106同意此連線授權請求下,第三終端106會將此連線授權請求傳送給第四終端108(S318),並且在第四終端同意此連線授權請求下,第四終端108會通知第五終端110(S320)。之後,若第五終端110同意此連線時,則第五終端110會傳送確認回應(acknowledgement response)給第四終端108(S322),第四終端108會傳送確認回應給第三終端106(S324),並且第三終端106會傳送確認回應給第一終端102(S326)。最後,第一終端102與第五終端110之間就可經由第三終端106與第四終端108之間的點對點直接連線來建立連線(S328)。
基於上述,由於第一NAT 122內的終端與第二NAT 124內的終端之間已存有點對點直接連線,因此第一終端102與第五終端110可利用圖3所示的連線重用機制來連線,而無需再耗費大量的成本執行其他NAT穿透技術。
值得一提的是,在圖3所示的範例中,第三終端106與第四終端108會傳送確認回應給第一終端102以允許第一終端102使用第三終端106與第四終端108之間的點對點連線。然而,在另一範例中,被請求授權的終端會依據本身頻寬的使用狀況而拒絕其他終端的連線授權請求。假設在第一終端102向第三終端106提出連線授權請求的例子中,倘若透過第三終端106連線的終端數已大於一連線數門檻值時,第三終端106會拒絕第一終端102的請求。例如,在本範例實施例中,連線數門檻值是設定為5。基此,在被請求授權的終端提供其他終端來共用其已建立的點對點直接連線的同時,亦可維持一定的連線品質。
此外,在本範例實施例中,當被請求授權的終端同意其他終端使用其所建立的點對點直接連線時,其必須能夠區別所接收到的封包是屬於哪一個終端的封包。因此,在本範例實施例中,所傳送的IP封包中會封裝實際來源地位址、與所接收之封包的實際目的地位址,以利封包的轉送。
圖4是根據本範例實施例所繪示的網路穿透方法的流程圖。
請參照圖4,首先,在步驟S401中欲建立連線的發起終端(例如,圖3所示的第一終端102)以及受邀終端(例如,圖3所示的第五終端110)會彼此交換候選網路位址資訊與對應NAT資訊。
在步驟S403中發起終端會依據所交換的資訊判斷雙方的NAT類型是否皆為對稱式NAT,或者其中一個NAT為埠受限圓錐型NAT且另一個NAT為對稱式NAT。
倘若在步驟S403中判斷雙方的NAT類型皆為對稱式NAT,或者其中一個NAT為埠受限圓錐型NAT且另一個NAT為對稱式NAT時,則在步驟S405中判斷是否存有用於發起終端所屬之群組與受邀終端所屬之群組之間的可利用連線,反之,則在步驟S407中發起終端會執行第二連線模式來穿透NAT以與受邀終端建立點對點直接連線。在此,第二連線模式可以是打孔方法(模式)或其他適合的連線方法。
圖5是根據本發明範例實施例所繪示圖4中步驟S405的詳細流程圖。
請參照圖5,在步驟S501中發起終端會依據連線伺服器130中的群組與連線清單表200來判斷發起終端所屬之群組與受邀終端所屬之群組之間是否存有點對點直接連線。
倘若在步驟S501中判斷發起終端所屬之群組與受邀終端所屬之群組之間無存有點對點直接連線時,則在步驟S511中判斷發起終端所屬之群組與受邀終端所屬之群組之間無可利用連線
若在步驟S501中發起終端所屬之群組與受邀終端所屬之群組之間存有點對點直接連線時,則在步驟S503中發起終端會向對應此點對點直接連線的終端(即,擁有此點對點直接連線的終端)發送連線授權請求,並且在步驟S505中判斷是否從對應此點對點直接連線的終端中接收到確認回應。
倘若接收到確認回應時,則在步驟S507中判斷此點對點直接連線為可利用連線,反之則在步驟S509中判斷發起終端所屬之群組與受邀終端所屬之群組之間是否還有其他點對點直接連線。倘若還有其他點對點直接連線時,則執行步驟S503,反之,則執行步驟S511。
請再參照圖4,倘若在步驟S405中判斷存有用於發起終端所屬之群組與受邀終端所屬之群組之間的可利用連線時,則在步驟S409中發起終端使用此可利用連線建立發起終端與受邀終端之間的連線。
倘若在步驟S405中判斷無存有用於發起終端所屬之群組與受邀終端所屬之群組之間的可利用連線時,則在步驟S411中發起終端會使用第一連線模式來穿透NAT以與受邀終端建立點對點直接連線。也就是說,倘若在圖3的例子中第三終端106與第四終端108之間無點對點直接連線時,則第一終端102與第五終端110會使用第一連線模式來穿透NAT以建立點對點直接連線,並且在群組與連線清單表200中更新此資訊以供後續其他終端欲連線時可以使用。類似地,在此,第一連線模式可以是埠號猜測方法(模式)或其他適合的連線方法。
在步驟S411之後,在步驟S413中發起終端與受邀終端會向連線伺服器130回報連線資訊以更新群組與連線清單表200。
圖6是根據本發明範例實施例所繪示圖4中步驟S413的詳細流程圖。
請參照圖6,在步驟S601中,發起終端與受邀終端會分別地將所建立之點對點直接連線的連線資訊傳送給連線伺服器130。在本發明範例實施例中,此連線資訊依序地包括群組名稱、用戶端名稱、連線群組名稱、連線用戶端名稱。例如,倘若在圖3所示的範例中,第三終端106不允許第一終端102重用第三終端106與第四終端108之間的點對點直接連線,並且第一終端102與第五終端110執行上述步驟S411使用第一模式來建立點對點直接連線之後,第一終端102會將包含{140.96.178.1、102、140.96.178.5、110}的連線資訊傳送給連線伺服器130,並且第五終端110會將包含{140.96.178.5、110、140.96.178.1、102}的連線資訊傳送給連線伺服器130。
接著,在步驟S603中連線伺服器130接收到連線資訊,並且依據所接收的連線資訊更新群組與連線清單表200。最後,在步驟S605中連線伺服器130會傳送確認回應給發起終端與受邀終端。
值得一提的是,在圖5所繪示之判斷是否存有可利用連線的步驟中,僅於發起終端與受邀終端的對應NAT類型皆為對稱式NAT,或者其中一個NAT為埠受限圓錐型NAT且另一個NAT為對稱式NAT時,才會確認是否可執行圖3所示的連線重用機制(即,步驟S409)。然而本發明不限於此,在本發明另一範例實施例中,判斷NAT類型的步驟亦可省略,而直接進行是否可執行連線重用機制的判斷。換言之,本發明不限於在發起終端與受邀終端的對應NAT類型皆為對稱式NAT或者其中一個NAT為埠受限圓錐型NAT且另一個NAT為對稱式NAT的例子中使用,上述連線重用機制可應用於任何其他NAT類型的穿透。
綜上所述,本發明範例實施例使用已建立之點對點連線來達成NAT的穿透,可大幅降低穿透NAT所需的時間、成本與複雜度。此外,由於所傳遞的封包是屬於同一個網域的封包,因此可降低所需的傳輸時間。因此在傳輸時間以及所需花費的封包成本皆大幅降低。此外,在本範例實施例中,已建立點對點直接連線的終端會依據頻寬的品質來控制共用此點對點直接連線的終端數,因此資料流量可被分散,而不會造成資料流量集中而產生效能瓶頸的問題。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
102...第一終端
104...第二終端
106...第三終端
108...第四終端
110...第五終端
122...第一網路位址轉換器
124...第二網路位址轉換器
130...連線伺服器
140...網路
200...群組與連線清單表
202...群組名稱欄位
204...群組類型欄位
206...用戶端名稱欄位
208...用戶端位址資訊欄位
210...連線群組名稱欄位
212...連線用戶端名稱欄位
S302、S304、S306、S308、S310、S312、S314、S316、S318、S320、S322、S324、S326、S328...在第一終端與第五終端之間建立連線的步驟
S401、S403、S405、S407、S409、S411、S413、S501、S503、S505、S507、S509、S511、S601、S603、S605...網路穿透的步驟
圖1是根據範例實施例所繪示的網路通訊系統的示意圖。
圖2是根據範例實施例所繪示的群組與連線清單表的範例。
圖3是根據範例實施例所繪示的連線範例示意圖。
圖4是根據範例實施例所繪示的網路穿透方法的流程圖。
圖5是根據範例實施例所繪示圖4中步驟S405的詳細流程圖。
圖6是根據範例實施例所繪示圖4中步驟S413的詳細流程圖。
S401、S403、S405、S407、S409、S411、S413...網路穿透的步驟
Claims (22)
- 一種網路穿透方法,用於在多個終端之中的一第一終端與一第二終端之間建立連線,該網路穿透方法包括:配置一連線伺服器(on-line server),其中該些終端分別地在該連線伺服器中註冊一註冊訊息並與該連線伺服器保持一連線狀態;依據該些終端的註冊訊息分群該些終端,其中該第一終端位於一第一網路位址轉換器(Network Address Translator,NAT)內且該第二終端位於一第二網路位址轉換器內,該些終端之中位於該第一網路位址轉換器內的終端被分群為一第一群組,並且該些終端之中位於該第二網路位址轉換器內的終端被分群為一第二群組;判斷是否存有用於該第一群組的終端與該第二群組的終端之間的一可利用連線;以及當判斷存有該可利用連線時,則使用所判斷的可利用連線建立該第一終端與該第二終端之間的連線,其中判斷是否存有用於該第一群組的終端與該第二群組的終端之間的可利用連線的步驟包括:判斷是否存有該第一群組的終端與該第二群組的終端之間的一點對點直接連線;當判斷存有該點對點直接連線時,則向該些終端之中對應該點對點直接連線的終端提出一連線授權請求;以及當從對應該點對點直接連線的終端中接收到一確認回應時,則將所判斷的點對點直接連線識別為該可利用連 線,並且當未從對應該點對點直接連線的終端中接收到該確認回應時,則不將所判斷的點對點直接連線識別為該可利用連線。
- 如申請專利範圍第1項所述之網路穿透方法,更包括:判斷利用該點對點直接連線進行通訊的終端的數目是否大於一連線數門檻值,其中當利用該點對點直接連線進行通訊的終端的數目大於該連線數門檻值時,則不將所判斷的點對點直接連線識別為該可利用連線。
- 如申請專利範圍第1項所述之網路穿透方法,其中當無存有該可利用連線時,則使用一第一連線模式來建立該第一終端與該第二終端之間的點對點直接連線。
- 如申請專利範圍第3項所述之網路穿透方法,更包括:向該連線伺服器回報在該第一終端與該第二終端之間所建立的點對點直接連線。
- 如申請專利範圍第1項所述之網路穿透方法,更包括在該連線伺服器中配置一群組與連線清單,以記錄所分群的該些終端和所分群的該些終端之間的點對點直接連線。
- 如申請專利範圍第5項所述之網路穿透方法,其中判斷是否存有該第一群組的終端與該第二群組的終端之間的點對點直接連線的步驟包括:判斷該群組與連線清單中是否存有該第一群組的終 端與該第二群組的終端之間的點對點直接連線。
- 如申請專利範圍第1項所述之網路穿透方法,其中該第一網路位址轉換器為一埠受限圓錐型網路位址轉換器(Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT)且該第二網路位址轉換器為該對稱式網路位址轉換器。
- 如申請專利範圍第1項所述之網路穿透方法,其中該第二網路位址轉換器為一埠受限圓錐型網路位址轉換器(Port Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT)且該第一網路位址轉換器為該對稱式網路位址轉換器。
- 如申請專利範圍第1項所述之網路穿透方法,更包括判斷該第一網路位址轉換器與該第二網路位址轉換器是否分別為一完全圓錐型網路位址轉換器(Full Cone NAT)、一受限圓錐型網路位址轉換器(Restricted Cone NAT)、一埠受限圓錐型網路位址轉換器(Port Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT),其中當該第一網路位址轉換器與該第二網路位址轉換器分別為該完全圓錐型網路位址轉換器、該受限圓錐型網路位址轉換器或該埠受限圓錐型網路位址轉換器時,則使用一第二連線模式來建立該第一終端與該第二終端之間的點對點連線,其中當該第一網路位址轉換器與該第二網路位址轉換器的其中之一為該對稱式網路位址轉換器且另一為該完 全圓錐型網路位址轉換器或該受限圓錐型網路位址轉換器時,則使用該第二連線模式來建立該第一終端與該第二終端之間的點對點連線。
- 如申請專利範圍第3項所述之網路穿透方法,其中該第一連線模式為一埠號猜測(Port Prediction)模式或一打孔(Hole Punching)模式。
- 如申請專利範圍第9項所述之網路穿透方法,其中該第二連線模式為一埠號猜測(Port Prediction)模式或一打孔(Hole Punching)模式。
- 一種網路通訊系統,包括:多個網路位址轉換器與多個終端,其中該些終端之中的一第一終端位於該些網路位址轉換器之中的一第一網路位址轉換器內,並且該些終端之中的一第二終端位於該些網路位址轉換器之中的一第二網路位址轉換器內;以及一連線伺服器,用以分群該些終端,其中該些終端之中位於該第一網路位址轉換器內的終端被分群為一第一群組,並且該些終端之中位於該第二網路位址轉換器內的終端被分群為一第二群組,其中該第一終端判斷是否存有用於該第一群組的終端與該第二群組的終端之間的一可利用連線,其中當判斷存有該可利用連線時,則該第一終端使用所判斷的可利用連線建立該第一終端與該第二終端之間的連線,其中該第一終端判斷是否存有該第一群組的終端與該第二群組的終端之間的一點對點直接連線,並且當存有 該點對點直接連線時,則該第一終端向該些終端之中對應該點對點直接連線的終端提出一連線授權請求,其中當從對應該點對點直接連線的終端中接收到一確認回應時,則該第一終端將所判斷的點對點直接連線識別為該可利用連線,並且當未從對應該點對點直接連線的終端中接收到該確認回應時,則該第一終端不將所判斷的點對點直接連線識別為該可利用連線。
- 如申請專利範圍第12項所述之網路通訊系統,其中對應該點對點直接連線的終端判斷利用該點對點直接連線進行通訊的終端的數目是否大於一連線數門檻值,其中當利用該點對點直接連線進行通訊的終端的數目大於該連線數門檻值時,則對應該點對點直接連線的終端不傳送該確認回應給該第一終端。
- 如申請專利範圍第12項所述之網路通訊系統,其中當該第一終端判斷無存有該可利用連線時,則該第一終端使用一第一連線模式來建立該第一終端與該第二終端之間的點對點直接連線。
- 如申請專利範圍第14項所述之網路通訊系統,其中該第一終端與該第二終端向該連線伺服器回報在該第一終端與該第二終端之間所建立的點對點直接連線。
- 如申請專利範圍第12項所述之網路通訊系統,其中該連線伺服器建立一群組與連線清單,以記錄所分群的該些終端和所分群的該些終端之間的點對點直接連線。
- 如申請專利範圍第16項所述之網路通訊系統,其 中該第一終端依據該群組與連線清單來判斷是否存有該第一群組的終端與該第二群組的終端之間的點對點直接連線。
- 如申請專利範圍第12項所述之網路通訊系統,其中該第一網路位址轉換器為一埠受限圓錐型網路位址轉換器(Port Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT)且該第二網路位址轉換器為該對稱式網路位址轉換器。
- 如申請專利範圍第12項所述之網路通訊系統,其中該第二網路位址轉換器為一埠受限圓錐型網路位址轉換器(Port Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT)且該第一網路位址轉換器為該對稱式網路位址轉換器。
- 如申請專利範圍第12項所述之網路通訊系統,其中該第一終端判斷該第一網路位址轉換器與該第二網路位址轉換器是否分別為一完全圓錐型網路位址轉換器(Full Cone NAT)、一受限圓錐型網路位址轉換器(Restricted Cone NAT)、一埠受限圓錐型網路位址轉換器(Port Restricted Cone NAT)或一對稱式網路位址轉換器(Symmetric NAT),其中當該第一網路位址轉換器與該第二網路位址轉換器分別為該完全圓錐型網路位址轉換器、該受限圓錐型網路位址轉換器或該埠受限圓錐型網路位址轉換器時,則該第一終端與該第二終端使用一第二連線模式來建立該第 一終端與該第二終端之間的該點對點連線,其中當該第一網路位址轉換器與該第二網路位址轉換器的其中之一為該對稱式網路位址轉換器且另一為該完全圓錐型網路位址轉換器或該受限圓錐型網路位址轉換器時,則該第一終端與該第二終端使用該第二連線模式來建立該第一終端與該第二終端之間的該點對點連線。
- 如申請專利範圍第14項所述之網路通訊系統,其中該第一連線模式為一埠號猜測(Port Prediction)模式或一打孔(Hole Punching)模式。
- 如申請專利範圍第20項所述之網路通訊系統,其中該第二連線模式為一埠號猜測(Port Prediction)模式或一打孔(Hole Punching)模式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098129547A TWI408936B (zh) | 2009-09-02 | 2009-09-02 | 網路穿透方法及網路通訊系統 |
US12/604,403 US8055771B2 (en) | 2009-09-02 | 2009-10-23 | Network traversal method for establishing connection between two endpoints and network communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098129547A TWI408936B (zh) | 2009-09-02 | 2009-09-02 | 網路穿透方法及網路通訊系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201110645A TW201110645A (en) | 2011-03-16 |
TWI408936B true TWI408936B (zh) | 2013-09-11 |
Family
ID=43626493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098129547A TWI408936B (zh) | 2009-09-02 | 2009-09-02 | 網路穿透方法及網路通訊系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8055771B2 (zh) |
TW (1) | TWI408936B (zh) |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
US8504682B2 (en) | 2009-12-17 | 2013-08-06 | Alcatel Lucent | Localization of peer to peer traffic |
US20110219123A1 (en) * | 2010-03-05 | 2011-09-08 | Bo Yang | Network firewall and nat traversal for tcp and related protocols |
US8412833B2 (en) * | 2010-04-07 | 2013-04-02 | Apple Inc. | Apparatus and method for inviting users to online sessions |
US20110289227A1 (en) * | 2010-05-18 | 2011-11-24 | Bruce Hsu | Method of multi-terminal connection traversing nat without third party interfacing |
US20120066311A1 (en) * | 2010-09-09 | 2012-03-15 | I O Interconnect, Ltd. | Network connection establishment and data transmission method |
US8606884B2 (en) * | 2010-09-21 | 2013-12-10 | Taesung Kim | System and method for web hosting behind NATs |
US9264459B2 (en) * | 2010-12-16 | 2016-02-16 | Palo Alto Research Center Incorporated | SIP-based custodian routing in content-centric networks |
US8588233B1 (en) * | 2010-12-31 | 2013-11-19 | Akamai Technologies, Inc. | Peer-to-peer connection establishment using TURN |
WO2012092670A1 (en) * | 2011-01-06 | 2012-07-12 | Research In Motion Limited | System and method for enabling a peer-to-peer (p2p) connection |
US8776202B2 (en) | 2011-04-08 | 2014-07-08 | Cisco Technology, Inc. | Method and apparatus to scale authenticated firewall traversal using trusted routing point |
CN102404227B (zh) * | 2011-12-09 | 2014-06-18 | 徐州医学院 | 一种层次型穿越内网的路由系统 |
TWI539296B (zh) | 2011-12-12 | 2016-06-21 | 和沛科技股份有限公司 | 虛擬機器的搬移位置計算程序的觸發方法及其應用程式 |
US9280546B2 (en) | 2012-10-31 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for accessing digital content using a location-independent name |
US9400800B2 (en) | 2012-11-19 | 2016-07-26 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
US10430839B2 (en) | 2012-12-12 | 2019-10-01 | Cisco Technology, Inc. | Distributed advertisement insertion in content-centric networks |
US9978025B2 (en) | 2013-03-20 | 2018-05-22 | Cisco Technology, Inc. | Ordered-element naming for name-based packet forwarding |
TWI493924B (zh) * | 2013-04-10 | 2015-07-21 | D Link Corp | Through the two network devices to help complete the STUN technology network system and its methods |
TWI508495B (zh) * | 2013-04-10 | 2015-11-11 | D Link Corp | Method of exchanging distributed network messages |
US9935791B2 (en) | 2013-05-20 | 2018-04-03 | Cisco Technology, Inc. | Method and system for name resolution across heterogeneous architectures |
US9185120B2 (en) | 2013-05-23 | 2015-11-10 | Palo Alto Research Center Incorporated | Method and system for mitigating interest flooding attacks in content-centric networks |
US9444722B2 (en) | 2013-08-01 | 2016-09-13 | Palo Alto Research Center Incorporated | Method and apparatus for configuring routing paths in a custodian-based routing architecture |
US9826044B2 (en) * | 2013-10-23 | 2017-11-21 | Qualcomm Incorporated | Peer-to-peer communication for symmetric NAT |
US9407549B2 (en) | 2013-10-29 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers |
US9276840B2 (en) | 2013-10-30 | 2016-03-01 | Palo Alto Research Center Incorporated | Interest messages with a payload for a named data network |
US9282050B2 (en) | 2013-10-30 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for minimum path MTU discovery in content centric networks |
US9401864B2 (en) | 2013-10-31 | 2016-07-26 | Palo Alto Research Center Incorporated | Express header for packets with hierarchically structured variable-length identifiers |
US10129365B2 (en) | 2013-11-13 | 2018-11-13 | Cisco Technology, Inc. | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US9311377B2 (en) | 2013-11-13 | 2016-04-12 | Palo Alto Research Center Incorporated | Method and apparatus for performing server handoff in a name-based content distribution system |
US10101801B2 (en) | 2013-11-13 | 2018-10-16 | Cisco Technology, Inc. | Method and apparatus for prefetching content in a data stream |
US10089655B2 (en) | 2013-11-27 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for scalable data broadcasting |
US9503358B2 (en) | 2013-12-05 | 2016-11-22 | Palo Alto Research Center Incorporated | Distance-based routing in an information-centric network |
US9379979B2 (en) | 2014-01-14 | 2016-06-28 | Palo Alto Research Center Incorporated | Method and apparatus for establishing a virtual interface for a set of mutual-listener devices |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US10172068B2 (en) | 2014-01-22 | 2019-01-01 | Cisco Technology, Inc. | Service-oriented routing in software-defined MANETs |
US9374304B2 (en) | 2014-01-24 | 2016-06-21 | Palo Alto Research Center Incorporated | End-to end route tracing over a named-data network |
US9531679B2 (en) | 2014-02-06 | 2016-12-27 | Palo Alto Research Center Incorporated | Content-based transport security for distributed producers |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9678998B2 (en) | 2014-02-28 | 2017-06-13 | Cisco Technology, Inc. | Content name resolution for information centric networking |
US10089651B2 (en) | 2014-03-03 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for streaming advertisements in a scalable data broadcasting system |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9473405B2 (en) | 2014-03-10 | 2016-10-18 | Palo Alto Research Center Incorporated | Concurrent hashes and sub-hashes on data streams |
US9391896B2 (en) | 2014-03-10 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network |
US9407432B2 (en) | 2014-03-19 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for efficient and secure distribution of digital content |
US9916601B2 (en) | 2014-03-21 | 2018-03-13 | Cisco Technology, Inc. | Marketplace for presenting advertisements in a scalable data broadcasting system |
US9363179B2 (en) | 2014-03-26 | 2016-06-07 | Palo Alto Research Center Incorporated | Multi-publisher routing protocol for named data networks |
US9363086B2 (en) | 2014-03-31 | 2016-06-07 | Palo Alto Research Center Incorporated | Aggregate signing of data in content centric networking |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9390289B2 (en) | 2014-04-07 | 2016-07-12 | Palo Alto Research Center Incorporated | Secure collection synchronization using matched network names |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US10075521B2 (en) | 2014-04-07 | 2018-09-11 | Cisco Technology, Inc. | Collection synchronization using equality matched network names |
US9451032B2 (en) | 2014-04-10 | 2016-09-20 | Palo Alto Research Center Incorporated | System and method for simple service discovery in content-centric networks |
TWI565261B (zh) * | 2014-04-17 | 2017-01-01 | 財團法人資訊工業策進會 | 用於即時通訊的網路位址轉換穿透系統與方法 |
US9203885B2 (en) | 2014-04-28 | 2015-12-01 | Palo Alto Research Center Incorporated | Method and apparatus for exchanging bidirectional streams over a content centric network |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9455835B2 (en) | 2014-05-23 | 2016-09-27 | Palo Alto Research Center Incorporated | System and method for circular link resolution with hash-based names in content-centric networks |
US9276751B2 (en) | 2014-05-28 | 2016-03-01 | Palo Alto Research Center Incorporated | System and method for circular link resolution with computable hash-based names in content-centric networks |
US9516144B2 (en) | 2014-06-19 | 2016-12-06 | Palo Alto Research Center Incorporated | Cut-through forwarding of CCNx message fragments with IP encapsulation |
US9467377B2 (en) | 2014-06-19 | 2016-10-11 | Palo Alto Research Center Incorporated | Associating consumer states with interests in a content-centric network |
US9537719B2 (en) | 2014-06-19 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and apparatus for deploying a minimal-cost CCN topology |
US9426113B2 (en) | 2014-06-30 | 2016-08-23 | Palo Alto Research Center Incorporated | System and method for managing devices over a content centric network |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9959156B2 (en) | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9535968B2 (en) | 2014-07-21 | 2017-01-03 | Palo Alto Research Center Incorporated | System for distributing nameless objects using self-certifying names |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9503365B2 (en) | 2014-08-11 | 2016-11-22 | Palo Alto Research Center Incorporated | Reputation-based instruction processing over an information centric network |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9391777B2 (en) | 2014-08-15 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for performing key resolution over a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US9467492B2 (en) | 2014-08-19 | 2016-10-11 | Palo Alto Research Center Incorporated | System and method for reconstructable all-in-one content stream |
US9497282B2 (en) | 2014-08-27 | 2016-11-15 | Palo Alto Research Center Incorporated | Network coding for content-centric network |
US10204013B2 (en) | 2014-09-03 | 2019-02-12 | Cisco Technology, Inc. | System and method for maintaining a distributed and fault-tolerant state over an information centric network |
US9553812B2 (en) | 2014-09-09 | 2017-01-24 | Palo Alto Research Center Incorporated | Interest keep alives at intermediate routers in a CCN |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9536059B2 (en) | 2014-12-15 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and system for verifying renamed content using manifests in a content centric network |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US9846881B2 (en) | 2014-12-19 | 2017-12-19 | Palo Alto Research Center Incorporated | Frugal user engagement help systems |
US9473475B2 (en) | 2014-12-22 | 2016-10-18 | Palo Alto Research Center Incorporated | Low-cost authenticated signing delegation in content centric networking |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9602596B2 (en) | 2015-01-12 | 2017-03-21 | Cisco Systems, Inc. | Peer-to-peer sharing in a content centric network |
US9462006B2 (en) | 2015-01-21 | 2016-10-04 | Palo Alto Research Center Incorporated | Network-layer application-specific trust model |
US9552493B2 (en) | 2015-02-03 | 2017-01-24 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10116605B2 (en) | 2015-06-22 | 2018-10-30 | Cisco Technology, Inc. | Transport stack name scheme and identity management |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US10610144B2 (en) | 2015-08-19 | 2020-04-07 | Palo Alto Research Center Incorporated | Interactive remote patient monitoring and condition management intervention system |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
TWI595765B (zh) | 2015-10-22 | 2017-08-11 | 財團法人工業技術研究院 | 穿透網路位置轉換器之方法及通訊裝置 |
US9794238B2 (en) | 2015-10-29 | 2017-10-17 | Cisco Technology, Inc. | System for key exchange in a content centric network |
US9807205B2 (en) | 2015-11-02 | 2017-10-31 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary |
US10009446B2 (en) | 2015-11-02 | 2018-06-26 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary learning |
US10021222B2 (en) | 2015-11-04 | 2018-07-10 | Cisco Technology, Inc. | Bit-aligned header compression for CCN messages using dictionary |
US10097521B2 (en) | 2015-11-20 | 2018-10-09 | Cisco Technology, Inc. | Transparent encryption in a content centric network |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10078062B2 (en) | 2015-12-15 | 2018-09-18 | Palo Alto Research Center Incorporated | Device health estimation by combining contextual information with sensor data |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US9949301B2 (en) | 2016-01-20 | 2018-04-17 | Palo Alto Research Center Incorporated | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
CN114900496B (zh) * | 2019-06-24 | 2024-03-15 | 华为技术有限公司 | 一种通信方法以及相关设备 |
CN110636039A (zh) * | 2019-07-31 | 2019-12-31 | 浙江工业大学 | 一种基于内网穿透技术的智能家居加密控制管理方法 |
US11310360B2 (en) | 2019-12-20 | 2022-04-19 | Clear Labs Israel Ltd. | System and methods thereof for real-time fraud detection of a telephone call transaction |
US11277379B2 (en) * | 2020-05-12 | 2022-03-15 | Citrix Systems, Inc. | Modification of application-provided turn servers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044777A1 (en) * | 2002-08-30 | 2004-03-04 | Alkhatib Hasan S. | Communicating with an entity inside a private network using an existing connection to initiate communication |
US20060072569A1 (en) * | 2004-10-04 | 2006-04-06 | Wizzysoft Corporation | Network address translation protocol for transmission control protocol connections |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224985B2 (en) * | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
US7454510B2 (en) * | 2003-05-29 | 2008-11-18 | Microsoft Corporation | Controlled relay of media streams across network perimeters |
US7620033B2 (en) * | 2004-05-21 | 2009-11-17 | Alcatel-Lucent Usa Inc. | Method for optimal path selection in traversal of packets through network address translators |
US7912046B2 (en) * | 2005-02-11 | 2011-03-22 | Microsoft Corporation | Automated NAT traversal for peer-to-peer networks |
TWI260880B (en) | 2005-04-22 | 2006-08-21 | Univ Nat Taipei Technology | Peer-to-Peer communication method capable of penetrating fire wall |
CN101094171B (zh) * | 2006-06-22 | 2011-02-16 | 华为技术有限公司 | 实现媒体流交互方法和系统及媒体网关控制器和媒体网关 |
US7984173B2 (en) * | 2007-05-30 | 2011-07-19 | Red Hat, Inc. | Channel bundling |
US7856506B2 (en) * | 2008-03-05 | 2010-12-21 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
TW201002018A (en) * | 2008-06-26 | 2010-01-01 | D Link Corp | Method for predicting port number of NAT apparatus based on two STUN server inquiry results |
US7962627B2 (en) * | 2008-12-04 | 2011-06-14 | Microsoft Corporation | Peer-to-peer network address translator (NAT) traversal techniques |
-
2009
- 2009-09-02 TW TW098129547A patent/TWI408936B/zh active
- 2009-10-23 US US12/604,403 patent/US8055771B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044777A1 (en) * | 2002-08-30 | 2004-03-04 | Alkhatib Hasan S. | Communicating with an entity inside a private network using an existing connection to initiate communication |
US20060072569A1 (en) * | 2004-10-04 | 2006-04-06 | Wizzysoft Corporation | Network address translation protocol for transmission control protocol connections |
Also Published As
Publication number | Publication date |
---|---|
US8055771B2 (en) | 2011-11-08 |
US20110055392A1 (en) | 2011-03-03 |
TW201110645A (en) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI408936B (zh) | 網路穿透方法及網路通訊系統 | |
US9294519B2 (en) | File server device | |
US7684397B2 (en) | Symmetric network address translation system using STUN technique and method for implementing the same | |
US8082324B2 (en) | Method of establishing a tunnel between network terminal devices passing through firewall | |
US8560607B2 (en) | Method based on the combination of the UPnP and STUN for NAT traversal | |
US20130308628A1 (en) | Nat traversal for voip | |
US8650312B2 (en) | Connection establishing management methods for use in a network system and network systems using the same | |
US8917311B1 (en) | Establishing a connection for a video call | |
US20070253418A1 (en) | Routing path optimization between sip endpoints | |
JP4222397B2 (ja) | 中継サーバ | |
JP4207078B2 (ja) | 中継サーバ | |
CN102045409B (zh) | 网络穿透方法及网络通讯系统 | |
CN101822026B (zh) | 经由网络地址转换单元在面向分组的通信终端设备之间建立连接的方法和装置 | |
WO2008000188A1 (fr) | Procédé et système pour réaliser une interaction de flux multimédia, contrôleur de passerelle multimédia, et passerelle multimédia | |
WO2007036160A1 (fr) | Appareil, systeme et procede assurant la communication entre un client et un serveur | |
JP2004166301A (ja) | ローカルipネットワークを通した多重通話システム及び方法 | |
CN104518959B (zh) | 一种设备间通信的方法及装置 | |
US20190141009A1 (en) | Session moderator for turn-pattern tcp-packet relay with websocket instantiation | |
CN101485179B (zh) | 通过转换网络地址的nat网络节点来管理通信连接的方法 | |
KR100660123B1 (ko) | Nat 통과를 위한 브이.피.엔 서버 시스템 및 브이.피.엔클라이언트 단말기 | |
US9369523B2 (en) | Method for exchanging network messages in distributed manner | |
WO2008069504A1 (en) | Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system | |
JP2004312392A (ja) | マルチメディア端末、プロキシサーバ、ルータおよびマルチメディア通信システムにおける通信制御方法 | |
TW201616844A (zh) | 解決網路位址轉譯器之連線限制的網路連線系統及其方法 | |
KR101082851B1 (ko) | Udp기반의 p2p 접속 시스템 및 방법 |