TWI441493B - 網路位址轉換的系統與方法 - Google Patents
網路位址轉換的系統與方法 Download PDFInfo
- Publication number
- TWI441493B TWI441493B TW096145011A TW96145011A TWI441493B TW I441493 B TWI441493 B TW I441493B TW 096145011 A TW096145011 A TW 096145011A TW 96145011 A TW96145011 A TW 96145011A TW I441493 B TWI441493 B TW I441493B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- nat
- address
- server
- nat device
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本發明係關於一網路位址轉換(Network Address Translation)的系統與方法。尤係關於一種透通式(transparent)雙邊網路位址轉換的系統與方法。
網路位址轉換器(Network Address Translator,NAT)經由分享相同的公開(public)網際網路通訊協定(Internet Protocol,IP)位址(address)的技術來減緩IPv4位址空間(address space)不足的問題。NAT基本上是在路由器(router)中進行一個轉換IP標頭(header)的動作,讓多台電腦系統能共用一個IP連上網際網路(internet)的技術。由於網路位址轉換對外只使用一個IP位址,即公開IP位址(public IP address),而內部是使用內部IP位址(private IP address)。因此,只要少數公開IP位址就能讓本地的(local)所有電腦系統都可以連上網際網路。
在一NAT中,可重複使用(reusable)部分IPv4的位址,這些可重複使用的位址稱為內部的IP位址,用來區別全域(globally)之唯一的(unique)公開IP位址。NAT內部的多台主機(hosts behind NAT)可以使用內部的IP位址來形成一內部網路,並透過NAT的位址/連接埠(port)的轉換來共同分享使用一或少數個公開IP位址。
在一NAT中,有一個IP對映表(mapping table)來記錄公開IP位址/連接埠與內部IP位址/連接埠之間的轉換規則。此轉換規則引導此NAT轉換內送與外送封包時的交通。如此,同一個內部IP位址可以在不同的內部網路裡使用,而IPv4位址空間不足的問題也獲得紓解。
第一圖是一台NAT內部的主機透過NAT來與外部網際網路伺服器主機(web server host)溝通的一個範例示意圖。參考第一圖,NAT設備101後端的內部主機103將透過NAT設備101,傳輸一外送封包(outbound packet)至外部的網際網路上的伺服器主機105。NAT設備101必須在外送封包被送至網際網路之前,先將此外送封包的主機來源位址(source IP address)從內部IP位址(例如192.168.50.100)轉換至公開IP位址(例如140.116.177.55)。之後,NAT設備101的NAT IP對映表110就已記錄此外送封包的IP位址和來源位址與目的位址(destination IP address)的連接埠號碼(port number),此對應記錄例如是[192.168.50.100:44244=>168.95.1.1:80]。
當NAT設備101收到來自網際網路上的伺服器主機105的一個內送封包(inbound packet)時,NAT設備101根據NAT IP對映表110,將內送封包的目的位址(即140.116.177.55)轉換為相對應的內部IP位址(即192.168.50.100)。如果NAT IP對映表110內沒有此對應的內部IP位址,則NAT設備101會丟棄內送封包。
NAT設備一般可分為兩群。一群為錐型NAT(Cone NAT),另一群為對稱型NAT(Symmetric NAT)。此兩群的不同處在於外送封包的連接埠號碼的對應規則(mapping rule of port number)。錐型NAT的一公開IP位址/連接埠可對應到多個內部IP位址/連接埠;對稱型NAT將轉換規則限制為一對一對應(one to one mapping)。
錐型NAT可再分為完全錐型NAT(Full-Cone NAT)、受限錐型NAT(Restricted-Cone NAT)與連接埠受限錐型NAT(Port Restricted-Cone NAT)。此三者主要的不同處在於NAT設備過濾內送封包的方式。
第二A圖是一個示意圖,說明完全錐型NAT的一個範例運作方式。參考第二A圖,在完全錐型NAT設備201後端的主機A與公用網路(pub1ic network)上的主機C連接。完全錐型NAT設備201先將主機A之封包的內部NAT的內部位址暨連接埠號碼[IPa,Pa]轉換成公開IP位址暨連接埠[IPna,Pa]。NAT設備201再將此公開IP位址暨連接埠[IPna,Pa]與外部NAT主機C的公開IP位址暨連接埠[IPc,Pc]結合,成為[IPna,Pa:IPc,Pc]。如此,公用網路上的主機B與主機D就可以透過公開IP位址暨連接埠[IPna,Pa],完全錐型NAT設備201就會將封包傳送至NAT設備201後端的主機A。
第二B圖是一個示意圖,說明受限錐型NAT的一個範例運作方式。受限錐型NAT設備211與完全錐型NAT的運作方式大致相似,不同處僅在於受限錐型NAT限制特定的來源IP位址。如第二B圖所示1
,也只有此公用網路上的主機C能和NAT設備211後端的主機A建立連線,即是使公用網路上的主機C將連接埠號碼從Pc改成Pc。事實上,公用網路上的主機B與主機D是不可以和主機A建立連線的。受限錐型NAT可以提供NAT內部主機額外的隱私和保護。
第二C圖是一個示意圖,說明連接埠受限錐型NAT的一個範例運作方式。連接埠受限錐型NAT的運作比上述NAT形態的限制更多。參考第二C圖,如果將公用網路上的主機C的連接埠號碼從Pc改為Pc1
,則會因為連接埠受限錐型NAT設備221對連接埠號碼改變的關係,要傳送至NAT設備221後端之主機A的封包會被NAT設備221丟棄。
第二D圖是一個示意圖,說明對稱型NAT的一個範例運作方式。對稱型NAT與連接埠受限錐型NAT的運作不同處在於外送封包之連接埠號碼的相綁規則(binding rule)。參考第二D圖,在對稱型NAT中,每一網路連線(network connection)有不同的連接埠號碼的相綁條款。例如,對稱型NAT設備231後端之主機A的封包A以公開IP位址暨連接埠號碼[IPna,Pa]傳送封包至外部NAT的主機C且與外部NAT主機C的公開IP位址暨連接埠[IPc,Pc]結合後,主機C相對以位址IPc暨連接埠號碼Pc回送封包給NAT設備231後端的主機A。
雖然NAT容許主機重複使用相同的IP位址,但也帶來負面效應。例如,透過駐留NAT中的IP對映表,NAT將內部IP位址轉換成公開IP位址。因為沒有NAT中IP對映表的轉換規則,公用網路上的主機不能主動的與內部網路的主機建立一開始的連線,而且起始的主機(originating host)也不知道另一端的身份(identity)。導致只有內部網路的主機才能建立一開始的連線。當NAT設備收到來自內部主機的外送封包時,NAT設備將外送封包的IP來源位址從內部IP位址轉換成公開IP位址。
為了分辨內部內部網路的主機,NAT設備會指配連接埠號碼給每一個不同區段的外送封包。然後,NAT設備可以在外部與內部主機中正確地傳送封包。只有NAT設備後端的主機才能當連線的起始端,意指在NAT設備後端去定位伺服器是禁止的。也意味著位於不同的NAT之後端的主機也是無法建立連線的。此會破壞網際網路裡端對端(end-to-end)的連線模型(connectivity model)。如果伺服端或是兩端的主機都位於內部網路裡,並且由於部署了NAT而妨礙應用服務的話,那麼就不能承繼網路的應用。
為了解決上述位於不同NAT設備後端的主機無法連線的問題,一般可透過外部伺服器的轉送法(relay approach)與打洞法(hole punching approach)來解決。轉送法,是典型的轉寄NAT來穿透的方法,此法是利用位於公用網路的轉送伺服器來解決轉送,在每一端的主機與位於公用網路的轉送伺服器建立連線後,所有的封包由此伺服器來轉送。如此,使旅遊的資料路徑會耗費額外的網路資源,且封包傳遞也會花費較長的傳送時間。
打洞法是讓NAT設備後端的主機直接連線。此方法是在建立連線之前,兩端主機都送出一個封包去向NAT的轉換表做註冊的動作。例如,透過NAT與傳輸控制通訊協定(Transmission Control Protocol,TCP)之用戶資料元協定(User Datagram Protocol,UDP)的簡單旅遊(Simple Traversal of UDP through NATs and TCP)是常見的打洞法。在直接TCP連線之前,TCP連線的兩端先同時送出SYN封包給其另一端。此打洞法定義了其特定的協調程序(coordinate processes)。雖然此法是穿越NAT的有效方法,但是需要一一去改寫應用程式來適應此協調程序,以整合此技術。
在本揭露的實施範例中,可提供一種網路位址轉換的系統與方法。
在本揭露的一實施範例中,可提供一種網路位址轉換的系統,此系統包含:一伺服器,該伺服器係設置於一公用網路中,接受每一主機的註冊並記錄每一主機與該至少一網路位址轉換器設備的相關資訊;以及一透通式中介軟體,分別執行於每一該主機;其中,當一第一網路位址轉換器設備的一第一主機欲與一第二網路位址轉換器設備的一第二主機建立連線時,該透通式中介軟體透過該伺服器去查詢該第一主機至該第二網路位址轉換器設備之IP位址對映,以及該第二主機至該第一網路位址轉換器設備之IP位址對映,並完成支援該第一主機與該第二主機之建立連線。
在本揭露的另一實施範例中,可提供一種網路位址轉換的方法,此方法包含:一接收端主機與一傳送端主機經由透通式中介軟體分別向伺服器註冊、傳送端主機向伺服器發出要求接收端主機之內部IP位址資訊、伺服器回覆接收端主機的內部IP位址資訊、傳送端主機向伺服器要求接收端NAT設備的IP位址資訊、伺服器回傳接收端NAT設備的IP位址資訊至傳送端主機、以及經由透通式中介軟體,發送傳送端NAT設備的IP位址資訊至接收端主機。
上述揭露的實施範例可應用在NAT設備的主機欲彼此建立連線時。例如,NAT的外部主機欲與NAT的內部主機建立連線,或是不同NAT內部的至少一主機欲彼此建立連線時。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他目的與優點詳述於後。
第三圖是網路位址轉換的系統的一個範例示意圖,並且與本發明中某些實施範例一致。此系統可應用在網路位址轉換器(NAT)設備的主機欲彼此建立連線時。例如,NAT的外部主機欲與NAT的內部主機建立連線,或是不同NAT內部的至少一主機欲彼此建立連線時。
第三圖中,第一主機30A與第二主機30B分別位於第一NAT設備33A的內部與第二NAT設備33B的內部。以第一主機30A與第二主機30B欲建立連線為例來說明。
參考第三圖,此網路位址轉換的系統包含一伺服器35與一透通式中介軟體31,此伺服器35設置於一公用網路中,可接受第一主機30A與第二主機設備30B的註冊,並可記錄每一主機與每一NAT設備的相關資訊。此相關資訊包括如第一主機設備30A與第二主機30B的網域名稱、第一主機30A與第一NAT設備33A的IP位址/連接埠的對應、以及第二主機30B與第二NAT設備33B的IP位址/連接埠的對應。透通式中介軟體31可分別執行於第一主機30A與第二主機30B中。
第三圖之範例中,當第一主機30A與第二主機30B欲彼此建立連線時,第一主機30A與第二主機30B分別執行透通式中介軟體31。透通式中介軟體31透過伺服器35查詢第一主機30A至第二NAT設備33B的IP位址對映,以及第二主機30B至第一NAT設備33A的IP位址對映,並完成支援第一主機30A與第二主機30B的建立連線。
此系統可應用於第一網路位址轉換器設備不同於第二網路位址轉換器設備,並且第一與第二主機分別是第一與第二網路位址轉換器設備之內部主機。也可以應用於第一網路位址轉換器設備相同於第二網路位址轉換器設備,並且第一與第二主機分別是第一網路位址轉換器設備之外部主機與內部主機。
透通式中介軟體31可以安裝在主機的核心層級(kernel level)或是使用者層級(user level)。當安裝在核心層級時,透通式中介軟體31是將封包驅動程式(packet driver)改寫。當安裝在使用者層級時,透通式中介軟體31可以使用轉換套接(divert socket)程式。
第一主機30A與第二主機30B,例如,可選自一筆記型電腦、一個人電腦、以及一伺服器,或是前述之任一種組合。
第三圖中標號401至406代表網路位址轉換之一個範例運作流程,此範例流程將於第四圖中進一步補充說明。以下同時參考第三圖與第四圖,並一一說明此網路位址轉換的運作流程。
標號401代表進行註冊(register)的動作,也就是說,第一主機30A與第二主機30B分別向伺服器35註冊(register)。此註冊動作讓伺服器35檢查第一主機30A與第二主機30B是否都在線上(online);並且也讓伺服器35檢查第一主機30A與第二主機30B的資訊在伺服器35所在的公用網路上的唯一性(uniqueness)。此資訊例如是IP位址/連接埠與網域名稱等。每一主機以本身的IP位址向任一網域名稱系統(Domain Name System,DNS)註冊一網域名稱(domain name),並以此網域名稱向伺服器35註冊。詳細的註冊範例流程將於第六圖中說明。
標號402代表發出一個查詢第二主機30B之內部IP位址的要求,也就是說,第一主機30A可根據第二主機30B的網域名稱,向伺服器35發出一個查詢第二主機30B之內部IP位址的要求。例如,第一主機30A可以向伺服器35傳送備有第二主機30B之網域名稱的一個DNS要求封包(DNS request packet)。
標號403代表回覆第二主機30B之內部IP位址資訊,也就是說,伺服器35向第一主機30A回覆第二主機30B的內部IP位址資訊。例如,根據第二主機30B的網域名稱,伺服器35可執行一DNS查詢,找出此第二主機30B的內部IP位址與連接埠。
標號404代表發出一個查詢NAT設備之IP位址的要求,也就是說,根據第二主機30B的內部IP位址資訊,第一主機30A內的透通式中介軟體31向伺服器35發出一個查詢NAT設備之IP位址的要求。例如,透通式中介軟體31可發出一IP查詢要求(IP lookup query)封包,此IP查詢要求封包的資訊可包含第二主機30B的內部IP位址與連接埠。
如果是在TCP資料傳輸模式的範例下時,第一主機30A收到伺服器35之DNS回覆後(如步驟403所示),會傳送包含第二主機之內部IP位址資訊的一同步封包(SYN packet)至第二主機30B。所以,前述之IP查詢要求封包也可包含第一主機30A發出之SYN封包的資訊,例如,TCP封包序號等,此詳細範例流程將於第七圖中說明。
標號405代表回傳第二NAT設備33B之IP位址,也就是說,伺服器35回傳第二NAT設備33B之IP位址至第一主機30A。例如,伺服器35可回傳一IP查詢回覆(IP lookup reply)封包至第一主機設備30A之透通式中介軟體31,並告知第二NAT設備33B的IP位址資訊。
標號406代表回傳第一NAT設備33A的IP位址資訊,也就是說,伺服器35回傳第一NAT設備33A的IP位址資訊至第二主機30B。例如,伺服器35可回傳一IP查詢回覆封包至第一主機30A,同時也傳送一連線請求封包(connect request packet)至第二主機30B。此連線請求封包可包含第一NAT設備33A的IP位址/連接埠等資訊,也可以再包括第一主機30A發出之SYN封包的資訊。
上述標號401至406執行的步驟說明了第三圖中透通式雙邊NAT系統的實施範例如何支援在兩台NAT設備內部的傳送端主機與接收端主機的連線過程。
換句話說,此連線過程的支援可包含:接收端主機與傳送端主機經由透通式中介軟體分別向伺服器註冊、傳送端主機向伺服器發出要求接收端主機之內部IP位址資訊、伺服器回覆接收端主機的內部IP位址資訊、傳送端主機向伺服器要求接收端NAT設備的IP位址資訊、伺服器回傳接收端NAT設備的IP位址資訊至傳送端主機、以及經由透通式中介軟體,發送傳送端NAT設備的IP位址資訊至接收端主機。
完成上述標號401至406執行的步驟後,第一NAT設備33A之第一主機30A與第二NAT設備33B之第二主機30B成功地建立連線。第一主機30A與第二主機30B就可以直接互相傳送資料。
如此,第一主機30A內的透通式中介軟體31記錄了第二主機30B的內部IP位址/連接埠與第二NAT設備33B之IP位址/連接埠的轉換對映。同樣地,第二主機30B內的透通式中介軟體31記錄了第一主機30A的內部IP位址/連接埠與第一NAT設備33A之IP位址/連接埠的轉換對映。
根據本揭露的實施範例,第一主機30A與第二主機30B可分別執行透通式中介軟體31,第一主機30A與第二主機30B上原本執行的架構與應用程式,例如主從架構(client/server)與點對點(Peer-to-Peer,P2P)等架構,也都無需改寫,就可直接連線。
如果是在網路封包以TCP模式傳送的範例下時,則第一主機30A與第二主機30B可以完成TCP之三向交握(3-way handshake)協定來建立連線確認。第五圖是TCP之三向交握(3-way handshake)協定的一個範例示意圖,並且與本發明中某些實施範例一致。
參考第五圖,繼標號405的動作執行後,也就是第一主機30A收到第二NAT設備33B之IP位址資訊後,第一主機30A可以傳送一低值的存活時間(Time To Live,TTL)的初始同步封包至第二NAT設備33B,此SYN封包可用“SYN(X,low TTL)”來表示,其中X代表TCP封包的序號(sequence number)。由於初始SYN封包的存活時間很短,因此,第一主機30A會收到一個超過存活時間之網際網路控制訊息通訊協定(Internet Control Message Protocol,ICMP)封包,此封包可用“ICMP(TTL-exceeded)”來表示。
第一主機30A再發出一個壓縮的同步封包“Encapsulated SYN(X)”,此壓縮的同步封包含有初始SYN封包的序號X,並透過伺服器35傳送至第二主機30B。第二主機30B之透通式中介軟體31收到此要求封包時,會根據初始SYN封包的序號X,產生一個具有序號X的通知SYN封包“Issue SYN(X)”並傳送至第二主機30B的TCP層,如標號501所示。
第二主機30B的應用層(AP layer)接收到SYN封包後會自動再傳送一個同步確認(SYNACK)封包“SYNACK(Y,X+1)”至第一主機30A。SYNACK封包內含有第二主機30B之TCP協定序號Y、以及SYN封包之序號X+1等資訊。
第一主機30A收到“SYNACK(Y,X+1)”封包後,回覆一個確認(ACK)封包至第二主機30B。如此,完成了TCP之三向交握協定。
根據本揭露的實施範例,此TCP之三向交握協定中標號501的動作裡,第二主機30B之透通式中介軟體31產生具有序號X的通知SYN封包“Issue SYN(X)”並傳至TCP層時,此“Issue SYN(X)”封包可以不需透過外部網路來傳送,也就是說,可以不被外部網際網路服務供應商(Internet Service Provider,ISP)之路由器所過濾。
第六圖以第一主機為例,說明向伺服器註冊的一個範例流程。以下同時參考第三圖,並說明此註冊範例的流程步驟,分別以標號601至603來表示。
在步驟601中,向伺服器35傳送第一主機30A的註冊相關資訊。第一主機30A內的透通式中介軟體31首先搜尋第一主機30的內部IP位址,例如(192.168.50.100),以及網域名稱,例如以DNA表示。然後可隨機選擇一個接觸連接埠(contact port number,CPort)並產生一個註冊封包,例如“Registry(192.168.50.100,1111,DNA)”。此註冊封包可包括第一主機30A的內部IP位址(例如(192.168.50.100))、接觸連接埠(例如1111)、及網域名稱(DNA)等資訊。透通式中介軟體31A傳送此註冊封包至伺服器35。
在步驟602中,伺服器35檢查第一主機之相關資訊的唯一性。伺服器35收到第一主機30A的註冊封包後,透過與註冊資料庫(Registry Database)61的核對,來檢查第一主機30A的註冊資訊(內部IP位址、接觸連接埠、及網域名稱)是否唯一,並取得註冊結果回覆值reply(1/0),其中reply(1)可代表註冊成功,而reply(0)代表註冊不成功。此註冊資料庫可以儲存於伺服器35裡。
在步驟603中,伺服器35回傳註冊成功與否的結果至第一主機30A。若第一主機30A註冊成功,則伺服器35回覆一個註冊成功封包“Registry reply(1)”,並且也將第一主機30A的註冊資訊,包括第一主機30A的IP位址、接觸連接埠、網域名稱、以及第一NAT設備IP位址等,儲存在註冊資料庫61內。
若第一主機30A註冊不成功,則回覆一個註冊不成功封包“Registry reply(0)”,並且透通式中介軟體31A再隨機選擇一個新的接觸連接埠,再重複上述步驟601-603,直到第一主機30A的註冊資訊是唯一的為止。
第一主機30A與第二主機30B分別註冊成功後,因為NAT設備33A與33B具有封包持續連線(pack alive)的功能,所以在封包持續連線的這段期間內,透通式中介軟體31仍可以保持接觸連接埠,來傳送封包資料至伺服器35。
回憶前述標號402與403執行的步驟中,第一主機30A可根據第二主機30B的網域名稱,向伺服器35發出一個查詢第二主機30B之內部IP位址的要求。根據第二主機30B的網域名稱,伺服器35可執行一DNS查詢,找出此第二主機30B的內部IP位址與連接埠。伺服器35也會記錄第一主機設備30A與第二主機30B的關係。第七圖進一步說明主機向伺服器要求DNS IP查詢的一個運作範例流程,並且與本發明中某些實施範例一致。
標號701代表第一主機30A傳送一個DNS要求封包至伺服器35。此DNS要求封包除了包含第二主機30B之網域名稱DNB外,還加上經由透通式中介軟體31加入的第一主機30A的內部IP位址,例如(192.168.50.100)以及連接埠,例如1111。此DNS要求封包的範例如“DNS(DNB,192.168.50.100,1111)”。第一主機30A內的透通式中介軟體將此DNS要求封包傳送至伺服器35。
標號702代表伺服器35發出一個含有第二主機30B之網域名稱(DNB)的查詢封包“Lookup(“DNB”)”至註冊資料庫61查詢。
標號703代表如果註冊資料庫61內沒有記錄第二主機30B的網域名稱(DNB),則會傳回查詢結果回覆封包“Lookup reply(0)”至伺服器35。伺服器35將含有第二主機30B之網域名稱的封包再傳送至另一DNS伺服器去查詢。
標號704代表如果註冊資料庫61內有第二主機30B之網域名稱(DNB)的記錄,則伺服器35產生一個具有第二主機30B之內部IP位址與接觸連接埠之新的DNS回應封包(response packet),例如“DNS reply(192.168.200.100,2222)”,並傳送至第一主機30A。第一主機30A與第二主機30B的相關資料(例如包括第一主機30A的內部IP位址/接觸連接埠、第一NAT設備33A之IP位址以及第二主機30B的內部IP位址/接觸連接埠、第二NAT設備33B之IP位址,就會記錄在IP查詢資料庫(IP Lookup Database)71中,封包格式例如是“Storage Lookup(192.168.200.100,140.116.177.55,2222,192.168.50.100,140.116.72.94,1111)”。
資料傳輸可以分類並且在兩種模式,亦即傳輸控制通訊協定(TCP)模式與使用者資料元協定(UDP)模式下運作。以下說明本揭露之透通式雙邊NAT系統的實施範例分別在TCP模式與UDP模式下的運作流程。
第八圖是本揭露之網路位址轉換的系統應用在TCP模式下的一個運作範例流程圖,並且與本發明中某些實施範例一致。參考第八圖,此TCP資料傳輸模式下的運作範例流程中,第一NAT設備33A之內部第一主機30A與第二NAT設備33B之內部第二主機30B分別執行透通式中介軟體31。
第一主機30A與第二主機30B分別先向伺服器35註冊,且第一主機30A向伺服器35發出一個DNS要求封包,取得到第二主機30B之內部IP位址。
當第一主機30A欲與第二主機30B建立TCP連線時,第一主機30A傳送一個含有第二主機30B之內部IP位址與連接埠的TCP_SYN封包“TCP_SYN()”至第二主機30B,如標號801所示。透通式中介軟體31保留此TCP_SYN封包,並產生一個新的UDP封包“UDP()”至伺服器35。伺服器35再發出一個查詢封包“Lookup()”,並透過第二主機30B的內部IP資訊向查詢資料庫81查詢第二NAT設備33B的IP位址,如標號802所示。此UDP封包“UDP()”內包括第一主機30A與第二主機30B之接觸連接埠(CPort)、IP位址、連接埠,以及TCP封包的序號(sequence number)等資訊
伺服器35根據第二主機30B的內部IP位址,向查詢資料庫81查詢第二NAT設備33B的IP位址,並回應給第一主機的30A透通式中介軟體31,如標號803所示。
伺服器35同時產生一個新的連接要求封包(connection request packet),並傳送此連接要求封包(UDP封包)至透通式中介軟體31,如標號804所示。此連接要求封包含有第二主機30B的IP位址、第一主機30A的接觸連接埠(CPort)與IP位址/連接埠、第一NAT設備33A的IP位址,以及TCP封包的序號等資訊。當透通式中介軟體31收到伺服器35傳來的連接要求封包後,觸發(solicit)產生一個TCP_SYN封包至第二主機30B的TCP層,如標號805所示。
另一方面,第一主機30A之透通式中介軟體31收到伺服器35回傳的第二NAT設備33B的IP位址(如標號803所示)後,釋放原來的TCP_SYN封包,並將原本TCP_SYN封包內的第二主機30B之內部IP位址更改為第二NAT設備33B之IP位址後,送出一個低存活時間之TCP_SYN封包“TCP_SYN(X,low TTL)”。如此,第一NAT設備33A內之IP對映表則記錄了第一主機30A至第二NAT設備33B的IP位址對映,也就是在第一NAT設備33A上開一個TCP洞,如標號806所示。
第二主機30B的TCP層收到TCP_SYN封包(即標號805所示)後,第二主機30B的AP層會傳送一個TCP_SYNACK封包至第一主機30A,如標號807所示。為了能正確地傳送TCP_SYNACK封包,第二主機30B之透通式中介軟體31將此TCP_SYNACK封包內的第一主機30A的內部IP位址更改為第一NAT設備33A的IP位址,並傳送至第一NAT設備33A。同樣地,第二NAT設備33B內之IP對映表也記錄了第二主機30B至第一NAT設備33A的IP位址對映,也就是在第二NAT設備33B上也開一個TCP洞。
當第一主機的30A的透通式中介軟體31收到TCP_SYNACK封包後,將封包內第二NAT設備33B的IP位址修改為第二主機30B端的內部IP位址,並傳送TCP_SYNACK封包至第一主機30A的TCP層,如標號808所示。
當第一主機30A之應用層內的應用軟體收到來自第二主機30B的TCP_SYNACK封包後,第一主機30A傳送一個TCP_ACK封包至第二主機30B,完成TCP之三向交握協定,並建立TCP連線設定與確認,如標號809所示。所以,當網路封包以TCP模式傳輸資料時,傳送端主機與接收端主機可完成TCP之三向交握協定來建立連線確認。
第九圖是本揭露之網路位址轉換的系統應用在UDP模式下的一個運作範例流程圖,並且與本發明中某些實施範例一致。參考第九圖,此UDP資料傳輸模式下,同樣的,第一主機30A與第二主機30B分別先向伺服器35註冊,並且第一主機30A以第二主機30B的網域名稱向伺服器35要求,並取得第二主機30B之內部IP位址。
第一主機設備30A先傳送一個具有第二主機30B之內部IP位址的UDP封包“UDP()”。透通式中介軟體31會查詢自己內部的連接埠表單(port table)92A,亦即發出“Port Lookup()”,將第二主機30B之內部IP位址與連接埠等資料與連接埠表單(port table)92A內的資料作比對,並將查詢結果回傳至透通式中介軟體31,亦即傳回“Lookup reply()”至透通式中介軟體31,如標號901所示。
如果連接埠表單92A內沒有記錄第二主機30B之內部IP位址與連接埠,透通式中介軟體31會產生一個UDP查詢要求封包“UDP Lookup Request()”,並傳送至伺服器35,向查詢資料庫(Lookup Database)91查詢第二NAT設備33B的IP位址,亦即發出“Lookup()”,並將查詢結果回覆伺服器35,亦即傳回“reply()”至伺服器35,如標號902所示。此UDP查詢要求封包“UDP Lookup Request()”內包括第一主機30A與第二主機30B的IP位址/連接埠、以及第一主機30A之接觸連接埠。
執行標號902的步驟中,如果正確地查詢到第二主機30B之相關資訊,伺服器35會執行兩項工作,一項工作是產生一個UDP要求封包“UDP Request()”,要求第二主機30B產生一個以第一NAT設備33A的IP位址為目的位址的UDP封包,如標號903所示。此UDP要求封包內包括第一主機30A的IP位址/連接埠與接觸連接埠、第一NAT設備33A之IP位址、以及第二主機30B之連接埠。
另一項工作是伺服器35將第二NAT設備33B的IP位址資訊回覆給第一主機30A,亦即傳回“UDP Lookup reply()”至伺服器35,如標號904所示。
當第二主機30B收到“UDP Request”封包後,透通式中介軟體31傳送一個低存活時間的UDP封包“UDP()”。如此,第二NAT設備33B內之IP對映表記錄了第二主機30B至第一NAT設備33A的IP位址對映,也就是在第二NAT設備33B上開一個UDP洞,如標號905所示。
執行標號904的步驟中,第一主機30A收到伺服器35回傳的UDP查詢回覆封包“UDP Lookup reply()”後,透通式中介軟體31釋放之前的UDP封包,並修改UDP封包內的目的位址,將第二主機30B端的內部IP位址修改為第二NAT設備33B的IP位址,並傳送至第二主機30B。如此,第一NAT設備33A內之IP對映表記錄了第一主機30A至第二NAT設備33B的IP位址對映,也就是在第一NAT設備33A上開一個UDP洞,如標號906所示。
當第一主機30A的透通式中介軟體31收到第一主機30A傳來的UDP封包“UDP()”後,由於第二NAT設備33B內之IP對映表已記錄第二主機30B至第一NAT設備33A的IP位址對映。依此,透通式中介軟體31修改UDP封包內的來源位址,從第一NAT設備33A的IP位址修改為第一主機30A的內部IP位址,並傳送至第二主機30B之TCP層,如標號907所示。第二主機30B的應用層即可預期收到從第一主機30A傳來的UDP封包。
在執行標號901的步驟中,如果連接埠表單92A內已記錄第二NAT設備33B之IP位址,則可直接執行標號907的步驟。
第八圖與第九圖的系統運作範例分別應用在TCP與UDP之兩種資料傳輸模式中,並且說明了位於不同的NAT內部的兩台主機可直接地相互通訊連線並傳送資料,而不需要改寫原本之NAT設備與主機應用端的程式。
本揭露之上述實施範例中,無論是第一NAT設備33A或是第二NAT設備33B都可以是單獨一台伺服器運作,或是在一伺服器叢集上運作,也可以是一個模組在主機內運作。換句話說,第一或第二NAT設備可以是一種網路位址轉換單元,此網路位址轉換單元可有多種實現方式,例如單一伺服器、一伺服器叢集、或是主機上的一個模組。
惟,以上所述者,僅為發明之實施範例而已,當不能依此限定本發明實施之範圍。即大凡一本發明申請專利範圍所作之均等變化與修飾,皆應仍屬本發明專利涵蓋之範圍內。
101...NAT設備
103...內部主機
105...伺服器主機
110...NAT IP對映表
201...完全錐型NAT設備
211...受限錐型NAT設備
221...連接埠受限錐型NAT設備
231...對稱型NAT設備
A、B、C、D...主機
30A...第一主機
30B...第二主機
31...透通式中介軟體
33A...第一NAT設備
33B...第二NAT設備
35...伺服器
401...進行註冊
402...發出一個查詢第二主機之內部IP位址的要求
403...回覆第二主機之內部IP位址資訊
404...發出一個查詢NAT設備之IP位址的要求
405...回傳第二NAT設備之IP位址
406...傳送第一NAT設備之IP位址資訊
Issue SYN(X)...通知SYN封包
SYN(X,low TTL)...初始同步封包
ICMP(TTL-exceeded)...網際網路控制訊息通訊協定封包
Encapsulated SYN(X)...壓縮的同步封包
501...“Issue SYN(X)”傳送至TCP層
61...註冊資料庫
601...向伺服器傳送第一主機的註冊相關資訊
602...伺服器檢查第一主機之相關資訊的唯一性
603...伺服器回傳註冊成功與否的結果至第一主機
Registry(192.168.50.100,1111,DNA)...註冊封包
reply(1/0)...註冊結果回覆值
Registry reply(1)...回覆註冊成功封包
Registry reply(0)...回覆註冊不成功封包
71...IP查詢資料庫
701...第一主機傳送一個DNS要求封包至伺服器
702...伺服器發出一個含有第二主機之網域名稱的查詢封包至註冊資料庫查詢
703...伺服器傳送含有第二主機之網域名稱的封包至另一網域名稱系統去查詢
704...伺服器產生一個具有第二主機之內部IP位址與接觸連接埠之新的DNS回應封包,並傳送至第一主機
801...第一主機傳送一個含有第二主機之內部IP位址與連接埠的TCP_SYN封包至第二主機
802...產生一個新的UDP封包至伺服器,伺服器發出一個查詢封包“,並透過第二主機的內部IP資訊向查詢資料庫查詢第二NAT設備的IP位址
803...伺服器根據第二主機的內部IP位址,向查詢資料庫查詢第二NAT設備的IP位址,並回應給透通式中介軟體
804...伺服器同時產生一個新的連接要求封包,並傳送此連接要求封包至透通式中介軟體
805...透通式中介軟體收到伺服器傳來的連接要求封包後,觸發產生一個TCP_SYN封包至第二主機的TCP層
806...在第一NAT設備上開一個TCP洞
807...第二主機的AP層傳送一個TCP_SYNACK封包至第一主機
808...傳送TCP_SYNACK封包至第一主機的TCP層
809...第一主機傳送一個TCP_ACK封包至第二主機
81...查詢資料庫
901...將第二主機之內部IP位址與連接埠等資料與連接埠表單內的資料作比對,並將查詢結果回傳至透通式中介軟體
902...產生一個UDP查詢要求封包,並傳送至伺服器;向查詢資料庫查詢第二NAT設備的IP位址,並將查詢結果回覆伺服器
903...產生一個UDP要求封包,要求第二主機產生一個以第一NAT設備的IP位址為目的位址的UDP封包
904...將第二NAT設備的IP位址資訊回覆給第一主機
905...在第二NAT設備上開一個UDP洞
906...在第一NAT設備上開一個UDP洞
907...修改UDP封包內的來源位址,從第一NAT設備的IP位址修改為第一主機的內部IP位址,並傳送至第二主機之TCP層
91...查詢資料庫
92A...連接埠表單
第一圖是一個示意圖,說明一台NAT的主機透過NAT與外部網路伺服器主機溝通的一個範例。
第二A圖是一個示意圖,說明完全錐型NAT的一個範例運作方式。
第二B圖是一個示意圖,說明受限錐型NAT的一個範例運作方式。
第二C圖是一個示意圖,說明連接埠受限錐型NAT的一個範例運作方式。
第二D圖是一個示意圖,說明對稱型NAT的一個範例運作方式。
第三圖是網路位址轉換的系統的一個範例示意圖,並且與本發明中某些實施範例一致。
第四圖說明網路位址轉換之一個範例運作流程,並且與本發明中某些實施範例一致。
第五圖是TCP之三向交握協定的一個範例示意圖,並且與本發明中某些實施範例一致。
第六圖說明一個註冊範例流程,並且與本發明中某些實施範例一致。
第七圖是主機向伺服器要求DNS IP查詢的一個運作範例流程,並且與本發明中某些實施範例一致。
第八圖為本揭露之網路位址轉換的系統應用在TCP模式下的一個運作範例流程圖,並且與本發明中某些實施範例一致。
第九圖是本揭露之網路位址轉換的系統應用在UDP模式下的一個運作範例流程圖,並且與本發明中某些實施範例一致。
30A...第一主機
30B...第二主機
31...透通式中介軟體
33A...第一NAT設備
33B...第二NAT設備
35...伺服器
401...進行註冊
402...發出一個查詢第二主機之內部IP位址的要求
403...回覆第二主機之內部IP位址資訊
404...發出一個查詢NAT設備之IP位址的要求
405...回傳第二NAT設備之IP位址
406...傳送第一NAT設備之IP位址資訊
Claims (24)
- 一種網路位址轉換(NAT)的系統,該系統包含:設置於一公用網路中的一伺服器,該伺服器接受多個主機之每一主機的註冊,並記錄每一主機與至少一NAT設備的相關資訊,該相關資訊包括每一主機之網域名稱、以及該多個主機之每一主機與一相對應之NAT設備之網際網路通訊協定(IP)位址轉換對映;以及一透通式中介軟體(TMW),分別執行於每一該主機;其中,當位於一第一網域中且連接至一第一NAT設備的一第一主機欲與位於一第二網域中且連接至一第二NAT設備的一第二主機建立連線時,該TMW透過該伺服器去查詢該第一主機至該第二NAT設備的IP位址轉換對映,以及該第二主機至該第一NAT設備的IP位址轉換對映,並完成支援該第一主機與該第二主機之間的連線建立,並且該第一NAT設備與該第二NAT設備係選自對稱型、完全錐型、受限錐型、以及連接埠受限錐型,之前述四種型態的任意兩NAT設備。
- 如申請專利範圍第1項所述之NAT的系統,其中每一該主機的態樣係選自一筆記型電腦、一個人電腦、以及一伺服器,或是前述之任一種組合。
- 如申請專利範圍第1項所述之NAT的系統,其中該第一NAT設備相同於該第二NAT設備,該第一與第二主機分別是該第一NAT設備的外部主機與內部主機。
- 如申請專利範圍第1項所述之NAT的系統,其中該 TMW係安裝在每一該主機之核心層級或使用者層級之其中一種層級。
- 如申請專利範圍第1項所述之NAT的系統,其中該伺服器包括一註冊資料庫,來儲存每一該主機的註冊資訊以及與該至少一NAT設備的相關資訊。
- 如申請專利範圍第1項所述之NAT的系統,該系統適用於傳輸控制通訊協定模式與使用者資料元協定模式的資料傳輸模式。
- 如申請專利範圍第1項所述之NAT的系統,其中該TMW於該第一主機內與該第二主機內分別記錄該第一主機至該第二NAT設備之網際網路通訊協定位址對映,以及該第二主機至該第一NAT設備之網際網路通訊協定位址對映。
- 如申請專利範圍第1項所述之NAT的系統,其中該第一與第二NAT設備為穿透式NAT設備。
- 如申請專利範圍第1項所述之NAT的系統,其中該第一與第二NAT設備為NAT單元,每一該NAT單元係以一單一伺服器、一伺服器叢集、以及一主機上的一個模組,之前述三者中的一種來實現。
- 一種網路位址轉換(NAT)方法,該方法包含:一傳送端主機與一接收端主機透過一透通式中介軟體(TMW)分別向一註冊伺服器註冊,該註冊伺服器記錄資訊,包括該兩主機之每一主機之網域名稱、以及該兩主機之每一主機至一相對應之NAT設備之網際網路 通訊協定(IP)位址轉換對映;該傳送端主機向該註冊伺服器發出要求該接收端主機之內部位址資訊;該註冊伺服器回覆該接收端主機的內部位址資訊至該傳送端主機;該傳送端主機向該註冊伺服器要求該接收端NAT設備的公開位址資訊;該註冊伺服器回傳該接收端NAT設備的公開位址資訊至該傳送端主機;該註冊伺服器回傳該接收端NAT設備的IP位址資訊至該傳送端主機;以及該註冊伺服器回傳該傳送端主機的一傳送端NAT設備的IP位址資訊至該接收端主機;其中,該兩主機分別位於一第一網域與一第二網域中,並且該第一NAT設備與該第二NAT設備係選自對稱型、完全錐型、受限錐型、以及連接埠受限錐型,之前述四種型態的任意兩NAT設備。
- 如申請專利範圍第10項所述之NAT方法,該方法適用於傳輸控制通訊協定(TCP)模式或是使用者資料元協定(UDP)模式的資料傳輸模式。
- 如申請專利範圍第11項所述之網路位址轉換方法,其中在TCP的資料傳輸模式下,該傳送端主機與該接收端主機完成一種三向交握協定來建立連線確認。
- 如申請專利範圍第10項所述之NAT方法,其中該傳 送端主機設備利用該接收端主機之該網域名稱(DN)向該註冊伺服器發出要求該接收端主機之IP位址資訊。
- 如申請專利範圍第12項所述之NAT方法,其中該三向交握協定更包括:該傳送端主機傳送備有一序號與一低存活時間的一同步(SYN)封包至該接收端NAT設備;該傳送端主機發出一個備有該序號的要求封包,並透過該註冊伺服器傳送至該接收端主機;該接收端主機根據該序號,產生具有該序號之另一SYN封包,並透過該TMW傳送至該接收端主機的一TCP層;該接收端主機的一應用層傳送一同步確認(SYNACK)封包至該傳送端主機;以及該傳送端主機回覆一確認(ACK)封包至該接收端主機。
- 如申請專利範圍第10項所述之NAT方法,其中該兩台主機的每一台主機向該註冊伺服器註冊更包括:向註冊伺服器傳送該台主機的註冊相關資訊;該註冊伺服器檢查該台主機之該註冊相關資訊的唯一性;以及該註冊伺服器回傳註冊成功與否的結果至該台主機。
- 如申請專利範圍第15項所述之NAT方法,其中該台主機之該註冊相關資訊至少包括一相對應的內部IP位址、一接觸連接埠與該台主機的一網域名稱。
- 如申請專利範圍第15項所述之NAT方法,其中該註冊伺服器透過一註冊資料庫來檢查該台主機之該註冊相關資訊的唯一性。
- 如申請專利範圍第15項所述之NAT方法,其中當該台主機之註冊結果為不成功時,該台主機隨機選擇另一新的接觸連接埠,並重複向該註冊伺服器註冊的步驟,直到該台主機之該註冊相關資訊被該註冊伺服器確認唯一為止。
- 如申請專利範圍第10項所述之NAT方法,其中該傳送端主機向該註冊伺服器要求該接收端NAT設備的IP位址資訊更包括:該傳送端主機傳送一備有該接收端主機之網域名稱的封包至該註冊伺服器;該註冊伺服器發出備有該接收端主機之該網域名稱的一查詢封包至一註冊資料庫去查詢;如果該註冊資料庫沒有記錄該接收端主機之該網域名稱,該註冊伺服器傳送備有該接收端主機之網域名稱的封包至另一網域名稱系統去查詢;以及如果該註冊資料庫已記錄該接收端主機之該網域名稱,該註冊伺服器回覆該接收端主機資訊至該傳送端主機,並且將該傳送端主機與該接收端主機相關資料記錄在一IP查詢資料庫中。
- 如申請專利範圍第19項所述之NAT方法,其中該註冊伺服器回覆該接收端主機資訊至少包括該接收端主 機的一內部IP位址與一連接埠。
- 如申請專利範圍第19項所述之NAT方法,其中該IP查詢資料庫記錄之該傳送端主機與該接收端主機相關資料至少包括該傳送端主機的一內部IP位址/接觸連接埠、該傳送端NAT設備之IP位址、該接收端主機的一內部IP位址/接觸連接埠、以及該接收端NAT設備的一IP位址。
- 如申請專利範圍第19項所述之NAT方法,該方法係為一透通式NAT方法。
- 如申請專利範圍第10項所述之NAT方法,其中該內部位址資訊係為一IP位址。
- 如申請專利範圍第10項所述之NAT方法,其中該接收端與傳送端NAT設備為NAT單元,每一該NAT單元係以一單一伺服器、一伺服器叢集、以及一主機上的一個模組,之前述三者中的一種來實現。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096145011A TWI441493B (zh) | 2007-11-27 | 2007-11-27 | 網路位址轉換的系統與方法 |
US12/119,507 US20090138611A1 (en) | 2007-11-27 | 2008-05-13 | System And Method For Connection Of Hosts Behind NATs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096145011A TWI441493B (zh) | 2007-11-27 | 2007-11-27 | 網路位址轉換的系統與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200924462A TW200924462A (en) | 2009-06-01 |
TWI441493B true TWI441493B (zh) | 2014-06-11 |
Family
ID=40670707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096145011A TWI441493B (zh) | 2007-11-27 | 2007-11-27 | 網路位址轉換的系統與方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090138611A1 (zh) |
TW (1) | TWI441493B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130052240A (ko) * | 2011-11-11 | 2013-05-22 | 삼성전자주식회사 | 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치 |
WO2013107055A1 (zh) * | 2012-01-21 | 2013-07-25 | 华为技术有限公司 | 获取用户信息的方法及装置 |
TWI508497B (zh) * | 2013-01-11 | 2015-11-11 | Gemtek Technology Co Ltd | 路由裝置及其網路封包的處理方法 |
TWI491209B (zh) * | 2013-02-22 | 2015-07-01 | Weltec Entpr Co Ltd | 路由器及保全系統 |
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 |
TWI532353B (zh) * | 2013-07-26 | 2016-05-01 | 正文科技股份有限公司 | 社群虛擬網路連線建立方法及網路通信系統 |
TWI512527B (zh) * | 2014-02-13 | 2015-12-11 | Univ Nat Taipei Technology | 進階域名系統之雙邊防火牆穿越法 |
US10645059B2 (en) * | 2016-04-11 | 2020-05-05 | Western Digital Technologies, Inc. | Establishing connections between data storage devices |
TWI636701B (zh) * | 2016-07-15 | 2018-09-21 | 天創科技有限公司 | 在傳輸控制協議下穩定建立兩裝置端間網路連線的方法與系統 |
US10547587B2 (en) | 2018-03-19 | 2020-01-28 | Didi Research America, Llc | Method and system for near real-time IP user mapping |
US11082254B2 (en) * | 2018-08-07 | 2021-08-03 | Dh2I Company | User datagram protocol tunneling in distributed application instances |
US11165891B2 (en) | 2018-08-27 | 2021-11-02 | Dh2I Company | Highly available transmission control protocol tunnels |
US11575757B2 (en) | 2019-06-17 | 2023-02-07 | Dh2I Company | Cloaked remote client access |
US11677584B2 (en) | 2019-06-17 | 2023-06-13 | Dh2I Company | Application TCP tunneling over the public internet |
CN114900496B (zh) * | 2019-06-24 | 2024-03-15 | 华为技术有限公司 | 一种通信方法以及相关设备 |
US11563802B2 (en) | 2020-11-06 | 2023-01-24 | Dh2I Company | Systems and methods for hierarchical failover groups |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085267B2 (en) * | 2001-04-27 | 2006-08-01 | International Business Machines Corporation | Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet |
US7334049B1 (en) * | 2001-12-21 | 2008-02-19 | Cisco Technology, Inc. | Apparatus and methods for performing network address translation (NAT) in a fully connected mesh with NAT virtual interface (NVI) |
US7058718B2 (en) * | 2002-01-15 | 2006-06-06 | International Business Machines Corporation | Blended SYN cookies |
KR100423500B1 (ko) * | 2002-01-29 | 2004-03-18 | 삼성전자주식회사 | 인터넷 프로토콜 주소 변환장치 및 이를 이용한홈네트워크 시스템 |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
JP4260116B2 (ja) * | 2003-05-22 | 2009-04-30 | 富士通株式会社 | 安全な仮想プライベート・ネットワーク |
US7237260B2 (en) * | 2003-07-08 | 2007-06-26 | Matsushita Electric Industrial Co., Ltd. | Method for dynamic selection for secure and firewall friendly communication protocols between multiple distributed modules |
US7706401B2 (en) * | 2004-08-13 | 2010-04-27 | Verizon Business Global Llc | Method and system for providing interdomain traversal in support of packetized voice transmissions |
US7512138B2 (en) * | 2004-11-30 | 2009-03-31 | General Instrument Corporation | Device. system, and method for automatically determining an appropriate LAN IP address range in a multi-router network environment |
US20060268890A1 (en) * | 2005-05-31 | 2006-11-30 | Audiocodes Ltd. | Method circuit and system for remotely updating a network appliance |
US8533339B2 (en) * | 2006-10-13 | 2013-09-10 | Cisco Technology, Inc. | Discovering security devices located on a call path and extending bindings at those discovered security devices |
US7729366B2 (en) * | 2007-10-03 | 2010-06-01 | General Instrument Corporation | Method, apparatus and system for network mobility of a mobile communication device |
-
2007
- 2007-11-27 TW TW096145011A patent/TWI441493B/zh active
-
2008
- 2008-05-13 US US12/119,507 patent/US20090138611A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW200924462A (en) | 2009-06-01 |
US20090138611A1 (en) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI441493B (zh) | 網路位址轉換的系統與方法 | |
US7139828B2 (en) | Accessing an entity inside a private network | |
JP4186446B2 (ja) | アドレス変換方法 | |
US9325665B1 (en) | Communication network and method of operation therefor | |
US7231452B2 (en) | Method and apparatus for communicating on a communication network | |
US7450585B2 (en) | Method and system in an IP network for using a network address translation (NAT) with any type of application | |
US20030154306A1 (en) | System and method to proxy inbound connections to privately addressed hosts | |
US7764691B2 (en) | Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT | |
JP4766976B2 (ja) | ノード間接続方法及び装置 | |
US8194683B2 (en) | Teredo connectivity between clients behind symmetric NATs | |
JP2006180295A (ja) | アドレス変換装置およびアドレス変換方法 | |
CN111711705B (zh) | 基于代理节点作双向nat实现网络连接的方法和装置 | |
US7715386B2 (en) | Reducing network traffic to teredo server | |
JP6386166B2 (ja) | IPv4とIPv6との間の翻訳方法及び装置 | |
US7764686B1 (en) | Migration to IPv6 using combination of globally significant and locally significant IPv4 addresses | |
EP3395049B1 (en) | Router and method for connecting an ipv4 network and an ipv6 network | |
JP4572938B2 (ja) | アドレス変換方法 | |
US7356031B1 (en) | Inter-v4 realm routing | |
US7693091B2 (en) | Teredo connectivity between clients behind symmetric NATs | |
CN103888554B (zh) | IPv4与IPv6互通的域名解析方法和系统 | |
Phuoc et al. | NAT traversal techniques in peer-to-peer networks | |
US20080225867A1 (en) | Faster NAT detection for Teredo client | |
JP4670979B2 (ja) | パケット生成方法およびその機能を有する情報処理装置並びにパケット生成プログラムを記録した記録媒体 | |
JP4349413B2 (ja) | パケット生成方法およびその機能を有する情報処理装置並びにパケット生成プログラムを記録した記録媒体 | |
JP5054666B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム |