COMP5416 Week 09 Streaming Tutorial 解答(SDN/P4 客座讲座不考)

COMP5416 Week 09 讲课总结:SDN、P4 与 SKA-Low(客座讲座)

课程:COMP5416/COMP4416 — Advanced Network Technologies,Semester 2 2026 讲者:Guillaume Jourjon(CSIRO / ATNF,客座讲座,2026 年 10 月) 来源:讲义 SDN_SKA_lecture.pptx.pdf(56 页,"Software-Defined Networks: Inside the World's Largest Radio Telescope")+ tutorial W9-Streaming.pdf / W9-Streaming-solution.pdf / Week 9 Streaming Solution.pdf(补充解答)。本周没有转录稿。

⚠️ 考试范围:Ed #45 讲师回复客座讲座(本周 SDN/SKA/P4)期末不考,讲座部分已删除;本篇只保留仍考的 Streaming tutorial。

本周 tutorial 练的是 Week 08 Multimedia 的流媒体缓冲,解答放在本文第六部分(本篇保留的唯一内容)。


SDN / P4 / SKA-Low 讲座部分(已删除)

(本节不在 2026 S2 期末范围,已删除,依据 Ed #45:讲师回复客座讲座内容期末不考。原第一到五部分:SDN 控制平面与 OpenFlow、P4、SKA-Low、NVIDIA Spectrum、SDN/P4 考点速记。)


第六部分:Week 9 Tutorial —— Streaming(Lab 7 Streaming)

本 tutorial 对应 Week 08 Multimedia 的「客户端缓冲与播放时延」。官方解答(Tutor's version)与补充解答(Week 9 Streaming Solution.pdf,带逐块表格)已逐条核对。

Exercise 1:播放(Playout)

设定:视频以固定码率编码,每块的播放时长都是 。服务器在 依次发送第 1, 2, 3… 块。客户端开始播放后,每块在前一块之后 播放。图 1 给出各块的到达时间(经过可变网络时延)。

从图 1 读出的到达时间(来自补充解答的表格):

块 到达时间区间
1
2
3
4
5
6
7

块 3 和块 4 在同一个区间到达(块 3 被延迟得比较多),块 7 被严重延迟。

Q1:块 1 一到()就开始播放,有几块能按时到?

第 块的播放时刻是 :

块 应播放时刻 实际到达 是否按时
1 ✅
2 ❌
3 ❌
4 ✅
5 ✅
6 ✅
7 ❌

答案:4 块 —— {1, 4, 5, 6}。

Q2:推迟到 开始播放呢?

第 块的播放时刻变为 :块 2 应在 播放,到达在 → 按时;块 3 应在 ,按时;……;块 7 应在 ,但 之后才到 → 迟到。

答案:块 1–6 都按时,只有块 7 迟到(6 块)。

Q3:在 Q2 的情形下,缓冲里最多同时有几块在等待播放?

「在缓冲中」= 已到达、但还没到播放时刻。在每个播放时刻检查(补充解答的表):

时刻 缓冲中的块 数量
1 1
2 1
3, 4 2
4, 5 2
5, 6 2
6 1
— 0

答案:最多 2 块(块 3、4 在 之间同时到达并等待;之后块 5 到达时块 4 仍在等)。

Q4:要让所有块都按时到,最小播放时延是多少?

只有块 7 的问题:它最晚在 到达,而在 Q2 方案里它应在 播放,还差 。所以要在 Q1 的基础上再推迟 。

官方答案:在 开始播放。(见下方说明)

⚠️ 这一问的官方答案和推导对不上,复习时要留意:

  • 若在 起播,第 块在 播放,块 7 应在 播放; 而补充解答的表里块 7 的到达区间是 ,按这个区间 不够,要 。
  • 补充解答的推导是「 」:这 是相对 Q2 方案(起点 )还要再推迟的量,加上去应是 。
  • 官方答案与补充解答都写 。可能的解释是原图中块 7 实际在 或之前到达(表格只是粗略读图),但我没有原图可以核实。

考试时:按「起播时刻 = 让最迟那块恰好赶上 = 最迟到达时刻 − (k−1)Δ」去算,并写清楚基准点;题图若与本题相同,可以附注官方答案 。

Exercise 2:卡顿(Freezing)

HTTP 流模型符号: - :客户端应用缓冲总大小(bit) - :开始播放前必须缓冲的比特数(启动阈值,不是缓冲容量) - :视频消耗速率(bps) - :服务器发送速率(恒定,缓冲没满时一直发)

净变化率 = : 缓冲被抽干; 缓冲被填满。

Q1: 时,连续播放期和卡顿期各多长?

  • 连续播放期:缓冲从 开始,以 的速率下降 →

  • 卡顿期:缓冲空了以后以速率 填充,直到再次积累 比特 →

播放与卡顿交替进行。

算例: Mb, Mbps, Mbps → 播放 s,卡顿 s。 播放时间占比 = 75%,与 无关 —— 增大 只会让每次播放和每次卡顿都更长,不会改变占比。

Q2: 、缓冲初始为空,何时缓冲变满?

  • 先以 填到 :
  • 开始播放后以 的净速率填剩下的 :

算例: Mb, Mb, Mbps, Mbps → s。 缓冲满了之后,服务器按题设停止发送(「缓冲不满时才发」),实际发送速率降为 —— 这就是 TCP 流控 / 应用层暂停读取的效果。