网关:Gateway是通往异世界的入口

网关解释一 

探索队员:网关(gateway)有各种不同的种类呢。

探索队长:是啊。

队员:话说,gateway这个词到底是什么意思啊?

队长:在问别人之前呢……

队员:我知道,我现在就查字典。唔,字典上说是墙上的像门一样的入口。

队长:没错,入口的里面是什么呢?

队员:里面?是什么呢?天堂?

队长:天堂……怎么说呢,不算对也不算错吧,总之,入口的里面是和外面不一样的世界。

队员:噢……

队长:通往异世界的入口就是gateway啦。

队员:怎么感觉像问禅一样的……

队长:哪有。要不我们还是举个例子吧。Web服务器有一种叫CGI(Common GatewayInterface,通用网关接口)的功能,这又是什么东西呢?

队员:Web服务器运行CGI程序,然后CGI程序处理用户发来的数据对吧?

队长:从Web服务器的角度来看确实如此,但如果从客户端发送的消息的角度来看呢?

队员:消息首先会到达Web服务器。

队长:没错,然后呢?

队员:然后……会进入Web服务器中,接着又会进入CGI程序中,是吗?

队长:没错。准确来说,CGI指的不是CGI程序本身,而是连接程序与Web服务器程序的接口规格。所以说,客户端发送的消息是通过CGI这样一个接口,从Web服务器程序进入CGI程序的。

队员:原来如此。那么这个接口就是通往CGI程序这个异世界的入口咯?

队长:看来你总算是有点长进了。除了CGI之外,还有其他一些通往异世界的入口,这些都叫gateway。

队员:那么TCP/IP设置窗口中的默认网关也是一种gateway咯?

队长:这里的网关就是路由器的意思。

队员:那么为什么不叫默认路由器,而是叫默认网关呢?

队长:因为一开始并没有路由器这个词,那时候是管路由器叫网关的。从某种角度来说,路由器就是通向另一个网络的入口,所以默认网关的叫法也是那时候遗留下来的。

队员:这样啊,那后来为什么又出来路由器这个词了呢?

队长:以前,对于相当于路由器这样的东西,有很多不同的叫法。TCP/IP中叫网关,TCP/IP之外的路由器又有别的叫法。即便是现在,像交换机、集线器之类的叫法也不是很明确呢,是不是?

队员:这样下去可不行呢。

队长:我觉得也是。所以说,后来就统一叫路由器了。

队员:原来如此。那现在的交换机、集线器之类的名字能不能也统一一下呢?

队长:跟我说也没用啊。队员:别这样嘛,帮帮忙吧!

网关解释二

1.前序
对于网关,从专业角度,一般运维和网络管理员会比较了解一下。但作为一个软件开发人员,我觉得也是有必要了解一下。尤其是在某次面试过程当中,被面试官问起后,感觉回答的不是很好,导致面试扣分。所以今天,带着学习和分享的想法,一起扒一扒网关的秘密。

2.网关
2.1 什么是网关?
网关英文名称为Gateway,又称网间连接器、协议转换器网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。

网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器,与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

通俗点形容,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。也就是网络关卡。

2.2 网关的作用是什么?
简单来说,网关是设备与路由器之间的桥梁,由它将不同的网络间进行访问的控制,转换,交接等等。

比如有网络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转发数据包的过程。

2.3 网关的工作流程
通俗解释:

  假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。

  但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:

  小不点:李大爷,我想找班主任查一下小明的电话号码行吗?

  李大爷:好,你等着。(接着李大爷给你的班主任挂了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99

  小不点:太好了!李大爷,我想找小明,你再帮我联系一下小明吧。

  李大爷:没问题。(接着李大爷向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家那个院子的王大爷那里,然后王大爷把电话给转到小明家)

  就这样你和小明取得了联系

2.4 软件系统网关
系统与系统之间,服务的请求与返回也有网关,我们可以理解为“系统网关”。与广义上的网关,所指含义可能不同,但所要发挥的作用,却如出一辙。

软件系统网关作用:

内外网隔离,外网所有请求都只能通过网关访问内网数据;防止网关单点,最好在不同大区配置多台网关服务器。
验证+鉴权,外网所有请求,通过网关指定过滤器对用户访问权限进行控制。可以整合OAuth2,token,jwt等提高架构安全性。
服务降级+限流+日志+监控。限流算法如令牌桶、漏桶等,Spring Cloud Gateway使用Redis+Lua技术实现高并发和高性能的限流方案。

参考链接:https://blog.csdn.net/yy339452689/article/details/103913617

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值