V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

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

  •  
  •   LeeReamond · 2021-04-01 13:30:44 +08:00 · 1236 次点击
    这是一个创建于 1361 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    =====

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

    3 条回复    2021-04-01 13:39:28 +08:00
    iyaozhen
        1
    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
        2
    cloudbeyond  
       2021-04-01 13:37:25 +08:00
    几层网关就是第几层的网关的概念,看网关主要处理 OSI 当中哪一层
    一般会说 2 层交换(基于 MAC 地址) 3 层路由(基于 IP ),4 层网关( TCP/UDP ),7 层网关( HTTP )
    chinvo
        3
    chinvo  
       2021-04-01 13:39:28 +08:00 via iPhone   ❤️ 1
    不是一个概念

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

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

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

    总之, 虽然都叫 gateway, 但不是一种东西.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:33 · PVG 07:33 · LAX 15:33 · JFK 18:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.