Ascend Communication Axes

导言

昇腾通信栈总图从上到下列出了语义、资源、提交者、搬运引擎和互联五部分。看到五个编号,很自然会追问:它们是否正好对应 OSI 七层、互联网五层或 TCP/IP 四层?答案是否定的。经典网络模型按协议功能分层,这张图则按一次通信如何从程序意图落到字节搬运划分责任。本文把两套分类放到同一张坐标系中,说明哪些位置可以近似对应,哪些位置必须保留“无对应”的边界。

为什么不能逐层改名

《Ascend Communication Stack》中的总图依次回答五个问题:程序选择什么通信语义,Runtime 如何建立地址和资源,谁提交任务,谁搬运数据,以及字节最终经过哪种互联。

![昇腾通信栈的五轴架构与内存语义契约面](https://pic.shaojiemike.top/shaojiemike/2026/08/706fd013dceae06e3ccd7d00d73170bf.png)
图 1:昇腾通信栈五轴架构。根据本文研究内容整理的自绘示意图。

观察这张图时,关键不是数方框,而是看每个方框回答的动词:选择、建立、提交、搬运、承载。这些动作横跨软件 API、Runtime、驱动、硬件引擎和互联协议。与之不同,OSI 七层模型划分的是应用、表示、会话、传输、网络、数据链路和物理等协议功能;RFC 1122中的 TCP/IP 模型则使用应用、传输、Internet 和 Link 四层。

所以,更准确的称呼是五个责任轴或执行阶段,而不是另一套网络五层。若强行把第 1~5 轴改名为应用层、传输层、网络层、数据链路层和物理层,第 2~4 轴的 Runtime 与硬件执行过程就会被错误塞进并不存在的协议层。

先对齐三种经典模型

这里所说的“五层模型”采用常见的教学划分:应用、传输、网络、数据链路、物理。它把 OSI 顶部三层合入应用层,同时保留物理层;TCP/IP 四层再把数据链路与物理合入网络接入层。

OSI 七层 教学五层 TCP/IP 四层
L7 应用、L6 表示、L5 会话 应用层 应用层
L4 传输 传输层 传输层
L3 网络 网络层 Internet 层
L2 数据链路 数据链路层 网络接入层
L1 物理 物理层 网络接入层

这张表只解决三种经典网络模型之间的换算。接下来才能把昇腾五轴作为另一种分类放进来。

五轴怎样近似映射

昇腾通信轴 实际回答的问题 OSI 七层中的近似位置 教学五层 / TCP/IP 四层
1 语义与产品库 程序要完成 Collective、单边传输还是 RMA 主要接近 L7;部分库也吸收 L5/L6 职责 应用层 / 应用层
2 地址、内存与资源 哪些地址可以访问,Endpoint、Channel、Team、MR 和映射如何建立 无严格对应;部分行为像会话和传输控制面 应用与传输之间的 Runtime,无独立协议层
3 提交者 由 Host、AICPU 还是 AIV 生成并提交 WQE 无协议层对应;接近传输或链路的本地实现控制路径 传输或网络接入层的实现细节
4 搬运与执行机制 由 MTE、SDMA、RDMA、UDMA、ACL Copy 或 LD/ST 搬运 payload 取决于具体机制;可能横跨 L4~L1,本地复制也可能不进入网络 可能涉及传输、网络、链路和物理的实现
5 互联 字节经过 PCIe、NoC、HCCS、Ethernet、RoCE 还是 UB 以 L1/L2 为基础,但 RoCEv2、UB 等会继续覆盖 L3/L4 以物理、链路或网络接入为基础,也可能包含网络与传输

这张映射里,第 2、3 轴故意保留了“无严格对应”。这是最重要的边界。

例如,第 2 轴中的“地址”通常是 Device VA、VMM 映射、MR 与 key,不是 IP 地址,不能因为都叫地址就映射到 OSI L3。第 3 轴中的 AIV 直驱也只改变谁生成和提交通信任务;它没有因此变成一种传输协议。

第 4、5 轴则有另一种容易混淆的关系:前者回答谁搬,后者回答从哪里走。SDMA over HCCS、RDMA over RoCE 和 UDMA over UB 都可以同时拥有一个搬运引擎和一条互联路径,二者不是上下互斥的协议层。

为什么 RoCE 会跨层

第 5 轴最不能被简单等同为物理层,因为其中既放了物理互联,也放了多层协议:

  • PCIe、片内 NoC、HCCS、SIO最接近 OSI L1/L2,但它们不是 TCP/IP 协议。
  • Ethernet的 MAC 属于 L2,下面的电气或光信号属于 L1。
  • RoCE v1把 InfiniBand/RDMA transport 承载在 Ethernet L2 上,没有 IP 网络层。
  • RoCE v2使用 UDP/IP/Ethernet,因而实际覆盖 L4、L3、L2 和下面的 L1。IBTA 对 RoCEv2 的说明也强调了它从单一 L2 网络扩展到可跨 L3 路由。
  • UnifiedBus自己就包含 Physical、Data Link、Network、Transport、Transaction 和 Function 等层次,因此也不能整体塞进 OSI 物理层。

两个传输语义

在 RoCEv2 路径中,InfiniBand Transport 提供 RDMA 所需的队列、可靠性和远端操作语义,外层 UDP 又是标准 TCP/IP 模型中的传输层协议。出现两个“transport-like”对象并不矛盾,它反映的是协议嵌套,也说明简单的一一映射会丢失信息。

沿一条路径读图

以 HCCL 通过 RoCEv2 完成一次通信为例,五轴与网络协议层可以同时存在:

1
2
3
4
5
HCCL Collective 语义                 昇腾第 1 轴,约等于应用层
→ HCOMM / MR / Endpoint / Channel 昇腾第 2 轴,无 OSI 精确对应
→ AIV 生成并提交 WQE 昇腾第 3 轴,无 OSI 精确对应
→ RDMA Engine 搬运 payload 昇腾第 4 轴,数据面执行机制
→ UDP / IP / Ethernet / PHY 昇腾第 5 轴,对应 OSI L4/L3/L2/L1

这条路径给出了一种更稳妥的读图方法:先问对象属于语义、资源、提交、引擎还是互联,再对其中真正的线协议讨论 OSI 或 TCP/IP 层次。不要反过来拿五个网络层名称套五个方框。

最终可以压缩成三个判断:

  1. 第 1 轴最接近应用层,但库内部仍可能包含会话、表示或传输相关职责。
  2. 第 2、3 轴没有经典网络层对应物,它们主要揭示了网络模型通常隐藏的 Runtime 和控制路径。
  3. 第 4、5 轴会跨越多个网络层;具体落在哪层,必须拆到 RDMA、UDP、IP、Ethernet、HCCS 或 UB 等具体对象判断。

回到最初的问题,答案不是“昇腾五层分别对应哪五层”,而是:五轴先解释一次通信怎样实现,OSI/TCP/IP 再解释其中的线协议怎样分层。两套模型正交使用,信息才不会被压扁。

参考资料

  1. Ascend Communication Stack:总体架构
  2. ITU-T X.200:OSI Basic Reference Model
  3. RFC 1122:Requirements for Internet Hosts
  4. InfiniBand Trade Association:RoCEv2
Author

Shaojie Tan

Posted on

2026-08-27

Updated on

2026-08-27

Licensed under