CS168 Final 全科 Cheat Sheet

Lec 1–26 · 全课程知识点速查 ← 返回 Final 复习 English version

⭐ 概念判断速查(Potpourri / True-False / 选择 高频八股 · 全课程)

Q1 每年是一堆独立概念小题(判断 / 多选)。这些不靠推导、纯靠记准。下表:命题 → 对错 → 一句话理由。Final 是全覆盖:前半(Lec 1–14)照考,后半(DNS/HTTP/L2/DC/SDN/无线…)是新增重点。考前把整张表扫熟。
命题 / 问题答案为什么
架构 · 分层 · 交换(midterm 范围)
"narrow waist(细腰)" 协议是哪个?(WiFi/BGP/HTTP/TCP/IP)IP沙漏细腰 = IP 层;上网的所有人都必须说 IP。TCP/HTTP 在上、链路在下,都可替换,唯 IP 不可。
分层(layering)直接带来什么?(Reliability / Modularity / Transfer Speed / Abstraction / Addressing)Modularity + Abstraction分层给的是模块化 + 抽象。Reliability、Addressing 要在某一层内部实现;Transfer Speed 反而可能因 overhead 变慢。
End-to-End 原则:网络(路由器)必须实现可靠性才能保证可靠传输。FalseE2E:端主机足以保证可靠性;路由器可以帮忙但不是必须。可靠性正确性最终靠两端(TCP)。
Packet switching 相比 circuit switching 的核心优势?统计复用Statistical multiplexing:无需预留、突发流量下高效。代价:排队时延、无带宽保证。Circuit 反之:保证带宽但利用率低。
IP 层提供可靠、有序、保证送达的服务。FalseIP 是 best-effort:可能丢/乱序/重复,无连接。可靠性交给 TCP。
更高的带宽(bandwidth)会降低 propagation delay。Falsepropagation = 距离/光速,与带宽无关。带宽只影响 transmission delay(= size/带宽)。
性能 · 寻址 · 转发(midterm 范围)
store-and-forward 路由器在转发前必须收到整个包。True所以 N 跳端到端要累加每跳一次 transmission delay。队列时延不固定,随负载暴涨。
一个 /n 前缀包含多少地址?2^(32−n)如 /24 → 256 个,/25 → 128 个,/32 → 1 个(单主机)。
Longest Prefix Match 的结果依赖转发表里表项的先后顺序。FalseLPM 只看"匹配到的最长前缀",与表项排列无关。前缀越长越具体越优先;default route = 0.0.0.0/0。
任意两个前缀都能聚合(aggregate)成一个。False只有相邻且对齐的两个 /n 才能合并成 /(n−1)(否则引入不该有的地址)。
IP 头 · 分片 · Traceroute(midterm 范围)
TTL 的作用?到 0 时发生什么?防环每跳 −1;减到 0 → 丢弃 + 回送 ICMP Time Exceeded。traceroute 靠这个(TTL=1,2,3… 逐跳探测;*=该跳不回)。
IP header checksum 每一跳都要重算。True因为 TTL 每跳都变;且 checksum 只保护 header,不保护数据。
分片后由沿途路由器重组。False只有目的主机重组。offset 以 8 字节为单位;MF=1 表示后面还有片。
IPv6 路由器可以对包分片。FalseIPv6 路由器不分片(源端负责/PMTUD);IPv6 去掉了 header checksum,固定 40B 头。
域内路由 DV / LS(midterm 范围)
Link-State 需要每个节点知道整个网络拓扑。TrueLS:flooding 全网链路信息 → 本地跑 Dijkstra。DV 只和邻居交换距离向量。
count-to-infinity 是 Link-State 的问题。FalseDistance-Vector 的问题(断链后距离缓慢爬升)。LS 有全局视图,不会。
poison reverse / split horizon 能消除所有路由环。False只解两节点环;≥3 节点仍可能 count-to-infinity。所以设 INFINITY 上限(=16)。
DV 比 LS 收敛快。FalseDV 收敛慢(逐跳传播);LS 收敛快但 flooding 开销大、要更多内存/算力。
BGP · 域间(midterm 范围)
BGP 选路优先级顺序?C>Pe>Prcustomer > peer > provider(走 customer 收钱,peer 免费,provider 要付费)。
从 peer/provider 学到的路由,要不要告诉另一个 peer 或 provider?不告诉Export 规则:customer 学的 → 告诉所有人;peer/provider 学的 → 只告诉自己的 customer。只为能赚钱的流量做转发。
BGP 总是选 AS-path 最短的路径。False先看 policy / LocalPref(商业关系),再看 AS-path 长度。钱 > 路短。
BGP 靠什么防环?AS-pathpath-vector:通告带完整 AS-path,看到自己 AS 在里面就丢弃。valley-free:上坡 → ≤1 peer 平边 → 下坡。
TCP · 拥塞控制(midterm 范围)
SYN 和 FIN 各占用序号吗?各占 1算 seq/ack 时别漏:SYN 占 1 个序号,FIN 也占 1 个。ISN 随机。
ACK 号的含义?下一期望字节ack = 已连续收到的最后字节 + 1。cumulative ACK:丢中间段则 ack 卡住 → 重复 ack → 3 dup 快重传。
UDP 提供可靠、有序传输。FalseUDP 无连接、不可靠、不保证顺序,只加端口 + 校验;要可靠自己在应用层做。
"Slow start" 是缓慢的线性增长。False名字骗人:slow start 是指数增长(每 RTT 翻倍)。线性是 congestion avoidance(AIMD,每 RTT +1)。
timeout 和 3-dup-ACK 处理一样吗?不一样timeout:ssthresh=cwnd/2,cwnd=1,回 slow start。3 dup ACK:ssthresh=cwnd/2,cwnd=cwnd/2,留在 CA。
实际发送窗口取什么?min(cwnd,rwnd)拥塞窗口 cwnd(防网络拥塞)与接收窗口 rwnd(防接收方溢出)取小。AIMD 收敛公平,但 RTT 小的流抢更多。
🆕 DNS
DNS 查询顺序:root → TLD → authoritative。True层级委派:root 知道 .com 等 TLD server;TLD 知道各域的 authoritative server;authoritative 给最终答案。
递归查询中,root server 替 resolver 去问 TLD server。Falseroot/TLD 通常只做迭代(iterative):返回 referral("去问它")。做递归的是本地 resolver(替客户端把整条链查完)。
resolver 缓存记录可以永久使用。False每条记录带 TTL,过期必须重查。TTL 短→更新快但查询多;TTL 长→省流量但改动传播慢。
CNAME 记录把域名映射到 IP 地址。FalseCNAME = 别名 → 另一个域名。映射到 IP 的是 A(IPv4)/ AAAA(IPv6)。NS 指名字服务器,MX 指邮件服务器。
glue record 是干嘛的?防循环依赖如果 example.com 的 NS 是 ns.example.com,查 NS 又要先查它的 IP → 死循环。父区(TLD)直接附上该 NS 的 A 记录(glue)破环。
🆕 HTTP · CDN
HTTP GET 和 POST 语义相同。FalseGET 取资源(幂等、可缓存);POST 提交数据(非幂等)。另有 HEAD(只要头)、PUT、DELETE。
状态码 301 和 404 分别代表?重定向/不存在2xx 成功(200 OK)、3xx 重定向(301 永久移动、304 Not Modified)、4xx 客户端错(404)、5xx 服务器错(500)。
persistent connection 的好处?省握手一条 TCP 连接复用多个请求,省去每次的握手 + slow start。pipelining 再省:连发多个请求不等回复(但有 head-of-line blocking)。
conditional GET 靠什么头实现?If-Modified-Since客户端带 If-Modified-Since / If-None-Match(ETag);没变则回 304 Not Modified(不带 body),省带宽。缓存新鲜度由 Cache-Control: max-age / Expires 控制。
HTTP 本身有状态,能记住用户。FalseHTTP 无状态。状态靠 cookie:server 用 Set-Cookie 下发,client 之后每次请求自动带上。
CDN 怎么把用户导到最近的 edge server?DNS 重定向CDN 控制域名的 authoritative DNS,按用户(resolver)位置/负载返回就近 edge server 的 IP。edge 缓存内容:命中直接回,未命中回源(origin)取。好处:低时延、省骨干带宽、抗热点。
🆕 Ethernet · Switching · STP
MAC 地址和 IP 地址一样是分层(可聚合)的。FalseMAC 是 48-bit 扁平地址(烧在网卡里,全球唯一),不可聚合;IP 是层级的、按拓扑分配。所以 L2 靠学习表、L3 靠前缀。
switch 怎么学到"MAC → 端口"映射?看源地址Learning:收到帧就记(源 MAC → 入端口)。目的 MAC 查表命中→单端口转发;未命中/广播 → flood(除入端口外全发)。表项有超时。
L2 网络有环时,广播帧会怎样?无限循环以太网帧没有 TTL → 广播风暴、学习表抖动。所以要 STP 把物理环剪成逻辑树。
STP 选谁当 root?非树端口怎么办?最小 IDroot = bridge ID 最小者;每台交换机按 (到 root 距离, 邻居 ID…) 选最优路径,非树端口 block(不转发数据但仍听 BPDU)。链路挂了自动重算。
🆕 ARP · DHCP · NAT · TLS
ARP 用来解析什么到什么?IP→MAC同一子网内:广播"谁有 IP x.x.x.x?"→ 目标主机单播回自己的 MAC。结果进 ARP cache(带超时)。出子网则 ARP 网关(default gateway)的 MAC。
DHCP 四步(DORA)顺序?D-O-R-ADiscover(客户端广播找服务器) → Offer(服务器提供 IP) → Request(客户端广播选定) → Ack(确认+租期)。发的还有:掩码、网关、DNS server。lease 到期要续租。
NAT 转换表的 key 是什么?五元组/端口出包:改 (内网IP:port) → (公网IP:新port),记入映射表;回包按表反查改回。多台主机共享一个公网 IP,靠端口区分。副作用:外部无法主动连入(要端口映射/打洞),破坏 E2E。
TLS 中证书(certificate)的作用?证明身份证书 = CA 用私钥签名的 "域名 ↔ 公钥" 绑定。客户端用内置的 CA 公钥验证签名 → 确认 server 公钥可信 → 防中间人。信任链:root CA → 中间 CA → 站点证书。
TLS 握手后用公钥加密所有数据。False非对称(公钥)只用于握手/密钥交换(如 Diffie-Hellman,验证书、协商出对称 session key);之后数据用对称加密(快得多)。TLS 提供:机密性 + 完整性 + 服务器身份认证。
🆕 Datacenters
数据中心里 east-west 流量指什么?服务器互访east-west = DC 内部 server↔server(占大头);north-south = DC ↔ 外网用户。内部流量大 → 需要大 bisection bandwidth。
为什么用 Clos / fat-tree 而不是一台大交换机?小件拼大网大量廉价小端口交换机拼出大规模、多路径、可横向扩展的拓扑;单大交换机贵且是单点。
full bisection bandwidth 意味着什么?无阻塞把网络对半切,两半之间的带宽 ≥ 一半主机满速总带宽 → 任意主机对可同时满速通信。oversubscription = 下行容量 : 上行容量(如 4:1 表示上行只有 1/4)。
ECMP 按什么分流?流哈希Equal-Cost Multi-Path:对五元组哈希选一条等价路径 → 同一条 flow 走同一路径(保序),不同 flow 分散。缺点:大象流可能撞车(哈希碰撞不均衡)。
🆕 SDN · Host Networking
SDN 的核心思想?控转分离control plane(算路由,逻辑集中在 controller)与 data plane(转发,留在交换机)分离。controller 有全局视图,往交换机下发规则;传统网络每台设备自己跑分布式协议。
SDN 交换机的转发规则长什么样?match-actionmatch(按头部字段匹配,可通配)+ action(forward/drop/改头/送 controller)+ priority。表未命中可上送 controller 决策。灵活但 controller 是单点/瓶颈(需冗余)。
kernel bypass(如 DPDK)为什么快?绕内核应用直接轮询网卡收发包,跳过内核协议栈、系统调用、中断和拷贝。代价:烧 CPU 轮询、放弃内核通用功能。RDMA 更进一步:网卡直接读写远端内存,CPU 不参与。
常见 NIC offload 有哪些?校验/分段checksum offload、TSO/GSO(大段交给网卡切分)、LRO/GRO(接收聚合)、RSS(多队列按哈希分核)。把 per-packet 工作从 CPU 挪到网卡。
🆕 Multicast · Collectives
multicast 比逐个 unicast 好在哪?链路只发一次沿分发树转发,每条链路每个包只走一次,分叉处复制 → 省带宽。组成员用 IGMP 向本地路由器声明加入/离开组。
RPF(Reverse Path Forwarding)检查什么?来路端口只接受从"通往源的最短路径端口"进来的组播包,其他一律丢 → 防环、剪掉冗余泛洪。
scatter 和 broadcast 的区别?分块 vs 全量broadcast:根把同一份数据发给所有人;scatter:根把数据切块每人一块;gather 反向收块;all-gather:人人集齐所有块;reduce:聚合(如求和)到根;all-reduce = reduce + broadcast(人人拿到聚合结果)。
ring all-reduce 每节点通信量公式?2(N−1)/N·D数据 D 切 N 块,reduce-scatter 阶段 (N−1) 步 + all-gather 阶段 (N−1) 步,每步传 D/N → 共 2(N−1)D/N ≈ 2D,与 N 基本无关(带宽最优);代价是 2(N−1) 步的延迟。
🆕 Wireless · Cellular
SNR 越高,可用的传输速率越高。True信噪比高 → 可用更密的调制 → 更高 bit rate(Shannon)。距离远/干扰大 → SNR 降 → 自动降速率。无线还会衰减、多径、被遮挡——错误率远高于有线。
hidden terminal 问题是什么?互听不见A、C 都听得见 B 但互相听不见 → 同时发给 B 在 B 处碰撞,carrier sense 失效。exposed terminal 反过来:听得见别人发送而不敢发,其实并不会冲突(过度保守)。
无线为什么用 CSMA/CA 而不是 CSMA/CD?测不到碰撞无线电半双工、自己发送时听不到碰撞(自身信号淹没接收)→ 不能 CD(检测),只能 CA(避免):先听、随机退避、收到帧后对方回 link-layer ACK 才算成功。可选 RTS/CTS 预约信道缓解 hidden terminal。
WiFi 客户端怎么接入 AP?扫描+关联AP 周期广播 beacon(SSID);客户端扫描 → 认证 → association(绑定到某 AP)。之后所有流量经 AP 中转。
蜂窝网络 handoff 时连接会断吗?不断移动设备跨基站(cell tower)时由网络协调切换(handoff),核心网(core network)更新路径、IP 层面保持连接。蜂窝架构:设备 ↔ 基站(RAN) ↔ 核心网 ↔ Internet;频谱是授权的(WiFi 用免许可频段)。

📐 公式 · 规则 · 数字 I(Lec 1–14 · midterm 范围计算题)

perf四类时延 + 端到端

transmission = 包大小 / 带宽
propagation = 距离 / 传播速度
  • 另两类:queueing(随拥塞)、processing(通常忽略)
  • N 跳 store-and-forward:端到端 = N×trans + N×prop(+ 排队);逐跳画时间线最稳
  • 流水线 n 个包:总时间 = 首包到达 + (n−1)×transmission
  • BDP = 带宽 × RTT = "管道里能装的 bit 数" → 决定窗口大小
单位:Mbps=10^6 bit/s;1 byte=8 bit;Mbps≠MBps。KB 是 2^10 还是 10^3 看题目说明。

addrCIDR · 掩码速查

/n掩码末字节#地址
/240256
/25128128
/2619264
/2722432
/2824016
/292488
/302524
  • 二进制位值:128 64 32 16 8 4 2 1
  • LPM:所有匹配前缀里选最长的那条,与顺序无关

ipIP 头 · 分片 · ICMP

  • 关键字段:TTL、Protocol(TCP=6, UDP=17, ICMP=1)、Total Length、Identification / Flags(DF,MF) / Fragment Offset、Header Checksum
  • 分片:仅当包 > MTU;offset 单位 = 8 字节;只有目的主机重组
  • 例:数据 1980B 过 MTU 1500 → 片1 数据1480B(offset 0,MF=1)、片2 数据500B(offset 185,MF=0)(185=1480/8)
  • ICMP:Echo(ping)、Time Exceeded(TTL=0 → traceroute)、Dest Unreachable

routingDV 更新 · LS 对比

d(x,y) = min over 邻居 v { c(x,v) + d(v,y) }
  • 来自当前下一跳的更坏消息也要接受(它最权威)
  • count-to-infinity 修复:split horizon / poison reverse(只解 2 节点环)+ INFINITY=16
Link-StateDist-Vector
知道全网拓扑仅邻居距离
算法DijkstraBellman-Ford
收敛慢(count-to-∞)
开销flooding 大只发邻居

bgpGao-Rexford(必背)

选路偏好:customer > peer > provider
Export:customer 学的 → 告诉所有人;peer/provider 学的 → 只告诉 customer
  • 一句话:只为能赚钱/免费的流量做转发
  • 选路顺序:LocalPref(policy) > AS-path 短 > …(policy 永远压过路短)
  • valley-free:上坡(cust→prov)* + ≤1 peer 平边 + 下坡(prov→cust)*
  • path-vector 带 AS-path 防环;$ 从 customer 流向 provider

tcpseq / ack 规则

  • seq = 本段首字节编号;ack = 期望的下一字节
  • SYN、FIN 各占 1 个序号
  • 握手:C→S SYN(seq=x) → S→C SYN-ACK(seq=y, ack=x+1) → C→S ACK(seq=x+1, ack=y+1),第 3 个 ACK 可捎带数据
  • 累积 ACK:丢包时 ack 卡住 → 重复 ack → 3 dup 触发快重传
  • 挥手:FIN/ACK 各一,TIME_WAIT 等 2·MSL 防旧包;RST 立即中止

cccwnd 状态转移(Reno)

事件ssthreshcwnd之后
Slow Start×2 / RTT到 ssthresh 转 CA
Cong. Avoid+1 / RTT线性
Timeoutcwnd/21回 Slow Start
3 dup ACKcwnd/2cwnd/2留在 CA
  • 实际窗口 = min(cwnd, rwnd);吞吐 ≈ (MSS/RTT)·(1/√p)
逐 RTT 手算:一行一个 RTT,写清 cwnd、是否达 ssthresh、丢包类型,别把 timeout 当成减半。

arch分层职责(自底向上)

  • L1 物理:bit 上线
  • L2 链路:本地跳、MAC、Ethernet、交换机、STP、ARP、WiFi
  • L3 网络:IP 寻址 + 端到端转发(细腰)、ICMP
  • L4 传输:TCP/UDP、端口、可靠性/拥塞
  • L7 应用:DNS / HTTP / TLS(介于 L4-L7)…
  • encapsulation:每层往下加自己的 header 包裹上层数据

🆕 公式 · 规则 · 数字 II(Lec 15–26 · Final 新增专题)

dnsDNS 查询链 · Record

查询链:client → resolver →(迭代) root → TLD → authoritative
类型映射
A / AAAA域名 → IPv4 / IPv6
NS域 → 名字服务器(域名)
CNAME别名 → 规范域名
MX域 → 邮件服务器
  • 递归 vs 迭代:resolver 对 client 是递归(包办到底);resolver 对 root/TLD 是迭代(拿 referral 自己继续问)
  • 缓存 + TTL:resolver/OS/浏览器都缓存;TTL 过期重查。缓存 NS 记录后可跳过 root/TLD
  • glue record:父区附上 NS 的 A 记录,破"查 NS 要先查 NS 的 IP"循环
  • DNS 跑在 UDP 53(大响应/区传输用 TCP)

httpHTTP 速查 · CDN

状态码含义
200OK
301永久重定向
304Not Modified(conditional GET 命中缓存)
404Not Found(客户端错 4xx)
500服务器错(5xx)
  • methods:GET / HEAD / POST / PUT / DELETE;GET 幂等可缓存
  • persistent:复用 TCP 连接省握手;pipelining:连发请求不等回复(有 HOL blocking)
  • 缓存头:Cache-Control: max-ageExpiresIf-Modified-Since/ETag → 304
  • cookie:Set-Cookie 下发,client 每次自动带 → 给无状态 HTTP 加状态
  • CDN:DNS 重定向到就近 edge cache;未命中回源。省时延 + 省骨干带宽

l2Ethernet · Switch · STP

  • MAC:48-bit 扁平、全球唯一、不可聚合;广播地址 FF:FF:FF:FF:FF:FF
  • Learning switch:记(源 MAC→入端口);查目的 MAC:命中→定向发,未命中/广播→flood(除入端口)
  • 帧无 TTL → 有环必广播风暴 → 需要 STP
  • STP:① root = 最小 bridge ID;② 各交换机选到 root 最短路(平手比邻居 ID);③ 非树端口 block;④ 断链自动重收敛
  • 手算 STP:先圈 root,再标每台的 root port,最后把剩余产生环的端口打 ×

glueARP · DHCP · NAT · TLS

  • ARP(IP→MAC,同子网):广播问 → 单播答 → 进 cache。出子网 ARP 网关
  • DHCP DORA:Discover(广播) → Offer → Request(广播) → Ack;发 IP+掩码+网关+DNS,带 lease
  • NAT:出包改 (内IP:port)→(公IP:新port) 记表;回包反查。共享公网 IP、靠端口区分;外部难主动连入
  • TLS 握手:hello(协商算法+随机数) → server 发证书 → client 用 CA 公钥验证 → 密钥交换(DH)得对称 session key → 之后对称加密通信
  • 证书 = CA 签名的"域名↔公钥";信任链 root CA → 中间 CA → 站点
一次完整"上网"顺序题常考:DHCP(拿 IP/网关/DNS) → ARP(网关 MAC) → DNS(域名→IP) → TCP 握手 → TLS 握手 → HTTP。

dcDatacenter · Fat-tree 计算

k-ary fat-tree(k 端口交换机):hosts = k³/4;每 pod k 台交换机(k/2 edge + k/2 agg),共 k 个 pod;core = (k/2)²;总交换机 = 5k²/4
oversubscription = 下行总容量 / 上行总容量(1:1 = full bisection)
  • east-west(内部,主体)vs north-south(进出外网)
  • full bisection bandwidth:对半切后跨切带宽 ≥ 半数主机满速 → 任意配对可同时满速
  • ECMP:五元组哈希选等价路径;同流同路(保序),异流分散;大象流可能碰撞
  • 例:k=4 → 16 hosts、4 pods、20 switches、4 core

sdnSDN · Host Networking

  • SDN:control plane(集中 controller,全局视图算路)/ data plane(交换机只转发)分离
  • 规则 = match(头部字段,可通配) + action(forward/drop/rewrite/送 controller) + priority;miss → 问 controller
  • 优点:集中管理、灵活、创新快;缺点:controller 单点/规模(要冗余)
  • kernel bypass / DPDK:用户态轮询网卡,跳过内核栈/中断/拷贝 → 低延迟高 PPS,代价烧 CPU
  • RDMA:网卡直接读写远端内存,绕过双方 CPU
  • offloads:checksum、TSO/GSO(发送分段)、LRO/GRO(接收聚合)、RSS(哈希分核)

mcastMulticast · Collectives

ring all-reduce 每节点通信量 = 2(N−1)/N · D ≈ 2D(D 切 N 块;reduce-scatter N−1 步 + all-gather N−1 步,每步 D/N)
  • multicast:沿树转发,每链路一份;RPF:只收"来自朝向源的最短路端口"的包;IGMP:主机声明加组/退组
  • broadcast=同一份给全员;scatter=切块分发;gather=收块;all-gather=人人集齐;reduce=聚合到根;all-reduce = reduce + broadcast
  • 对比:朴素 all-reduce(每人发 D 给每人)通信 O(N·D);ring 与 N 无关但延迟 2(N−1) 步

wifiWireless · Cellular

  • SNR ↑ → 调制更密 → 速率 ↑;距离/干扰 ↑ → SNR ↓ → 自动降速。无线错误率高、半双工、信号衰减/多径
  • hidden terminal:A、C 互听不见都发给 B → 碰撞;exposed terminal:听见别人就不敢发(其实没冲突)
  • CSMA/CA:发前监听 + 随机退避 + 链路层 ACK 确认(听不到自己的碰撞 → 不能用 CD);可选 RTS/CTS 预约信道解 hidden terminal
  • WiFi:AP 发 beacon(SSID) → 客户端扫描 → association;之后流量都过 AP
  • 蜂窝:设备 ↔ 基站(RAN) ↔ 核心网 ↔ Internet;授权频谱;跨基站 handoff 由网络协调、连接不断
⚠️ 合规提醒:CS168 Final 允许带手写双面 cheat sheet(张数以课程 final 政策为准;手写平板笔记打印也可以)。这个网页版是给你复习/记忆/整理用的——真正带进考场的必须是手写的。建议优先抄:八股表里 🆕 部分 + BGP export + cwnd 转移 + DORA + fat-tree 公式 + ring all-reduce 公式。