COMP5416 Week 02 Performance 讲课总结
COMP5416 Week 02 讲课总结:Performance
课程:COMP5416 / COMP4416 — Advanced Network Technologies 讲师:Prof. Vincent Gramoli 来源:Week 02 讲课字幕 配套 lab:
W3-performance.pdf(见 Lab 2 题解)⭐ 课程节奏(老师课上明确说明):第 N 周的 tutorial 做的是第 N−1 周的 lecture 内容。所以本周(Week 2)的 tutorial 是 Week 1 的博弈论,而 Performance 的 lab 在 Week 3 做。这解释了为什么 Canvas 上
T1 tutorial.pdf挂在 Week 2、W3-performance.pdf挂在 Week 3。本讲仍是高层视角,正式深入协议栈从下一讲开始。
一、互联网的两种看法
1.1 Nuts-and-bolts 视图:它由什么零件组成
| 组件 | 说明 |
|---|---|
| Hosts / End systems(主机 / 端系统) | 运行网络应用的设备。数十亿台,形态极其多样:手机、传感器、汽车、冰箱、起搏器…… |
| Packet switches(分组交换机) | routers 和 switches。⭐ 它们不是 host、不是端系统,只是坐在网络中间帮忙路由和转发 |
| Communication links(通信链路) | 物理链路:光纤、铜缆、同轴电缆、无线电、卫星。速率称为 bandwidth(带宽) |
| Networks(网络) | 家庭 LAN、企业网、VPN、区域/本地 ISP、移动网络 |
⭐ 最该记住的一句:Internet 不只是一个网络,而是「network of networks」(网络的网络)。
老师顺带列了一堆「有趣的联网设备」:游戏机、网络电话、冰箱、安防摄像头(视频存云端所以要联网)、智能音箱(语音要传到云端由 AI 分析)、数码相框、共享单车/滑板车(回传电量与位置)、起搏器监测仪、AR 眼镜、Fitbit,甚至能预报天气的烤面包机。
1.2 服务视图:它提供什么
- 为应用提供基础设施:web、流媒体、多媒体、电话会议、邮件、游戏、电商、社交
- 为分布式应用提供编程接口(API)——一系列可调用的钩子,让收发双方接入互联网传输服务
二、协议(Protocol)
2.1 定义
⭐ 协议定义了网络实体之间「消息的格式」「消息的先后顺序」,以及「收发消息时应采取的动作」。
人类类比(老师花了不少时间讲这个):
| 人类 | 机器 |
|---|---|
| Alice: "Hi" → Bob: "Hi" | TCP 三次握手:建立连接 |
| Alice: "Got the time?" | 客户端发 GET 请求 |
| Bob: "2:00" | 服务器返回文件 |
三个要素缺一不可:
| 要素 | 违反会怎样 |
|---|---|
| 格式 | SMTP 的问候命令是 HELO。写成
HI 服务器根本不认 |
| 顺序 | 必须先 HELO 再
MAIL FROM。顺序错了服务器不会执行你期望的动作——"服务器有点笨,你不按协议来它就不干活" |
| 动作 | 收到 GET +
URL,服务器就知道该回传文件 |
2.2 RFC 与标准化
- IETF(Internet Engineering Task Force,总部日内瓦)负责标准化
- 产出物是 RFC(Request for Comments)——协议的公开规范文档
- ⭐ 为什么重要:你照着 RFC 实现一个 SMTP 服务器,Mac 的 Mail、Outlook 就都能连上,因为大家遵守同一套规则
- 例外:Skype 是私有协议,没有 RFC
老师用自己教的三年级分布式系统课举例:他给学生一份区块链节点协议规范,学生各自独立开发几周,最后在实验室演示时所有人的程序互相连上组成了一个区块链网络——因为每个人都严格按协议实现。谁没照做,谁就连不上。
2.3 时序图(sequence diagram)的读法
⭐ 时间从上往下增加。 消息发出的高度和收到的高度之间的落差,就是传输耗时。这种图后面会反复出现。
三、网络边缘(Network Edge)
3.1 Edge vs Core
| Edge(边缘) | Core(核心) | |
|---|---|---|
| 有什么 | hosts:clients 和 servers | 互联的 routers / switches |
| 干什么 | 运行应用、产生和消费数据 | 路由与转发(找最短路径) |
Client / Server / Peer:
- Client:发起请求的一方(手机通常是 client)
- Server:提供服务的一方(大多数 server 位于数据中心)
- ⭐ Peer:既是 client 又是 server。例:区块链节点——有时向别人索要最新区块(当 client),有时把区块给别人(当 server)
3.2 接入网(Access Networks)
① Cable / HFC(同轴电缆)
- 全称 HFC = Hybrid Fiber Coax(混合光纤同轴)
- 拓扑:家里的 cable modem → splitter → CMTS(Cable Modem Termination System,属于有线电视公司)→ ISP
- ⭐ 关键机制:FDM(Frequency Division Multiplexing,频分复用) —— 把频段切成多个 channel,不同频率对应不同频道,大家可以同时传而不碰撞
| 方向 | 速率 |
|---|---|
| Downstream(下行) | 40 Mbps – 1.2 Gbps |
| Upstream(上行) | 30 – 100 Mbps |
⭐ 为什么上下行不对称? 老师的解释:家庭用户绝大多数时间在「消费」内容而不是「生产」内容。你要看高清电影,但你不生产电影。资源有限时当然优先给下行。
💡 课堂讨论的一个好点:FDM 正好呼应 Week 1 的碰撞问题——给每个用户分配不同频率的信道,就从根本上避免了碰撞,比随机化协议高效得多。但前提是用户数不能超过信道数。
② DSL(Digital Subscriber Line)
- 复用已有的电话线接到 DSLAM(DSL Access Multiplexer)
- ⭐ DSLAM 是个分岔口:数据走向 ISP 网络,语音走向传统电话网
| 方向 | 速率 |
|---|---|
| Downstream | 24 – 52 Mbps |
| Upstream | 3.5 – 16 Mbps |
③ NBN 的三种光纤方案(澳洲本地知识,很实用)
| 缩写 | 全称 | 光纤铺到哪 | 瓶颈 |
|---|---|---|---|
| FTTN | Fibre To The Node | 街区节点 | 剩下一段铜缆 |
| FTTC | Fibre To The Curb | 路边 / 楼栋入口 | 入户那段铜缆 |
| ⭐ FTTP | Fibre To The Premises | 直达你家 | 无 |
⭐ 老师的建议:能选 FTTP 就选 FTTP。 因为 FTTC 的瓶颈在最后那段铜缆——光纤再快,卡在铜缆上就等于白铺。
④ 企业 / 机构网络与无线
| 类型 | 覆盖 | 速率 |
|---|---|---|
| Ethernet(有线) | 局域网内 | 家用 1 Gbps(Cat 5);研究集群 10+ Gbps(Cat 6) |
| WiFi(802.11 b / g / n) | 约 30 m(100 ft) | 11 / 54 / 450 Mbps |
| Cellular(4G / 5G) | 数十公里 | 数十 – 数百 Mbps |
💡 游戏玩家的实用建议(老师顺口讲的):想要低 ping,用网线直连路由器,别走 WiFi——WiFi 的延迟和带宽都更差。
3.3 物理介质
| 介质 | 特性 |
|---|---|
| Twisted pair(双绞线) | 两根绝缘铜线。Cat 5:100 Mbps / 1 Gbps;Cat 6:10 Gbps |
| Coaxial cable(同轴电缆) | 两个同心铜导体,双向、非对称,多频率信道,每信道数百 Mbps |
| ⭐ Fiber optic(光纤) | 玻璃纤维传导光脉冲,一个脉冲一个比特。数十–数百 Gbps;误码率极低;不受电磁干扰;⚠️ 不能折(玻璃会断) |
| Wireless radio | 无物理线缆,可广播;受反射、遮挡、干扰影响 |
无线链路类型速查:
| 类型 | 速率 | 距离 |
|---|---|---|
| WLAN (WiFi) | 数十–数百 Mbps | 数十米 |
| 4G / 5G 蜂窝 | 数百 Mbps | 10+ km |
| Bluetooth | 低 | 约 12 m,替代短距电缆 |
| Microwave | 45 Mbps | 点对点 |
| Satellite | 最高 100 Mbps | ⭐ 地球同步轨道端到端时延 270 ms |
⭐ 课间问答里一个很好的问题:既然网线也能到 10 Gbps,为什么还要光纤? 老师的回答(三点):① 网线越长损耗和误码越严重,光纤几乎无损;② 光纤不受电磁干扰;③ 所以这是距离问题——网线适合短距,长距必须光纤。
四、网络核心(Network Core)
4.1 ⭐ Routing vs Forwarding(必考的区分)
| Forwarding(转发) | Routing(路由) | |
|---|---|---|
| 范围 | ⭐ local action(本地动作) | ⭐ global action(全局动作) |
| 做什么 | 把到达的分组从输入链路移到正确的输出链路 | 确定从源到目的的整条路径 |
| 依据 | 查forwarding table(转发表),用分组头部的目的地址匹配 | routing algorithm 负责更新各路由器的转发表 |
类比:GPS 给你算出「从 Northampton 到 San Francisco 走哪条路最短」= routing;到了某个路口该往左还是往右 = forwarding。
⭐ 一句话:forwarding 不改变方向,只是执行;routing 是通过更新转发表来「选择」方向。
五、Packet Switching(分组交换)
5.1 传输时延
主机把应用消息切成若干 packet,每个
单位:
课堂算例:
5.2 ⭐ Store-and-Forward(存储转发)
⭐ 整个分组必须完整到达路由器之后,才能开始在下一条链路上传输。
这是分组交换的核心机制,也是 Lab 2 里所有时延计算的基础。
5.3 排队与丢包
路由器有 buffer(缓冲区),输出链路前排着等待传输的分组队列。
⭐ Queuing occurs when work arrives faster than it can be serviced.(到达速度超过服务速度时就会排队)
例:A 以 100 Mbps 发给路由器,但路由器的下一跳链路只有 1.5 Mbps → 队列不断增长。
丢包(packet loss):如果到达速率持续超过链路传输速率,队列会一直涨,buffer 满了之后新来的分组就被丢弃。
老师的类比:像堵车,或者等公交——车不够快、来得不够勤,人就越积越多。
六、Circuit Switching(电路交换)
⭐ 端到端资源被「预留」给这次通话——专用、独占、性能有保证。
| 特点 | 说明 |
|---|---|
| ✅ 保证性能 | 分给你的资源就是你的,可以完全占用 |
| ❌ 闲置即浪费 | ⭐ 你不用的时候,这条电路空着,别人也用不了 |
| 典型应用 | 传统电话网 |
两种复用方式
| FDM(频分复用) | TDM(时分复用) | |
|---|---|---|
| 划分维度 | 频率切成窄带 | 时间切成时隙 |
| 每个用户 | 一直能发,但只能用自己那条窄频带 | 只能在自己的时隙发,但可用全部频带 |
| 图像特征 | 横向条纹(颜色沿时间轴不变) | 纵向条纹(颜色周期性轮换) |
⭐ 一句话对照:FDM 是「一直用一小条」,TDM 是「偶尔用一整条」。
七、⭐ 分组交换 vs 电路交换:容量对比
题设
- 链路:1 Gbps
- 每个用户活跃时需要 100 Mbps
- 每个用户只有 10% 的时间在活跃
电路交换
必须为每人全程预留 100 Mbps:
分组交换
讲义结论:可以支持 35 个用户,此时超过 10 人同时活跃的概率小于 0.0004。
⚠️ 老师课上算到这里卡住了,原话是"我有点困惑…… 让我回头答复你们(let me go back to you on this)"。下面把它补完。
推导:设
主要贡献项:
⭐ 老师那个困惑到底错在哪
他当时的推理是:
"每人平均只用 10% × 100 Mbps = 10 Mbps,那 1 Gbps 不是该撑 100 个用户吗?"
这个算法混淆了「平均够用」和「几乎总是够用」:
| 用户数 | 期望活跃人数 |
平均带宽需求 | 过载概率 |
|---|---|---|---|
| 100 | 10.0 | 1000 Mbps(恰好用满) | ⚠️ 41.7% |
| 35 | 3.5 | 350 Mbps | ✅ 0.04% |
⭐ 100 个用户时平均确实刚好用满 1 Gbps——但这意味着有大约一半的时间在过载。 统计复用要的不是「平均够用」,而是「以极高的概率够用」。把过载概率压到 0.04%,就只能接 35 个。
即便如此,35 vs 10 仍是 3.5 倍的容量提升——这就是分组交换的价值。
分组交换是不是「稳赢」?
| ✅ 优势 | ❌ 代价 |
|---|---|
| 适合突发性(bursty)数据——有时发有时不发 | 可能严重拥塞:排队时延 + buffer 溢出丢包 |
| 资源共享,不浪费 | 需要额外协议做可靠传输和拥塞控制 |
| 更简单,无需呼叫建立、无需分配资源 | 很难提供电路那样的性能保证 |
⭐ 餐厅类比(学生想出来的,老师大力肯定)
| 类比 | |
|---|---|
| Circuit switching | 订位。桌子给你留着——你迟到 15 分钟,这桌就空 15 分钟;朋友放你鸽子,那些座位就白白浪费 |
| Packet switching | 走进去就吃的 tapas bar。不用订位、资源共享,但可能到了发现满座 |
八、互联网的结构:ISP 层级
问题:有几百万个 access ISP,怎么互联?
- ❌ 两两直连:需要
条连接,不可扩展 - ✅ 分层:
| 层 | 说明 |
|---|---|
| Tier-1 / Global ISP | 国际国内全覆盖。例:Sprint、AT&T、NTT |
| Regional ISP | 接到 global ISP。⭐ 区域 ISP 之间不直连,正是为了避免二次方级连接数 |
| Access ISP | 你交钱订阅的那个,接到 regional / tier-1 |
| ⭐ IXP(Internet Exchange Point) | 专门用来互联不同的 global ISP |
| Content Provider Network | Google、Facebook、Netflix 自建私有网络连接自己的数据中心,⭐ 绕过 tier-1 和 regional ISP |
课堂问答:为什么 Google 要绕过? 老师:"不是必须,是它自己选的——它想要比别人更好的性能。这种大公司付得起钱铺跨洋链路,相当于一个独立的互联网。"
九、⭐ 四种时延(本讲最重要的公式)
| 时延 | 含义 | 决定因素 | 量级 |
|---|---|---|---|
| 检查比特错误、决定输出链路 | 路由器性能 | 微秒级 | |
| 在输出链路前等待 | ⭐ 拥塞程度(唯一随负载变化的) | 可变 | |
| 把分组推上链路 | — | ||
| 信号在介质中跑完物理距离 | — |
⭐⭐ 最容易混的是 transmission 和 propagation: - transmission:把数据挤上链路要多久(跟分组多大、链路多快有关) - propagation:数据在链路上跑到对面要多久(跟链路多长有关,与分组大小无关)
Caravan(车队)类比
映射关系:一辆车 = 一个 bit,一队车 = 一个 packet,收费站 = 路由器
场景 1
10 辆车;收费站服务一辆车需 12 秒;两站相距 100 km;车速 100 km/h。
(本例
场景 2(体现 store-and-forward 的问题)
车速提到 1000 km/h,收费站服务一辆车需 1 分钟。
第 1 辆车到达第 2 个收费站的时刻 = 1 min(被服务)+ 6 min(传播)= 7 min
而此时第 1 个收费站才服务完 7 辆车,还剩 3 辆。
⭐ 这正是 store-and-forward 的代价:前面的比特已经到了下一站,后面的还堵在上一站——所以会产生排队时延。
流量强度(Traffic Intensity)
设
- 分子
= 比特到达速率 - 分母
= 比特服务速率
| 取值 | 排队时延 |
|---|---|
| 小 | |
| ⭐ 大(趋于无穷) | |
| 超出服务能力,队列无限增长 → 必然丢包 |
老师课末时间不够,说 "下周再详细讲这个"。
十、考点重点
- ⭐ Internet = network of networks;区分 host / end system 与 packet switch(router、switch 不是 host)。
- 协议的三要素:格式、顺序、动作。RFC 由 IETF 发布;Skype 是私有协议的反例。
- Edge vs Core;client / server / peer 的区别(peer 兼任两者)。
- 接入网速率要有印象:HFC 下行 40 Mbps–1.2 Gbps / 上行 30–100 Mbps;DSL 下行 24–52 / 上行 3.5–16 Mbps;WiFi 802.11 b/g/n = 11/54/450 Mbps;Ethernet Cat5 = 1 Gbps、Cat6 = 10 Gbps。
- ⭐ 为什么上下行不对称:家庭用户主要在消费而非生产内容。
- NBN 三种方案 FTTN / FTTC / FTTP,以及为什么 FTTP 最好(铜缆是瓶颈)。
- 光纤优于铜缆的三点:长距低损耗、误码率低、不受电磁干扰。
- ⭐⭐ Routing(全局,更新转发表)vs Forwarding(本地,查表转发)。
- ⭐⭐
与 store-and-forward:整个分组收完才能转发。 - 排队与丢包的条件:到达速率持续超过链路传输速率 → buffer 满 → 丢包。
- ⭐ FDM vs TDM:一直用窄带 vs 偶尔用全带。
- ⭐⭐ 分组 vs 电路交换的容量计算:电路
;分组用二项分布尾概率算过载概率。会算 的 。 - ⭐ 「平均够用」≠「几乎总是够用」:100 用户时平均恰好用满,但过载概率高达 41.7%。
- 餐厅类比:订位 = 电路交换(浪费但有保证);walk-in = 分组交换(高效但可能满座)。
- ISP 分层:为什么不两两直连(
);IXP 的作用;内容提供商自建网络绕过 tier-1。 - ⭐⭐ 四种时延及各自的决定因素,尤其分清 transmission 与 propagation。
- ⭐ Caravan 类比:车 = bit,车队 = packet,收费站 = 路由器。会算 62 min 那道题。
- 流量强度
:趋近 1 时排队时延爆炸。