TWI523471B - 進階域名系統之中繼伺服器傳輸方法 - Google Patents

進階域名系統之中繼伺服器傳輸方法 Download PDF

Info

Publication number
TWI523471B
TWI523471B TW103111387A TW103111387A TWI523471B TW I523471 B TWI523471 B TW I523471B TW 103111387 A TW103111387 A TW 103111387A TW 103111387 A TW103111387 A TW 103111387A TW I523471 B TWI523471 B TW I523471B
Authority
TW
Taiwan
Prior art keywords
adns
module
server
sends
packet
Prior art date
Application number
TW103111387A
Other languages
English (en)
Other versions
TW201537935A (zh
Inventor
黃紹華
葉政育
陳冠霖
鍾耀興
黃啓榮
沈立得
張舜傑
姚秉志
朱召平
古甯允
林子閎
葉明哲
Original Assignee
國立臺北科技大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 國立臺北科技大學 filed Critical 國立臺北科技大學
Priority to TW103111387A priority Critical patent/TWI523471B/zh
Priority to US14/244,377 priority patent/US20150281174A1/en
Publication of TW201537935A publication Critical patent/TW201537935A/zh
Application granted granted Critical
Publication of TWI523471B publication Critical patent/TWI523471B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

進階域名系統之中繼伺服器傳輸方法
本發明有關於一種進階域名系統處理網路傳輸協定(Communications Protocol)的應用層(Application layer)各IP協定在傳輸層(Transport Layer)的傳輸控制協議(Transmission Control Protocol,TCP)與用戶數據報協議(User Datagram Protocol,UDP)之間傳送資料的方法,尤其是指在個人電腦與伺服器之間提供中繼伺服器而傳輸資料的方法。
域名系統(Domain Name System,DNS)是一套既有的系統,可以將網路域名轉換為IP位址。如圖1所示,個人電腦1的域名為UA,伺服器2的域名為UB,個人電腦1欲與伺服器2連線時,先向DNS伺服器13查詢UB的對應IP位址(步驟1),DNS伺服器13則回覆UB的IP位址給個人電腦1(步驟2),然後個人電腦1用UB的IP位址與伺服器2連線(步驟3)。
動態域名系統(Dynamic Domain Name System,DDNS)是一套既有的系統,可以將網路域名轉換為動態的IP位址。如圖2所示,個人電腦1的域名為UA,伺服器2的域名為UB,但兩者的IP位址都不是固定的。因此個人電腦1必須定期向DDNS伺服器14報告其最新的IP位址(步驟1),DDNS伺服器14則確認個人電腦1新的IP位址(步驟2)。伺服器2必須定期向DDNS伺服器14報告其最新的IP位址(步驟3),DDNS伺服器14則確認伺服器2新的IP位址(步驟4)。個人電腦1欲與伺服器2連線時,先向DDNS伺服器14查詢UB的最新IP位址(步驟5),DDNS伺服器14 則回覆UB的最新IP位址給個人電腦1(步驟6),然後個人電腦1用UB的最新IP位址與伺服器2連線(步驟7)。
但若個人電腦1與伺服器2都分別設置了NAT(Network Address Translator)防火牆,則即使個人電腦1從DDNS14取得伺服器2域名UB的最新IP位址,仍然無法與伺服器2連線。
網路傳輸協定(Communications Protocol)分五層,即實體層、資料鏈接層、網路層、傳輸層與應用層,本案與傳輸層、應用層有關。在應用層中有HTTP(超文字傳輸協定,HyperText Transfer Protocol)、RTSP(即時串流協定,Real Time Streaming Protocol)、SIP(會話發起協議,Session Initiation Protocol)等IP協定,在傳輸層中有TCP(傳輸控制協議,Transmission Control Protocol)與UDP(用戶數據報協議,User Datagram Protocol)等。TCP是一種可靠的通道傳輸,UDP是不可靠的通道傳輸。需可靠傳輸的協定如HTTP、RTSP等通常會在TCP上傳輸資料,若要在UDP上傳輸,則需要在UDP上實作出可靠的傳輸方法。
請見圖3,個人電腦1取得伺服器2域名UB的最新IP位址後與伺服器2作HTTP通訊時,必須先經過三次交握(Three-way Handshaking),即個人電腦1先發出SYN訊息給伺服器2的i埠,伺服器2的i埠收到後,回送SYN-ACK訊息給個人電腦1表示收到,個人電腦1再傳送ACK訊息給伺服器2的i埠,表示完成三次交握。然後個人電腦1送出HTTP GET封包給伺服器2,伺服器2收到後回傳HTTP 200 OK封包給個人電腦1,表示送達封包。
請見圖4,若個人電腦1與伺服器2都設置了NAT(Network Address Translator)防火牆,分別以NAT防火牆3與NAT防火牆4表示。NAT防火牆3與NAT防火牆4使個人電腦1與伺服器2無法作三次交握與HTTP通訊。
本發明的目的在提供一種進階域名系統,用以處理網路傳輸協定(Communications Protocol)的應用層(Application layer)各IP協定能在傳輸層(Transport Layer)的傳輸控制協議(Transmission Control Protocol,TCP)與用戶數據報協議(User Datagram Protocol,UDP)之間傳送資料,尤其是指在個人電腦與伺服器之間提供中繼伺服器而傳輸資料的方法。
本發明的系統如下所述:一個人電腦;一伺服器;一ADNS(進階域名系統)伺服器,置於個人電腦與伺服器之間;一第一NAT防火牆,置於個人電腦與ADNS伺服器之間;一第二NAT防火牆,置於ADNS伺服器與伺服器之間;一第一ADNS模組,置於個人電腦與第一NAT防火牆之間;一第二ADNS模組,置於第二NAT防火牆與伺服器之間;一中繼伺服器,置於第一NAT防火牆與第二NAT防火牆之間;在第一ADNS模組、第一NAT防火牆、ADNS伺服器、中繼伺服器、第二NAT防火牆與第二ADNS模組之間的通道是UDP(用戶數據報協議)通道;在個人電腦與第一ADNS模組之間以及第二ADNS模組與伺服器之間則是TCP(傳輸控制協議)通道或UDP通道。
本發明的傳輸方法步驟如下所述:a. 個人電腦首先發出一Setup訊息給第一ADNS模組,表示開始進行與伺服器的資料傳輸;b. 然後第一ADNS模組以多次Register訊息經第一NAT防火牆給ADNS伺服器,進行多次的註冊;c. 伺服器提供了N個通訊服務埠口,發出一SetServicePort訊息給第二ADNS模組,表示可以提供服務;伺服器接著發出一Setup訊息給第二ADNS模組,表示開始進行與個人電腦的資料傳輸;d. 然後第二ADNS模組以多次Register訊息經第二NAT防火牆給ADNS伺服器,進行多次的註冊;e. 此後個人電腦發出GetInfo訊息給第一ADNS模組,表示想要獲得 伺服器一域名的IP;f. 第一ADNS模組發出Invite訊息給ADNS伺服器,ADNS伺服器則回以Relay IP訊息,將中繼伺服器的IP送給第一ADNS模組,表示用中繼伺服器的IP代替伺服器域名的IP;g. ADNS伺服器並對第二ADNS模組發送Invite訊息與Relay IP訊息,對伺服器表示用中繼伺服器的IP代替個人電腦一域名的IP;h. 第一ADNS模組與第二ADNS模組都對中繼伺服器發出Peer訊息,表示可以達成穿越第一NAT防火牆與第二NAT防火牆;i. 中繼伺服器則對第一ADNS模組與第二ADNS模組都發出Peer OK訊息,表示可以為個人電腦與伺服器作資料傳輸;j. 接著第一ADNS模組發出Get訊息給中繼伺服器,中繼伺服器將Get訊息送給第二ADNS模組,意圖取得伺服器的通訊服務埠口;k. 第二ADNS模組則將伺服器所提供的N個通訊服務埠口提供給中繼伺服器,再由中繼伺服器轉送第一ADNS模組,使第一ADNS模組也對應開通N個通訊服務埠口;l. 第一ADNS模組發出Give Local IP訊息給個人電腦,假稱伺服器域名的IP是一本地的IP;m. 個人電腦與第一ADNS模組之間進行三次交握,然後第一ADNS模組發出Notify connect訊息送至中繼伺服器,再由中繼伺服器轉送第二ADNS模組,促使第二ADNS模組與伺服器之間進行三次交握;n. 第二ADNS模組送出Notify FINE訊息給中繼伺服器,中繼伺服器再將Notify FINE訊息送給第一ADNS模組,表示準備妥當,可以接受封包;o. 個人電腦送出IP GET封包給第一ADNS模組,由第一ADNS模組保持;p. 第一ADNS模組將IP GET封包送給中繼伺服器,中繼伺服器將IP GET封包送給第二ADNS模組; q. 第二ADNS模組將IP GET封包送給伺服器;r. 伺服器回送IP 200 OK封包給第二ADNS模組;s. 第二ADNS模組將IP 200 OK封包送給中繼伺服器,再由中繼伺服器轉送第一ADNS模組;t. 第一ADNS模組將IP 200 OK封包送給個人電腦,表示送達IP封包。
上述o步驟與r步驟中必須經過一道轉換程序如下所述:若是TCP通道傳來的資料(如IP GET封包、IP 200 OK封包)則送至一第一編號標頭,將傳來的資料賦予一個識別編號標頭,然後送入一UDT(基於UDP的數據傳輸協議,一種可在UDP上實作出可靠傳輸的方法)函式庫,UDT函式庫會將TCP通道傳來的資料加上UDT標頭,並藉由UDT的可靠機制,讓該資料在UDP通道上傳輸;若是UDP通道傳來的資料則送至一第二編號標頭,將傳來的資料賦予一個識別編號標頭,然後直接送入UDP通道。
上述q步驟與t步驟中必須經過一道轉換程序如下所述:UDP通道傳來的資料(如IP GET封包、IP 200 OK封包)經判斷是否為UDT封包,若有UDT標頭則是UDT封包,送入UDT函式庫,除掉UDT標頭,取得資料封包,然後經過第一編號標頭除掉識別編號標頭,並根據識別編號,將資料送入對應的TCP通道;若沒有UDT標頭則是UDP封包,送入第二編號標頭除掉識別編號標頭,而送入對應的UDP通道。
上述UDT函式庫可由http://udt.sourceforge.net/software.html網站下載而使用。
1‧‧‧個人電腦
2‧‧‧伺服器
3‧‧‧NAT防火牆
4‧‧‧NAT防火牆
5‧‧‧ADNS伺服器
6‧‧‧ADNS模組
7‧‧‧ADNS模組
8‧‧‧TCP轉換器
9‧‧‧UDP轉換器
10‧‧‧編號標頭
11‧‧‧UDT函式庫
12‧‧‧編號標頭
13‧‧‧DNS伺服器
14‧‧‧DDNS伺服器
15‧‧‧中繼伺服器
圖1為域名系統(Domain Name System,DNS)示意圖。
圖2為動態域名系統(Dynamic Domain Name System,DDNS)示意圖。
圖3為個人電腦與伺服器作HTTP通訊時經過三次交握示意圖。
圖4為個人電腦與伺服器之間設置NAT防火牆示意圖。
圖5為本發明進階域名系統(Advanced Domain Name System,ADNS)加上NAT防火牆與中繼伺服器而傳輸資料的示意圖。
圖6為本發明實施例示意圖。
圖7為本發明實施例示意續圖。
圖8為UDP通道對UDP通道傳輸示意圖。
圖9說明由TCP通道或UDP通道轉成UDP通道的過程。
圖10說明由UDP通道轉成TCP通道或UDP通道的過程。
請見圖5,其為本發明進階域名系統(Advanced Domain Name System,ADNS)加上NAT防火牆與中繼伺服器而傳輸資料的示意圖。個人電腦1與伺服器2各自設置NAT防火牆3與NAT防火牆4,個人電腦1與伺服器2必須定期向ADNS伺服器5報告其等之域名UA與UB的IP(步驟1與2)。當個人電腦1欲與伺服器2連線時,先向ADNS伺服器5查得UB的IP(步驟3),然後經由ADNS模組6、中繼伺服器15、ADNS模組7而傳輸資料。
請見圖6,個人電腦1與伺服器2各自設置NAT防火牆3與NAT防火牆4,本發明在NAT防火牆3與NAT防火牆4之間設置一個ADNS(Advanced Domain Name System,進階域名系統)伺服器5與一個中繼伺服器15,在個人電腦1與NAT防火牆3之間設置一個ADNS模組6,在NAT防火牆4與伺服器2之間也設置一個ADNS模組7。ADNS模組6與ADNS模組7都是軟體程式的形態,分別置於個人電腦1與伺服器2中,與ADNS伺服器5及中繼伺服器15聯合解決資料傳輸的問題,同時處理HTTP、RTSP與SIP等IP協定在TCP與UDP之間傳送時的轉換動作。
圖6中,在ADNS模組6、NAT防火牆3、ADNS伺服器5、中繼伺服器15、NAT防火牆4與ADNS模組7之間的通道是UDP通道,在個人電腦1與ADNS模組6之間以及ADNS模組7與伺服器2之間則是TCP通道。
請見圖6,ADNS模組6的域名為個人電腦1的域名UA,ADNS模組7的域名為伺服器2的域名UB。個人電腦1首先發出一Setup訊息給ADNS模組6,表示開始進行與伺服器2的資料傳輸。然後ADNS模組6發出一Register UA訊息經NAT防火牆3給ADNS伺服器5,ADNS伺服器5則回以一Register UA OK訊息經NAT防火牆3至ADNS模組6。如此進行多次的註冊動作(這就是圖5步驟1)。
同時伺服器2提供了三個通訊服務埠口i、ii、iii,發出一SetServicePort(i、ii、iii)訊息給ADNS模組7,表示可以提供服務。伺服器2接著發出一Setup訊息給ADNS模組7,表示開始進行與個人電腦1的資料傳輸。然後ADNS模組7發出一Register UB訊息經NAT防火牆4給ADNS伺服器5,ADNS伺服器5則回以一Register UB OK訊息經NAT防火牆4至ADNS模組7。如此進行多次的註冊動作(這就是圖5步驟2)。
此後個人電腦1發出GetInfo(UB)訊息給ADNS模組6,表示想要獲得伺服器2域名UB的IP位置。ADNS模組6則發出Invite UB訊息給ADNS伺服器5,ADNS伺服器5則回以Relay IP訊息,將中繼伺服器15的IP送給ADNS模組6(這就是圖5步驟3),表示用中繼伺服器15的IP代替伺服器2域名UB的IP。
ADNS伺服器5並對ADNS模組7發送Invite UB訊息與Relay IP訊息,對伺服器2表示用中繼伺服器15的IP代替個人電腦1域名UA的IP。
接著ADNS模組6與ADNS模組7都對中繼伺服器15發出Peer訊息,表示可以達成穿越NAT防火牆3與NAT防火牆4。中繼伺服器 15則對ADNS模組6與ADNS模組7都發出Peer OK訊息,表示可以為個人電腦1與伺服器2作資料傳輸。
ADNS模組6發出Get訊息給中繼伺服器15,中繼伺服器15將Get訊息送給ADNS模組7,意圖取得伺服器2的通訊服務埠口。ADNS模組7則將伺服器2所提供的三個通訊服務埠口i、ii、iii提供給中繼伺服器15,再由中繼伺服器15轉送ADNS模組6,使ADNS模組6也對應開通三個通訊服務埠口i、ii、iii。ADNS模組6則發出Give Local IP訊息給個人電腦1,假稱伺服器2域名UB的IP位置是一本地的IP。
此時在ADNS模組6與ADNS模組7之間的UDP通道已經經由中繼伺服器15而打通。在個人電腦1與ADNS模組6之間以及ADNS模組7與伺服器2之間則是TCP通道。
請見圖7,個人電腦1根據假稱的本地IP位址,與ADNS模組6之間進行三次交握(Three-way Handshaking),即個人電腦1先發出SYN訊息給ADNS模組6的i埠,ADNS模組6的i埠收到後,回送SYN-ACK訊息給個人電腦1表示收到,個人電腦1再傳送ACK訊息給ADNS模組6的i埠,完成三次交握。
然後ADNS模組6的i埠發出Notify TCP connect訊息送至中繼伺服器15,中繼伺服器15則將Notify TCP connect訊息送至ADNS模組7,促使ADNS模組7與伺服器2的i埠之間進行三次交握(Three-way Handshaking)。
ADNS模組7與伺服器2之間進行三次交握(Three-way Handshaking),即ADNS模組7先發出SYN訊息給伺服器2的i埠,伺服器2的i埠收到後,回送SYN-ACK訊息給ADNS模組7表示收到,ADNS模組7再傳送ACK訊息給伺服器2的i埠,完成三次交握。
ADNS模組7與伺服器2之間完成三次交握後,送出Notify FINE訊息給中繼伺服器15,中繼伺服器15再將Notify FINE訊息送給 ADNS模組6的i埠,表示準備妥當,可以接受封包。
個人電腦1送出HTTP GET封包給ADNS模組6的i埠,由ADNS模組6的i埠保持。
ADNS模組6的i埠將HTTP GET封包送給中繼伺服器15,中繼伺服器15將HTTP GET封包送給ADNS模組7,再由ADNS模組7將HTTP GET封包送給伺服器2的i埠。
伺服器2的i埠回送HTTP 200 OK封包給ADNS模組7,由ADNS模組7將HTTP 200 OK封包送給中繼伺服器15,中繼伺服器15將HTTP 200 OK封包送到ADNS模組6的i埠,再由ADNS模組6將HTTP 200 OK封包送給個人電腦1,表示送達HTTP封包。
三個通訊服務埠口i、ii、iii只是舉例,其實不限於三個。上述以HTTP為例說明,但其他應用層的IP協定例如RTSP、SIP等亦可適用。HTTP GET變成IP GET,HTTP 200 OK變成IP 200 OK即可。
若個人電腦1與ADNS模組6之間,ADNS模組6、中繼伺服器15與ADNS模組7之間,以及ADNS模組7與伺服器2之間都是經由UDP通道(例如SIP協定),則如圖8所示,個人電腦1發出UDP req(請求)封包給ADNS模組6的ii埠,然後傳送到中繼伺服器15,經由ADNS模組7,最後到達伺服器2的ii埠。伺服器2的ii埠則回以UDP res(回應)封包給ADNS模組7,然後傳送到中繼伺服器15,經由ADNS模組6,最後到達個人電腦1,表示送達封包。在ADNS模組6與ADNS模組7處都必須經過轉換。
個人電腦1送出HTTP GET封包給ADNS模組6的i埠,是經由TCP通道,此後若欲經UDP通道傳送HTTP GET封包給中繼伺服器15,必須經過一道轉換程序。同理,伺服器2的i埠回送HTTP 200 OK封包給ADNS模組7,是經由TCP通道,此後若欲經UDP通道傳送HTTP 200 OK封包給中繼伺服器15,同樣必須經過一道轉換程序。
請見圖9的TCP轉換器8與UDP轉換器9,說明在ADNS 模組6中由TCP通道或UDP通道轉成UDP通道的過程。假設個人電腦1有TCP通道n個、UDP通道n個。
由TCP通道傳來的資料送至編號標頭10,將傳來的資料賦 予一個識別編號標頭n,然後送入UDT函式庫11。UDT為「基於UDP的數據傳輸協議」(UDP-based Data Transfer Protocol),為一種可在UDP上實作出可靠傳輸的方法。UDT函式庫11會將TCP通道傳來的資料加上UDT標頭,並藉由UDT的可靠機制,讓該資料在UDP通道上傳輸,如UDP Send所示。UDT函式庫11可由http://udt.sourceforge.net/software.html網站下載而使用。
由UDP通道傳來的資料送至編號標頭12,將傳來的資料賦 予一個識別編號標頭n,然後直接送入UDP通道,如UDP Send所示。
前述ADNS模組6的i埠將HTTP GET封包送給中繼伺服 器15後再送給ADNS模組7,是經由UDP通道,由ADNS模組7將HTTP GET封包送給伺服器2的i埠,是經由TCP通道,這也必須經過一道轉換程序。同理,ADNS模組7將HTTP 200 OK封包送給中繼伺服器15後再送給ADNS模組6的i埠,是經由UDP通道,由ADNS模組6將HTTP 200 OK封包送給個人電腦1,是經由TCP通道,同樣必須經過一道轉換程序。
請見圖10的TCP轉換器8與UDP轉換器9,反向說明在 ADNS模組7中由UDP通道轉成TCP通道或UDP通道的過程。UDP Recv即指ADNS模組7收到封包,然後判斷是否為UDT封包。若有UDT標頭則是UDT封包,送入UDT函式庫11,除掉UDT標頭,取得只帶有識別編號標頭n的資料,然後經過編號標頭10除掉識別編號標頭n,並根據識別編號送入對應的TCP通道其中之一送至伺服器2。若沒有UDT標頭則是UDP封包,送入編號標頭12除掉識別編號標頭n,同樣也根據識別編號送入對應的UDP通道送至伺服器2。
ADNS模組6與ADNS模組7都可以做圖9與圖10的事。
本發明的精神與範圍決定於下面的申請專利範圍,不受限於上述實施例。
1‧‧‧個人電腦
2‧‧‧伺服器
3‧‧‧NAT防火牆
4‧‧‧NAT防火牆
5‧‧‧ADNS伺服器
6‧‧‧ADNS模組
7‧‧‧ADNS模組
15‧‧‧中繼伺服器

Claims (1)

  1. 一種進階域名系統之中繼伺服器傳輸方法,包含:一個人電腦;一伺服器;一ADNS(進階域名系統)伺服器,置於該個人電腦與該伺服器之間;一第一NAT防火牆,置於該個人電腦與該ADNS伺服器之間;一第二NAT防火牆,置於該ADNS伺服器與該伺服器之間;一第一ADNS模組,置於該個人電腦與該第一NAT防火牆之間;一第二ADNS模組,置於該第二NAT防火牆與該伺服器之間;一中繼伺服器,置於該第一NAT防火牆與該第二NAT防火牆之間;在該第一ADNS模組、該第一NAT防火牆、該ADNS伺服器、該中繼伺服器、該第二NAT防火牆與該第二ADNS模組之間的通道是UDP(用戶數據報協議)通道;在該個人電腦與該第一ADNS模組之間以及該第二ADNS模組與該伺服器之間則是TCP(傳輸控制協議)通道或UDP通道;該傳輸方法的步驟如下:a. 該個人電腦首先發出一Setup訊息給該第一ADNS模組,表示開始進行與該伺服器的資料傳輸;b. 然後該第一ADNS模組以多次Register訊息經該第一NAT防火牆給該ADNS伺服器,進行多次的註冊;c. 該伺服器提供了N個通訊服務埠口,發出一SetServicePort訊息給該第二ADNS模組,表示可以提供服務;該伺服器接著發出一Setup訊息給該第二ADNS模組,表示開始進行與該個人電腦的 資料傳輸;d. 然後該第二ADNS模組以多次Register訊息經該第二NAT防火牆給該ADNS伺服器,進行多次的註冊;e. 此後該個人電腦發出GetInfo訊息給該第一ADNS模組,表示想要獲得該伺服器一域名的IP;f. 該第一ADNS模組發出Invite訊息給該ADNS伺服器,該ADNS伺服器則回以Relay IP訊息,將該中繼伺服器的IP送給該第一ADNS模組,表示用該中繼伺服器的IP代替該伺服器域名的IP;g. 該ADNS伺服器並對該第二ADNS模組發送Invite訊息與Relay IP訊息,對該伺服器表示用該中繼伺服器的IP代替該個人電腦一域名的IP;h. 該第一ADNS模組與該第二ADNS模組都對該中繼伺服器發出Peer訊息,表示可以達成穿越該第一NAT防火牆與該第二NAT防火牆;i. 該中繼伺服器則對該第一ADNS模組與該第二ADNS模組都發出Peer OK訊息,表示可以為該個人電腦與該伺服器作資料傳輸;j. 接著該第一ADNS模組發出Get訊息給該中繼伺服器,該中繼伺服器將Get訊息送給該第二ADNS模組,意圖取得該伺服器的通訊服務埠口;k. 該第二ADNS模組則將該伺服器所提供的該N個通訊服務埠口提供給該中繼伺服器,再由該中繼伺服器轉送該第一ADNS模組,使該第一ADNS模組也對應開通N個通訊服務埠口;l. 該第一ADNS模組發出Give Local IP訊息給該個人電腦,假稱該伺服器域名的IP是一本地的IP; m. 該個人電腦與該第一ADNS模組之間進行三次交握,然後該第一ADNS模組發出Notify connect訊息送至該中繼伺服器,再由該中繼伺服器轉送該第二ADNS模組,促使該第二ADNS模組與該伺服器之間進行三次交握;n. 該第二ADNS模組送出Notify FINE訊息給該中繼伺服器,該中繼伺服器再將Notify FINE訊息送給該第一ADNS模組,表示準備妥當,可以接受封包;o. 該個人電腦送出IP GET封包給該第一ADNS模組,由該第一ADNS模組保持;p. 該第一ADNS模組將IP GET封包送給該中繼伺服器,該中繼伺服器將IP GET封包送給該第二ADNS模組;q. 該第二ADNS模組將IP GET封包送給該伺服器;r. 該伺服器回送IP 200 OK封包給該第二ADNS模組;s. 該第二ADNS模組將IP 200 OK封包送給該中繼伺服器,再由該中繼伺服器轉送該第一ADNS模組;t. 該第一ADNS模組將IP 200 OK封包送給該個人電腦,表示送達IP封包;其中o步驟與r步驟中必須經過一道轉換程序如下所述:若是TCP通道傳來的資料(如IP GET封包、IP 200 OK封包)則送至一第一編號標頭,將傳來的資料賦予一個識別編號標頭,然後送入一UDT(基於UDP的數據傳輸協議)函式庫,該UDT函式庫會將TCP通道傳來的資料加上UDT標頭,並藉由UDT的可靠機制,讓該資料在UDP通道上傳輸;若是UDP通道傳來的資料送至一第二編號標頭,將傳來的資料賦予一個識別編號標頭,然後直接送入UDP通道;其中q步驟與t步驟中必須經過一道轉換程序如下所述: UDP通道傳來的資料(如IP GET封包、IP 200 OK封包)經判斷是否為UDT封包,若有UDT標頭則是UDT封包,送入該UDT函式庫,除掉UDT標頭,取得資料封包,然後經過該第一編號標頭除掉識別編號標頭,並根據識別編號,將資料送入對應的TCP通道;若沒有UDT標頭則是UDP封包,送入該第二編號標頭除掉識別編號標頭,而送入對應的UDP通道。
TW103111387A 2014-03-27 2014-03-27 進階域名系統之中繼伺服器傳輸方法 TWI523471B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103111387A TWI523471B (zh) 2014-03-27 2014-03-27 進階域名系統之中繼伺服器傳輸方法
US14/244,377 US20150281174A1 (en) 2014-03-27 2014-04-03 Method of transmitting by relay server for advanced domain name system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103111387A TWI523471B (zh) 2014-03-27 2014-03-27 進階域名系統之中繼伺服器傳輸方法

Publications (2)

Publication Number Publication Date
TW201537935A TW201537935A (zh) 2015-10-01
TWI523471B true TWI523471B (zh) 2016-02-21

Family

ID=54191983

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103111387A TWI523471B (zh) 2014-03-27 2014-03-27 進階域名系統之中繼伺服器傳輸方法

Country Status (2)

Country Link
US (1) US20150281174A1 (zh)
TW (1) TWI523471B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9762508B2 (en) * 2014-10-02 2017-09-12 Microsoft Technology Licensing, Llc Relay optimization using software defined networking
ES2842976T3 (es) 2018-11-16 2021-07-15 Advanced New Technologies Co Ltd Un esquema de gestión de nombres de dominio para interacciones entre cadenas en sistemas de cadena de bloques
JP6699861B2 (ja) * 2018-11-16 2020-05-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンシステム内でドメイン名方式を使用するクロスチェーン相互作用
US10833972B2 (en) * 2018-11-30 2020-11-10 Dispersive Networks, Inc. Automatically selecting an optimized communication channel for communications with a deflect in an overlay network
CN111917784B (zh) * 2020-08-06 2022-09-23 湖北盈诺网络科技有限公司 一种不同于Web服务器应用的安全互联互通协议方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063843A2 (en) * 2003-01-15 2004-07-29 Matsushita Electric Industrial Co., Ltd. PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS
TW201029413A (en) * 2009-01-21 2010-08-01 Univ Nat Taipei Technology NAT traversal method in Session Initial Protocol
JP5580706B2 (ja) * 2010-09-29 2014-08-27 Kddi株式会社 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法

Also Published As

Publication number Publication date
TW201537935A (zh) 2015-10-01
US20150281174A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
TWI523471B (zh) 進階域名系統之中繼伺服器傳輸方法
US8462800B2 (en) Gateway device and port number assignment method
EP2449749B1 (en) Method and apparatus for relaying packets
US20050066038A1 (en) Session control system, communication terminal and servers
JP5437255B2 (ja) Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法
US20060187912A1 (en) Method and apparatus for server-side NAT detection
US9736316B2 (en) Network address translation traversal system and method for real-time communications
TWI558149B (zh) 用於多層網路位址轉譯器結構之網路傳輸方法及網路傳輸系統
JP4920021B2 (ja) 移動体通信システムにおける通信経路設定方法、無線基地局装置及び無線端末装置
TWI512527B (zh) 進階域名系統之雙邊防火牆穿越法
US20090092132A1 (en) Method and device for translating internet protocol addresses inside a communications network
KR101049549B1 (ko) Sip를 이용한 udp 홀 펀칭 방법 및 이를 이용한 단말관리 시스템 및 단말 관리 방법
CN102377834B (zh) 网络地址转换设备及通信方法
JP3928664B2 (ja) アドレス変換装置、メッセージ処理方法および装置
JP2006211601A (ja) アドレス変換装置
WO2014180415A1 (zh) 媒体流报文的nat穿越方法、mdu及iptv系统
JP3928663B2 (ja) アドレス変換装置、メッセージ処理方法および装置
JP3928662B2 (ja) アドレス変換装置、メッセージ処理方法および装置
JP4350030B2 (ja) アドレス変換方法
JP4350029B2 (ja) アドレス変換システム
JP2004165823A (ja) Ipアドレス変換装置
JP5023672B2 (ja) パケット中継装置
GB2609174A (en) Peer-to-peer communication among end user devices
WO2018142526A1 (ja) 中継装置、通信システム、及び通信方法
TWI448184B (zh) 改良式sip通訊協定

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees