From 91877deffb6fd3dc03096fc41a32cb04d2bbd97f Mon Sep 17 00:00:00 2001 From: Wilson Wu Date: Mon, 6 May 2024 12:52:06 +0800 Subject: [PATCH] [zh] Sync #15004 move HBONE section into its own doc into Chinese (#15033) * Sync #15004 move HBONE section into its own doc into Chinese * update --- .../architecture/{index.md => _index.md} | 0 .../tls-tunnel}/hbone-packet.png | Bin .../ambient/architecture/tls-tunnel/index.md | 44 ++++++++++++++++++ .../zh/docs/ambient/usage/ztunnel/index.md | 20 +------- content/zh/docs/reference/glossary/hbone.md | 5 +- 5 files changed, 48 insertions(+), 21 deletions(-) rename content/zh/docs/ambient/architecture/{index.md => _index.md} (100%) rename content/zh/docs/ambient/{usage/ztunnel => architecture/tls-tunnel}/hbone-packet.png (100%) create mode 100644 content/zh/docs/ambient/architecture/tls-tunnel/index.md diff --git a/content/zh/docs/ambient/architecture/index.md b/content/zh/docs/ambient/architecture/_index.md similarity index 100% rename from content/zh/docs/ambient/architecture/index.md rename to content/zh/docs/ambient/architecture/_index.md diff --git a/content/zh/docs/ambient/usage/ztunnel/hbone-packet.png b/content/zh/docs/ambient/architecture/tls-tunnel/hbone-packet.png similarity index 100% rename from content/zh/docs/ambient/usage/ztunnel/hbone-packet.png rename to content/zh/docs/ambient/architecture/tls-tunnel/hbone-packet.png diff --git a/content/zh/docs/ambient/architecture/tls-tunnel/index.md b/content/zh/docs/ambient/architecture/tls-tunnel/index.md new file mode 100644 index 0000000000..627669ead4 --- /dev/null +++ b/content/zh/docs/ambient/architecture/tls-tunnel/index.md @@ -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)的其他用例。 diff --git a/content/zh/docs/ambient/usage/ztunnel/index.md b/content/zh/docs/ambient/usage/ztunnel/index.md index 4681a018ba..2ae02f98aa 100644 --- a/content/zh/docs/ambient/usage/ztunnel/index.md +++ b/content/zh/docs/ambient/usage/ztunnel/index.md @@ -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 网格基础设施。 diff --git a/content/zh/docs/reference/glossary/hbone.md b/content/zh/docs/reference/glossary/hbone.md index 9c34de0773..73f917361e 100644 --- a/content/zh/docs/reference/glossary/hbone.md +++ b/content/zh/docs/reference/glossary/hbone.md @@ -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/)。