COMP5416 Week 02 Performance 讲课总结

COMP5416 Week 02 讲课总结:Performance

课程:COMP5416 / COMP4416 — Advanced Network Technologies 讲师:Prof. Vincent Gramoli 来源:Week 02 讲课字幕 配套 labW3-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 服务器根本不认
顺序 必须先 HELOMAIL 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 → splitterCMTS(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,每个 bits,在速率 bps 的链路上发送:

单位: 是 bits, 是 bits/s,结果是

课堂算例 kbits, Mbps

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)

= 平均分组到达率, = 分组长度, = 链路带宽:

  • 分子 = 比特到达速率
  • 分母 = 比特服务速率
取值 排队时延
(趋于无穷)
超出服务能力,队列无限增长 → 必然丢包

老师课末时间不够,说 "下周再详细讲这个"


十、考点重点

  1. Internet = network of networks;区分 host / end systempacket switch(router、switch 不是 host)
  2. 协议的三要素格式、顺序、动作。RFC 由 IETF 发布;Skype 是私有协议的反例。
  3. Edge vs Coreclient / server / peer 的区别(peer 兼任两者)。
  4. 接入网速率要有印象: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。
  5. 为什么上下行不对称:家庭用户主要在消费而非生产内容。
  6. NBN 三种方案 FTTN / FTTC / FTTP,以及为什么 FTTP 最好(铜缆是瓶颈)。
  7. 光纤优于铜缆的三点:长距低损耗、误码率低、不受电磁干扰。
  8. ⭐⭐ Routing(全局,更新转发表)vs Forwarding(本地,查表转发)
  9. ⭐⭐ store-and-forward:整个分组收完才能转发。
  10. 排队与丢包的条件:到达速率持续超过链路传输速率 → buffer 满 → 丢包。
  11. FDM vs TDM:一直用窄带 vs 偶尔用全带。
  12. ⭐⭐ 分组 vs 电路交换的容量计算:电路 ;分组用二项分布尾概率算过载概率。会算
  13. 「平均够用」≠「几乎总是够用」:100 用户时平均恰好用满,但过载概率高达 41.7%。
  14. 餐厅类比:订位 = 电路交换(浪费但有保证);walk-in = 分组交换(高效但可能满座)。
  15. ISP 分层:为什么不两两直连();IXP 的作用;内容提供商自建网络绕过 tier-1
  16. ⭐⭐ 四种时延及各自的决定因素,尤其分清 transmission 与 propagation
  17. Caravan 类比:车 = bit,车队 = packet,收费站 = 路由器。会算 62 min 那道题。
  18. 流量强度 :趋近 1 时排队时延爆炸。

附:本讲公式速查