1. 程式人生 > >NAT技術與代理伺服器調研

NAT技術與代理伺服器調研

NAT技術

1、概念:

       NAT英文全稱是“Network Address Translation”,中文意思是“網路地址轉換”,它是一個IETF(Internet 

Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol)地址出

現在Internet上。顧名思義,它是一種將私有(保留)地址轉化為合法IP地址的轉換技術,NAT就是在區域網內部網

絡中使用內部地址,而當內部節點要與外部網路進行通訊時,就在閘道器(可以理解為出口,打個比方就像院子的門一

樣)處,將內部地址替換成公用地址,從而在外部公網(internet)上正常使用,

它被廣泛應用於各種型別Internet

接入方式和各種型別的網路中。原因很簡單,NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自

網路外部的攻擊,隱藏並保護網路內部的計算機中。這時,NAT遮蔽了內部網路,所有內部網計算機對於公共網路來

說是不可見的,而內部網計算機使用者通常不會意識到NAT的存在。這裡提到的內部地址,是指在內部網路中分配給節

點的私有IP地址,這個地址只能在內部網路中使用,不能被路由轉發。

2、分類:

1)靜態NAT(static NAT):通過手動設定,使 Internet 客戶進行的通訊能夠對映到某個特定的私有網路地址和端

口。

2)動態NAT(polled NAT):

動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地

址,主要應用於撥號,對於頻繁的遠端聯接也可以採用動態NAT。動態NAT方式適合於當機構申請到的全域性IP地址較

少,而內部網路主機較多的情況。

3)網路地址埠轉換NAPT(Port-Level NAT):是把內部地址對映到外部網路的一個IP地址的不同埠上。它又包

含兩種轉換方式:SNAT和DNAT。

  • 源NAT(Source NAT,SNAT):修改資料包的源地址。
  • 目的NAT(Destination NAT,DNAT):修改資料包的目的地址。
3、原理:

    當內部網路中的一臺主機想傳輸資料到外部網路時,它先將資料包傳輸到NAT路由器上,路由器檢查資料包的報

頭,獲取該資料包的源IP資訊,並從它的NAT對映表中找出與該IP匹配的轉換條目,用所選用的內部全域性地址(全球唯一的IP地址)來替換內部區域性地址,並轉發資料包。

    當外部網路對內部主機進行應答時,資料包被送到NAT路由器上,路由器接收到目的地址為內部全域性地址的資料包後,它將用內部全域性地址通過NAT對映表查找出內部區域性地址,然後將資料包的目的地址替換成內部區域性地址,並將資料包轉發到內部主機。

4、優缺點:

優點: 

①對於那些家庭使用者或者小型的商業機構來說,使用NAT可以更便宜,更有效率地接入Internet。 

②使用NAT可以緩解目前全球IP地址不足的問題。 

③在很多情況下,NAT能夠滿足安全性的需要。 

④使用NAT可以方便網路的管理,並大大提高了網路的適應性。

缺點: 

①NAT會增加延遲,因為要轉換每個資料包包頭的IP地址,自然要增加延遲;

②NAT會使某些要使用內嵌地址的應用不能正常工作,不能處理嵌入式IP地址或埠;

有一些應用程式雖然是用A口傳送資料的,但卻要用B埠進行接收,不過NAT裝置翻譯時卻不知道這一點,它仍

然建立一條針對A埠的映射,結果對方響應的資料要傳給B埠時,NAT裝置卻找不到相關對映條目而會丟棄資料

包;

 一些P2P應用在NAT後無法進行。

NAT技術無可否認是在ipv4地址資源的短缺時候起到了緩解作用;在減少使用者申請ISP服務的花費和提供比較完善的

負載平衡功能等方面帶來了不少好處。但是在ipv4地址在以後幾年將會枯竭,NAT技術不能改變ip地址空間不足的本

質。然而在安全機制上也潛在著威脅,在配置和管理上也是一個挑戰。如果要從根本上解決ip地址資源的問題,ipv6

才是最根本之路。在ipv4轉換到ipv6的過程中,NAT技術確實是一個不錯的選擇,相對其他的方案優勢也非常明顯。

5、應用

NAT主要可以實現以下幾個功能:資料包偽裝、平衡負載、埠轉發和透明代理

1)資料偽裝: 可以將內網資料包中的地址資訊更改成統一的對外地址資訊,不讓內網主機直接暴露在因特網上,保證

網主機的安全。同時,該功能也常用來實現共享上網。例如,內網主機訪問外網時,為了隱藏內網拓撲結構,使用

局地址替換私有地址。

2)埠轉發: 當內網主機對外提供服務時,由於使用的是內部私有IP地址,外網無法直接訪問。因此,需要在閘道器上

行埠轉發,將特定服務的資料包轉發給內網主機。例如公司小王在自己的伺服器上架設了一個Web網站,他的IP

址為192.168.0.5,使用預設埠80,現在他想讓區域網外的使用者也能直接訪問他的Web站點。利用NAT即可很輕

的解決這個問題,伺服器的IP地址為210.59.120.89,那麼為小王分配一個埠,例如81,即所有訪問

210.59.120.89:81的請求都自動轉向192.168.0.5:80,而且這個過程對使用者來說是透明的。

3)負載平衡:目的地址轉換NAT可以重定向一些伺服器的連線到其他隨機選定的伺服器。例如1.2.3所講的目的NAT的

子。

4)失效終結:目的地址轉換NAT可以用來提供高可靠性的服務。如果一個系統有一臺通過路由器訪問的關鍵伺服器,

一旦路由器檢測到該伺服器當機,它可以使用目的地址轉換NAT透明的把連線轉移到一個備份伺服器上,提高系統的

可靠性。

5)透明代理:例如自己架設的伺服器空間不足,需要將某些連結指向存在另外一臺伺服器的空間;或者某臺計算機上

沒有安裝IIS服務,但是卻想讓網友訪問該臺計算機上的內容,這個時候利用IIS的Web站點重定向即可輕鬆的幫助我

們搞定。

 代理伺服器

1、概念

代理伺服器(Proxy Server),是一種重要的伺服器安全功能,工作在OSI模型的會話層,是個人網路和Internet服

務商之間的中間代理機構,它負責轉發合法的網路資訊,對轉發進行控制和登記。代理伺服器作為連線Internet(廣域

網)與Intranet(區域網)的橋樑,在實際應用中發揮著極其重要的作用,它可用於多個目的,最基本的功能是連線,

此外還包括安全性,快取,內容過濾,訪問控制管理等功能。 

代理伺服器,顧名思義就是局域上不能直接上網的機器將上網請求(比如說,瀏覽某個主頁)發給能夠直接上網的代

理伺服器,然後代理伺服器代理完成這個上網請求,將它所要瀏覽的主頁調入代理伺服器的快取;然後將這個頁面傳

給請求者。這樣區域網上的機器使用起來就像能夠直接訪問網路一樣。並且,代理伺服器還可以進行一些網站的過濾

和控制的功能,這樣就實現了我們控制和節省上網費用。

2、代理伺服器的分類:

1)透明代理和傳統代理

(1)透明代理(Transparent proxy)實質上屬於DNAT的一種。它主要指內網主機需要訪問外網主機時,不需要做

任何設定,完全意識不到防火牆的存在,而完成內外網的通訊。

(2)傳統代理的工作原理與透明代理相似,所不同的是它需要在客戶端設定代理伺服器。我們經常在IE瀏覽器中設

置代理伺服器使用的就是傳統代理。

2)HTTP代理、FTP代理、SOCKS代理

HTTP代理只提供HTTP的代理服務,使用HTTP代理的使用者只能通過代理訪問網站和頁面,不能訪問FTP站點。

(1)FTP代理:能夠代理客戶機上的FTP軟體訪問FTP伺服器,它的埠一般為21、2121。、分類:

(2)HTTP代理:能夠代理客戶機的HTTP訪問,主要是代理瀏覽器訪問網頁,它的埠一般為80、8080、3128

等。

(3)SSL代理:支援最高128位加密強度的http代理,可以作為訪問加密網站的代理。加密網站是指以https://開始的

網站。ssl的標準埠為443。

(4)RTSP代理:代理客戶機上的Realplayer訪問Real流媒體伺服器的代理,其埠一般為554。

(5)Telnet代理:能夠代理通訊機的telnet,用於遠端控制,入侵時經常使用。其埠一般為23。

(6)SOCKS代理:SOCKS代理與其他型別的代理不同,它只是簡單地傳遞資料包,而並不關心是何種應用協議,既

可以是HTTP請求也可以是FTP等其他請求,所以SOCKS代理伺服器比其他型別的代理伺服器速度要快得多。

(7)POP3代理:代理客戶機上的郵件軟體用POP3方式收發郵件,埠一般為110。

3)匿名代理

分為三種,即高度匿名代理、普通匿名代理和透明代理。

(1)高度匿名代理不改變客戶機的請求,這樣在伺服器看來就像有個真正的客戶瀏覽器在訪問它,這時客戶的真實

IP是隱藏的,伺服器端不會認為使用者使用了代理。

(2)普通匿名代理能隱藏客戶機的真實IP,但會改變我們的請求資訊,伺服器端有可能會認為使用者使用了代理。不

過使用此種代理時,雖然被訪問的網站不能知道使用者的ip地址,但仍然可以知道使用者在使用代理,當然某些能夠偵測

ip的網頁仍然可以查到使用者的ip。

(3)透明代理,它不但改變了使用者的請求資訊,還會傳送真實的IP地址。

3、原理:

當客戶在瀏覽器中設定好Proxy Server後,你使用瀏覽器訪問所有WWW站點的請求都不會直接發給目的主機,而是

先發給代理伺服器,代理伺服器接受了客戶的請求以後,由代理伺服器向目的主機發出請求,並接受目的主機的數

據,存於代理伺服器的硬碟中,然後再由代理伺服器將客戶要求的資料發給客戶。

4、功能:

主要的功能有: 

(1)設定使用者驗證和記賬功能,可按使用者進行記賬,沒有登記的使用者無權通過代理伺服器訪問Internet網。並對使用者

的訪問時間、訪問地點、資訊流量進行統計。 

(2)對使用者進行分級管理,設定不同使用者的訪問許可權,對外界或內部Internet地址進行過濾,設定不同的訪問許可權。 

(3)增加緩衝器(Cache),提高訪問速度,對經常訪問的地址建立緩衝區,大大提高熱門站點的訪問效率。通常代理

伺服器都設定一個較大的硬碟緩衝區(可能高達幾個GB或更大),當有外界的資訊通過時,同時也將其儲存到緩衝區

中,當其他使用者再訪問相同的資訊時,則直接由緩衝區中取出資訊,傳給使用者,以提高訪問速度。 

(4)連線內網與Internet,充當防火牆(Firewall):因為所有內部網的使用者通過代理伺服器訪問外界時,只對映為一

個IP地址,所以外界不能直接訪問到內部網;同時可以設定IP地址過濾,限制內部網對外部的訪問許可權。 

(5)節省IP開銷:代理伺服器允許使用大量的偽IP地址節約網上資源,即用代理伺服器可以減少對IP地址的需求,對

於使用區域網方式接入Internet ,如果為區域網(LAN)內的每一個使用者都申請一個IP地址,其費用可想而知。但使

用代理伺服器後,只需代理伺服器上有一個合法的IP地址,LAN內其他使用者可以使用10...*這樣的私有IP地址,這樣可

以節約大量的IP,降低網路的維護成本。