標題: | 環境感知的NAT穿透機制 Context Aware NAT Traversal Scheme |
作者: | 劉俊延 Liu, Jyun-Yan 曾建超 Tseng, Chien-Chao 資訊科學與工程研究所 |
關鍵字: | NAT;NAT Traversal;ICE;UDP;NAT;NAT Traversal;ICE;UDP |
公開日期: | 2008 |
摘要: | 本論文針對互動式連線建立機制(ICE - Interactive Connectivity Establishment),以多個連線網路位址交換組合成多個連線路徑的特性為基礎,提出一套利用 Network Address Translation (NAT) 環境的資訊來幫忙 ICE 進行連線路徑的測試。本機制在 NAT 環境資訊的收集不僅完善,且可以詳加利用 NAT 資訊的幫忙來幫助 ICE 選擇出需要測試的連線路徑藉此減少不必要的測試路徑以及連線測試的延遲時間,更可以利用特殊的測試連線方式來提昇直連的比例。
NAT 的存在對於點對點的應用程式,例如: VoIP、BT等,是一個阻礙,而大家將這問題定義為 NAT 穿透問題。為了解決 NAT 穿透問題,便有很多方法被提了出來,而目前最為大家普遍公認的方法為「互動式連線建立機制」,但此套機制還是有其不足以及缺陷的地方。
ICE 的缺陷在於說對所有的連線路徑進行了一個系統化的測試,雖然全面,但是卻會增加不少連線的延遲時間,且ICE 沒辦法對於 Linux-based 的 NAT 設備有特殊的應對機制。因為,Linux-based 的 NAT 設備本身就有 ConnTrack Binding 的問題存在,但是 ICE 對於這個問題完全沒有應對機制,導致原本可以直連的路徑會測試失敗轉而使用比較差的 Relay 路徑。
為了提出一套比 ICE 更好的 NAT Traversal 方法,我們以 ICE 為基礎加入了 NAT 資訊感知的功能,稱為 Context Aware NAT Traversal Scheme (CAN)。CAN 的中心思想為讓想要進行點對點連線的雙方,利用 out-of-band 的通訊協定交換 NAT 資訊,並且讓雙方利用 NAT 資訊來協助連線路徑的測試。CAN不但可以有效改進 ICE 的連線延遲時間更可以一舉提高直連比率。
本論文對於所提出的方法,透過實做實測的方式來和原有的 ICE 進行了一連串的比較。而所有實做的工具和測試環境皆來自「友訊交大聯合研發中心」。在實際測試中發現,CAN 確實在延遲時間和直連率優於 ICE,而且也確實的解決的 ConnTrack Binding 這項問題。
總結以上,CAN可良好的提供點對點應用程式一套簡易的穿透 NAT 建立連線的機制,低延遲時間、高直連率、易於瞭解連線失敗的原因並以此加以分析。CAN 更具有擴張性,以後可以跟其他特殊的 NAT Traversal 的機制作結合來提高直連率。 In this thesis, we proposed a Context Aware Network Address Translation (NAT) Traversal scheme that can use NAT information to adjust its behavior when it tries to establish a connection across NATs. Many researchers have proposed techniques to tackle the NAT traversal problem. Among the previous proposals of NAT traversal techniques, Interactivity Connectivity Establishment (ICE) is the most acknowledged approach to establishing a connection across NATs. Although ICE is a very powerful connectivity establishment mechanism, it still possesses some drawbacks. First, ICE performs a systematical and exhaustive test procedure to find a connection from all possible paths between two peers; however, this procedure introduces a long delay or excessive message exchanges for setting up a connection. Second, ICE may fail in finding a direct connection that exists between the two communicating peers. In order to shorten the connectivity check delay, reduce the number of message exchanges, and increase the overall direction rates, we propose a Context Aware NAT (CAN) traversal scheme for finding a connection between two communicating peers behind NATs. The main idea of CAN is that user agents (UAs) exchange the NAT information, such as NAT types, Hairpin Capability and Connection Tracking and Binding feature, that can help UAs to eliminate unnecessary connectivity checks, shorten the delay of connectivity checks, and increase Direct Connection Rate (DCR). We have implemented CAN and compared the performance of CAN and ICE. The experimental results show that CAN outperforms ICE in terms of latencies and message exchanges for connectivity checks, and direct connection rate. Furthermore, CAN is compatible with standard NAT traversal mechanisms, such as TURN and STUN, and can work with other mechanisms for increasing DCR. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT079655608 http://hdl.handle.net/11536/43414 |
Appears in Collections: | Thesis |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.