网关(Gateway)是 http 层的概念,还是 tcp 层的概念?

2021-04-01 13:30:44 +08:00
 LeeReamond

如题,写 web,用各种网关用了很多年了,一直没较过真,今天想搞清楚一下。一般来说,web 框架里首先要经过一个搭在 tcp 层上的网关,这里说的网关应该是负责处理字节流到 http 协议转换的问题。

但是还有一个网关,就是一般拨号上网之类的,你要注册子网掩码、默认网关、默认 DNS 等等,这里也有一个网关。很显然这个网关处理的不是应用层的问题。所以网关到底是第几层的概念?

=====

不要吐槽标题中的 http 层和 tcp 层,谢谢大家。

1222 次点击
所在节点    问与答
3 条回复
iyaozhen
2021-04-01 13:36:26 +08:00
「这里说的网关应该是负责处理字节流到 http 协议转换的问题」
这个也不是,没有什么转换的问题,http 协议就是 http 协议,你说的应该是解析 http 协议变成程序可操作的数据结构(比如 map 、object ),这是 http server 做的事情

你说的应该是 api-gateway https://www.aliyun.com/product/apigateway ? 这种要算还是应用层(你说的 http 层),其实就是个大号的 nginx,没有它也行
cloudbeyond
2021-04-01 13:37:25 +08:00
几层网关就是第几层的网关的概念,看网关主要处理 OSI 当中哪一层
一般会说 2 层交换(基于 MAC 地址) 3 层路由(基于 IP ),4 层网关( TCP/UDP ),7 层网关( HTTP )
chinvo
2021-04-01 13:39:28 +08:00
不是一个概念

Web 网关有工作在 7 层( http)上的,有工作在 4 层(tcp)上的

上网的网关一般是 3 层 /跨 23 层

类似的, 还有支付网关, 工作在 7 层(也有一些对接电报之类的低层次的支付网关, 是夸 1 ~ 7 层); iot 网关, 也可能是跨 1 ~ 7 层的

总之, 虽然都叫 gateway, 但不是一种东西.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/767193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX