网关(Gateway),顾名思义,就是一个网络到另一个网络的关口。

维基百科对网关的定义为:在计算机网络中,网关(Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。

百度百科对网关的定义为:网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

但是,很多时候,我们会将路由器和网关认为是同一个概念。其实,这个是有历史原因的。许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器

网关的类型

1. 传输网关

传输网关用于在2个网络间建立传输连接。利用传输网关,不同网络上的主机间可以建立起跨越多个网络的、级联的、点对点的传输连接。例如通常使用的路由器就是传输网关,“网关”的作用体现在连接两个不同的网段,或者是两个不同的路由协议之间的连接,如RIP,EIGRP,OSPF,BGP等。

2. 应用网关

应用网关在应用层上进行协议转换。例如,一个主机执行的是ISO电子邮件标准,另一个主机执行的是Internet 电子邮件标准,如果这两个主机需要交换电子邮件,那么必须经过一个电子邮件网关进行协议转换,这个电子邮件网关是一个应用网关。

3. 信令网关

主要完成7号信令网与IP网之间信令消息的中继,在3G初期,对于完成接入侧到核心网交换之间的消息的转接(3G之间的RANAP消息,3G与2G之间的BSSAP消息),另外还能完成2G的MSC/GMSC与软交换机之间ISUP消息的转接。

4. 中继网关

又叫IP网关,同时满足电信运营商和企业需求的VoIP设备。中继网关(IP网关)由基于中继板和媒体网关板建构,单板最多可以提供128路媒体转换,两个以太网口,机框采用业界领先的CPCI标准,扩容方便具有高稳定性、高可靠性、高密度、容量大等特点。

5. 接入网关

是基于IP的语音/传真业务的媒体接入网关,提供高效、高质量的话音服务,为运营商、企业、小区、住宅用户等提供VoIP解决方案。

6. 协议网关

协议网关通常在使用不同协议的网络区域间做协议转换。这一转换过程可以发生在OSI参考模型的第2层、第3层或2、3层之间。

7. 安全网关

安全网关是两个技术上相似的网络区域间的必要中介。安全网关是各种技术有趣的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。

TCP/IP 网关  

TCP/IP协议里的网关是最常用的,下文讲的网关指TCP/IP下的网关,属于传输网关。

TCP/IP中的网关工作原理

假设你的名字叫小不点(很小),你住在一个大院子里,你有很多邻居小伙伴,当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。

但是下雪天你父母不允许你走出大门,你想与外界发生的一切联系,都必须由父母用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家里也有父母。但是你不知道小明家的电话号码,于是你在家里和父母有了下面的对话:

小不点:爸爸,我想给小明的打电话

爸爸:好,我去找一下小明家的电话号码(可以打电话给班主任查询)。找到电话号码后,拨通了小明家的电话。

小明家长:小明家长接到电话,发现是找小明的,于是叫小明来接听电话

就这样你和小明取得了联系。其中,父母就相当于网关。

TCP/IP协议中,当两个主机处于不同的网络中时(如何判断),不能直接通信,此时得需要通过网关。假如主机A想和主机B进行通信,但是二者不属于同一个网络,两者通过网关C连接。此时,主机A可以把报文发给网关C,由网关C把A的报文转发给主机B;主机B接收到请求后,将回包发送给网关C,由网关C把回包转发给主机A,流程如图1所示:

 


常用的网关体系架构 简述网关_TCP

图1 主机A与主机B通过网关C交互流程图

默认网关

在网关中有一个很常见的概念:默认网关。默认网关是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址

在Windows中的默认网关信息如图2所示:


常用的网关体系架构 简述网关_IP_02

图2 Windows中默认网关

也可以通过命令ipconfig进行查询:

以太网适配器 本地连接:

连接特定的 DNS 后缀 : DHCP HOST

 IPv4 地址: 192.168.0.100

子网掩码: 255.255.255.0

默认网关: 192.168.0.1

在Linux中默认网关可以通过命令netstat -r进行查询:

 


常用的网关体系架构 简述网关_TCP_03

图3 Linux默认网关

注意:人们通常将网关叫做路由器,有点不准确:对于路由器而言,可以有多个出口,每个出口可以连接不同的局域网(每个出口可以对应一个IP,该IP与其相连的局域网在同一个网段)。如果连接路由器的主机想访问不同的局域网,那么实际起作用的就是该路由器的相应出口,而该出口就是该局域网的网关。

 


常用的网关体系架构 简述网关_IP_04