Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >网关知识总结

网关知识总结

作者头像
人不走空
发布于 2024-02-20 11:37:01
发布于 2024-02-20 11:37:01
9880
举报
文章被收录于专栏:学习与分享学习与分享

网关(Gateway)是一种网络设备或软件,用于连接两个不同的网络或协议,并能够在这两个网络或协议之间进行数据交换。网关是网络体系结构中的重要组成部分,它可以使不同的网络或协议相互通信,实现数据的传输和处理。

一、网关的基本概念

网关(Gateway)也称为网间连接器协议转换器或网关主机,它是一种网络设备或软件,能够将不同协议或不同体系结构的网络连接起来,使它们能够相互通信和共享资源。网关可以用于广域网(WAN)和局域网(LAN)之间的连接,也可以用于局域网之间的连接。

网关的主要功能是转换和传输数据。当两个不同的网络或协议需要相互通信时,网关可以将数据从一种格式转换为另一种格式,以便它们可以相互理解和通信。例如,如果一个网络使用 TCP/IP 协议,而另一个网络使用 UDP 协议,那么这两个网络之间就需要一个能够将 TCP/IP 数据包转换为 UDP 数据包的网关。

二、网关的类型

根据不同的分类方式,可以将网关分为多种类型。以下是几种常见的网关类型:

  1. 协议网关:协议网关也称为网间连接器,它是一种专门用于连接不同协议的网络或设备的网关。例如,如果一个网络使用 TCP/IP 协议,而另一个网络使用 IPX/SPX 协议,那么这两个网络之间就需要一个能够将 TCP/IP 数据包转换为 IPX/SPX 数据包的协议网关。
  2. 应用程序网关:应用程序网关是一种用于连接不同应用程序的网关。它可以将来自一个应用程序的数据转换为另一个应用程序可以理解的格式,以便它们可以相互通信。例如,如果一个应用程序使用 Web Services 协议,而另一个应用程序使用 FTP 协议,那么这两个应用程序之间就需要一个能够将 Web Services 数据转换为 FTP 数据的应用程序网关。
  3. 安全网关:安全网关是一种用于保护网络安全和数据的网关。它可以将来自不安全网络的数据转换为安全网络可以理解的格式,以便它们可以相互通信。同时,安全网关还可以对数据进行加密、解密、过滤等操作,以保护数据的机密性和完整性。
  4. 路由网关:路由网关也称为路由器,它是一种用于连接不同网络的网关。它可以根据网络层的信息将数据从一个网络转发到另一个网络。路由网关可以实现数据的路由选择、拥塞控制、负载均衡等功能。
  5. 虚拟专用网(VPN)网关:虚拟专用网(VPN)网关是一种用于在公共网络上建立虚拟专用网络的网关。通过 VPN 网关,两个或多个不同的网络或设备可以在公共网络上建立加密通道,实现安全的通信和数据传输。

三、网关的工作原理

网关的工作原理主要包括以下几个步骤:

  1. 数据接收:当网关接收到来自一个网络的数据时,它会根据所连接的网络和协议对数据进行解析和处理。这个过程也称为数据解码(decoding)。
  2. 数据转换:如果所连接的两个网络或协议不同,那么数据在传输前需要进行转换。例如,如果数据从一个使用 TCP/IP 协议的网络发送到另一个使用 UDP 协议的网络,那么就需要将 TCP/IP 数据包转换为 UDP 数据包。这个过程也称为数据封装(encapsulation)或数据包装(packaging)。
  3. 数据封装:在数据转换之后,如果需要将数据发送到另一个网络或设备时,还需要对数据进行封装。这个过程也称为数据包装(packaging)。封装的过程包括将原始数据打包成可以在目标网络上传输的数据包格式。
  4. 数据传输:封装后的数据可以通过目标网络的路由选择和传输机制进行传输。这个过程也称为数据转发(forwarding)。在传输过程中,可以根据目标网络的特性对数据进行拆包和重组等操作。
  5. 数据接收和解包:目标网络的接收端收到数据后,需要对数据进行解封装和解包处理。这个过程也称为数据解包装(unpackaging)和解码(undecoding)。最终接收端可以得到原始数据。

四、网关能提供哪些功能?

请求转发:将请求转发到目标微服务。

负载均衡:根据各个微服务实例的负载情况或者具体的负载均衡策略配置对请求实现动态的负载均衡。

安全认证:对用户请求进行身份验证并仅允许可信客户端访问 API,并且还能够使用类似 RBAC 等方式来授权。

参数校验:支持参数映射与校验逻辑。

日志记录:记录所有请求的行为日志供后续使用。

监控告警:从业务指标、机器指标、JVM 指标等方面进行监控并提供配套的告警机制。

流量控制:对请求的流量进行控制,也就是限制某一时刻内的请求数。

熔断降级:实时监控请求的统计信息,达到配置的失败阈值后,自动熔断,返回默认值。

响应缓存:当用户请求获取的是一些静态的或更新不频繁的数据时,一段时间内多次请求获取到的数据很可能是一样的。对于这种情况可以将响应缓存起来。这样用户请求可以直接在网关层得到响应数据,无需再去访问业务服务,减轻业务服务的负担。

响应聚合:某些情况下用户请求要获取的响应内容可能会来自于多个业务服务。网关作为业务服务的调用方,可以把多个服务的响应整合起来,再一并返回给用户。

灰度发布:将请求动态分流到不同的服务版本(最基本的一种灰度发布)。

异常处理:对于业务服务返回的异常响应,可以在网关层在返回给用户之前做转换处理。这样可以把一些业务侧返回的异常细节隐藏,转换成用户友好的错误提示返回。

API 文档: 如果计划将 API 暴露给组织以外的开发人员,那么必须考虑使用 API 文档,例如 Swagger 或 OpenAPI。

协议转换:通过协议转换整合后台基于 REST、AMQP、Dubbo 等不同风格和实现技术的微服务,面向 Web Mobile、开放平台等特定客户端提供统一服务。

证书管理:将 SSL 证书部署到 API 网关,由一个统一的入口管理接口,降低了证书更换时的复杂度。

五、常见的网关系统 

常见的网关系统有:

  1. OpenResty:是一个基于Nginx+Lua的高性能网关,具有流量控制、负载均衡、认证授权等功能。
  2. Kong:是一个基于OpenResty的API网关,提供了负载均衡、认证授权、日志记录等功能。
  3. Zuul:是Netflix开发的一个基于JVM的网关,用于管理和调度API请求。
  4. Spring Cloud Gateway:是Spring Cloud团队开发的一个基于Spring Boot的网关,提供了路由、过滤、安全等功能。
  5. Apache Dubbo:是一个高性能、轻量级的Java RPC框架,提供了负载均衡、故障转移、服务注册等功能。
  6. Tengine:是一个基于Nginx的Web服务器和反向代理服务器,具有高性能、高可用性、低延迟等特性。
  7. Nginx:是一个高性能的Web服务器和反向代理服务器,具有负载均衡、缓存、SSL加密等功能。
  8. Apache Tomcat:是一个开源的Java Servlet容器,用于托管Java Web应用程序。
  9. HAProxy:是一个开源的高性能负载均衡器,可以用于反向代理、HTTP负载均衡等场景。
  10. Redis:是一个开源的内存数据结构存储系统,可以用于缓存、数据库消息队列等场景。

除此之外,还有许多其他的网关系统可供选择,如Cisco ASA、Juniper SRX等。在选择网关系统时,需要根据具体的需求和场景进行评估和选择。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
路由器、集线器、网关、网桥的联系与区别
路由器:连接不同IP 子网的设备,负责寻径和转发,工作在OSI 的网络层。 网桥: 连接不同子网,使其透明通信,工作在数据链路层,解析数据帧。缺点是无法避免“广播风暴”。 网关(gateway):工作在应用层,不同子网间的翻译器,对收到的信息进行重新打包。 ===================================================================== 集线器: 集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器在分发之前将弱信号
猿人谷
2018/01/17
6.5K0
网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成
本文是《网络编程懒人入门》系列文章的第15篇,本篇将继续以通俗易懂的文字,帮你无脑理解各种基础网络硬件设备的功能原理。
JackJiang
2023/04/18
5480
网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成
一文速通Nginx网关与gateway网关区分
网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建和管理服务,而不用去处理这些策略性的基础设施。
一个风轻云淡
2023/10/25
6.3K0
腾讯网关 TGW 基础原理入门
作者:厉辉,腾讯后台研发高级工程师,当前在腾讯游戏后台团队工作,熟悉四七层负载均衡以及 API 网关等技术领域,同时也是 CNCF Ambassador 以及 Apache APISIX PMC。 本文是在组内技术分享的发言稿,主要介绍 TGW 基本原理和架构,同时为了加深理解,会辅助对比 TGW 与 LVS(ipvs)的异同。本次分享是偏基础性的 TGW 介绍,不会特别深入技术细节,目的是帮助需要用到 TGW 的同事快速的了解 TGW。 零、引言 TGW,全称 Tencent Gateway,是一套实现多
腾讯技术工程官方号
2022/04/14
3.7K0
腾讯网关 TGW 基础原理入门
哪个网工整理了这份网络基础知识,也太闲了!
私有地址也可以称为专网地址,专门为组织机构内部使用,他是局域网范畴内的,出了所在局域网是无法 访问因特网的。
ICT系统集成阿祥
2024/12/03
880
哪个网工整理了这份网络基础知识,也太闲了!
网络安全——网络层IPSec安全协议(4)
在前一章讲解了IPSec采用的安全技术,那什么是IPSec安全协议呢?本章将会很透彻的讲解IPSec安全协议。
网络豆
2023/10/15
5370
网络安全——网络层IPSec安全协议(4)
tcp/ip系列--tcp/ip基础知识
  最近读完了《图解TCP/IP》,做一下总结加深记忆,后续会写几篇关于TCP/IP的文章。
Dlimeng
2023/06/29
2510
tcp/ip系列--tcp/ip基础知识
开发必备知识:通过网站架构演进与计算机网络模型深入理解“网关”、“正向代理”、“反向代理”含义
反向代理与网关都是从网站架构中发展而来的产物,原来在Web1.0与Web2.0时代,一般都用反向代理,采用前置反向代理来完成反向路由、负载均衡、日志监控、缓存、兼容熔断等功能,常见的就是Nginx等等,反向代理一般采用静态配置,是因为Web时代中网站更新换代是不快的。
程序员洲洲
2024/06/07
2230
开发必备知识:通过网站架构演进与计算机网络模型深入理解“网关”、“正向代理”、“反向代理”含义
网络设备的种类与功能
交换机是一种用于在局域网中转发和过滤数据包的网络设备,其主要功能是在网络中建立逻辑连接,并根据 MAC 地址表将数据包从源端口转发到目标端口,以实现数据包的快速交换和转发。交换机的主要优势在于其高速、低延迟的转发能力,能够为企业网络提供高效的数据传输和实时应用支持。常见的交换机类型包括普通交换机、三层交换机和堆叠交换机等,其应用场景包括企业内部网络、数据中心以及广域网等。
玖叁叁
2023/04/27
1.5K0
一文读懂IPSec
IPSec(互联网协议安全)是一个安全网络协议套件,用于保护互联网或公共网络传输的数据。IETF在 1990 年代中期开发了 IPSec 协议,它通过 IP网络数据包的身份验证和加密来提供 IP 层的安全性。 IPSec简介 IPSec 可为通信两端设备提供安全通道,比如用于两个路由器之间以创建点到点 VPN,以及在防火墙和 Windows 主机之间用于远程访问 VPN等。IPSec可以实现以下4项功能: 数据机密性:IPSec发送方将包加密后再通过网络发送,可以保证在传输过程中,即使数据包遭截取,信息也无
SDNLAB
2022/07/08
12.9K0
一文读懂IPSec
Golang语言情怀--第80期 区块链技术-基于长安链建立NFT流程-网关设计
继续我们的NFT的技术的讲解,流程优化了下,流程图如下: 目前还在熟悉长安链的SDK,其实整个流程可以通俗的讲,类似于用长安链建一个服务,项目自己封装SDK调用服务的API实现数据的存储,长安链的内部节点同步数据;这一套流程了解CDN的应该很清楚,比较相似。只不过节点的数据结构设计不同而已。粗略的个人分析。 网关的设计可以用第三方框架gin等等或者自己实现一个也是ok。网关就没有什么特别的,和我们所熟知的网关设计类似。 网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是
李海彬
2022/06/09
5510
Golang语言情怀--第80期 区块链技术-基于长安链建立NFT流程-网关设计
网络设备硬核技术内幕 防火墙与安全网关篇 (小结)
写这个专题开篇的时候,并没有想到,安全网关在这一个月里,为这个伟大的国家做出了卓越的贡献。在此致敬为安全网关开发、维护、推广、实施工作呕心沥血的业界朋友们!
用户8289326
2022/07/27
1.1K0
FA5# 网关拓扑结构与功能设计归纳
后端服务通过网关向终端推送消息时,需要知道终端与网关哪台机器建立的长连接,通常两种方向:
瓜农老梁
2022/01/04
7830
FA5# 网关拓扑结构与功能设计归纳
写给客户端开发的后台网络基础概念解析
在后台网络领域,有许多专业术语和概念,作为客户端开发也需要对此有一些基本的认知。本文中我们将解释一些常见的后台网络名词,包括 CGI、NAT、租户、接入机、网关、Nginx、防火墙、路由器、反向代理服务器和 WAF。
陆业聪
2024/07/23
1280
写给客户端开发的后台网络基础概念解析
接入网关和隔离网关
  网关是一个网络设备,它充当了不同网络之间的桥梁。它在网络层(OSI模型的第三层)上工作,负责将来自一个网络的数据包转发到另一个网络。网关通常用于连接具有不同网络协议、地址空间或拓扑结构的网络,以实现数据通信和资源共享。
砖业洋__
2023/05/06
9960
华为数通面试试题
华为数通(Huawei Cloud & AI)主要专注于云计算、人工智能(AI)和大数据领域,提供一系列的产品和解决方案。以下是一些可能涵盖其主要业务领域和产品的信息:
知孤云出岫
2023/11/24
730
详解Kubernetes网络模型
Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。
没有故事的陈师傅
2022/09/15
1.7K0
详解Kubernetes网络模型
这样讲API网关,你应该能明白了吧!
为了提高系统的性能和可靠性,将应用服务进行拆分微服务化。作为系统入口的 API 网关也逐渐成为了标配。
macrozheng
2019/11/07
1.3K0
这样讲API网关,你应该能明白了吧!
JANUSEC应用网关1.0发布,提供一站式安全交付能力
好久没有更新公众号文章了,也极少发圈,经常被朋友问起在忙啥?其实,笔者业余时间大多用来完善JANUSEC应用网关这款开源产品了,这不,历经多年打造和实战磨合,我也不藏着掖着了,端出1.0版本,供各位客官品鉴。你可能会疑惑,JANUSEC应用网关到底是个什么产品?解决什么痛点问题?到底有哪些特色?让我们逐一揭晓。
用户U2
2022/06/02
8870
JANUSEC应用网关1.0发布,提供一站式安全交付能力
计算机网络基础(了解完这些你就不再是小白了)
一、协议 1.1 随处可见的协议 互联网中常用的代表性的协议有IP、TCP、HTTP等,LAN中常用协议有IPX、SPX等。“计算机网络体系结构”将这些网络协议进行了系统的归纳,TCP/IP就是这些协议的集合。
不吃小白菜
2020/09/03
4760
计算机网络基础(了解完这些你就不再是小白了)
推荐阅读
相关推荐
路由器、集线器、网关、网桥的联系与区别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档