什么是NAT技术与代理服务器
生活随笔
收集整理的這篇文章主要介紹了
什么是NAT技术与代理服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、NAT技術簡單了解
1.1、關于NAT
NAT英文全稱是“Network Address Translation”,中文意思是“網絡地址轉換”,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol)地址出現在Internet上。顧名思義,它是一種把內部私有網絡地址(IP地址)翻譯成合法網絡IP地址的技術,如下圖所示。因此我們可以認為,NAT在一定程度上,能夠有效的解決公網地址不足的問題。 公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(網絡信息中心)或者ISP(網絡服務提供商)分配的地址,對外代表一個或多個內部局部地址,是全球統一的可尋 址的地址。私有IP地址:也叫內部地址,屬于非注冊地址,專門為組織機構內部使用。因特網分配編號委員會(IANA)保留了3塊IP地址做為私有IP地址: 10.0.0.0 ——— 10.255.255.255172.16.0.0——— 172.16.255.255192.168.0.0———192.168.255.255地址池:地址池是有一些外部地址(全球唯一的IP地址)組合而成,我們稱這樣的一個地址集合為地址池。在內部網絡的數據包通過地址轉換到達外部網絡時,將會在地址池中選擇某個IP地址作為數據包的源IP地址,這樣可以有效的利用用戶的外部地址,提高訪問外部網絡的能力。
簡單地說,NAT就是在局域網內部網絡中使用內部地址,而當內部節點要與外部網絡進行通訊時,就在網關(可以理解為出口,打個比方就像院子的門一樣)處,將內部地址替換成公用地址,從而在外部公網(internet)上正常使用,NAT可以使多臺計算機共享Internet連接,這一功能很好地解決了公共 IP地址緊缺的問題。通過這種方法,可以只申請一個合法IP地址,就把整個局域網中的計算機接入Internet中。這時,NAT屏蔽了內部網絡,所有內部網計算機對于公共網絡來說是不可見的,而內部網計算機用戶通常不會意識到NAT的存在。如下圖所示。這里提到的內部地址,是指在內部網絡中分配給節點的私有IP地址,這個地址只能在內部網絡中使用,不能被路由轉發。
? ? ? ? ? ? ? ? ? ? ? ?
1.2、NAT的功能
NAT不僅能解決了lP地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊,隱藏并保護網絡內部的計算機。1.寬帶分享:這是 NAT 主機的最大功能。
2.安全防護:NAT 之內的 PC 聯機到 Internet 上面時,他所顯示的 IP 是 NAT 主機的公共 IP,所以 Client 端的 PC 當然就具有一定程度的安全了,外界在進行 portscan(端口掃描) 的時候,就偵測不到源Client 端的 PC
NAT 功能通常被集成到路由器、防火墻、ISDN路由器或者單獨的NAT設備中。比如Cisco路由器中已經加入這一功能,網絡管理員只需在路由器的IOS中設置NAT功能,就可以實現對內部網絡的屏蔽。再比如防火墻將WEB Server的內部地址192.168.1.1映射為外部地址202.96.23.11,外部訪問202.96.23.11地址實際上就是訪問訪問 192.168.1.1。此外,對于資金有限的小型企業來說,現在通過軟件也可以實現這一功能。Windows 98 SE、Windows 2000 都包含了這一功能。
1.3、NAT實現方式?
NAT的實現方式有三種,即靜態轉換Static Nat、動態轉換Dynamic Nat和端口多路復用OverLoad。靜態轉換是指將內部網絡的私有IP地址轉換為公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉換為某個公有IP地址。借助于靜態轉換,可以實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。
動態轉換是指將內部網絡的私有IP地址轉換為公用IP地址時,IP地址是不確定的,是隨機的,所有被授權訪問上Internet的私有IP地址可隨機轉換為任何指定的合法IP地址。也就是說,只要指定哪些內部地址可以進行轉換,以及用哪些合法地址作為外部地址時,就可以進行動態轉換。動態轉換可以使用多個合法外部地址集。當ISP提供的合法IP地址略少于網絡內部的計算機數量時。可以采用動態轉換的方式。
端口多路復用(Port address Translation,PAT)是指改變外出數據包的源端口并進行端口轉換,即端口地址轉換(PAT,Port Address Translation).采用端口多路復用方式。內部網絡的所有主機均可共享一個合法外部IP地址實現對Internet的訪問,從而可以最大限度地節約IP地址資源。同時,又可隱藏網絡內部的所有主機,有效避免來自internet的攻擊。因此,目前網絡中應用最多的就是端口多路復用方式。
ALG(Application Level Gateway),即應用程序級網關技術:傳統的NAT技術只對IP層和傳輸層頭部進行轉換處理,但是一些應用層協議,在協議數據報文中包含了地址信息。為了使得這些應用也能透明地完成NAT轉換,NAT使用一種稱作ALG的技術,它能對這些應用程序在通信時所包含的地址信息也進行相應的NAT轉換。例如:對于FTP協議的PORT/PASV命令、DNS協議的 "A" 和 "PTR" queries命令和部分ICMP消息類型等都需要相應的ALG來支持。
如果協議數據報文中不包含地址信息,則很容易利用傳統的NAT技術來完成透明的地址轉換功能,通常我們使用的如下應用就可以直接利用傳統的NAT技術:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。
1.4、NAT的分類
NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網絡地址端口轉換NAPT(Port-Level NAT)。1.4.1靜態NAT
通過手動設置,使 Internet 客戶進行的通信能夠映射到某個特定的私有網絡地址和端口。如果想讓連接在 Internet 上的計算機能夠使用某個私有網絡上的服務器(如網站服務器)以及應用程序(如游戲),那么靜態映射是必需的。靜態映射不會從 NAT 轉換表中刪除。如果在 NAT 轉換表中存在某個映射,那么 NAT 只是單向地從 Internet 向私有網絡傳送數據。這樣,NAT 就為連接到私有網絡部分的計算機提供了某種程度的保護。但是,如果考慮到 Internet 的安全性,NAT 就要配合全功能的防火墻一起使用。
對于以上網絡拓撲圖,當內網主機 10.1.1.1如果要與外網的主機201.0.0.11通信時,主機(IP:10.1.1.1)的數據包經過路由器時,路由器通過查找NAT table 將IP數據包的源IP地址(10.1.1.1)改成與之對應的全局IP地址(201.0.0.1),而目標IP地址201.0.0.11保持不變,這樣,數據包就能到達201.0.0.11。而當主機HostB(IP:201.0.0.11) 響應的數據包到達與內網相連接的路由器時,路由器同樣查找NAT table,將IP數據包的目的IP 地址改成10.1.1.1,這樣內網主機就能接收到外網主機發過來的數據包。在靜態NAT方式中,內部的IP地址與公有IP地址是一種一一對應的映射關系,所以,采用這種方式的前提是,機構能夠申請到足夠多的全局IP地址。
1.4.2 動態NAT
動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,主要應用于撥號,對于頻繁的遠程聯接也可以采用動態NAT。當遠程用戶聯接上之后,動態地址NAT就會分配給他一個IP地址,用戶斷開時,這個IP地址就會被釋放而留待以后使用。動態NAT方式適合于 當機構申請到的全局IP地址較少,而內部網絡主機較多的情況。內網主機IP與全局IP地址是多對一的關系。當數據包進出內網時,具有NAT功能的設備對IP數據包的處理與靜態NAT的一樣,只是NAT table表中的記錄是動態的,若內網主機在一定時間內沒有和外部網絡通信,有關它的IP地址映射關系將會被刪除,并且會把該全局IP地址分配給新的IP數據包使用,形成新的NAT table映射記錄。
1.4.3網絡地址端口轉換NAPT
網絡地址端口轉換NAPT(Network Address Port Translation)則是把內部地址映射到外部網絡的一個IP地址的不同端口上。它可以將中小型的網絡隱藏在一個合法的IP地址后面。NAPT與 動態地址NAT不同,它將內部連接映射到外部網絡中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的端口號。1.5、NAT技術的應用?
NAT主要可以實現以下幾個功能:數據包偽裝、平衡負載、端口轉發和透明代理。數據偽裝: 可以將內網數據包中的地址信息更改成統一的對外地址信息,不讓內網主機直接暴露在因特網上,保證內網主機的安全。同時,該功能也常用來實現共享上網。例如,內網主機訪問外網時,為了隱藏內網拓撲結構,使用全局地址替換私有地址。
端口轉發: 當內網主機對外提供服務時,由于使用的是內部私有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,而且這個過程對用戶來說是透明的。
負載平衡:目的地址轉換NAT可以重定向一些服務器的連接到其他隨機選定的服務器。例如1.2.3所講的目的NAT的例子。
失效終結:目的地址轉換NAT可以用來提供高可靠性的服務。如果一個系統有一臺通過路由器訪問的關鍵服務器,一旦路由器檢測到該服務器當機,它可以使用目的地址轉換NAT透明的把連接轉移到一個備份服務器上,提高系統的可靠性。
透明代理:例如自己架設的服務器空間不足,需要將某些鏈接指向存在另外一臺服務器的空間;或者某臺計算機上沒有安裝IIS服務,但是卻想讓網友訪問該臺計算機上的內容,這個時候利用IIS的Web站點重定向即可輕松的幫助我們搞定。
1.6、NAT技術的弊端
在一個具有NAT功能的路由器下的主機并沒有建立真正的端對端連接,并且不能參與一些因特網協議。一些需要初始化從外部網絡建立的TCP連接,和使用無狀態協議(比如UDP)的服務將被中斷。除非NAT路由器作一些具體的努力,否則送來的數據包將不能到達正確的目的地址。(一些協議有時可以在應用層網關的輔助下,在參與NAT的主機之間容納一個NAT的實例,比如FTP。)NAT也會使安全協議變的復雜。1.7、NAT技術的局限性
(1)NAT違反了IP地址結構模型的設計原則。IP地址結構模型的基礎是每個IP地址均標識了一個網絡的連接。Internet的軟件設計就是建立在這個前提之上,而NAT使得有很多主機可能在使用相同的地址,如10.0.0.1。(2)NAT使得IP協議從面向無連接變成面向連接。NAT必須維護專用IP地址與公用IP地址以及端口號的映射關系。在TCP/IP協議體系中,如果一個路由器出現故障,不會影響到TCP協議的執行。因為只要幾秒收不到應答,發送進程就會進入超時重傳處理。而當存在NAT時,最初設計的TCP/IP協議過程將發生變化,Internet可能變得非常脆弱。
(3)NAT違反了基本的網絡分層結構模型的設計原則。因為在傳統的網絡分層結構模型中,第N層是不能修改第N+1層的報頭內容的。NAT破壞了這種各層獨立的原則。
(4)有些應用是將IP地址插入到正文的內容中,例如標準的FTP協議與IP Phone協議H.323。如果NAT與這一類協議一起工作,那么NAT協議一定要做適當地修正。同時,網絡的傳輸層也可能使用TCP與UDP協議之外的其他協議,那么NAT協議必須知道并且做相應的修改。由于NAT的存在,使得P2P應用實現出現困難,因為P2P的文件共享與語音共享都是建立在IP協議的基礎上的。
(5)NAT同時存在對高層協議和安全性的影響問題。RFC對NAT存在的問題進行了討論。NAT的反對者認為這種臨時性的緩解IP地址短缺的方案推遲了Ipv6遷移的進程,而并沒有解決深層次的問題,他們認為是不可取的。
2、代理服務器介紹
2.1、概念
代理服務器(Proxy Server)是一種重要的服務器安全功能,它的工作主要在開放系統互聯(OSI)模型的會話層,從而起到防火墻的作用。代理服務器大多被用來連接INTERNET(國際互聯網)和Local Area Network(局域網)。提供代理服務的電腦系統或其它類型的網絡終端稱為代理服務器(英文:Proxy Server)。一個完整的代理請求過程為:客戶端首先與代理服務器創建連接,接著根據代理服務器所使用的代理協議,請求對目標服務器創建連接、或者獲得目標服務器的指定資源(如:文件)。在后一種情況中,代理服務器可能對目標服務器的資源下載至本地緩存,如果客戶端所要獲取的資源在代理服務器的緩存之中,則代理服務器并不會向目標服務器發送請求,而是直接返回緩存了的資源。一些代理協議允許代理服務器改變客戶端的原始請求、目標服務器的原始響應,以滿足代理協議的需要。代理服務器的選項和設置在計算機程序中,通常包括一個“防火墻”,允許用戶輸入代理地址,它會遮蓋他們的網絡活動,可以允許繞過互聯網過濾實現網絡訪問。
2.2、代理服務器功能
主要的功能有:(1)、突破自身IP訪問限制,訪問國外站點。教育網、過去的169網等
(2)、網絡用戶可以通過代理訪問國外網站。
(3)、訪問一些單位或團體內部資源,如某大學FTP(前提是該代理地址在該資源 的允許訪問范圍之內),使用教育網內地址段免費代理服務器,就可以用于對教育網開放的各類FTP下載上傳,以及各類資料查詢共享等服務。
(4)、突破中國電信的IP封鎖:中國電信用戶有很多網站是被限制訪問的,這種限制是人為的,不同Serve對地址的封鎖是不同的。所以不能訪問時可以換一個國外的代理服務器試試。
(5)、提高訪問速度:通常代理服務器都設置一個較大的硬盤緩沖區,當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時, 則直接由緩沖區中取出信息,傳給用戶,以提高訪問速度。
(6)、隱藏真實IP:上網者也可以通過這種方法隱藏自己的IP,免受攻擊。 其他功能: (1)設置用戶驗證和記賬功能,可按用戶進行記賬,沒有登記的用戶無權通過代理服務器訪問Internet網。并對用戶的訪問時間、訪問地點、信息流量進行統計。(2)對用戶進行分級管理,設置不同用戶的訪問權限,對外界或內部的Internet地址進行過濾,設置不同的訪問權限。
(3)增加緩沖器(Cache),提高訪問速度,對經常訪問的地址創建緩沖區,大大提高熱門站點的訪問效率。通常代理服務器都設置一個較大的硬盤緩沖區(可能高達幾個GB或更大),當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時,則直接由緩沖區中取出信息,傳給用戶,以提高訪問速度。
(4)連接內網與Internet,充當防火墻(Firewall):因為所有內部網的用戶通過代理服務器訪問外界時,只映射為一個IP地址,所以外界不能直接訪問到內部網;同時可以設置IP地址過濾,限制內部網對外部的訪問權限。
(5)節省IP開銷:代理服務器允許使用大量的偽IP地址,節約網上資源,即用代理服務器可以減少對IP地址的需求,對于使用局域網方式接入Internet ,如果為局域網(LAN)內的每一個用戶都申請一個IP地址,其費用可想而知。但使用代理服務器后,只需代理服務器上有一個合法的IP地址,LAN內其他用戶可以使用10.*.*.*這樣的私有IP地址,這樣可以節約大量的IP,降低網絡的維護成本。
2.3、代理分類
HTTP代理www對于每一個上網的人都再熟悉不過了,www連接請求就是采用的http協議,所以我們在瀏覽網頁,下載數據(也可采用ftp協議)時就是用http代理。它通常綁定在代理服務器的80、3128、8080等端口上。[1]
socks代理
相應的,采用socks協議的代理服務器就是SOCKS服務器,是一種通用的代理服務器。Socks是個電路級的底層網關,是DavidKoblas在1990年開發的,此后就一直作為Internet RFC標準的開放標準。Socks 不要求應用程序遵循特定的操作系統平臺,Socks 代理與應用層代理、HTTP層代理不同,Socks 代理只是簡單地傳遞數據包,而不必關心是何種應用協議(比如FTP、HTTP和NNTP請求)。所以,Socks代理比其他應用層代理要快得多。它通常綁定在代理服務器的1080端口上。如果您在企業網或校園網上,需要透過防火墻或通過代理服務器訪問 Internet就可能需要使用SOCKS。一般情況下,對于撥號上網用戶都不需要使用它。注意,瀏覽網頁時常用的代理服務器通常是專門的http代理,它和SOCKS是不同的。因此,您能瀏覽網頁不等于 您一定可以通過SOCKS訪問Internet。常用的防火墻,或代理軟件都支持SOCKS,但需要其管理員打開這一功能。如果您不確信您是否需要SOCKS或是否有SOCKS可用,請與您的網絡管理員聯系。為了使用socks,您需要了解一下內容:[1]
① SOCKS服務器的IP地址
② SOCKS服務所在的端口
③ 這個SOCKS服務是否需要用戶認證?如果需要,您要向您的網絡管理員申請一個用戶和口令
知道了上述信息,您就可以把這些信息填入“網絡配置”中,或者在第一次登記時填入,您就可以使用socks代理了。
在實際應用中SOCKS代理可以用作為:電子郵件、新聞組軟件、網絡傳呼ICQ、網絡聊天MIRC和使用代理服務器上聯眾打游戲等等各種游戲應用軟件當中。
VPN代理
指在共用網絡上建立專用網絡的技術。之所以稱為虛擬網主要是因為整個VPN網絡的任意兩個結點之間的連接并沒有傳統專網建設所需的點到點的物理鏈路,而是架構在公用網絡服務商ISP所提供的網絡平臺之上的邏輯網絡。用戶的數據是通過ISP在公共網絡(Internet)中建立的邏輯隧道(Tunnel),即點到點的虛擬專線進行傳輸的。通過相應的加密和認證技術來保證用戶內部網絡數據在公網上安全傳輸,從而真正實現網絡數據的專有性。
反向代理
反向代理服務器架設在服務器端,通過緩沖經常被請求的頁面來緩解服務器的工作量。 安裝反向代理服務器有幾個原因:
加密和SSL加速、負載平衡、緩存靜態內容、壓縮 減速上傳、安全 外網發布、大多使用開放源代代碼的squid做反向代理
其他類型
FTP代理:能夠代理客戶機上的FTP軟件訪問FTP服務器
RTSP代理:代理客戶機上的Realplayer訪問Real流媒體服務器
POP3代理:代理客戶機上的郵件軟件用POP3方式收發郵件
總結
以上是生活随笔為你收集整理的什么是NAT技术与代理服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装protobuf可能遇到的问题
- 下一篇: linux http error 401