今天,我们将彻底搞清楚网关这个概念。如果你当前没有耐心看完,可以先点赞收藏,等你有时间了慢慢看。
网关英文名称是 Gateway。从技术定义上讲,它是连接两个不同网络段,或者两种不同协议网络的网络节点。在互联网体系结构中,数据并不是在一个单一的、巨大的网络中流动的,而是由无数个子网组成的。当数据包在同一个子网内部传输时,通过交换机就能完成;但是当数据包想要离开当前的子网,去往另一个完全不同的网络时,它必须经过一个出口,这个出口设备在逻辑上就被称为网关。

在不同的应用场景下,网关的物理载体是不一样的。对于普通家庭用户来说,你家里的路由器就是网关。当你打开手机的网络设置,看到 “默认网关” 一栏填着 192.168.1.1 时,这其实就是路由器的内网 IP 地址。这意味着,你手机里所有的外网请求,都会先发给这个 IP 地址,由它代为转发到运营商的网络。对于企业级网络,网关可能是一台高性能服务器、一台三层交换机,或者是专门的防火墙设备。
在 OSI 7 层模型中,早期的网桥和交换机主要工作在第二层数据链路层,而网关可以工作在第三层网络层以上,甚至可以一直工作到第七层应用层。网关设备通常具有以下一种或多种功能:第一个,协议转换。这是网关区别于普通路由器的重要特征。比如,一个工业传感器使用 RS-485 协议通信,而后台服务器使用以太网 TCP/IP 协议,网关的作用就是接收 RS-485 的数据包,拆解掉旧的协议头,重新封装成 TCP/IP 格式发送出去。第二,路由转发。这是网关设备具备的基础功能。网关保存着一张路由表,当它收到一个数据包时,会检查包头的目的 IP 地址,如果地址在内网,直接发送给目标;如果在远端网络,网关会通过复杂的算法计算出下一跳的路径,把包转发给下一个更高级别的网关。第三,隔离与安全。网关是内网和外网的唯一交汇点,因此它承担了流量过滤、访问控制、网络地址转换、入侵防御等功能。它可以屏蔽外部网络对内网主机的直接访问,保护内网安全。第四,流量控制与负载均衡。在高级应用场景中,网关可以根据流量的大小动态分配带宽,或者将请求分发到不同的服务器上,防止单点故障。
网关不是一个具体的设备型号,而是一种功能角色,不同类型的网关适用场景不同,我们分别介绍一下:
默认网关:最常用、日常接触最多,通常是路由器,是内网设备访问外网的必经之路。内网设备要访问互联网,必须把数据发给这个默认网关,再由网关转发出去。
应用网关:专门处理某一类应用层协议的网关,负责该协议的转换、解析和安全控制。常见类型:Web 应用防火墙,专门检查 HTTP、HTTPS 流量的安全网关;邮件网关,专门过滤垃圾邮件、病毒邮件,进行邮件加密。
防火墙网关:侧重安全防护,是集成防火墙功能的网关,核心是通过规则过滤数据,实现网络安全防护。核心功能有访问控制(允许 / 禁止特定 IP、端口的通信)、病毒拦截、入侵检测、数据加密。会禁止外网设备直接访问内网的设备,只允许通过授权的端口和 IP 访问,保护内网数据安全。
工业网关:工业场景专用,是针对工业控制网络的网关,核心是实现工业协议与以太网协议的转换。
无线网关:是连接无线网络(比如 Wifi、4G、5G)和有线网络的网关,负责无线协议与有线协议的转换。比如家里的无线路由器就是无线网关,把 Wifi 协议的无线数据转换成以太网协议的有线数据,再转发给光猫;同时,把光猫的有线数据转换成 Wifi 协议,供手机无线连接。
除了物理硬件,程序员在开发微服务架构时,也经常提到API 网关,这就是软件层面的网关。在分布式系统中,后端可能有几十个微服务,如果让手机 APP 直接去连接这几十个服务,管理会非常混乱。这时候我们需要在所有服务前面挡一个 API 网关,API 网关负责处理所有的统一操作,比如:1. 统一鉴权,检查这个用户有没有权限访问;2. 流量限速,防止某一个接口被短时间内的海量请求冲垮;3. 协议适配,把外部的 HTTP 请求转化为内部的高性能 RPC 调用;4. 日志审计,记录所有经过的流量数据。
最后总结一下,网关不是指某一种特定的硬件,而是一种逻辑角色。在家庭网络里,它是你的宽带路由器;在工业控制里,它是协议翻译器;在软件架构里,它是微服务的统一入口。它的核心意义在于,通过一个统一的接口,将复杂的、不兼容的两个网络系统连接起来,并实现数据的安全交换和转发。

还没有评论,来说两句吧...