《路由、NAT与代理的区别》由会员分享,可在线阅读,更多相关《路由、NAT与代理的区别(3页珍藏版)》请在金锄头文库上搜索。
1、常用的局域网接入 Internet 的技术有三种:1. 直接路由;2. 网络地址转换 (NAT) ;3. 代理服务器 (proxy) 。第一种方法比较简单直接,不过要求客户机都有真实 IP ,仅这一点,大多数的环境就无法 满足 -IP 地址可是紧缺资源哦。而且一台硬件路由器的价格不斐,真实 IP 挂在网上安全上 也让人不放心。所以这种方案应用得不多,我就不多讲了。再来看第二种方法-NAT。上文提到,ip地址常常是不够用的,那么NAT技术的出现就可以解决这一问题。 其原理就是在局域网使用保留的私有地址, 在 ip 数据包离开局域网网关 ( 即 NAT网关)发往In ternet时改变其源地址为一
2、个In ternet 可路由地址(通常就是网关的外部网卡地址 ),当回应的数 据包返回网关时再将回应包的目的地址改为原先发出请求的客户机 的IP地址,这通常是一个保留的私有地址。NAT网关自动跟踪客户机和外网的连线,保证数据 包转发给正确的客户机。这样许许多多的局域网都可以使用保留地址而不用担心会相 互冲突,就可以节约大量的 IP 地址资源。 linux 下的 iptables , ipchains, FreeBSD 下的 ipfw都可以实现某种形式的NAT,从而充当局域网的In ternet网关。还有MJ的 ICS(I nternetConn ection Shari ng ,大致如此吧:-
3、)也是使用NAT技术。至于sygate,据我所知也是采 用NAT技术,所以它并不是真正意义上的代理服务器。再有就是第三种方法 -Proxy ,也就是代理服务器。顾名思义它是一种客户机和服务器之间 的代理人,它接受客户机的连接请求,然后自己“代替”客户机向服务器发起连接,接Proxy ,到回应后,再将同样的回应发回客户机。注意这里建立了两个链接,客户机Proxy服务器,要点是客户机服务器之间并没有直接建立连接,它们之间的对话是经过代理服务器“代理的”。这一点很重要,正是由于这一特点,Proxy 通常可以用作一个不错的防 火墙,因为它隔断了客户机与外部服务器之间的直接数据连接。还是由于这一特点,
4、客户机不需要具有 Internet 可路由的 IP 地址,因为它与 Internet 根本没有发生直接连接。 至于透明代理, 主要应从两个层面上来理解, 首先它是一个代理服务器, 第二由于作了特别 的配置,对于客户的 应用来讲它是“透明”的,就是说客户根本无需知道它的存在,也就 不需要特别的设置。这可以简化客户端的配置工作,通常你只要指定客户机的IP 地址、确省网 关、和DNS地址就行了。如果网络上运行着DHCP服务器,那就更简单了,你只需要告诉客户机动态取得IP地址一件事就可以了,这是DHCP的功劳,不要 也记到透明代里头上哦。 :-)再澄清一点,传统代理情况下,域名解析由Proxy完成,所
5、以客户端DNS设得不对也能浏览; 在透明代理环境下,域名解析是客户机自己的事,所以DNS-定要设对!了解了 NAT和Proxy的大致概念,现在我们来谈谈它们的主要区别。1. 它们工作的协议层不同,NAT需要对ip帧进行拆包重组,所以它工作在ISO七层模型的第三层,网络层; Proxy 需要了解具体的应用层的协议,它通常工作在应用层,所以又称为 应用网关。2. 速度不同,NAT工作在较低层,通常比工作在高层的Proxy速度要快些。如果 Proxy作了 cache 缓冲的话就不一定了。3. 支持的协议不同,一般 NAT支持很多上层的应用层协议,不被支持的协议反倒很少;而Proxy通常支持的协议较少
6、,如squid支持HTTP和基于浏览器 的FTP。所以有时会有多个Proxy协同工作,HTTP代理+FTP代理+SMTH弋理+POP代理等等。当然也有的代理服务器集 成了多协议的代理,如 M$ Proxy,另外delegate支持的协议也比squid多。不过一般来说 Proxy 支持的协议较少且灵活性相对较差。4. 管理控制功能不同。 NAT的控制功能相对较少;相比之下 Proxy这方面的功能就比较强大 了。用户认证,精细的访问控制,cache缓冲与管理等等。不过 NAT常常可以与包过滤技术相结合以弥补其控制功能的不足。如上所述,两种技术都可以带动局域网上 Interent ,节约 IP 地址资源。但又各有特点,各 有所长, 在实际环境中我们可以根据自己的需求和条件加以选用,实际上很多情况下两者可 以很好的共存在同一个网络环境下,取长补短,为我们提供更好的服务。