mirror of https://github.com/istio/istio.io.git
* Sync #15004 move HBONE section into its own doc into Chinese * update
This commit is contained in:
parent
e00e6dd3d1
commit
91877deffb
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: TLS 和隧道
|
||||
description: 了解 Istio 的安全隧道协议。
|
||||
weight: 2
|
||||
owner: istio/wg-networking-maintainers
|
||||
test: no
|
||||
---
|
||||
|
||||
## 了解 HBONE 协议 {#understanding-the-hbone-protocol}
|
||||
|
||||
HBONE(HTTP Based Overlay Network Encapsulation,基于 HTTP 的覆盖网络封装)是 Istio 中特定的术语。
|
||||
它是一种通过单个 mTLS 加密网络连接(加密隧道)透明地多路复用与许多不同应用程序连接相关的 TCP 流的机制。
|
||||
|
||||
在 Istio 当前的实现中,HBONE 协议包含 3 个开放标准:
|
||||
|
||||
- [HTTP/2](https://httpwg.org/specs/rfc7540.html)
|
||||
- [HTTP CONNECT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/CONNECT)
|
||||
- [双向 TLS(mTLS)](https://datatracker.ietf.org/doc/html/rfc8446)
|
||||
|
||||
HTTP CONNECT 用于建立隧道连接,mTLS 用于保护和加密该连接,
|
||||
HTTP/2 用于在单个安全和加密隧道上复用应用程序连接流,并传送其他流级元数据。
|
||||
|
||||
## 安全和租户 {#security-and-tenancy}
|
||||
|
||||
根据 mTLS 规范的强制要求,每个底层隧道连接必须具有唯一的来源身份和唯一的目标身份,
|
||||
并且必须使用这些身份为该连接进行加密。
|
||||
|
||||
这意味着通过 HBONE 协议从应用程序到同一个目标身份的连接将在同一个共享的、
|
||||
加密的和安全的底层 HTTP/2 连接上进行多路复用。实际上,
|
||||
即使该底层专用连接正在处理多个应用程序级连接,
|
||||
每个唯一的来源和目标也必须获取自己专用的安全隧道连接。
|
||||
|
||||
## 实现细节 {#implementation-details}
|
||||
|
||||
根据 Istio 约定,ztunnel 和其他理解 HBONE 协议的代理在 TCP 端口 15008 上公开侦听器。
|
||||
|
||||
由于 HBONE 只是 HTTP/2、HTTP CONNECT 和 mTLS 的组合,
|
||||
因此在启用 HBONE 的代理之间流动的 HBONE 隧道数据包如下图所示:
|
||||
|
||||
{{< image width="100%"
|
||||
link="hbone-packet.png"
|
||||
caption="HBONE L3 数据包格式"
|
||||
>}}
|
||||
随着 Ambient 模式和标准的发展,未来将研究 HBONE 和 HTTP 隧道(例如 UDP)的其他用例。
|
|
@ -45,8 +45,8 @@ ztunnel 代理是用 Rust 语言编写的,旨在处理 Ambient 网格中的 L3
|
|||
其中实现了 Istio 的全套 L7 功能,例如 HTTP 遥测和负载均衡。
|
||||
“安全覆盖网络(Secure Overlay Networking)”概念被非正式地用于统称通过
|
||||
ztunnel 代理在 Ambient 网格中实现的 L4 网络功能集。
|
||||
在传输层,这是通过一种称为 HBONE 的基于 HTTP CONNECT 的流量隧道协议来实现的,
|
||||
HBONE 协议在本指南的[关于 HBONE](#hbonesection) 一节中进行说明。
|
||||
在传输层,这是通过称为 [HBONE](/zh/docs/ambient/architecture/tls-tunnel)
|
||||
的基于 HTTP CONNECT 的流量隧道协议来实现的。
|
||||
|
||||
Istio 在 Ambient 模式下的一些用例可以仅通过 L4 安全覆盖网络功能来解决,
|
||||
并且不需要 L7 功能,因此不需要部署 Waypoint 代理。
|
||||
|
@ -171,22 +171,6 @@ link="ztunnel-waypoint-datapath.png"
|
|||
caption="通过临时 Waypoint 的 ztunnel 数据路径"
|
||||
>}}
|
||||
|
||||
### 关于 HBONE 的说明 {#hbonesection}
|
||||
|
||||
HBONE(HTTP Based Overlay Network Encapsulation,基于 HTTP 的覆盖网络封装)是 Istio 中的特定术语。
|
||||
它是指通过 [HTTP CONNECT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/CONNECT)
|
||||
方法透明地承载 TCP 字节流。在 Istio 当前的实现中,这是通过 [HTTP/2](https://httpwg.org/specs/rfc7540.html) 完成的,
|
||||
以实现高效的多路复用和 TLS 连接重用。HBONE 在保留的 TCP 端口 15008 上提供服务。
|
||||
下图描述了从 IP 层开始的整体 HBONE 数据包格式。
|
||||
|
||||
{{< image width="100%"
|
||||
link="hbone-packet.png"
|
||||
caption="HBONE L3 数据包格式"
|
||||
>}}
|
||||
|
||||
随着 Ambient 模式的发展,未来将研究 HBONE 和 HTTP 隧道的其他用例
|
||||
(例如对 IPv6 和 UDP 数据包的支持)。
|
||||
|
||||
## 部署应用程序 {#deployapplication}
|
||||
|
||||
通常,具有 Istio 管理员权限的用户将部署 Istio 网格基础设施。
|
||||
|
|
|
@ -4,6 +4,5 @@ test: n/a
|
|||
---
|
||||
|
||||
基于 HTTP 的上层网络环境(HTTP-Based Overlay Network Environment,HBONE)
|
||||
是在 Istio 组件之间使用的安全隧道化协议。在 HBONE 中,用户流量通过
|
||||
[mTLS 身份验证](/zh/docs/reference/glossary/#mutual-tls-authentication)加密的
|
||||
HTTP `CONNECT` 隧道进行安全的隧道传输。
|
||||
是在 Istio 组件之间使用的安全隧道化协议。
|
||||
[了解有关 HBONE 的更多信息](/zh/docs/ambient/architecture/tls-tunnel/)。
|
||||
|
|
Loading…
Reference in New Issue