网关的概念及分类详解
一、什么是网关? 
顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。
按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此,这里所指的网关就是我们所用的路由器。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
二、什么是默认网关
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
如何设置默认网关 
一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
1. 手动设置
手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。
在Windows 9x中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的IP地址就可以了。
需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
2. 自动设置
自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。
另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。
三、网关的分类
网关曾经是很容易理解的概念。在早期的因特网中,术语网关即指路由器。路由器是网络中超越本地网络的标记,这个走向未知的“大门”曾经、现在仍然用于计算路由并把分组数据转发到源始网络之外的部分,因此,它被认为是通向因特网的大门。随着时间的推移,路由器不再神奇,公共的基于IP的广域网的出现和成熟促进了路由器的成长。现在路由功能也能由主机和交换集线器来行使,网关不再是神秘的概念。现在,路由器变成了多功能的网络设备,它能将局域网分割成若干网段、互连私有广域网中相关的局域网以及将各广域网互连而形成了因特网,这样路由器就失去了原有的网关概念。然而术语网关仍然沿用了下来,它不断地应用到多种不同的功能中,定义网关已经不再是件容易的事。目前,主要有三种网关:
协议网关
应用网关
安全网关
唯一保留的通用意义是作为两个不同的域或系统间中介的网关,要克服的差异本质决定了需要的网关类型。
一、协议网关
协议网关通常在使用不同协议的网络区域间做协议转换。这一转换过程可以发生在OSI参考模型的第2层、第3层或2、3层之间。但是有两种协议网关不提供转换的功能:安全网关和管道。由于两个互连的网络区域的逻辑差异,安全网关是两个技术上相似的网络区域间的必要中介。如私有广域网和公有的因特网。这一特例在后续的“组合过滤网关”中讨论,此部分中集中于实行物理的协议转换的协议网关。
1、管道网关
管道是通过不兼容的网络区域传输数据的比较通用的技术。数据分组被封装在可以被传输网络识别的帧中,到达目的地时,接收主机解开封装,把封装信息丢弃,这样分组就被恢复到了原先的格式。例如在下图中,IPv4数据由路由器A封装在IPv6分组中,通过IPv6网络传递
给一个IPv4主机,路由器解开IPv6的封装,把还原的IPv4数据传递给目的主机。
www.douzhe/blog/get/3/网关1.jpg
管道技术只能用于3层协议,从SNA到IPv6。虽然管道技术有能够克服特定网络拓扑限制的优点,它也有缺点。管道的本质可以隐藏不该接受的分组,简单来说,管道可以通过封装来攻破防火墙,把本该过滤掉的数据传给私有的网络区域。
2、专用网关
很多的专用网关能够在传统的大型机系统和迅速发展的分布式处理系统间建立桥梁。典型的专用网关用于把基于PC的客户端连到局域网边缘的转换器。该转换器通过X.25网络提供对大型机系统的访问。下图演示了从PC客户端到网关的过程,网关将IP数据通过X.25广域网传送给大型机。
www.douzhe/blog/get/3/网关2.jpg
这些网关通常是需要安装在连接到局域网的计算机上的便宜、单功能的电路板,这使其价格
很低且很容易升级。在上图的例子中,该单功能的网关将大型机时代的硬连线的终端和终端服务器升级为PC机和局域网。
3、2层协议网关
2层协议网关提供局域网到局域网的转换,它们通常被称为翻译网桥而不是协议网关。在使用不同帧类型或时钟频率的局域网间互连可能就需要这种转换。
(1)帧格式差异
IEEE802兼容的局域网共享公共的介质访问层,但是它们的帧结构和介质访问机制使它们不能直接互通。如下图:
www.douzhe/blog/get/3/网关3.jpg
翻译网桥利用了2层的共同点,如MAC地址,提供帧结构不同部分的动态翻译,使它们的互通成为了可能。第一代局域网需要独立的设备来提供翻译网桥,如今的多协议交换集线器通常提供高带宽主干,在不同帧类型间可作为翻译网桥,如下图所示:
www.douzhe/blog/get/3/网关4.jpg
现在翻译网桥的幕后性质使这种协议转换变得模糊,独立的翻译设备不再需要,多功能交换集线器天生就具有2层协议转换网关的功能。
替代使用仅涉及2层的设备如翻译网桥或多协议交换集线器的另一种选择是使用3层设备:路由器。长期以来路由器就是局域网主干的重要组成部分,见下图。如果路由器用于互连局域网和广域网,它们通常都支持标准的局域网接口,经过适当的配置,路由器很容易提供不同帧类型的翻译。这种方案的缺点是如果使用3层设备路由器需要表查询,这是软件功能,而象交换机和集线器等2层设备的功能由硬件来实现,从而可以运行得更快。
www.douzhe/blog/get/3/网关5.jpg
(2)传输率差异
很多过去的局域网技术已经提升了传输速率,例如,IEEE802.3以太网现在有10Mbps、100Mbps和1Gbps的版本,它们的帧结构是相同的,主要的区别在于物理层以及介质访问机制,在各种区别中,传输速率是最明显的差异。令牌环网也提升了传输速率,早期版本工作
在4Mbps速率下,现在的版本速率为16Mbps,100Mbps的FDDI是直接从令牌环发展来的,通常用作令牌环网的主干。这些仅有时钟频率不同的局域网技术需要一种机制在两个其它方面都兼容的局域网间提供缓冲的接口,现今的多协议、高带宽的交换集线器提供了能够缓冲速率差异的健壮的背板,如下图:
www.douzhe/blog/get/3/网关6.jpg
如今的多协议局域网可以为同一局域网技术的不同速率版本提供内部速率缓冲,还可以为不同的802兼容的局域网提供2层帧转换。路由器也可以做速率差异的缓冲工作,它们相对于交换集线器的长处是它们的内存是可扩展的。其内存缓存进入和流出分组到一定程度以决定是否有相应的访问列表(过滤)要应用,以及决定下一跳,该内存还可以用于缓存可能存在于各种网络拓扑间的速率差异,如下图:
www.douzhe/blog/get/3/网关7.jpg
--------------------------------------------------------------------------------
二、应用网关
应用网关是在使用不同数据格式间翻译数据的系统。典型的应用网关接收一种格式的输入,将之翻译,然后以新的格式发送,如下图。输入和输出接口可以是分立的也可以使用同一网络连接。
www.douzhe/blog/get/3/tcp ip协议各自的含义是什么网关8.jpg
一种应用可以有多种应用网关。如Email可以以多种格式实现,提供Email的服务器可能需要与各种格式的邮件服务器交互,实现此功能唯一的方法是支持多个网关接口。下图所示为一个邮件服务器可以支持的几种网关接口。
www.douzhe/blog/get/3/GW1.jpg
应用网关也可以用于将局域网客户机与外部数据源相连,这种网关为本地主机提供了与远程交互式应用的连接。将应用的逻辑和执行代码置于局域网中客户端避免了低带宽、高延迟的广域网的缺点,这就使得客户端的响应时间更短。应用网关将请求发送给相应的计算机,获取数据,如果需要就把数据格式转换成客户机所要求的格式,见下图所示。
www.douzhe/blog/get/3/GW2.jpg