负载均衡前后端使用协议对应关系
网络协议说明
网络协议是计算机网络中用于通信和数据交换的规则集合。以下是负载均衡相关网络协议的简要介绍:
TCP(Transmission Control Protocol,传输控制协议):
TCP是一种面向连接的、可靠的协议,用于在网络上传输数据。 它提供数据包的排序、重传机制、流量控制和拥塞控制等功能,确保数据的可靠传输。 TCP通过三次握手建立连接,然后进行数据传输,最后通过四次挥手断开连接。
UDP(User Datagram Protocol,用户数据报协议):
UDP是一种无连接的、不可靠的协议,适用于需要快速传输但不需要可靠性保证的应用。 UDP简单高效,适用于音频、视频流等实时应用,因为它不需要建立连接和维护状态。
HTTP(Hypertext Transfer Protocol,超文本传输协议):
HTTP是一种用于传输超文本数据的应用层协议,通常用于在Web浏览器和Web服务器之间传输数据。 HTTP是无状态的,每个请求-响应周期都是独立的,不保留会话状态。 HTTP的通信是明文的,不具备加密功能,因此传输的数据容易被窃听和篡改。
HTTPS(Hypertext Transfer Protocol Secure,安全超文本传输协议):
HTTPS是在HTTP基础上加入了加密机制的安全传输协议,通过SSL/TLS协议对数据进行加密。 HTTPS通过数字证书验证服务器身份,并加密传输数据,提供了更高的安全性,防止数据被窃听和篡改。 HTTPS通常用于安全性要求较高的网站,如银行、电子商务等,以保护用户数据的安全。
ICMP(Internet Control Message Protocol):
ICMP是用于在IP网络上发送控制消息和错误报告的协议,位于网络层。 ICMP用于网络设备间的通信,提供诊断网络问题、报告错误、执行网络探测等功能。 ICMP常用于Ping测试、Traceroute工具、路由器通知等网络操作。
注意:
- HTTP和HTTPS协议都是基于TCP协议的,因为它们都需要TCP提供可靠的数据传输和连接管理。
- TCP协议作为传输层协议,为HTTP和HTTPS协议提供了可靠的数据传输服务,确保数据的完整性和顺序性。
- HTTPS在HTTP的基础上加入了加密机制,通过TCP协议提供的连接保证传输的数据在网络上传输时的安全性。
- UDP协议发起访问时,本身不存在“连接”的概念,但是负载均衡会保持UDP访问端的Session信息,业内通常把UDP Session的超时时间定义为UDP的“连接超时时间”。
前后端对应关系说明
在使用负载均衡产品时,需要关注的协议具体有:
- 前端接收协议: 指负载均衡转发客户端请求时,客户端所使用的协议。
- 后端服务协议: 指后端服务器提供服务的协议。
- 健康检查协议: 负载均衡向后端服务器发起健康检查请求时,使用的协议。
对于不同的监听和后端服务器协议,存在以下几种搭配:
监听协议 | 可搭配的后端服务协议 | 可搭配的健康检查协议 |
---|---|---|
TCP | TCP | TCP |
SSL | TCP | TCP |
UDP | UDP | UDP ICMP |
HTTP | HTTP | HTTP(仅对HTTP后端服务生效) TCP |
HTTPS | HTTP HTTPS | TCP HTTP(仅对HTTP、HTTPS后端服务生效) HTTPS(仅对HTTPS后端服务生效) |
HTTPS访问说明
通用的HTTPS握手过程
1.客户端Hello:
客户端向服务器发送一个ClientHello消息,其中包含支持的加密算法、协议版本和其他必要信息。
2.服务器Hello:
服务器接收到ClientHello消息后,选择一个加密算法和协议版本,并向客户端发送一个ServerHello消息,包含服务器证书以及其他必要信息。
3.认证:
客户端收到服务器的证书后,会验证证书的有效性,包括检查证书是否由受信任的证书颁发机构签发,证书是否过期等。
4.协商加密密钥:
如果证书验证成功,客户端生成一个随机的对称密钥,并使用服务器的公钥加密后发送给服务器,用于后续数据传输的加密和解密。
5.握手完成:
服务器收到客户端发送的加密密钥后,使用自己的私钥解密,获取客户端生成的对称密钥。此后,客户端和服务器之间的通信将使用这个对称密钥进行加密和解密。
6.数据传输:
握手完成后,客户端和服务器之间建立了安全连接,数据传输将通过这个安全通道进行加密传输,确保数据的机密性和完整性。
HTTPS服务可选搭配说明
1. HTTPS监听器搭配HTTP后端协议
负载均衡HTTPS监听器会将协商加密密钥的过程卸载到负载均衡实例处理,所以用户端->负载均衡实例->后端服务器的过程中,第一段使用负载均衡实例上配置的证书进行加密协商,第二段负载均衡实例作为请求方使用HTTP协议进行请求,不进行加密。
2. TCP监听器搭配TCP后端协议
在这种配置下,当用户发起HTTPS访问时,负载均衡实例上只处理TCP连接,请求将被直接转发到后端服务器,用户实际与后端服务器做加密协商。
3. HTTPS监听器搭配HTTPS后端协议
负载均衡HTTPS监听器会将协商加密密钥的过程卸载到负载均衡实例处理,所以用户端->负载均衡实例->后端服务器的过程中,第一段使用负载均衡实例上配置的证书进行加密协商,第二段负载均衡实例作为请求方,与后端服务器使用后端服务器上部署的证书再次进行加密协商。
4. SSL监听器搭配TCP后端协议
在这种配置下,当用户发起HTTPS访问时,负载均衡实例上处理SSL连接的加密协商,所以用户端->负载均衡实例->后端服务器的过程中,第一段使用负载均衡实例上配置的证书进行SSL加密协商,第二段负载均衡实例作为请求方使用TCP协议进行请求,不进行加密。