提到共用上網,我們很容易想到使用Proxy 伺服器或者是帶路由功能的ADSL Modem,其實我們還有更廉價的選擇——用Windows系統提供的共用上網的功能。這並沒有什麼新鮮的,但很多人並沒有注意到:在Windows中提供的共用上網方式有兩種——ICS和NAT。這兩種方式各是一個什麼概念,各自依據的是什麼原理,它們各有什麼優缺點,這是我們下面要探討的內容。
什麼是ICS
ICS即Internet串連共用(Internet Connection Sharing)的英文簡稱,是Windows系統針對家用網路或小型的Intranet網路提供的一種Internet串連共用服務。它實際上相當於一種網路位址轉譯器,所謂網路位址轉譯器就是當資料包向前傳遞的過程中,可以轉換資料包中的IP地址和TCP/UCP連接埠等地址資訊。有了網路位址轉譯器,家用網路或小型的辦公網路中的電腦就可以使用私人地址,並且通過網路位址轉譯器將私人地址轉換成ISP分配的單一的公用IP地址從而實現對Internet的串連。ICS方式也稱之為Internet轉換串連。
什麼是NAT
NAT即網路位址轉譯(Network Address Translator),從廣義上講,ICS也是使用了一種NAT技術,不過我們這裡討論的NAT是指將運行Windows 2000 Server的電腦作為IP路由器,通過它在區域網路和Internet主機間轉寄資料包從而實現Internet的共用。NAT方式也稱之為Internet的路由串連。網路位址轉譯NAT通過將專用內部地址轉換為公用外部地址,對外隱藏了內部管理的IP地址。這樣,通過在內部使用非註冊的IP地址,並將它們轉換為一小部分外部註冊的IP 位址,從而減少了IP 位址註冊的費用。同時,這也隱藏了內部網路結構,從而降低了內部網路受到攻擊的風險。
其工作過程我們通過圖1來瞭解,對於由NAT傳出資料包,源IP地址(專用地址)被映射到 ISP 分配的公用地址,並且 TCP/UDP 連接埠號碼也會被映射到不同的 TCP/UDP 連接埠號碼。對於到NAT協議的傳入資料包,目標公用IP地址被映射到源內部專用地址,並且TCP/UDP連接埠號碼被重新對應回源TCP/UDP連接埠號碼。可以簡單地概括為,對於向外發出的資料包,NAT將源IP地址和源TCP/UDP連接埠號碼轉換成一個公用的IP地址和連接埠號碼;對於流入內部網路的資料包,NAT將目的地址和TCP/UDP連接埠轉換成專有的IP地址和最初的TCP/UDP連接埠號碼。
說到這裡似乎讓人糊塗了,那究竟兩者有什麼區別呢?在Windows 2000的協助檔案中ICS和NAT分別叫做Internet的轉換串連和路由串連,其實說白了ICS就是NAT的簡化版,使用ICS無需理解IP地址和路由方面的一些知識,並且提供一種區域網路中使用Windows 2000路由器共用Internet的簡化配置,不過ICS可能不允許區域網路和Internet主機之間所有的IP通訊,如《暗黑破壞神》一類的多玩家遊戲、即時通訊及其他對等服務,如果在公用Internet上使用專用地址或同時使用同一連接埠號碼,這些應用程式就會中止。而NAT的配置需要有關於IP地址和路由配置方面的知識,它的配置比ICS要複雜,它允許在區域網路和Internet主機間所有的IP通訊。此外,ICS只能使用一個合法的公用IP地址,而NAT可以通過配置位址集區的方式使用ISP提供的多個合法的公用IP地址供客戶機共用。
配置ICS和NAT服務
在區域網路中ICS和NAT服務不能並存,我們只能選用其中的一種。
ICS的配置過程相當簡單,首先通過在控制台中的“網路和撥號連線”檔案夾,建立好同ISP的串連,然後從該串連的“屬性”中選擇“共用”標籤,選中“啟用此串連的Internet的串連共用”複選框,“確定”後,根據系統的提示就完成ICS伺服器的設定。而用戶端只需將網卡設為“自動獲得IP地址”,並將“預設閘道”一欄空著,重啟後即可使用ICS服務了。
NAT的配置相對複雜一些,首先要將伺服器與區域網路串連的網卡IP地址設為:192.168.0.1,與ADSL或Cable Modem串連的網卡IP地址設為自動擷取(也可以是ISP提供的合法的固定IP地址)。並將伺服器的DNS和DHCP服務設定好。NAT功能主要是通過 “管理工具”中的“路由和遠端存取”進行配置來實現的。用戶端在定義TCP/IP協議屬性時需設定DNS,並指定預設閘道為192.168.0.1,就可使用NAT服務共用上網。
選擇ICS還是NAT
從上面對兩者所作的比較和兩者的實現方式我們可以得出結論:
ICS更適用於家用網路環境:它的功能比較簡單,設定也相當容易,不需要太多的專業知識也可以完成設定,這對家庭組網來說是十分必要的;它只能使用單一的公用IP地址,無須註冊多個公用IP地址,因而它的費用小,而通常家庭組網對成本是十分敏感的;它本身沒有任何安全措施,必須另外增加防火牆之類的安全措施,但只需在ICS主機上加裝防火牆,區域網路中的其他機器都會得到有效保護,通常家用網路環境下對安全的要求並不會太高;ICS對系統平台沒有特殊的要求,裝有Windows 98 SE以上版本的作業系統的電腦都可以配置成ICS的主機,更適合於當前家庭主流操作平台的連網要求。
NAT則適合於公司辦公網路環境:它的設定比ICS要複雜,需要安裝者具備一定的專業知識,這種條件家庭通常是不具備的;它能使用多個公用IP地址(設定位址集區),從而使區域網路使用者可使用多個合法IP地址訪問Internet,申請多個IP地址當然只有規模較大的網路才有這種需要;由於使用IP路由,它具備一定的安全措施,相對安全性它要比ICS好得多,當然,對於使用NAT共用上網的區域網路來說,加裝防火牆也是必要的;目前能支援NAT的作業系統只有Windows 2000 Server/Advance Server,顯然這類作業系統並不是家庭使用者使用的,在辦公網路中將提供其他服務的Windows 2000 Server伺服器同時配置成NAT伺服器是順理成章的事情;與ICS要求網路中的客戶機由DHCP伺服器動態分配IP地址不同,NAT網路中的客戶機可以設定靜態內部IP地址,因而其設定更具有彈性,網路中的應用也可以更加多樣,也更能適應規模較大的網路。