网络编程

关注公众号 jb51net

关闭
首页 > 网络编程 >

深入分析两种共享上网方式

作者:

深入分析两种共享上网方式

  提到共享上网,我们很容易想到使用代理服务器或者是带路由功能的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地址,因而其设定更具有弹性,网络中的应用也可以更加多样,也更能适应规模较大的网络。

阅读全文