COMP5416 Week 10 SIP、QoS 与无线链路讲课总结

COMP5416 Week 10 讲课总结:SIP + QoS + Wireless

课程:COMP5416/COMP4416 — Advanced Network Technologies,Semester 2 2026 讲师:Professor Vincent Gramoli 来源:讲义 W10-Wireless.pdf(65 页,封面标题 "SIP + Wireless")+ tutorial W10-Wireless-tutorial.pdf / W10-Wireless-solution.pdf。本周没有转录稿。 教材:Kurose & Ross 9th ed. —— 第 7 章 7.1–7.2(无线链路、CDMA);SIP 与调度/监管对应旧版教材多媒体一章和第 4.2 节分组调度。

本周覆盖三块:

部分 内容 衔接
SIP 会话初始化协议 补完 Week 08 Multimedia 大纲里的 "RTP/SIP"
网络对多媒体的支持(QoS) 多类服务、调度、监管、DiffServ、呼叫准入 —
无线网络 组成、链路特性、隐藏终端、CDMA 接 Week 11 WiFi

第一部分:SIP(Session Initiation Protocol,RFC 3261)

一、SIP 的长期愿景

  • 所有电话、视频会议都通过 Internet 进行
  • 用名字或 e-mail 地址标识人,而不是电话号码
  • 无论被叫漫游到哪里、用的是什么 IP 设备,都能找到他(如果他愿意)

二、SIP 提供的服务

类别 内容
呼叫建立 主叫告诉被叫想建立呼叫;双方协商媒体类型和编码;结束呼叫
确定被叫当前 IP 地址 把助记标识映射到当前 IP 地址
呼叫管理 通话中添加新媒体流、更换编码、邀请他人、转接、保持

三、向已知 IP 地址发起呼叫(讲义例子)

Alice(167.180.112.24)呼叫 Bob(193.64.210.89):

步 消息 内容
1 Alice → Bob:INVITE c=IN IP4 167.180.112.24,m=audio 38060 RTP/AVP 0 —— Alice 的 IP、端口 38060、偏好的编码(PCM μ-law,payload type 0)
2 Bob → Alice:200 OK c=IN IP4 193.64.210.89,m=audio 48753 RTP/AVP 3 —— Bob 的 IP、端口 48753、偏好的编码(GSM,type 3)
3 Alice → Bob:ACK 呼叫建立
4 双向 RTP 媒体流 Alice 发 μ-law 到 48753,Bob 发 GSM 到 38060

要点:

要点 说明
SIP 默认端口 5060
传输 SIP 消息可以走 TCP 或 UDP(例子里走 UDP)
SIP 是带外(out-of-band)的 信令和媒体走不同的连接/端口(SIP 在 5060,RTP 在 38060/48753)
双向各用各的编码 Bob 收 μ-law、发 GSM,可以不同

INVITE 里的 c=、m= 行是 SDP(会话描述协议);RTP/AVP 后面的数字就是 Week 08 讲的 RTP payload type。

四、编码协商与拒绝呼叫

情况 处理
Bob 没有 PCM μ-law 编码器 回 606 Not Acceptable,列出自己支持的编码;Alice 再发一个新 INVITE 换编码
Bob 拒绝呼叫 可回 "busy"、"gone"、"payment required"、"forbidden"
媒体 可走 RTP,也可走其他协议

五、名字翻译与用户定位

问题:主叫只有被叫的名字或 e-mail,需要被叫当前主机的 IP,而: - 用户会移动 - DHCP 动态分配 IP - 用户有多个 IP 设备(PC、手机、车载设备)

结果可以基于:一天中的时间(上班/在家)、主叫是谁(不想让老板在家里打给你)、被叫状态(正在通话就转语音信箱)。

六、SIP 服务器的两个功能

注册服务器(Registrar)

Bob 启动 SIP 客户端时,发 REGISTER 给他的注册服务器:

REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:bob@domain.com
To: sip:bob@domain.com
Expires: 3600

注册服务器记下「bob@domain.com 现在在 193.64.210.89」,有效期 3600 秒。

代理服务器(Proxy)

  • Alice 把 INVITE 发给她自己的代理,里面是 sip:bob@domain.com
  • 代理负责把 SIP 消息路由到被叫,可能经过多个代理
  • Bob 的响应沿同一组代理返回
  • 代理把 Bob 的响应(含 Bob 的 IP)交给 Alice

讲义类比:SIP 代理 ≈ 本地 DNS 服务器。

七、完整例子:alice@umass.edu 呼叫 bob@poly.edu

步 动作
1 Alice 发 INVITE 给 UMass SIP 代理
2 UMass 代理把请求转给 Poly 注册服务器
3 Poly 服务器返回重定向响应:去试 bob@eurecom.fr
4 UMass 代理把请求转给 Eurecom 注册服务器
5 Eurecom 注册服务器把 INVITE 转给 197.87.54.21(Bob 的 SIP 客户端正在那里运行)
6–8 SIP 响应沿原路返回给 Alice
9 数据直接在两个客户端之间流动

注意第 9 步:媒体不经过代理,代理只管信令 —— 「带外」的又一体现。


第二部分:网络对多媒体的支持(QoS)

八、三种方式(讲义总表)

方式 粒度 保证 机制 复杂度 部署
1. 尽力而为做到最好 所有流量同等对待 无 无网络支持(全靠应用) 低 到处都是
2. 区分服务 流量类 无或软保证 分组标记、调度、监管 中 部分
3. 每连接 QoS 每个连接(流) 软或硬保证(流被准入后) 标记、调度、监管 + 准入 高 很少或没有

九、多类服务(讲义)

  • 目前为止:尽力而为,one-size-fits-all
  • 替代:多类服务 —— 把流量分类,网络对不同类区别对待(类比:VIP 通道 vs 普通通道)
  • 粒度:在多个「类」之间区分,而不是在单个连接之间
  • 怎么做:用 IP 首部的 ToS 位

十、QoS 的四条原则(高频考点)

场景:H1、H2 → R1 → 1.5 Mbps 链路 → R2 → H3、H4。

# 场景 原则
1 1 Mbps VoIP 和 HTTP 共享 1.5 Mbps 链路;HTTP 突发会挤占路由器,造成音视频丢失 → 想让音频优先 需要分组标记,让路由器区分不同类;以及新的路由器策略去区别对待
2 如果应用不守规矩(VoIP 发得比声明的多)怎么办? 提供类之间的保护(隔离):用监管(policing)强制源遵守带宽分配 —— 标记 + 监管
3 给流分配固定的、不可共享的带宽(如 VoIP 1 Mbps、HTTP 0.5 Mbps 逻辑链路):流不用满时浪费 在提供保护的同时,尽可能高效地使用资源
4 两个 1 Mbps 电话都想走 1.5 Mbps 链路 —— 基本事实:无法支持超过链路容量的需求 呼叫准入:流声明需求,网络若满足不了可以拒绝(如忙音)

记忆链:标记(区分)→ 监管(隔离)→ 高效(别浪费)→ 准入(别超载)。

十一、调度策略

调度:选择链路上下一个要发送的分组。

FIFO

  • 按到达顺序发送
  • 丢弃策略(分组到达时队列已满,丢谁?):
策略 做法
tail drop 丢新到的
priority 按优先级丢/移除
random 随机丢/移除

优先级调度(Priority)

  • 发送队列中优先级最高的分组;非抢占式(正在发的低优先级分组不会被打断)
  • 多个类,各有优先级;类可由标记或其他首部信息(IP 源/目的、端口号等)决定

讲义例子:到达 1, 2, 3, 4, 5,其中 1、3、4 是高优先级,2、5 是低优先级 → 服务顺序 1, 3, 2, 4, 5。

为什么 2 在 4 前面:2 开始服务时,4 还没到;非抢占 —— 4 到达时 2 已在发送中,不会被打断。

轮询(Round Robin, RR)

  • 多个类,同等优先级
  • 循环扫描各类的队列,每类发一个完整分组(如果有的话)

讲义例子的服务顺序:1, 3, 2, 4, 5(红类、绿类轮流)。

加权公平排队(WFQ)

  • 广义轮询:每类在每轮中获得「加权」数量的服务
  • 类 的权重为
  • 保证:如果类 有分组要发,它得到的服务比例为

  • 在速率 的链路上,类 的吞吐量:

  • WFQ 是路由器 QoS 的一部分(讲义引用 Cisco 2012)

讲义算例:1 Mbps 链路,三条流分别要保证 0.5、0.25、0.25 Mbps → 权重 。

情况 流 1 流 2 流 3
三条流都有数据
流 3 没数据( 只算活跃类) 0

这就是 WFQ 的「效率」(原则 3):空闲类的份额按权重分给其他活跃类,不会浪费;同时每类至少拿到自己的保证份额(原则 2)。

WFQ 与 RR 的关系:所有权重相等时 WFQ 退化为 RR。

十二、监管(Policing)

目标:限制流量不超过声明的参数(一个类或流被允许注入网络的速率)。

三个监管标准(时间尺度不同):

标准 含义 讲义例子
1. (长期)平均速率 单位时间内能发多少分组(长期) 每分钟 6000 个分组
2. 峰值速率 在较短时间内能发的分组数上限 平均 6000 ppm,但每 5 秒最多 3000 个
3. (最大)突发大小 「瞬间」能发进网络的最大分组数 1500 个分组

注意「平均速率」的时间尺度很重要:每秒 100 个和每分钟 6000 个长期平均相同,但后者允许某一秒内发 6000 个。

令牌桶(Token Bucket)

用来同时限制突发大小和平均速率。

要素 说明
桶容量 最多 个令牌
发送规则 分组要从桶里取走一个令牌才能发进网络
令牌生成 以 个/秒的速率生成;桶满时新令牌被丢弃

在任意长度为 的区间内,被准入的分组数:

时间尺度 结论
最多 个分组(最大突发)
:长期平均速率 个/秒

令牌生成速率 限制了分组进入网络的速率。

十三、令牌桶 + WFQ = 时延上界(QoS 保证)

流 1 被令牌桶 监管,再进入速率 的 WFQ 调度器,权重 。

最坏情况:桶是满的( 个令牌), 个分组一次涌入 WFQ 队列。流 1 至少以 的速率被服务,所以最后一个分组的最大时延:

(:分组大小, 以分组计;若 以比特计就去掉 。)

前提: ,即令牌速率不超过保证速率,否则队列会无限增长。

算例: bit, , Mbps, → ms。

十四、DiffServ(区分服务)架构

要的是「定性」的服务类:相对的服务区分(白金/VIP、金、银)。 可扩展性:网络核心只做简单功能,复杂功能放在边缘路由器(或主机)。

位置 做什么
边缘路由器 每流流量管理;把分组标记为不同类别(例:Alice 的流量 high,Bob 的 high,Chris 的 low)
核心路由器 每类流量管理;根据边缘的标记做缓冲和调度(红色分组 vs 绿色分组)

边缘标记

  • profile:预先协商的速率 、桶大小
  • 在边缘按每流 profile 标记分组
标记方式 说明
类间标记 不同类的分组标不同的记号
类内标记 流中符合(conforming)的部分和不符合的部分标得不同

讲义例子 1:Bob 约定 1 Mbps,实际发 2 Mbps → 一半(符合部分)标绿,其余(不符合部分)标红(低优先级)或丢弃。

讲义例子 2(三色):优先级 绿 > 黄 > 红。2 Mbps 链路;Bob 打电话,声明 1 Mbps,用令牌桶,符合标绿、不符合标红;Chris 网页浏览,标黄;核心用优先级队列。

情况 结果
Bob 发 ≤ 1 Mbps Bob 保证拿到 1 Mbps
Bob 发 > 1 Mbps,Chris 发满 1 Mbps 所有红色都被丢弃,Bob 恰好 1 Mbps
Bob 发 > 1 Mbps,Chris 发 < 1 Mbps 部分红色仍能通过

分类与调节(Classification, conditioning)

  • 用户声明流量 profile(速率、突发大小)
  • 流量被计量(metered),不符合时被整形(shaped)
  • 计量器把进入的流与协商的 profile 比较;网络管理员决定对不符合的分组:重新标记、转发、延迟还是丢弃

十五、每连接 QoS 与呼叫准入

基本事实:不能支持超过链路容量的流量需求。 两个 1 Mbps 电话 + 1.5 Mbps 链路 → 第二个被拒绝。

原则 4:呼叫准入 —— 流声明自己的需求,网络若无法满足可以阻止该呼叫(如忙音)。


第三部分:无线网络

十六、无线网络的组成

元素 说明
无线主机 笔记本、手机、IoT;跑应用;可能静止也可能移动 —— 无线不一定意味着移动!
基站 通常连到有线网络;中继:负责在有线网络和它「区域」内的无线主机之间收发分组;例:蜂窝基站塔、802.11 AP
无线链路 通常连接移动设备与基站,也用作骨干链路;多路访问协议协调链路访问;速率、距离、频段各异

常见无线链路(讲义图)

技术 速率(约) 范围
802.11ax 14 Gbps 室内 10–30 m
5G 10 Gbps 室外各种
802.11ac 3.5 Gbps 室内
802.11n 600 Mbps 室内/室外
4G LTE — 中远距离(200 m–15 km)
802.11g / b 54 / 11 Mbps 室内
Bluetooth 2 Mbps 室内短距

IEEE 802.11 标准表(讲义,Week 11 重复出现)

标准 年份 最大速率 范围 频率
802.11b 1999 11 Mbps 30 m 2.4 GHz
802.11a 1999 54 Mbps 30 m 5 GHz
802.11g 2003 54 Mbps 30 m 2.4 GHz
802.11n(WiFi 4) 2009 600 Mbps 70 m 2.4、5 GHz
802.11ac(WiFi 5) 2013 3.47 Gbps 70 m 5 GHz
802.11ax(WiFi 6) 2020 14 Gbps 70 m 2.4、5 GHz
802.11af 2014 35–560 Mbps 1 km 未用的电视频段(54–790 MHz)
802.11ah 2017 347 Mbps 1 km 900 MHz

所有 802.11 都用 CSMA/CA 做多路访问,都有基站版和自组织版。

十七、两种模式与分类

模式 说明
基础设施模式 基站把移动设备接入有线网络;切换(handoff):移动设备更换提供接入的基站
自组织(ad hoc)模式 没有基站;节点只能向链路覆盖范围内的其他节点发送;节点自己组织成网络、互相路由

无线网络分类(2 × 2)

单跳 多跳
有基础设施 主机连基站(WiFi、蜂窝),基站连更大的 Internet 主机可能要经过几个无线节点中继才能接入 Internet:mesh 网
无基础设施 没有基站,不连更大的 Internet(蓝牙、ad hoc 网) 没有基站,不连 Internet,可能要中继才能到达某节点:MANET、VANET

十八、无线链路的特性

与有线链路的重要区别:

特性 说明
信号强度衰减 无线电信号穿过物质时衰减(路径损耗)
其他源的干扰 标准化的无线频段(如 2.4 GHz)被其他设备共享(如无绳电话、微波炉)
多径传播 信号经物体、地面反射,在稍有不同的时间到达目的地

→ 使得无线链路(即使是点到点)的通信「困难」得多。

分贝(dB)

对数单位,表示两个(功率)值的比:

dB
10 10 dB
100 20 dB
1000 30 dB
10000 40 dB

口诀:每多一个 0 加 10 dB;3 dB ≈ 2 倍( )。

SNR 与 BER 的权衡

概念 说明
SNR(信噪比) 越大越容易从噪声中提取信号
BER(误码率) 收到的比特出错的概率

讲义图:三条 BER–SNR 曲线,BPSK(1 Mbps)、QAM16(4 Mbps)、QAM256(8 Mbps)。

视角 规律
给定调制方式 增大功率 → SNR 增大 → BER 降低
不同调制方式 速率越高 → BER 越高(同一 SNR 下 QAM256 的 BER 高于 BPSK)
给定 SNR 和 BER 要求 选能满足 BER 要求的、吞吐量最高的调制方式

讲义例题:SNR = 15 dB,要求 BER ≤ ,选哪种调制? → QAM16。 (15 dB 时 QAM256 的 BER 远高于 ,不满足;BPSK 满足但只有 1 Mbps;QAM16 满足且 4 Mbps 最快。)

这个思路就是 Week 11 要讲的 802.11 速率自适应。

十九、多发送方带来的额外问题

隐藏终端问题(Hidden terminal)

A ——— B ——— C          (A 与 C 之间有障碍物,或距离太远)
  • B、A 能互相听到
  • B、C 能互相听到
  • A、C 听不到对方 → A、C 不知道它们在 B 处互相干扰

两种成因:障碍物;信号衰减(讲义图:A 的信号强度和 C 的信号强度随距离衰减,在 B 处都够强,但互相到对方处都太弱)。

为什么这对 CSMA 是致命的:A 侦听信道空闲(因为听不到 C),就开始发;C 也一样 → 在 B 处碰撞,但 A、C 都察觉不到。解决方案是 Week 11 的 RTS/CTS。


第四部分:CDMA

二十、CDMA 原理

码分多址:给每个用户分配唯一的「码」(码片序列,chipping sequence)。 所有用户共享同一频率,但每个用户用自己的码片序列对数据编码。

要点 说明
码长
允许多个用户同时发送、干扰最小(如果码是正交的)
内积
正交 不同用户: ;同一用户:
编码 编码信号 = 原始数据 × 码片序列:
解码 编码信号与码片序列做内积再除以 :

(数据比特用 ±1 表示:1 → +1,0 → −1。)

二十一、讲义的编解码例子

用户 1 的码( ): ;数据 , 。

时隙 0( ) 时隙 1( )
发送
用 解码:逐项乘积
求和 ÷ 8 8/8 = 1 ✅ −8/8 = −1 ✅

用户 2 用自己的码 去「解」用户 1 的信号(时隙 0):

「什么都收不到」—— 因为两个码正交。 这就是 CDMA 的核心:不是自己的信号,内积为 0,自动「消失」。

二十二、多个发送方的叠加

信道把所有发送方的信号相加。接收方用用户 1 的码解码:

两发送方算例(自己验算):发送方 1 发 (码 ),发送方 2 发 (码 ):

解码 计算 结果
用 , 1 ✅
用 , −1 ✅

每个接收方都从「混在一起」的信号里准确取出了自己那一路。 前提:码严格正交、各信号到达时功率相同、码片同步 —— 现实中需要功率控制。


第五部分:Tutorial —— Wireless networks(Lab 8)

Exercise 1:四节点无线中继

拓扑:A — B — C — D 排成一行,共享同一频率。

谁发送 谁能听到
A 只有 B
B A 和 C
C B 和 D
D 只有 C

规则:时间分槽,一条消息恰好占一个时隙;每个时隙节点可以发、收(恰好一条发给它的消息时)或静默;节点听到 ≥ 2 个同时传输 → 碰撞,都收不到;无比特错误。非邻居需要中继(A→D 走 A→B→C→D)。

Q1:全知控制器下,C → A 的最大速率(无其他流量)?

官方答案:1 条消息 / 2 个时隙。

推导:C→A 必须经过 B:C→B,然后 B→A,各占一个时隙。 能否流水线? 若在 B→A 的同一时隙让 C 发下一条给 B:B 正在发送,不能同时接收(半双工)。 所以每 2 个时隙最多完成一条,速率 1/2。

Q2:A → B 和 D → C 同时进行,总的最大速率?

官方答案:2 条消息 / 时隙。

A 发时只有 B 听到;D 发时只有 C 听到。B 只听到 A,C 只听到 D → 无碰撞,两条同时成功。

Q3:A → B 和 C → D 同时进行?

官方答案:1 条消息 / 时隙。

C 发送时 B 也能听到 → 若 A、C 同时发,B 处碰撞(B 同时听到 A 和 C)。 所以两条流必须轮流,每个时隙 1 条。 这就是隐藏终端的变体:A 和 C 互相听不到,却在 B 处冲突。

Q4:换成有线(点到点)链路,重新回答 Q1–Q3

问题 无线 有线 原因
Q1:C→A 1/2 1 有线链路互不干扰,C→B 与 B→A 可流水线同时进行(稳态每时隙送达一条)
Q2:A→B + D→C 2 2 本来就没冲突
Q3:A→B + C→D 1 2 有线没有广播干扰,B 不会「听到」C

Q5:回到无线,每条数据消息都要回一个 ACK(占一个时隙)

问题 官方答案 调度
Q1:C→A 1 条 / 4 时隙 C→B(数据)、B→A(数据)、A→B(ACK)、B→C(ACK),4 步都要串行:每一步的接收者要么在发,要么会被干扰
Q2:A→B + D→C 2 条 / 3 时隙 槽 1:A→B 和 D→C 同时;槽 2:B→A 的 ACK;槽 3:C→D 的 ACK
Q3:A→B + C→D 2 条 / 3 时隙 槽 1:C→D;槽 2:D→C 的 ACK 和 A→B 同时;槽 3:B→A 的 ACK

⚠️ Q2 的官方答案偏保守:两个 ACK 是 B→A 和 C→D。按题目的碰撞规则(接收者同时听到 ≥ 2 个发送者才碰撞), A 只在 B 的覆盖范围内、D 只在 C 的覆盖范围内,B 和 C 同时发 ACK 并不会在 A 或 D 处碰撞(B、C 此时都在发送,不需要接收)。 这样可以安排成「槽 1:两条数据;槽 2:两个 ACK」,达到 2 条 / 2 时隙。 官方答案把两个 ACK 分在两个时隙,给出 2/3。考试照官方答案写,必要时注明「若允许 B、C 同时发 ACK 则为 1 条/时隙」。

Q3 第 2 槽为什么可以并行:D 发 ACK 只有 C 听到;A 发数据只有 B 听到;B 听不到 D、C 听不到 A → 不冲突。

Exercise 2:CDMA

码( ): 。

Q:数据位 的编码输出? 答:1,-1,1,1,-1,-1,-1( )

Q:收到输出 1,-1,1,1,-1,-1,-1,解码得到的比特? 答:1

若 (即比特 0),输出就是 ,解码得 。


第六部分:本周考点速记

项 答案
SIP 默认端口 5060
SIP 跑在 TCP 或 UDP
SIP 是带内还是带外 带外(信令与媒体分开)
编码不支持时的响应 606 Not Acceptable
SIP 代理类比 本地 DNS 服务器
注册消息 REGISTER(含 Expires)
QoS 四原则 标记、隔离(监管)、高效、准入
优先级调度 非抢占
WFQ 吞吐 ,只对活跃类求和
令牌桶上界
令牌桶 + WFQ 最大时延
DiffServ 分工 边缘每流标记,核心每类转发
dB 定义
同一调制下提高功率 SNR ↑,BER ↓
速率越高的调制 同 SNR 下 BER 越高
隐藏终端 A、C 听不到对方,在 B 处碰撞
CDMA 正交 不同码内积 0,同码内积 M
CDMA 解码 内积 ÷ M

易错点

  1. 无线 ≠ 移动:无线主机可能是静止的。
  2. SIP 代理只转信令,媒体直接端到端走。
  3. 优先级调度是非抢占的,所以低优先级分组可能排在后到的高优先级前面。
  4. WFQ 某类空闲时,其他类按权重瓜分它的份额,不是保持原值。
  5. 令牌桶限制的是「分组数」(或比特数), 上界是 。
  6. CDMA 解码别忘了除以 ;码要正交才能消除其他用户。
  7. 隐藏终端题看「接收者」听到几个发送者,不是看发送者之间。