网络地址转换常常和代理服务搞混,但是它们之间有明确的不同。NAT 对源和目的计算机都是透明的。没有任何一方会意识到它正在和第三方设备打交道。但是代理服务却不是透明的。源计算机知道它正向代理服务器发起一个请求,而且你还必须进行配置才能这样做。目的计算机会认为代理服务器就是与它直接通信的源计算机。还有,代理服务通常工作在 OSI 参考模型的第 4 层 (传输层) 或更高,而 NAT 工作在第 3 层 (网络层)。由于代理服务工作在更高层,所以通常它将比 NAT 要慢。

NAT 工作在 OSI 参考模型的网络层 (第3层) 是有道理的,因为路由器就工作在这一层:

NAT 真正的好处是它在网络中是透明的。例如,你可以将你的 Web 服务器或 FTP 服务器移到另一台主机上而不用担心会破坏连接。只需简单地修改入站映射,将路由器映射到你的新内部本地地址就行了。你也可以很容易地改变你的内部网络,因为唯一的外部 IP 地址不是属于路由器就是来自一段分配的全局地址。

NAT 和 DHCP 简直就是天作之合,你可以为你的存根域选择一段未注册 IP 地址然后用 DHCP 服务将它们分发出去。这也使你想扩大网络规模时变得更加容易。你不再需要向 IANA 请求更多的 IP 地址,你只需增加配置在 DHCP 中的可用 IP 地址段,这样你网络中的新增计算机立即就有了地址空间了。

多宿主

由于商业现在正越来越依赖于因特网,拥有多个连接点到因特网正快速成为他们的网络策略中的一部分。多链路,就是所谓的多宿主,当其中一条链路崩溃时,它减少了潜在的灾难性崩溃的可能。

为了维持一条可靠的连接,多宿主允许一家公司通过减少在单条链路上连接到因特网的计算机数量,以此来达到负载平衡。通过多链路而达到分布式负载将会提高性能,并且能够显著地减少等待时间。    多宿主网络通常是连接到不同的 ISP (Internet Service Providers,网络服务供应商)。每一个 ISP 都分配一个 (或一段) IP 地址给这家公司。路由器用 BGP (Border Gateway Protocol,边界网关协议),TCP/IP 协议栈的一部分,在运行不同网络协议的网络之间进行路由。在一个多宿主网络中,路由器在存根域中利用 IBGP (Internal Border Gateway Protocol,内部边界网关协议) ,在与其他路由器之间通信时利用 EBGP (External Border Gateway Protocol,外部边界网关协议)。当多宿主网络用到 NAT 时,NAT 路由器会被配置来自不同 ISP 分配的多个内部全局地址段。同样的内部本地地址将会被映射到多个不同的来自 NAT 的内部全局地址,这取决于流量将被路由到哪一个目的地址。这就是所谓的目的地的 NAT,查看 NAT - Ability to Use Route Maps with Static Translations 获得跟多信息。

多宿主对于连接到一个 ISP 的链接崩溃时很有效。一旦路由器连接到的那个 ISP 的链接崩溃了,它将马上将所有经过它的流量重定向到其他路由器。

NAT 可用于缓解对于多宿主多用户延伸的可预测路由。

[1]   inside global(内部全局地址):私有主机在非自有网络中使用的地址,通常情况下inside global地址是从合法的全球统一可寻址空间中分配的地址,也就是通常所说的共有IP。inside global地址的特点是只会出现在非自有网络中并且一定是给私有主机使用的。

[2]   outside local(外部本地地址):非私有主机在自有网络内表现出来的IP地址。该地址是自有网络的管理员为本网络以外的设备所准备的用于在自有网络内使用的 IP地址。outside local地址的特点是只会出现在自有网络内但是是供给非私有主机使用的。

[3]   inside local(内部本地地址):在自有网络中分配给私有主机的地址,一般情况下该地址是RFC1918中定义的私有地址。inside local地址的特点是只会出现在自有网络中并且一定是给私有主机使用的。

[4]   outside global(外部全局地址):非私有主机在自有网络以外的区域使用的IP地址,是非私有主机所在网络的管理员负责管理个分配的。outside global地址的特点是不会出现在自有网络中而且不是给私有主机使用,不归自有网络的管理员负责。

[5]   存根网络stub network):只有一条连接到其邻居网络的网络。


相关内容