COMP5416 Week 01 Introduction 讲课总结
COMP5416 Week 01 讲课总结:Introduction
课程:COMP5416 / COMP4416 — Advanced Network Technologies 讲师:Prof. Vincent Gramoli(研究方向为分布式系统、区块链) 来源:W1-Introduction.pdf(76 页)+ Week 01 Lecture 字幕
本讲前 40 页左右是学校统一的安全 / 学术诚信 / 支持服务模板,考试不会考。下面把行政信息压缩成一节速查表,然后把真正的技术内容(分层网络 + 博弈论分析)展开讲。
一、课程组织与考核(行政速查)
1.1 时间与人员
| 项目 | 内容 |
|---|---|
| Lecture | 每周四 17:00–19:00 |
| Lab / Tutorial | 按各自课表,Week 2 开始,到 Week 12;Week 13 只有复习 lecture,可能没有 lab |
| Unit coordinator & lecturer | Vincent Gramoli,办公室 J12-417 |
| Office hour | 周四 16:00–17:00(16:00–16:30 给 COMP4416,16:30–17:00 给 COMP5416) |
| Tutors | Niruth Bogahawatta、Yuxuan Yang |
| 提问渠道 | EdStem.org 讨论区,不要发邮件(老师明确说邮件会被淹没) |
| 提交 / 成绩 | Canvas;Ed 目前只用于讨论,不用于提交作业 |
| 录播 | 通过 Canvas 链接到 Echo 360;老师会尽量录,但设备偶发故障,仍建议到场 |
| 教材 | Computer Networking: A Top-Down Approach, 8th/9th ed., Kurose & Ross(slides 大量取自其配套材料) |
老师补充的两点:Lab 既可能是"用电脑写程序",也可能是"回答问题"的 tutorial,都在同一个房间做;学期中有公共假日会撞掉周一的 lab,可能整体顺延一周以保证所有组进度一致。
1.2 考核构成
| 评估 | 时间 | 权重 | 覆盖范围 | 形式 |
|---|---|---|---|---|
| Midterm Quiz | Week 6 的 lab 时间,Canvas 上做 | 20% | W1–W6 | 个人独立;MCQ、True/False,可能多选;禁止用 AI,禁止交流 |
| Programming Assignment | Week 10 周五 23:59 截止 | 20% | W1–W10 | 编程(Python 3.X)、Wireshark 实验、计算、扩展作答 |
| Final Exam | 考试周 | 60% | W1–W13 全部 | 见下 |
必须记住的三条硬规则:
- 40% barrier:School of CS 政策,final exam 至少拿到 40/100 才可能通过本课。38 或 39 分自动 FAIL,无论平时分多高。这是必要非充分条件——同时还要总评 ≥ 50。
- 迟交扣分:每迟交一天(或不足一天按一天算)扣满分的 5%。5 天后计 0 分。例:作业占 40%,迟交 1 小时 → 上限 38%;迟交 28 小时(算 2 天)→ 上限 36%。老师说也可能改成"临近截止直接给统一延期、不再罚分也不再额外延期"。
- Special Consideration:生病或意外影响表现时走学校正式流程(专业医师签 USyd 表格 + 线上提交扫描件),申请窗口很短。Midterm 一般不会补考,而是直接忽略该项权重。
老师关于 final exam 的口头澄清(很有价值):
- 所有题目分值加起来通常凑成 100 分,但题数 ≠ 100,单题可能多于 1 分。
- 题型:MCQ + short answer。
- 不会考手写代码。编程能力由 programming assignment 考察,本课不是编程课。但会考协议行为,例如"发一条 SMTP HELO 命令,应该收到什么响应码"。
- 编程作业的评分关注协议实现是否正确工作,不抠代码语法风格。
1.3 先修与投入
- 面向 CS 方向研究生,默认已有本科 CS 基础:会编程 + 懂数学即可,没有额外指定先修课。
- 编程一律用 Python 3.X;有 Java / C 背景的人上手无压力。
- 期望每周在课外额外投入 6–9 小时:做评估、预习复习、整合概念、练习自测。
- 每周至少查一次 Canvas。
1.4 学术诚信与 AI 使用
- 违规类型:Plagiarism(抄袭)、Collusion(不正当合作)、Recycling(重复提交已评分作业)、Fabricating information(编造数据 / 伪造引用)、Contract cheating(代写)、Exam cheating、Misuse of AI。
- 分级:minor breach / major breach / misconduct,处罚从扣分到挂科、停学、开除;国际学生可能影响学生签证。
- 生成式 AI:用于日常学习(讲解概念、做练习题、规划学习)是允许的;监考考试和期中测验一律禁止,除非 coordinator 明确允许;其他作业默认允许,除非明确禁止。本课 midterm quiz 明确禁止使用 AI。
- 代写机构(常伪装成"tutoring")在澳洲属违法,罚款最高 $100,000 或监禁;学生端还面临被勒索、数据泄露等风险。
- 新生必修 Canvas 模块:Respect@Sydney、Academic Honesty Education Module (AHEM1001)、Engaging with Civility、Anti-Slavery Awareness。
二、Syllabus:13 周主线
| 周 | 主题 | 一句话说明 |
|---|---|---|
| 1 | Introduction | 分层模型 + 博弈论引子(本讲) |
| 2 | Performance | 时延、吞吐、复杂度分析 |
| 3 | Application | 应用层协议 |
| 4 | Peer-to-Peer | 每台机器同时扮演 server 和 client |
| 5 | Transport | 传输层通用机制 |
| 6 | TCP | 具体传输协议 |
| 7 | Multimedia | 多媒体网络 |
| 8 | Real time | 实时通信 |
| 9 | Wireless | 无线通信 |
| 10 | Security | 网络安全 |
| 11 | WiFi | 无线局域网 |
| 12 | Mobile | 移动网络 |
| 13 | Review | 全课复习 |
"Advanced" 在本课体现为三个维度:
| 维度 | 具体内容 |
|---|---|
| Facts / Knowledge | 信息 / 消息 / 比特是怎么被传输的?怎么让通信更高效?为什么协议要这样设计? |
| Theory | 分析(协议正确性、复杂度)+ 数学工具 |
| Practice | Python 3.X 编程 + Wireshark 抓包实验 |
注意第三个问题"Why does it work in this way?"——本课很多考点不是背协议字段,而是解释设计动机。
三、分层网络(Layered Network)
3.1 为什么要分层
网络通信是一个巨大的问题。分层就是把大问题拆成子问题,每层只解决自己那一层的抽象。
关键直觉(老师原话):越往下越具体,越往上越抽象。最底层 physical 是电压和光信号,最顶层 application 是用户看到的服务。
3.2 ISO/OSI 模型 vs 本课模型
- ISO:International Organization for Standardization
- OSI:Open Systems Interconnection
四种常见分层法的对照(slide 47):
| ISO/OSI 模型(7 层) | 本课程(5 层) | 部分教材(4 层) | 其他叫法 |
|---|---|---|---|
| application | application | application | application process |
| presentation | (并入 application) | — | — |
| session | (并入 application) | — | — |
| transport | transport | transport | transport |
| network | network | network | internetwork / Internet |
| link | link | link | network interface |
| physical | physical | (省略) | hardware |
考点提示:本课采用 ISO/OSI 的术语(最经典),但认为 session 和 presentation 层不真正存在,或视为 application 层的一部分——它们是可选的,本课省略。同时本课保留 physical 层(有些教材会完全省掉)。做题时按五层答:application / transport / network / link / physical。
3.3 每一层回答什么问题
从上往下,每一层对应一个核心问题(slide 48):
| 层 | 核心问题 |
|---|---|
| Application | How to provide network applications that satisfy users?(怎样提供让用户满意的网络应用) |
| Transport | How to provide end-to-end connections for programs running at different devices?(怎样为不同设备上的程序提供端到端连接) |
| Network | How to send message to non-adjacent nodes?(怎样把消息发给非直接相邻的节点) |
| Link | How to organize data transfer among adjacent network nodes?(怎样组织相邻节点间的数据传输) |
| Physical | How to transfer bits from one device to another?(怎样把比特从一台设备传到另一台) |
记忆钥匙:adjacent(link)→ non-adjacent(network)→ process-to-process(transport),这是三层的分界线。
3.4 Physical Layer
职责:在连接网络节点的物理链路上传输原始比特(raw bits)。
- 关心的是介质本身:电(铜缆)、光(光纤)等。
- 老师的具体解释:用电压随时间的波动来区分比特——有活动(高电平)表示
1,无活动(低电平)表示0。这就是"信息的物理形态"。
3.5 Link Layer
职责:相邻(neighbouring)网络元素之间的数据传输。三个典型功能:
| 功能 | 说明 | 例子 |
|---|---|---|
| Bit error detection | 检测传输中的比特翻转 | 发送方发 010101,接收方收到
010100 —— 传输过程中发生了 bit flip,link
层负责检测出来 |
| Medium access control (MAC) | 两个设备同时说话怎么办? | 共享信道的仲裁问题——正是本讲第四节博弈论例子的背景 |
| Link-layer addressing | 怎么确认"这条信息是给你的" | 保证正确的接收者收到信息 |
3.6 Network Layer
职责:把分组从(任意)源路由并转发到(任意)目的地(routing and forwarding)。
- 不只在邻居之间,而是"邻居的邻居的邻居……"逐跳中继。
- 信息到达 switch / router 时怎么继续转发?要走最短路径而不是最长路径,这才高效。
- 核心问题:如何构造路由表(routing table),让分组沿最短路径走。
3.7 Transport Layer
职责:管理程序到程序(process-to-process)的数据传输。
老师的展开:一个进程通过 socket 收发信息。socket 是绑定在进程上的通信媒介,进程往里读写数据,就能和远端机器上的另一个进程通信;数据实际是向下穿过各层流经网络的。
对比记忆:network 层管的是机器到机器,transport 层管的是进程到进程。
3.8 Application Layer
职责:支撑网络应用(support network applications)。
老师举例:Chrome、(已停运的)Skype、YouTube / Netflix 流媒体、邮件(SMTP、POP)、在线游戏。他补了一句现实观察:如今几乎所有应用都是网络应用,因为一切都跑在云上。
3.9 Internet Protocol Stack:实际协议对照
slide 54 把抽象层和真实协议对上号:
| 层 | 典型协议 / 技术 |
|---|---|
| application | HTTP, FTP, SMTP, DNS, P2P, Video/Audio, SIP, RTP, MQTT, CoAP, QUIC |
| transport | TCP, UDP, MPTCP;以及跑在 TCP/UDP 之上的传输协议 |
| network | ← Multimedia networking(跨 app /
transport / network) ← Network support for multimedia |
| link | ← Wireless network(跨 physical / link / network / transport) |
| physical | 同上 |
两个老师特别点出的边界问题:
- QUIC 放在 application 层,但有时也被视为 transport 层协议。
- Multimedia 和 Wireless 都是跨层主题——它们不属于单独一层,而是横跨多层的设计问题。这也解释了 syllabus 里 Multimedia / Wireless / WiFi / Mobile 为什么单独成周。
四、网络分析实例:用博弈论看信道竞争
这是本讲唯一的技术推导,老师明确说 Lab 1 会做对应练习,且是"为什么理论有用"的示范。
4.1 问题场景
一个 access point,两个用户,各拿一部智能手机通过同一个无线信道与 AP 通信。
- 如果两人同时发送 → collision(碰撞),谁都不成功。
- 这是纯粹的浪费:消耗了资源(尤其对手机是耗电),却什么也没传成。
把"发 / 不发"分别记作 on / off,收益表(slide 58):
| 情况 | User 1 的收益 | User 2 的收益 |
|---|---|---|
| 1 off, 2 off | 0 | 0 |
| 1 on, 2 off | 10 | 0 |
| 1 off, 2 on | 0 | 10 |
| 1 on, 2 on | −5 | −5 |
为什么是负数:碰撞时不仅没通信成功,还白白消耗了资源(发射功率、时间),所以比什么都不做还糟,收益严格为负。而独占信道成功通信时收益严格为正(这里取 10,具体数值不重要)。
关键转折:在 cellular network 里,运营商可以公平调度用户 1 和用户 2。但在很多其他场景里,用户是自私的(selfish)——没有中央调度者。这时就需要博弈论。
4.2 Game Theory 是什么
Mathematical models of conflict and cooperation between intelligent rational decision-makers.
- rational(理性) 的含义:如果改变策略能让自己获益,用户一定会改。
- 传统上大量用于经济学问题。
- 用在网络上的动机:不想浪费力气发送一个收不到的信号——对移动设备/手机来说这是能量浪费。
4.3 Prisoner's Dilemma(囚徒困境)
设定:黑帮两名成员被捕,分别关押、无法互相通信。每人两个策略:confess(坦白) 或 keep silent(沉默)。
结果规则:
- 两人都坦白 → 各服刑 5 年
- 两人都沉默 → 各服刑 1 年
- 一人坦白、一人沉默 → 坦白者当场释放,沉默者服刑 10 年
收益矩阵(元组为 (A, B) 的
utility,行为 B 的决策,列为 A 的决策):
| (A, B) utility | A: Confess | A: Keep silent |
|---|---|---|
| B: Confess | (−5, −5) | (−10, 0) |
| B: Keep silent | (0, −10) | (−1, −1) |
4.4 Nash Equilibrium(纳什均衡)
定义:一个策略组合满足 —— 没有任何一方能通过单方面改变自己的策略而获益。
用囚徒困境验证 (Confess, Confess) = (−5, −5):
- 若 A 单方面改为沉默 → 落到 (−10, 0),A 从 −5 变成 −10,更差 → A 不会改。
- 若 B 单方面改为沉默 → 落到 (0, −10),B 从 −5 变成 −10,更差 → B 不会改。
- 双方都没有改变动机 ⇒ (Confess, Confess) 是 Nash Equilibrium。
再看 (Keep silent, Keep silent) = (−1, −1):
- 从社会总量看这是最优的:总刑期只有 2 年,而其他三格总刑期都是 10 年。
- 但只要有一方单方面改为坦白,收益从 −1 变成 0,更好 → 一定会改。
- ⇒ 不是 Nash Equilibrium。
这就是"困境"所在:协作产生的最优解恰恰不是均衡点,因此极难达成——每个人都被"改一下能多拿"的诱惑拉走。
4.5 回到信道问题:纯策略分析
把同样的框架搬到无线信道(slide 69,元组为 (1, 2) 的
utility,行为 2 的决策,列为 1 的决策):
| (1, 2) utility | 1: Transmit | 1: Keep silent |
|---|---|---|
| 2: Transmit | (−5, −5) | (0, 10) |
| 2: Keep silent | (10, 0) | (0, 0) |
逐格检查:
| 状态 | 是否 NE | 理由 |
|---|---|---|
| 都 Transmit → (−5,−5) | 否 | 任一方改为沉默即从 −5 升到 0 |
| 1 Transmit, 2 silent → (10,0) | 是 | 1 改则 10→0 变差;2 改则 0→−5 变差 |
| 1 silent, 2 Transmit → (0,10) | 是 | 对称同理 |
| 都 silent → (0,0) | 否 | 任一方改为发送即从 0 升到 10 |
⇒ 存在两个 Nash Equilibria。
为什么这仍然不理想:两个 NE 都要求"某一方永远沉默"。现实中两个对等的自私设备无法协调由谁牺牲,而且这对被牺牲方不公平。
4.6 混合策略(Mixed Strategy)
解法:允许每个玩家做概率性决策(老师的比喻:掷硬币,按结果决定发不发;实际靠伪随机数生成器)。
- User 1:以概率
发送,以概率 沉默 - User 2:以概率
发送,以概率 沉默
四种组合的发生概率:
| 事件 | 概率 |
|---|---|
| 两人都发送 | |
| 1 发送、2 沉默 | |
| 1 沉默、2 发送 | |
| 两人都沉默 |
User 1 的期望效用(把每格收益乘以概率再求和):
后两项为 0,化简为:
4.7 自私情形: 是 Nash Equilibrium
把
代入
结论:只要对方取
于是没有任何一方有改变的动机 ⇒
直觉:自私的用户会把发送概率抬到 2/3 这么高,结果碰撞频繁,大部分时间都在失败,净收益归零。
4.8 协作情形: 才是最优
如果用户不自私,可以共同选择
验算:
对称地
4.9 结果对比
| 情形 | 解 | 效用 |
|---|---|---|
| Selfish users(Nash Equilibrium) | (0, 0) | |
| Cooperative users(最优解) | (5/3, 5/3) |
这就是本讲的核心洞见:自私导致的均衡(发送太频繁)严格劣于协作最优解。降低发送概率、并让发送时刻随机化(不能总在同一时刻发),反而让双方都赚到正收益。
4.10 老师对现实性的补充(课堂问答)
学生问"现实中真有这种机制吗",老师的回答值得记:
- 真实的无线协议里确实有防碰撞策略(如 CSMA 类机制、由 provider 控制的接入策略),来缓解碰撞影响。
- 但这里的模型是高度简化的:现实中碰撞未必导致收益完全为 0,可能还有部分比特能传过去。
- 这个例子的目的是演示分析方法,说明即使设备无法同步、共享同一信道、必然面临碰撞,也能用数学推出有效的通信策略。
五、考点重点
- 五层模型:会按本课口径答 application / transport / network / link / physical;知道 ISO/OSI 有 7 层,而 session 与 presentation 被并入 application 或视为不存在。
- 每层的核心问题:能一句话说清 adjacent(link)/ non-adjacent(network)/ process-to-process(transport)的分界。
- Link 层三大功能:bit error detection、medium access control、link-layer addressing。
- Network 层:routing + forwarding,routing table 与最短路径。
- Transport 层:socket 是进程与网络之间的接口;管的是 process-to-process 而非 host-to-host。
- 协议归层:HTTP/FTP/SMTP/DNS/SIP/RTP/MQTT/CoAP/QUIC → application;TCP/UDP/MPTCP → transport;注意 QUIC 的归属有争议,Multimedia 与 Wireless 是跨层主题。
- Nash Equilibrium 定义:没有任何一方能通过单方面改变策略而获益。要会在 2×2 矩阵里逐格验证。
- 囚徒困境:(Confess, Confess) 是 NE;(Silent, Silent) 社会最优但不是 NE——这就是 dilemma。
- 混合策略计算(最可能出计算题):
- 会写期望效用
; - 会整理成
,令系数为 0 解出对手的均衡概率 ; - 会对
求导解出协作最优 ,并算出效用 5/3; - 记住结论对比:自私 (2/3, 2/3) → (0,0);协作 (1/3, 1/3) → (5/3, 5/3)。
- 会写期望效用
- 概念性问题:为什么碰撞的收益是负数(浪费资源,比不发还差);为什么两个纯策略 NE 仍不理想(需要一方永远牺牲,自私对等设备无法协调)。