面试中网关的知识点

网关简介与选型

  • @see https://juejin.cn/post/7252584767593103419

协议转换、安全控制、地址转换是什么意思?

协议转换:协议转换是指在网络通信中将一种协议的数据转换成另一种协议的数据的过程。这通常通过协议转换器(如网关、代理服务器等)实现,其目的在于让使用不同协议的客户端和服务器之间建立通信。常见的协议转换例子包括HTTP到HTTPS、TCP到UDP、IPv4到IPv6等。

安全控制:安全控制是指在网络通信和数据处理过程中采取的一系列手段和策略,以保护网络系统、数据和用户的安全。安全控制包括许多方面,其中包括访问控制(如权限管理、认证、授权)、加密(如SSL/TLS、数据加密)、防火墙、入侵检测和防护、安全日志记录和审计等。安全控制旨在提高系统的安全性能、确保数据完整性和隐私性保护,并防止未经授权的访问和恶意攻击。

地址转换:地址转换(英文:Address Translation)是指在网络通信过程中将源IP地址和/或端口改变成目标IP地址和/或端口的过程。这通常是由网络设备(如路由器、防火墙、NAT设备等)完成的。最常见的地址转换技术是网络地址转换(Network Address Translation,简称NAT),NAT允许内部私有网络中的设备与公共网络(如互联网)上的设备进行通信。使用NAT,可以将私有IP地址转换为公共IP地址,从而让多个内部设备共享一个单一的公共IP地址进行互联网访问。这可以实现IP地址节省(IPv4地址资源有限)以及一定程度的网络安全隔离。

统一签名加密、固定响应头、证书SSL卸载分别是什么意思?

统一签名加密:是指在系统中所有的数据传输都使用相同的签名和加密方法。通常在客户端和服务器之间传输数据时,为了保证数据的安全性,会对数据进行签名和加密。统一签名加密可确保所有的服务和组件遵循相同的安全策略和标准,这有助于简化安全管理和降低安全漏洞的风险。

固定响应头:在网络通信中,服务器在响应客户端请求时会返回包含响应头的响应消息。固定响应头表示服务器在所有响应中使用相同的一组预定义响应头。这有助于保持响应结构的一致性,并缩小因不同响应头导致的潜在安全漏洞。常见的固定响应头包括Content-Type(用于指示响应内容的MIME类型)、Cache-Control(用于设置缓存过期时间等缓存策略)以及安全头如Strict-Transport-Security(用于强制HTTPS连接)等。

证书SSL卸载:SSL卸载是一种在网络结构中部署SSL证书的策略,用于减轻服务器的加密和解密负担。在SSL卸载中,SSL证书并不直接安装在应用服务器上,而是安装在负载均衡器、反向代理或其他中间设备上。这些中间设备在收到客户端的加密请求时,会先完成SSL解密操作,然后将解密后的数据转发给后端服务器。对于从后端服务器发往客户端的响应数据,中间设备也会负责加密处理。通过这种方式,可以将SSL/TLS加密解密的计算负担从应用服务器卸载到中间设备,从而提高服务器的性能和吞吐量。

QUIC协议、HTTP/2协议、WEBSOCKET协议是什么,有什么区别?

QUIC协议:QUIC(Quick UDP Internet Connections)协议是一种基于UDP传输层协议的新型互联网传输协议。它由Google提出并开发,目的是解决TCP协议中的一些问题,例如:慢启动、拥塞控制等。QUIC协议具有如下特性:

低延迟:QUIC连接只需要一个往返(RTT)就可以完成,而TCP需要一个RTT完成三次握手,另外一个RTT用于TLS握手(如果有HTTPS加密);
改进的拥塞控制:使用更高效的拥塞控制算法,以减少重传延迟;
连接迁移:QUIC支持连接迁移,当用户切换网络环境(例如从Wi-Fi到4G)时,不需要重新建立新连接,可以减少中断、延迟;
内置加密:QUIC在协议中内置了类似TLS的加密机制,可直接提供保护和身份验证。
HTTP/2协议:HTTP/2是HTTP协议的最新版本,其目的在于提高网站性能、减小延迟、改善数据传输速度,主要特性包括:

多路复用:HTTP/2允许通过一个TCP连接传输多个独立的HTTP请求和响应,以减少建立多个TCP连接所带来的性能损耗;
服务器推送:服务器可以在客户端请求之前预先发送一些资源,提升页面加载速度;
请求优先级:客户端可以指定每个请求的优先级,服务器优先处理高优先级的请求;
二进制帧:HTTP/2将HTTP请求和响应分割为二进制帧,相较于HTTP/1.x的文本格式,二进制帧解析更高效;
HPACK压缩:使用HPACK压缩算法压缩HTTP头部信息,减小传输数据量。
WebSocket协议:WebSocket协议是一种基于TCP的全双工、实时通信协议,允许服务器和客户端双向实时交换数据。主要特性包括:

双向通信:WebSocket可以在服务器和客户端之间双向实时传输数据,支持推送服务;
性能开销小:WebSocket连接建立后,数据帧头部较小,传输数据更高效;
兼容HTTP协议:WebSocket协议和HTTP协议共享端口(HTTP:80,HTTPS:443),方便实际应用和部署。
区别:

底层协议:QUIC是基于UDP的传输协议,而HTTP/2和WebSocket均基于TCP;
适用场景:QUIC主要解决底层传输问题,减小延迟,优化连接质量。HTTP/2相对于HTTP/1.x优化了网站性能。WebSocket专注于提供实时双向通信能力;
加密方式:QUIC内置加密机制,而HTTP/2加密需要搭配TLS,WebSocket则需使用wss(WebSocket Secure)进行安全连接。

DNS轮询(DNS Round Robin)是一种简单的负载均衡方法,通过将多台服务器的IP地址与同一个域名关联来实现。当客户端发起DNS请求解析域名时,DNS服务器会返回一个IP地址,客户端将连接到该IP地址对应的服务器。为实现负载均衡,DNS服务器会将IP地址列表进行轮询,每次请求返回不同的IP地址给客户端。

DNS轮询如何实现负载均衡?

以下是实现DNS轮询的步骤:

在DNS服务器上为同一个域名添加多个A记录(或AAAA记录,用于IPv6),每个A记录代表一个服务器的IP地址。例如,将域名www.example.com关联到两台服务器的IP地址192.168.1.1和192.168.1.2。

当客户端发起DNS请求时,DNS服务器会返回其中一个IP地址(例如192.168.1.1),客户端将连接到这台服务器。

对于下一个客户端请求,DNS服务器会轮询IP地址列表,并返回另一个IP地址(例如192.168.1.2),该客户端将连接到第二台服务器。

DNS轮询提供了一种简单且易于实现的负载均衡方法。然而,它具有一定的局限性:

没有考虑服务器的负载情况、性能、地理位置等因素。例如,DNS轮询无法确定哪台服务器负载更高,或提供更优质服务。

对于缓存了DNS解析结果的客户端和中间设备,DNS轮询的效果可能受限。缓存的结果可能包含多个IP地址,并且缓存时间(TTL)不同时,客户端可能始终连接到相同的服务器。

当服务器出现故障时,DNS轮询无法自动删除故障服务器的IP地址。依然可能将故障服务器的IP地址返回给客户端,导致连接失败。需要手动删除DNS记录或使用其他检测机制判断服务器状态。

针对DNS轮询的局限性,可以使用更复杂的负载均衡方法,如服务器端的负载均衡器(如L4/L7负载均衡器)或应用层的负载均衡软件(如Nginx、HAProxy等)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值