TWI558149B - 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 - Google Patents
用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 Download PDFInfo
- Publication number
- TWI558149B TWI558149B TW104120068A TW104120068A TWI558149B TW I558149 B TWI558149 B TW I558149B TW 104120068 A TW104120068 A TW 104120068A TW 104120068 A TW104120068 A TW 104120068A TW I558149 B TWI558149 B TW I558149B
- Authority
- TW
- Taiwan
- Prior art keywords
- network address
- node
- internal
- packet
- nickname
- 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
-
- 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/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- 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/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Description
本發明係關於一種網路傳輸方法及網路傳輸系統,尤指一種可用於多層網路位址轉譯器架構之網路傳輸方法及網路傳輸系統。
隨著網路技術進展,點對點連線(peer-to-peer connection)已廣為運用,點對點連線可允許複數個網路節點彼此連結,不透過伺服器的中繼轉傳(relay)而傳輸交換資料。然而,當網路節點位於多層次之網路位址轉譯器(network address translator;NAT)架構下時,網路節點間的點對點連線常難以成功建立。第1圖係先前技術中,兩個網路節點位於多層次網路位址轉譯器導致點對點連線建立失敗之架構示意圖。網路節點112及網路位址轉譯器130位於網路位址轉譯器120下,且網路節點111位於網路位址轉譯器130下。當點對點伺服器110安排網路節點111與網路節點112進行點對點連線時,若欲使用網路節點111及網路節點112對應於網路位址轉譯器120之外部網路位址及外部埠號使兩節點互相連線(如路徑Pt1所示),則會被網際網路工程任務組(Internet Engineering Task Force,簡稱為IETF)所發佈之徵求意見文件5128號(Request For Comments:
5128,常簡稱為RFC 5128文件)所述之髮夾(hairpin)限制所阻斷;若欲使用網路節點111及網路節點112之內部網路位址及內部埠號使兩節點互相連線,則因兩網路節點並非屬於同一網路位址轉譯器階層,故網路節點112向網路節點111的內部網路位址及內部埠號發送封包時,無法穿越網路位址轉譯器130傳送到網路節點111(如路徑Pt2所示),導致點對點連線建立失敗。因此,本領域實須解決方案,以解決上述點對點連線無法建立之缺失。
本發明一實施例揭露一種網路傳輸方法,包含一點對點伺服器接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線;該點對點伺服器傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點,且該點對點伺服器傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點,其中該第一節點係透過一網路位址轉譯器及一上層網路位址轉譯器連結該點對點伺服器,該第二節點係透過該上層網路位址轉譯器連結該點對點伺服器,該網路位址轉譯器具有一中介網路位址;該第一節點透過該網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包;該網路位址轉譯器指派一中介埠號;該網路位址轉譯器利用該中介網路位址及該中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送對應於該第1封包之一第2封包;該第二節點傳送一第3封包到該中介網路位址及該中介埠號;及該網路位址轉譯器執行一查詢操作,以發送對應於該第3封包之一第4封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點之間的該點對點連線。
本發明另一實施例揭露一種網路傳輸方法,包含一點對點伺服器接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線;該點對點伺服器傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點,且該點對點伺服器傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點,其中該第一節點係透過n個網路位址轉譯器及一上層網路位址轉譯器連結該點對點伺服器,該第二節點係透過該上層網路位址轉譯器連結該點對點伺服器,該n個網路位址轉譯器包含一第1網路位址轉譯器至一第n網路位址轉譯器,該第1網路位址轉譯器至該第n網路位址轉譯器分別對應地具有一第1中介網路位址至一第n中介網路位址;該第一節點透過該n個網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包;該第1網路位址轉譯器至該第n網路位址轉譯器分別指派一第1中介埠號至一第n中介埠號;該第1網路位址轉譯器至該第(n-1)網路位址轉譯器利用該第1中介網路位址至該第(n-1)中介網路位址及該第1中介埠號至該第(n-1)中介埠號逐層傳送對應於該第1封包之一第2封包至一第n封包,以使該第n網路位址轉譯器接收該第n封包;該第n網路位址轉譯器利用該第n中介網路位址及該第n中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送對應於該第1封包之一第(n+1)封包;該第二節點傳送一第(n+2)封包到該第n中介網路位址及該第n中介埠號;該第n網路位址轉譯器至該第1網路位址轉譯器分別執行一第1查詢操作至一第n查詢操作,並分別逐層傳送對應於該第(n+2)封包之一第(n+3)封包至一第(2n+2)封包以傳送該第(2n+2)封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點間的該點對點連線;其中n係為大於1之正整數。
本發明又一實施例揭露一種網路傳輸系統,包含一點對點伺服器、
一上層網路位址轉譯器、一第一節點、一第二節點及一網路位址轉譯器。該點對點伺服器係用以接收一請求,該請求係關於該第一節點與該第二節點之間的一點對點連線、傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點、及傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點。該上層網路位址轉譯器係用以轉譯網路位址。該第一節點係具有該第一內部網路位址及該第一內部埠號,透過該網路位址轉譯器及該上層網路位址轉譯器連結於該點對點伺服器,用以透過該網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包,及接收一第4封包。該第二節點係具有該第二內部網路位址及該第二內部埠號,透過該上層網路位址轉譯器連結於該點對點伺服器,用以接收對應於該第1封包之一第2封包,及傳送一第3封包到一中介網路位址及一中介埠號。該網路位址轉譯器係具有該中介網路位址,用以指派該中介埠號、利用該中介網路位址及該中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送該第2封包、接收該第3封包、及執行一查詢操作,以發送對應於該第3封包之該第4封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點之間的該點對點連線。
本發明再一實施例揭露一種網路傳輸系統,包含一點對點伺服器、一上層網路位址轉譯器、一第一節點、一第二節點及n個網路位址轉譯器。該點對點伺服器係用以接收一請求,該請求係關於該第一節點與該第二節點之間的一點對點連線、傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點、及傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點。該上層網路位址轉譯器係用以轉譯網路位址。該第一節點係具有該第一內部網路位址及該第一內部埠號,透過該n個網路位址轉譯器及該上層網路位
址轉譯器連結於該點對點伺服器,用以透過該n個網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包,及接收一第(2n+2)封包。該第二節點係具有該第二內部網路位址及該第二內部埠號,透過該上層網路位址轉譯器連結於該點對點伺服器,用以接收對應於該第1封包之一第(n+1)封包,及傳送一第(n+2)封包到一第n中介網路位址及一第n中介埠號。該n個網路位址轉譯器係具有一第1網路位址轉譯器至一第n網路位址轉譯器,其中該第1網路位址轉譯器至該第n網路位址轉譯器分別具有一第1中介網路位址至該第n中介網路位址,該第1網路位址轉譯器至該第n網路位址轉譯器係分別指派一第1中介埠號至該第n中介埠號,該第1網路位址轉譯器至該第(n-1)網路位址轉譯器利用該第1中介網路位址至該第(n-1)中介網路位址及該第1中介埠號至該第(n-1)中介埠號逐層傳送對應於該第1封包之一第2封包至一第n封包以使該第n網路位址轉譯器接收該第n封包,該第n網路位址轉譯器利用該第n中介網路位址及該第n中介埠號向該第二內部網路位址及該第二內部埠號傳送該第(n+1)封包,該第n網路位址轉譯器接收該第(n+2)封包,該第n網路位址轉譯器至該第1網路位址轉譯器分別執行一第1查詢操作至一第n查詢操作,並分別逐層傳送對應於該第(n+2)封包之一第(n+3)封包至一第(2n+2)封包以傳送該第(2n+2)封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點間的該點對點連線,其中n係為大於1之正整數。
111、112‧‧‧網路節點
120、130、230、4301至430n‧‧‧網路位址轉譯器
110、210、410‧‧‧點對點伺服器
Pt1、Pt2‧‧‧路徑
N1、N2‧‧‧節點
R1‧‧‧請求
220、420‧‧‧上層網路位址轉譯器
P0、P1至P(2n+2)‧‧‧封包
300、500‧‧‧方法
310至370、510至580‧‧‧步驟
第1圖係先前技術中,兩個網路節點位於多層次網路位址轉譯器導致點對點連線建立失敗之架構示意圖。
第2圖係本案實施例中網路傳輸系統之示意圖。
第3圖係對應於第2圖之網路傳輸系統的網路傳輸方法之流程圖。
第4圖係本案另一實施例中網路傳輸系統之示意圖。
第5圖係對應於第4圖之網路傳輸系統的網路傳輸方法之流程圖。
第2圖係本案實施例中網路傳輸系統200之示意圖。網路傳輸系統200包含點對點伺服器210、上層網路位址轉譯器220、第一節點N1、第二節點N2及網路位址轉譯器230。第二節點N2及網路位址轉譯器230位於上層網路位址轉譯器220下,且第一節點N1位於網路位址轉譯器230下。點對點伺服器210係用以接收請求(request)R1,請求R1係關於第一節點N1與第二節點N2之間的一點對點連線、傳送第一節點N1之第一內部網路位址(internal IP address,於第2圖中172.16.1.5為例)及第一內部埠號(internal port number,於第2圖中80為例)至第二節點N2、及傳送第二節點N2之第二內部網路位址(於第2圖中192.168.0.1為例)及第二內部埠號(於第2圖中9999為例)至第一節點N1。第一內部網路位址及第一內部埠號可事先由第一節點N1透過習知方式探知後向點對點伺服器210註冊,第二內部網路位址及第二內部埠號亦可事先由第二節點N2透過習知方式探知後向點對點伺服器210註冊。上層網路位址轉譯器220係用以轉譯網路位址,可具有外部網路位址(例如第2圖中之180.10.2.1)。第一節點N1具有前述之第一內部網路位址及第一內部埠號,透過網路位址轉譯器230及上層網路位址轉譯器220連結於點對點伺服器210,用以透過網路位址轉譯器230利用第一內部網路位址及第一內部埠號(例如172.16.1.5:80)向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送一第1封包P1以試圖與第二節點N2建立點對點連線,及接收一第4封包P4。第二節點係具有前述之第二內部網
路位址及第二內部埠號,透過上層網路位址轉譯器220連結於點對點伺服器210,用以利用第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)向第一節點N1之第一內部網路位址及第一內部埠號(例如192.16.1.5:80)傳送一第0封包P0以試圖與第一節點N1建立點對點連線,並用以接收對應於第1封包P1之第2封包P2,及傳送第3封包P3到網路位址轉譯器230之中介網路位址及中介埠號(例如第2圖所示對應於網路位址轉譯器230之192.168.10.11:8081)。網路位址轉譯器230係具有中介網路位址(例如192.168.10.11),用以指派中介埠號(例如8081)、利用中介網路位址及中介埠號(例如192.168.10.11:8081)向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送第2封包P2、接收第3封包P3、及執行網路位址轉換對應(mapping)查詢操作,以發送對應於第3封包P3之第4封包P4到第一內部網路位址及第一內部埠號(例如172.16.1.5:80),從而建立第一節點N1與第二節點N2之間的點對點連線。
第2圖所示之各封包對應之來源網路位址與埠號、及目的網路位址與埠號,於第2圖之實施例可例如第1表所示:
如第1表所示,第2封包係對應於第1封包,相較於第1封包,第2封包可被網路位址轉換器230更改來源網路位址與埠號,但不更改目的網路位址與埠
號。第4封包係對應於第3封包,相較於第3封包,第4封包可不更改來源網路位址與埠號,但可被網路位址轉換器230更改目的網路位址與埠號。上述之第0封包P0至第4封包P4之任一封包可為用戶數據報協議(UDP)封包或傳輸控制協定(TCP)封包。第2封包P2可攜有其來源網路位址及埠號之資訊,例如第2封包P2之檔頭可記錄中介網路位址及中介埠號(例如192.168.10.11:8081),以使第二節點N2回傳第3封包P3時,可用中介網路位址及中介埠號(例如192.168.10.11:8081)作為目的網路位址與埠號。當接收第3封包P3時,網路位址轉譯器230可執行網路位址轉換對應(mapping)查詢動作,例如查表,以得知第3封包P3之目的網路位址與埠號(例如192.168.10.11:8081)係對應於第1封包P1由網路位址轉譯器230之內部穿透(transverse)到外部時對應的第一內部網路位址及第一內部埠號(例如172.16.1.5:80),網路位址轉譯器230從而可發送對應於第3封包P3之第4封包P4至第一節點N1之第一內部網路位址及第一內部埠號(例如172.16.1.5:80)。換言之,由於第1封包P1已由網路位址轉譯器230內部向外穿透(transverse),故第3封包P3得以由網路位址轉譯器230外部穿透至內部而不被網路位址轉譯器230之防火牆阻擋。如上述,第一節點N1可透過第1、2封包P1-P2傳送封包至第二節點N2,且第二節點N2可透過第3、4封包P3-P4傳送封包至第一節點N1,則第一節點N1與第二節點N2之間的點對點連線可建立而不致失敗。
對應於第一節點N1向第二節點N2傳送之第1封包,由第2圖中可見,第二節點N2亦可根據來自點對點伺服器210之資料,向第一節點N1的第一內部網路位址及第一內部埠號(例如172.16.1.5:80)發送第0封包。但由於第一節點N1係位於網路位址轉譯器230下,故第0封包無法穿透網路位址轉譯器230之防火牆而傳送到第1節點N1。因此,須藉由上述之第1封包P1至第4封包P4建立第一節
點N1與第二節點N2之間的點對點連線。
第3圖係對應於第2圖之網路傳輸系統200的網路傳輸方法300之流程圖。網路傳輸方法300可包含以下步驟:步驟310:點對點伺服器210接收請求R1,請求R1係關於第一節點N1與第二節點N2之間的點對點連線;步驟320:點對點伺服器210傳送第一節點N1之第一內部網路位址及第一內部埠號至第二節點N2,且點對點伺服器210傳送第二節點N2之第二內部網路位址及第二內部埠號至第一節點N1,其中第一節點N1係透過網路位址轉譯器230及上層網路位址轉譯器220連結點對點伺服器210,第二節點N2係透過上層網路位址轉譯器220連結點對點伺服器210,網路位址轉譯器230具有中介網路位址(例如192.168.10.11);步驟330:第一節點N1透過網路位址轉譯器230利用第一節點N1之第一內部網路位址及第一內部埠號(例如172.16.1.5:80)向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送第1封包P1;步驟340:網路位址轉譯器230指派中介埠號(例如8081);步驟350:網路位址轉譯器230利用中介網路位址及中介埠號(例如192.168.10.11:8081)向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送對應於第1封包P1之第2封包P2;步驟360:第二節點N2傳送第3封包P3到中介網路位址及中介埠號(例如192.168.10.11:8081);及步驟370:網路位址轉譯器230執行查詢操作,以發送對應於第3封包P3之第4封包P4到第一內部網路位址及第一內部埠號(例如172.16.1.5:80),從而建立第一節點N1與第二節點N2之間的點對點連線。
步驟310所述之請求R1可從第一節點N1發出,用以請求與第二節點N2進行點對點連線,請求R1也可從第二節點N2發出,用以請求與第一節點N1進行點對點連線。點對點伺服器210可根據發出請求之節點的請求內容,安排適於建立點對點連線之至少兩節點(如第一節點N1與第二節點N2)進行點對點連線,並如上文所述,將兩節點各自之內部網路位址與內部埠號傳送給對方。於本發明另一實施例中,點對點伺服器210亦可將兩節點各自對應於最上層網路位址轉譯器之外部網路位址與外部埠號傳送給對方。舉例來說,第一節點N1與第二節點N2可各自具有內部網路位址、內部埠號、外部網路位址與外部埠號如第2表所述:
點對點伺服器210可例如將第一節點N1之第一內部網路位址與第一內部埠號(如172.16.1.5:80)及/或第一外部網路位址與第一外部埠號(如180.10.2.1:122)傳送至第二節點N2,點對點伺服器210亦可例如將第二節點N2之第二內部網路位址與第二內部埠號(如192.168.0.1:9999)及/或第二外部網路位址與第二外部埠號(如180.10.2.1:133)傳送至第一節點N1,以使兩節點建立點對點連線所須之協議。於上述例中,由於第一節點N1與第二節點N2位於相同的上層網路位址轉換器220下,故第一外部網路位址可以與第二外部網路位
址相同(例如皆為180.10.2.1)。於先前技術中,若第一節點N1與第二節點N2欲以外部網路位址與外部埠號建立點對點連線,則於第2圖所示架構中會被髮夾限制所阻斷。故藉由第2、3圖之實施例揭露之系統與方法,則可成功建立第一節點N1與第二節點N2之點對點連線,從而使兩節點不須透過點對點伺服器210中繼轉傳資料,故點對點伺服器210可不作為中繼器(relay)而可降低點對點伺服器210之工作負荷。
步驟340、350中,網路位址轉譯器230指派中介埠號時,可例如以製表對照方式記錄中介網路位址與指派之中介埠號(例如192.160.10.11:8081)與對應的第一內部網路位址與第一內部埠號(例如172.16.1.5:80)之對照關係,如第3表所示:
此表可儲存於網路位址轉譯器230,待執行步驟360、370時,網路位址轉譯器230執行之查詢操作即可根據第3表所示之對照關係,發送對應於第3封包P3之第4封包P4至第一節點N1。上述之第3表係用以示意,並非表示實質編撰之程式編碼。
由此可知,根據本案第2、3圖所示之網路傳輸系統與網路傳輸方法,實可克服先前技術中點對點連線建立失敗之缺失。
第4圖係本案另一實施例中網路傳輸系統400之示意圖。網路傳輸系
統400之原理與第2圖之網路傳輸系統200相同,唯網路傳輸系統400之架構係網路位址轉譯器層數較多之n層架構。網路傳輸系統400包含點對點伺服器410、上層網路位址轉譯器420、第一節點N1、第二節點N2及n個網路位址轉譯器4301至430n。網路位址轉譯器4301位於網路位址轉譯器4302下,網路位址轉譯器4302位於網路位址轉譯器4303下,依此類推。第二節點N2及網路位址轉譯器430n位於網路位址轉譯器220下,且第一節點N1位於網路位址轉譯器4301下。點對點伺服器係用以接收請求R1,請求R1係關於第一節點N1與第二節點N2之間的點對點連線、傳送第一節點N1之第一內部網路位址及第一內部埠號(例如第4圖中之172.16.1.5:80)至第二節點N2、及傳送第二節點之第二內部網路位址及第二內部埠號(例如第4圖中之192.168.0.1:9999)至第一節點N1。第一內部網路位址及第一內部埠號可事先由第一節點N1透過習知方式探知後向點對點伺服器410註冊,第二內部網路位址及第二內部埠號亦可事先由第二節點N2透過習知方式探知後向點對點伺服器410註冊。上層網路位址轉譯器420係用以轉譯網路位址,可具有外部網路位址(例如第4圖中之180.10.2.1)。第一節點N1係具有第一內部網路位址及第一內部埠號(例如172.16.1.5:80),透過n個網路位址轉譯器4301-430n及上層網路位址轉譯器420連結於點對點伺服器。第二節點N2係具有第二內部網路位址及第二內部埠號(例如192.168.0.1:9999),透過上層網路位址轉譯器420連結於點對點伺服器410。n個網路位址轉譯器4301-430n係為第1網路位址轉譯器4301至第n網路位址轉譯器430n,其中第1網路位址轉譯器4301至第n網路位址轉譯器430n分別具有第1中介網路位址至第n中介網路位址,第1網路位址轉譯器至第n網路位址轉譯器係分別指派第1中介埠號至第n中介埠號,第1網路位址轉譯器至第(n-1)網路位址轉譯器利用第1中介網路位址至第(n-1)中介網路位址及第1中介埠號至第(n-1)中介埠號逐層傳送對應於第1封包P1之第2封包P2至第n封包Pn以使第n網路位址轉譯器430n接收第n封包Pn,第n網路位
址轉譯器利用第n中介網路位址及第n中介埠號(例如192.168.10.11:8081)向第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送第(n+1)封包P(n+1),第n網路位址轉譯器接收第(n+2)封包P(n+2),第n網路位址轉譯器至第1網路位址轉譯器分別執行第1查詢操作至第n查詢操作,並分別逐層傳送對應於第(n+2)封包P(n+2)之第(n+3)封包P(n+3)至第(2n+2)封包P(2n+2)以傳送第(2n+2)封包P(2n+2)到第一內部網路位址及第一內部埠號(例如172.16.1.5:80),從而建立第一節點N1與第二節點N2間的點對點連線,其中n係為大於1之正整數。
第5圖係對應於第4圖之網路傳輸系統400的網路傳輸方法500之流程圖。網路傳輸方法500可包含以下步驟,其中n係為大於1之正整數:步驟510:點對點伺服器410可接收請求R1,請求R1係關於第一節點N1與第二節點N2之間的點對點連線;步驟520:點對點伺服器410可傳送第一節點N1之第一內部網路位址及第一內部埠號(例如172.16.1.5:80)至第二節點N2,且點對點伺服器410可傳送第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)至第一節點N1;步驟530:第一節點N1可透過n個網路位址轉譯器4301-430n利用第一節點N1之第一內部網路位址及第一內部埠號(例如172.16.1.5:80)向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送第1封包P1;步驟540:第1網路位址轉譯器4301至第n網路位址轉譯器430n可分別指派第1中介埠號至第n中介埠號;步驟550:第1網路位址轉譯器4301至第(n-1)網路位址轉譯器430
(n-1)可利用第1中介網路位址至第(n-1)中介網路位址及第1中介埠號至第(n-1)中介埠號逐層傳送對應於第1封包P1之第2封包P2至第n封包Pn,以使第n網路位址轉譯器430n接收第n封包Pn;步驟560:第n網路位址轉譯器430n可利用第n中介網路位址及第n中介埠號向第二節點N2之第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)傳送對應於第1封包P1之第(n+1)封包P(n+1);步驟570:第二節點N2可傳送第(n+2)封包P(n+2)到第n中介網路位址及第n中介埠號;步驟580:第n網路位址轉譯器430n至第1網路位址轉譯器4301可分別執行第1查詢操作至第n查詢操作,並可分別逐層傳送對應於第(n+2)封包P(n+2)之第(n+3)封包P(n+3)至第(2n+2)封包P(2n+2)以傳送第(2n+2)封包P(2n+2)到第一內部網路位址及第一內部埠號(例如172.16.1.5),從而建立第一節點N1與第二節點N2間的點對點連線。
第4、5圖所示之網路傳輸系統400與網路傳輸方法500,其原理與第2、3圖所示之網路傳輸系統200與網路傳輸方法300相同,但第4、5圖中,第一節點N1係位於多層網路位址轉譯器之下。若第4圖之第一節點N1與第二節點N2欲使用先前技術之方法互相傳送封包以建立兩節點間的連線,則第二節點N2使用第二內部網路位址及第二內部埠號(例如192.168.0.1:9999)發送往第一節點N1之第一內部網路位址及第一內部埠號(例如172.16.1.5:80)之第0封包實無法由外至內穿透第n至第1網路位址轉譯器430n-4301傳至第一節點N1,造成第一節點N1與第二節點N2之點對點連線無法建立。然而,若使用本案第4、5圖實施例所示之方法,則於步驟530-560中,第1封包P1至第(n+1)封包P(n+1)逐層傳送時,第1網路位址轉譯器4301至第n網路位址轉譯器430n會例如以製表對照
方式記錄第1中介網路位址與第1中介埠號及第一內部網路位址及第一內部埠號之對照關係、第2中介網路位址與第2中介埠號及第1中介網路位址與第1中介埠號之對照關係…以及第n中介網路位址與第n中介埠號(例如192.168.10.11:8081)與第(n-1)中介網路位址與第(n-1)中介埠號之對照關係。步驟560中,第(n+1)封包P(n+1)可攜有第n中介網路位址與第n中介埠號(例如192.168.10.11:8081),例如將第n中介網路位址與第n中介埠號記錄於封包之檔頭,以使步驟570中,第二節點N2傳送第(n+2)封包P(n+2)時,可將第n中介網路位址及第n中介埠號設為目的地。步驟580中,第n網路位址轉譯器430n至第1網路位址轉譯器4301可分別根據上述已經記錄之各筆對照關係之資料,執行第1查詢操作至第n查詢操作,以將對應於第(n+2)封包P(n+2)之第(n+3)封包P(n+3)傳送到第(n-1)網路位址轉譯器430(n-1)之第(n-1)中介網路位址與第(n-1)中介埠號、將對應於第(n+3)封包P(n+3)之第(n+4)封包P(n+4)傳送到第(n-2)網路位址轉譯器430(n-2)之第(n-2)中介網路位址與第(n-2)中介埠號…以及將對應於第(2n+1)封包P(2n+1)之第(2n+2)封包P(2n+2)傳送到第一節點N1之第一內部網路位址與第一內部埠號(例如:172.16.1.5:80),從而使第一節點N1與第二節點N2之點對點連線得以建立。
根據本案實施例,第一節點N1及第二節點N2之間的點對點連線可為會話發起協議(Session Initiation Protocol)連線及/或網際協議通話(VOIP)連線。第4圖之第1封包P1至第(2n+2)封包P(2n+2)中之任一封包可為用戶數據報協議(UDP)封包或傳輸控制協定(TCP)封包。第2、4圖之實施例所述之第一節點N1可為智慧家電、終端電腦、家用電腦、通訊裝置、移動裝置、監視裝置及/或影音裝置,第二節點N2可為遙控裝置、智慧家電、終端電腦、家用電腦、通訊裝置、移動裝置、監視裝置及/或影音裝置。網路位址轉譯器230、上層網路
位址轉譯器220及420、第1網路位址轉譯器4301至第n網路位址轉譯器430n之中的任一網路位址轉譯器可例如為錐型網路位址轉譯器(cone NAT)或對稱型(symmetric NAT)。舉例而言,當使用者之智慧手機係第2圖之第二節點N2,家中之影音主機係第一節點N1,使用者居家連外之數據機係上層網路位址轉譯器220、使用者家中之一路由器係網路位址轉譯器230,則可應用本案實施例揭露之傳輸系統與傳輸方法,使此使用者的智慧手機與影音主機間的點對點連線成功,從而克服先前技術之缺失。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
230‧‧‧網路位址轉譯器
210‧‧‧點對點伺服器
N1、N2‧‧‧節點
R1‧‧‧請求
220‧‧‧上層網路位址轉譯器
P0、P1至P4‧‧‧封包
Claims (10)
- 一種網路傳輸方法,包含:一點對點伺服器(peer-to-peer server)接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線(peer-to-peer connection);該點對點伺服器傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點,且該點對點伺服器傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點,其中該第一節點係透過一網路位址轉譯器(network address translator;NAT)及一上層網路位址轉譯器連結該點對點伺服器,該第二節點係透過該上層網路位址轉譯器連結該點對點伺服器,該網路位址轉譯器具有一中介網路位址;該第一節點透過該網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包;該網路位址轉譯器指派一中介埠號;該網路位址轉譯器利用該中介網路位址及該中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送對應於該第1封包之一第2封包;該第二節點傳送一第3封包到該中介網路位址及該中介埠號;及該網路位址轉譯器執行一查詢操作,以發送對應於該第3封包之一第4封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點之間的該點對點連線。
- 一種網路傳輸方法,包含:一點對點伺服器(peer-to-peer server)接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線(peer-to-peer connection); 該點對點伺服器傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點,且該點對點伺服器傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點,其中該第一節點係透過n個網路位址轉譯器(network address translation;NAT)及一上層網路位址轉譯器連結該點對點伺服器,該第二節點係透過該上層網路位址轉譯器連結該點對點伺服器,該n個網路位址轉譯器包含一第1網路位址轉譯器至一第n網路位址轉譯器,該第1網路位址轉譯器至該第n網路位址轉譯器分別對應地具有一第1中介網路位址至一第n中介網路位址;該第一節點透過該n個網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包;該第1網路位址轉譯器至該第n網路位址轉譯器分別指派一第1中介埠號至一第n中介埠號;該第1網路位址轉譯器至該第(n-1)網路位址轉譯器利用該第1中介網路位址至該第(n-1)中介網路位址及該第1中介埠號至該第(n-1)中介埠號逐層傳送對應於該第1封包之一第2封包至一第n封包,以使該第n網路位址轉譯器接收該第n封包;該第n網路位址轉譯器利用該第n中介網路位址及該第n中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送對應於該第1封包之一第(n+1)封包;該第二節點傳送一第(n+2)封包到該第n中介網路位址及該第n中介埠號;該第n網路位址轉譯器至該第1網路位址轉譯器分別執行一第1查詢操作至一第n查詢操作,並分別逐層傳送對應於該第(n+2)封包之一第(n+3)封包至一第(2n+2)封包以傳送該第(2n+2)封包到該第一內部網路位 址及該第一內部埠號,從而建立該第一節點與該第二節點間的該點對點連線;其中n係為大於1之正整數。
- 如請求項1或2所述之網路傳輸方法,其中該請求係從該第一節點發出,用以請求與該第二節點進行該點對點連線。
- 如請求項1或2所述之網路傳輸方法,其中該請求係從該第二節點發出,用以請求與該第一節點進行該點對點連線。
- 如請求項1或2所述之網路傳輸方法,更包含:該第二節點利用該第二節點之該第二內部網路位址及該第二內部埠號向該第一節點之該第一內部網路位址及該第一內部埠號傳送一第0封包,其中該第0封包係無法傳送到該第一節點。
- 一種網路傳輸系統,包含:一點對點伺服器,用以接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線、傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點、及傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點;一上層網路位址轉譯器,用以轉譯網路位址;該第一節點,具有該第一內部網路位址及該第一內部埠號,透過一網路位址轉譯器及該上層網路位址轉譯器連結於該點對點伺服器,用以透過該網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內部埠 號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包,及接收一第4封包;該第二節點,具有該第二內部網路位址及該第二內部埠號,透過該上層網路位址轉譯器連結於該點對點伺服器,用以接收對應於該第1封包之一第2封包,及傳送一第3封包到一中介網路位址及一中介埠號;及該網路位址轉譯器,具有該中介網路位址,用以指派該中介埠號、利用該中介網路位址及該中介埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送該第2封包、接收該第3封包、及執行一查詢操作,以發送對應於該第3封包之該第4封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點之間的該點對點連線。
- 如請求項6所述之網路傳輸系統,其中該第1封包、該第2封包、該第3封包及該第4封包中之任一封包係一用戶數據報協議(UDP)封包或一傳輸控制協定(TCP)封包。
- 一種網路傳輸系統,包含:一點對點伺服器,用以接收一請求,該請求係關於一第一節點與一第二節點之間的一點對點連線、傳送該第一節點之一第一內部網路位址及一第一內部埠號至該第二節點、及傳送該第二節點之一第二內部網路位址及一第二內部埠號至該第一節點;一上層網路位址轉譯器,用以轉譯網路位址;該第一節點,具有該第一內部網路位址及該第一內部埠號,透過n個網路位址轉譯器及該上層網路位址轉譯器連結於該點對點伺服器,用以透過該n個網路位址轉譯器利用該第一節點之該第一內部網路位址及該第一內 部埠號向該第二節點之該第二內部網路位址及該第二內部埠號傳送一第1封包,及接收一第(2n+2)封包;該第二節點,具有該第二內部網路位址及該第二內部埠號,透過該上層網路位址轉譯器連結於該點對點伺服器,用以接收對應於該第1封包之一第(n+1)封包,及傳送一第(n+2)封包到一第n中介網路位址及一第n中介埠號;及該n個網路位址轉譯器,具有一第1網路位址轉譯器至一第n網路位址轉譯器,其中該第1網路位址轉譯器至該第n網路位址轉譯器分別具有一第1中介網路位址至該第n中介網路位址,該第1網路位址轉譯器至該第n網路位址轉譯器係分別指派一第1中介埠號至該第n中介埠號,該第1網路位址轉譯器至該第(n-1)網路位址轉譯器利用該第1中介網路位址至該第(n-1)中介網路位址及該第1中介埠號至該第(n-1)中介埠號逐層傳送對應於該第1封包之一第2封包至一第n封包以使該第n網路位址轉譯器接收該第n封包,該第n網路位址轉譯器利用該第n中介網路位址及該第n中介埠號向該第二內部網路位址及該第二內部埠號傳送該第(n+1)封包,該第n網路位址轉譯器接收該第(n+2)封包,該第n網路位址轉譯器至該第1網路位址轉譯器分別執行一第1查詢操作至一第n查詢操作,並分別逐層傳送對應於該第(n+2)封包之一第(n+3)封包至一第(2n+2)封包以傳送該第(2n+2)封包到該第一內部網路位址及該第一內部埠號,從而建立該第一節點與該第二節點間的該點對點連線,其中n係為大於1之正整數。
- 如請求項8所述之網路傳輸系統,其中該第1封包至該(2n+2)封包中之任一封包係一用戶數據報協議(UDP)封包或一傳輸控制協定(TCP) 封包。
- 如請求項6或8所述之網路傳輸系統,其中該第二節點更利用該第二節點之該第二內部網路位址及該第二內部埠號向該第一節點之該第一內部網路位址及該第一內部埠號傳送一第0封包,其中該第0封包係無法傳送到該第一節點。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104120068A TWI558149B (zh) | 2015-06-23 | 2015-06-23 | 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 |
CN201610221662.0A CN106302847B (zh) | 2015-06-23 | 2016-04-11 | 用于多层网路位址转译器结构的网路传输方法及系统 |
US15/139,310 US10079802B2 (en) | 2015-06-23 | 2016-04-26 | Network transmission method and network transmission system for a multi-layer network address translator structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104120068A TWI558149B (zh) | 2015-06-23 | 2015-06-23 | 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI558149B true TWI558149B (zh) | 2016-11-11 |
TW201701635A TW201701635A (zh) | 2017-01-01 |
Family
ID=57601451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104120068A TWI558149B (zh) | 2015-06-23 | 2015-06-23 | 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10079802B2 (zh) |
CN (1) | CN106302847B (zh) |
TW (1) | TWI558149B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324426B (zh) * | 2019-07-09 | 2022-04-29 | 深圳市网心科技有限公司 | 一种数据获取方法、装置和系统 |
US11895027B2 (en) * | 2021-05-20 | 2024-02-06 | Pensando Systems Inc. | Methods and systems for service distribution using data path state replication and intermediate device mapping |
US11593294B2 (en) | 2021-05-20 | 2023-02-28 | Pensando Systems Inc. | Methods and systems for loosely coupled PCIe service proxy over an IP network |
US11902184B2 (en) | 2021-05-20 | 2024-02-13 | Pensando Systems Inc. | Methods and systems for providing a virtualized NVMe over fabric service |
US11949589B2 (en) | 2021-05-20 | 2024-04-02 | Pensando Systems Inc. | Methods and systems for service state replication using original data packets |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912046B2 (en) * | 2005-02-11 | 2011-03-22 | Microsoft Corporation | Automated NAT traversal for peer-to-peer networks |
US7962627B2 (en) * | 2008-12-04 | 2011-06-14 | Microsoft Corporation | Peer-to-peer network address translator (NAT) traversal techniques |
TW201521392A (zh) * | 2013-11-29 | 2015-06-01 | Vivotek Inc | 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統 |
TW201532414A (zh) * | 2014-02-14 | 2015-08-16 | Amostek Inc | 應用於網路第二層之點對點連線系統及其方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7245622B2 (en) * | 2003-03-27 | 2007-07-17 | Microsoft Corporation | Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload |
JP4708036B2 (ja) * | 2005-01-21 | 2011-06-22 | パナソニック株式会社 | 通信システム、情報処理装置、サーバ、及び情報処理方法 |
US7933273B2 (en) * | 2007-07-27 | 2011-04-26 | Sony Computer Entertainment Inc. | Cooperative NAT behavior discovery |
CN101599992A (zh) * | 2009-05-27 | 2009-12-09 | 南京欣网视讯科技股份有限公司 | 基于sip的p2pnat穿越解决方案 |
US8761170B2 (en) * | 2010-10-07 | 2014-06-24 | Panasonic Corporation | Communication device, communication method, integrated circuit, and program |
CN104363312B (zh) * | 2014-11-14 | 2018-07-13 | 浙江宇视科技有限公司 | 一种简洁高效的nat打洞方法和装置 |
-
2015
- 2015-06-23 TW TW104120068A patent/TWI558149B/zh active
-
2016
- 2016-04-11 CN CN201610221662.0A patent/CN106302847B/zh active Active
- 2016-04-26 US US15/139,310 patent/US10079802B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912046B2 (en) * | 2005-02-11 | 2011-03-22 | Microsoft Corporation | Automated NAT traversal for peer-to-peer networks |
US7962627B2 (en) * | 2008-12-04 | 2011-06-14 | Microsoft Corporation | Peer-to-peer network address translator (NAT) traversal techniques |
TW201521392A (zh) * | 2013-11-29 | 2015-06-01 | Vivotek Inc | 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統 |
TW201532414A (zh) * | 2014-02-14 | 2015-08-16 | Amostek Inc | 應用於網路第二層之點對點連線系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160380964A1 (en) | 2016-12-29 |
CN106302847A (zh) | 2017-01-04 |
CN106302847B (zh) | 2019-03-29 |
TW201701635A (zh) | 2017-01-01 |
US10079802B2 (en) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI558149B (zh) | 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統 | |
CN105376299B (zh) | 一种网络通信方法、设备及网络附属存储设备 | |
TWI441493B (zh) | 網路位址轉換的系統與方法 | |
CN100464540C (zh) | 一种跨网关通信的方法 | |
JP2004229299A (ja) | 相異なる私設網に位置したネットワーク装置間の通信を支援するネットワーク接続装置 | |
US10110711B2 (en) | Split network address translation | |
US20120099599A1 (en) | Method and Apparatus for Relaying Packets | |
JP4766976B2 (ja) | ノード間接続方法及び装置 | |
JP2010503300A (ja) | Sipプロトコルに準拠する信号メッセージのためのnatアドレス変換装置のトラバーサル | |
TW201537917A (zh) | 會談感知的網路位址轉換穿透方法 | |
JP2009010606A (ja) | トンネル接続システム、トンネル管理サーバ、トンネル接続装置、及びトンネル接続方法 | |
WO2016095751A1 (zh) | 一种域名解析方法及装置 | |
JP4718638B2 (ja) | Tcp/ip基盤のアドレス変更方法及び装置 | |
JP3928664B2 (ja) | アドレス変換装置、メッセージ処理方法および装置 | |
Trammell et al. | Report from the IAB workshop on stack evolution in a middlebox Internet (SEMI) | |
TWI512527B (zh) | 進階域名系統之雙邊防火牆穿越法 | |
JP5054666B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム | |
TWI574536B (zh) | Domain name resolution using web address translation | |
JP5084716B2 (ja) | Vpn接続装置、dnsパケット制御方法、及びプログラム | |
CN103457823A (zh) | 双栈协议桥接拨号的实现方法 | |
TWI559719B (zh) | Point-to-point connection through the symmetric network address translation of the network communication system | |
JP3928663B2 (ja) | アドレス変換装置、メッセージ処理方法および装置 | |
JP3928662B2 (ja) | アドレス変換装置、メッセージ処理方法および装置 | |
JP4793477B2 (ja) | アドレス変換装置、メッセージ処理方法および装置 | |
JP5904965B2 (ja) | 通信装置及び通信システム |