<
  • 主题:
  • + -
  • 清除背景
  • 禁用背景
目 录
  1. 1. 无线网络与移动网络
    1. 1.1. 无线局域网WLAN
      1. 1.1.1. WiFi:802.11无线局域网
        1. 1.1.1.1. AP的信息与功能
        2. 1.1.1.2. 信道与AP间的相互干扰
        3. 1.1.1.3. AP的接入方式
        4. 1.1.1.4. WiFi的其他概念
      2. 1.1.2. 移动自组网络
      3. 1.1.3. 802.11局域网的物理层
      4. 1.1.4. 802.11局域网的MAC层协议
        1. 1.1.4.1. 屏蔽站与暴露站问题
        2. 1.1.4.2. CSMA/CA
        3. 1.1.4.3. 指数退避
        4. 1.1.4.4. 退避的执行条件
        5. 1.1.4.5. 退避机制执行示例
      5. 1.1.5. 信道预约RTS与CTS
      6. 1.1.6. 802.11局域网的MAC帧
        1. 1.1.6.1. 数据帧中的地址
        2. 1.1.6.2. 序号控制字段、持续期字段和帧控制字段
    2. 1.2. 无线个人区域网WPAN
      1. 1.2.1. 蓝牙系统
        1. 1.2.1.1. 蓝牙的工作机制
        2. 1.2.1.2. 蓝牙的工作流程
      2. 1.2.2. ZigBee低速WPAN
      3. 1.2.3. 高速WPAN
    3. 1.3. 无线城域网WMAN
    4. 1.4. 蜂窝移动通信网
      1. 1.4.1. 2G蜂窝网络
      2. 1.4.2. 3G蜂窝网络
      3. 1.4.3. 4G LTE 蜂窝网络
        1. 1.4.3.1. 4G LTE架构和部件
        2. 1.4.3.2. 4G LTE协议栈
      4. 1.4.4. 5G 蜂窝网络
    5. 1.5. 移动IP
      1. 1.5.1. 间接路由与直接路由
      2. 1.5.2. 4G/5G网络的移动性管理
        1. 1.5.2.1. 基站切换管理
      3. 1.5.3. 无线网络移动性对高层协议的影响
  2. 2. 音频/视频服务
    1. 2.0.1. 流媒体
  3. 2.1. 流式存储音频/视频
  4. 2.2. 交互式音/视频
    1. 2.2.1. IP电话
    2. 2.2.2. 实时传输协议RTP
    3. 2.2.3. 实时运输控制协议RTCP
    4. 2.2.4. H.323
    5. 2.2.5. 会话发起协议SIP
  5. 2.3. Qos服务质量
    1. 2.3.1. 调度与管制机制
      1. 2.3.1.1. 调度机制
      2. 2.3.1.2. 管制机制
      3. 2.3.1.3. 漏桶机制与加权公平排队结合
    2. 2.3.2. 综合服务InServ与资源预留协议RSVP
      1. 2.3.2.1. RSVP的工作过程
      2. 2.3.2.2. IntServ的局限性
    3. 2.3.3. 区分服务DiffServ
      1. 2.3.3.1. 每跳行为PHB
    4. 2.3.4. QoS总结

计算机网络(六)无线/移动网络、音视频服务

字数:31928 写于:2020-05-20
最新更新:2020-05-20 阅读本文预计花费您92分钟

无线网络与移动网络

无线局域网WLAN

无线局域网WLAN(Wireless Local Area Network)分为两大类:第一类是有固定基础设施的(Infrastructure WLAN),指预先建立起来的、能够覆盖一定范围有固定基站的网络,如:Wi-Fi(注意,蜂窝移动网络属于无线广域网WWAN),第二类是无固定基础设施的自组织网络(Ad Hoc Network),终端之间直接通信,而不依赖接入点或基站,如:移动设备的桥接模式

WiFi:802.11无线局域网

IEEE 802.11无线局域网标准(又称WiFi——Wireless-Fidelity,译为无保真度)是IEEE制定的针对有固定基础设施无线局域网的一系列通信标准,它定义了无线网络在物理层和数据链路层的工作机制,包括频段使用、信道划分、接入控制、数据传输以及安全机制等内容。现代常见的 Wi-Fi 网络,如家庭路由器、校园无线网和企业无线网络,大多都基于 IEEE 802.11 标准实现。以一个WiFi路由器管理的家庭局域网为例,它包含有线和无线部分,802.11标准适用于无线部分,以下是一些专业术语:

  • 接入点AP(Access Point):802.11无线以太网通常使用星形拓扑,其中心是接入点AP,它又可以称为该局域网的中央基站(base station)。在家用无线局域网中,无线路由器就是接入点,由于它包含有线和无线部分,因此接入点应该特指无线路由器中的无线部分
  • 基本服务区BSA(Basic Service Area):指路由器无线信号能够覆盖的地理范围
  • 基本服务集BSS(Basic Service Set):基本服务集BSS是802.11标准规定的无线局域网的最小构件,一个基本服务集BSS包括一个接入点AP和若干个移动站。家用局域网中,无线路由器AP与通过无线方式接入局域网的手机、电脑、智能家居等设备共同构成一个BSS
AP的信息与功能

当网络管理员安装一个AP时,必须为该AP分配一个不超过 32字节的服务集标识符SSID(Service Set IDentifier)和一个802.11使用的信道

  • SSID:即WLAN无线网络的标识符,如:TP-LINK_5G、CMCC-xxx
  • 802.11的信道:802.11设备工作在不同的频段上:
    • 2.4GHz频段:工作频带为2.4GHz-2.485GHz,该频段覆盖范围较大,穿墙能力较强,但由于蓝牙、微波炉等设备也使用该频段,因此干扰较严重。
    • 5GHz频段:工作频带为5.1GHz-5.8GHz,该频段干扰较少,支持更高带宽,但覆盖范围和穿墙能力弱于2.4GHz
    • 6GHz:未来用于Wi-Fi 6E和Wi-Fi 7,目前尚未大规模部署,频带更宽,干扰更少,但穿墙更差,覆盖更短
  • 基本服务集标识符BSSID:即AP的MAC地址,BSSID是其在802.11标准中的专业术语称呼。与普通MAC地址一样,它也是6字节(48位)的地址标识,对于单一全球管理的地址,其第1字节最低位是0,最低第2位是1
  • 802.11标准里,AP本质上是一个工作于链路层的桥接设备,但不同于同样工作在链路层的以太网交换机(交换机只简单转发数据流,不拆帧),AP会对帧进行拆解、重新组装,并且支持协议转换,这是因为AP的核心功能是实现有线信号到无线信号的转换,该过程中涉及802.11无线局域网帧和802.3以太网帧之间的重新组装和相互转换,因此它承担了无线与有线链路层协议之间的转换功能。
  • 家用“无线路由器”通常是一个集成设备(三层设备),同时集成了AP、交换机、路由器(包括IP路由、NAT转换等)等模块
信道与AP间的相互干扰

在同一栋住宅楼里,可能会有很多个路由器同时工作在2.4GHz或5GHz频段,如何减少它们的相互干扰?(只能减少无法避免)

以2.4GHz频段为例,其频段的范围是2.400GHz到2.4835GHz,802.11协议规定,每个信道的宽度是22MHz,中心频率需要相隔5MHz,因此这个85MHz的频带被分割为了13个信道:

  • 信道1的中心频率是2.412GHz
  • 信道2的中心频率是2.417GHz
  • …以此类推…
  • 信道13的中心频率是2.472GHz

将中心频率间隔(5MHz)规定为一个远小于信道频带宽度(22MHz)的值,带来的好处是可以在有限的频谱里多塞几个“标记点”,拆分出多个信道,但代价是相邻的信道工作频率会重叠,当两个设备在有重叠的信道上通信时,会出现严重的同频干扰,导致通信冲突、等待和降速。为了让信号彻底不干扰,设备工作时其所处信道的中心频率至少相隔22MHz,即间隔4个以上信道(22/5=4.4)。

在各国的无线电法规中,北美(FCC标准)最早只允许使用信道1到11,中国和欧洲允许使用1-13信道,因此最优的信道组合是使用信道1,6,11(中国和欧洲还可以使用1,7,13),这个信道组合能做到真正“互不重叠”,因此大多数现代Wi-Fi路由器都会默认工作在1,6,11信道。

现代Wi-Fi路由器/AP在启动时,通常会扫描周围环境,监听各信道占用情况,自动从信道1,6,11中选择一个“看起来最空闲”的信道。如果邻居的路由器和自己的路由器工作在同一个信道中,那么邻居家的路由器发送/接收信号时,家中的路由需要等待,反之亦然,即工作在同一信道的AP需要通过CSMA/CA协议交替发送数据。这意味着,如果同一栋住宅楼有大量工作在2.4GHz频段的WiFi路由器,会有多个路由器工作在相同的信道中,会出现高峰期速度下降、延迟增大等问题。同理,接入同一个AP的手机、电脑等设备也需要通过CSMA/CA协议交替通信。

上述信道干扰同样适用于5GHz和6GHz频段,不同之处在于它们相较于2.4GHz频段有更大的可分配带宽,能有效减少同信道复用的设备数量,此外,高频信号穿墙能力弱,带来的好处是周围邻居的信号会衰减的很厉害,当信号强度低于CCA门限,我们的AP将不需要理会这些同信道的微弱信号,可以减少等待时间。因此5GHz和6GHz频段也更适合密集部署。

1. 假设一个房间里同时配置WiFi三台路由器,它们都工作在2.4Ghz频段,则: 这些路由器在“自动信道”模式下,会非常聪明地这样分配: 路由器 A 分配在 信道 1 路由器 B 分配在 信道 6 路由器 C 分配在 信道 11 它们工作在三条完全隔离的信道中,彼此的无线电波没有任何交叉和重叠。每台路由器都能发挥出自己 100% 的 2.4GHz 极限性能,互相不产生任何干扰 2. 如果房间里的路由器增加到4台,会有两种情况: 方案1:默认情况下,它们会重复使用信道,即有两台路由器会工作在同一信道中,称为同信道干扰(co-channel interference) 路由器 A 分配在 信道 1 路由器 B 分配在 信道 6 路由器 C 分配在 信道 11 路由器 D 分配在 信道 1 虽然同信道干扰虽然会降低吞吐量,但通过CSMA/CA协议仍可协调工作,交替通信 方案2:用户可以自行配置信道,不使用路由器默认,并使用重叠信道 路由器 A 分配在 信道 1 路由器 B 分配在 信道 6 路由器 C 分配在 信道 11 路由器 D 分配在 信道 3 路由器D(信道3)会同时干扰路由器A(信道1)和B(信道6),称为邻信道干扰(adjacent-channel interference),这会导致路由器A、B、D都出现极其严重的网络延迟、丢包和频繁的断线重连,它通常比“共用同一个信道”还糟糕,因此Wi-Fi的工程原则:宁可同信道复用,也不使用部分重叠的邻信道
AP的接入方式

802.11中,移动站发现并接入AP主要有两种方式:

  • 被动扫描(Passive Scanning):移动站监听AP周期性发送的信标帧(Beacon Frame)。信标帧中包含SSID、支持速率、安全能力等参数。
  • 主动扫描(Active Scanning):移动站主动发送探测请求帧(Probe Request),附近AP收到后返回探测响应帧(Probe Response)。
WiFi的其他概念
  • WiFi丛林(jungle)指某一物理区域内存在大量无线网络覆盖,无线站点能够同时收到多个AP的较强信号。例如居民楼、办公室、商场、咖啡馆等环境都属于典型的WiFi丛林。这种环境下,大量AP共享有限无线频谱,容易产生同频干扰、信道竞争与拥塞问题。
  • 关联(Association):无线站点发送数据前,需要先与某个AP建立关联。关联可以理解为在无线站点与AP之间建立一条逻辑信道,此后双方才能正式通过802.11协议交换数据。该过程中,移动站点可能还要向该AP提供鉴别身份,并在在关联阶段过后,通过DHCP发现报文以获取IP地址
  • 重建关联(Reassociation):当移动设备从一个AP移动到另一个AP覆盖区域时,可以通过重关联机制,将连接从原AP切换到新的AP,实现漫游
  • 分离(Dissociation):表示终止终端与AP之间的关联关系,例如用户主动断开WiFi、AP关闭、信号丢失等情况
  • 热点(Hotspot):指向公众提供WiFi接入服务的地点,例如机场、酒店、商场、校园、咖啡馆等。热点可以是免费或收费的,本质上是“可供公众接入互联网的无线接入点”。由许多热点和接入点AP连接起来的区域叫做热区(hotzone)
  • WISP(Wireless Internet Service Provider):即无线互联网服务提供商,是通过无线链路向用户提供互联网接入服务的运营模式。用户先通过无线信道连接到WISP的接入设备,再由WISP接入互联网,如:移动是WISP,提供CMCC-WLAN服务

移动自组网络

另一类无线局域网是无固定基础设施的无线局域网,它又叫做自组网络(Adhocnetwork),常用于军事通信、无人机集群编队通信、物联网(IoT)等领域,它有以下特点:

  • 没有中心AP、交换机、基站
  • 由一些处于平等状态的移动站相互通信组成临时网络,节点既是“主机”,也是“路由器”,如:A与C距离太远无法直接通信,但A可以通过B中继转发
  • 网络拓扑可以动态变化
  • 可以采用多跳通信

802.11局域网的物理层

802.11标准目前的流行的是2009年颁布的802.11n标准,它的物理层主要使用以下两种技术:

  • 多输入多输出MIMO:在发射端和接收端同时使用多根天线,在同一频段同时传输多路数据,提升速率、容量或可靠性,而不增加带宽
  • 正交频分复用OFDM:将高速数据流拆分成多路低速子数据流,调制到相互正交的子载波上并行传输,能有效对抗频率选择性衰落和多径干扰

802.11局域网的MAC层协议

802.11标准MAC层需要解决的核心问题是:多个无线站点如何共享同一个无线(物理层)信道,即协调基本无线站点在什么时间能发送数据或接收数据,为此,802.11早期定义了两种协调方式:

  • 分布协调功能DCF(Distributed Coordination Function):DCF 是 802.11 的默认工作模式,也是现代WiFi实际广泛使用的基础,它的核心思想是:所有站点地位平等,通过“竞争”获得发送权,并基于CSMA/CA协议实现载波监、冲突避免,后续知识点都属于DCF
  • 点协调功能 PCF(Point Coordination Function):其核心思想是由AP集中控制谁可以发送,AP会周期性通过轮询选择允许发送数据的站点,而不是让站点自由竞争,它可以提供一定程度的QoS,优先放行音视频等数据,但现代通信中已被EDCA/HCF(基于DCF)取代了。且由于现代互联网流量是突发式的,并不适合固定轮询,因此 PCF基本只存在于标准文档和教材中

传统的有线局域网(以太网)使用CSMA/CD协议来解决信道中碰撞传输的问题,但“碰撞检测”(CD)在无线环境下却不能使用:

  • 无线传输时,同一信号接收时的信号强度通常远远小于发送时的信号强度,如果使用碰撞检测,则要求发送方和接收方的适配器(无线网卡)都能敏锐捕获其他站点发送的微弱信号,硬件代价极大。而且大多数情况下,无线网卡自己的发射信号会彻底淹没任何可能传过来的冲突信号
  • 即便适配器可以敏锐监听到其他站点的信号,适配器也会由于屏蔽站问题和衰减问题而无法检测到所有的碰撞
屏蔽站与暴露站问题
loading
屏蔽站与暴露站问题
  • 屏蔽站问题(hidden station problem):如上图所示,站点A和C都想和B通信。但A和C相距较远,彼此都监听不到对方信道。当A和C检测到信道空闲时,就都向B发送数据,结果发生了碰撞。这种未能检测出信道上其他站点信号的问题叫做隐蔽站问题。
  • 暴露站问题(exposed station problem):另一种情况是,B和C离得很近,站点B向A发送数据,而C又想和D通信,但C检测到信道忙,于是就不敢向D发送数据,其实B向A发送数据并不影响C向D发送数据(但如果是A向B发送数据,同时C也向D发送数据,此时就会干扰B接收A发来的数据),这就是暴露站问题
CSMA/CA

802.11无线局域网使用带碰撞避免的CSMA(CSMA with collision avoidance)协议,简称为CSMA/CA协议,它有以下特点:

  • 与以太网的CSMA/CD相似,CSMA/CA中的CSMA代表“载波侦听多路访问”,意味着每个站点在传输之前需要侦听信道,当侦听到该信道忙时抑制传输
  • 与CSMA/CD不同之处在于,802.11使用碰撞避免技术而非碰撞检测,即尽可能避免碰撞,而等到不是碰撞发生时终止传输。因此802.11无线局域网中,一旦站点开始发送一个帧,就会完整地发送该帧(即便这是一个长数据帧),不会像CSMA/CD一样出现中途停止传输的现象
  • 由于无线信道相对较高的比特差错率,802.11使用链路层确认/重传(ARQ)方案,接收方收到帧并完成CRC检测后,若无误则需要等待SIFS时长后回复ACK帧
  • 为避免多个站点在信道刚空闲时立即同时发送而产生碰撞,802.11规定站点在执行发送前必须先等待一段固定的帧间间隔IFS(InterFrame Space),并持续监听信道状态,常用的IFS有以下两种:
    • 短帧间间隔SIFS(Short InterFrame Space):SIFS是最短的帧间间隔,长度为28us,等待时间最短,用来在一个同对话中快速回复ACK帧、CTS帧等帧而不参与竞争,在发送以下帧前发送方都需要等待一个SIFS时间:ACK帧、CTS帧、由过长的MAC帧分片后的数据帧,以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。
    • 分布协调功能帧间间隔DIFS:它比SIFS的帧间间隔要长得多,长度为128us,常用于普通站点发送普通数据帧时使用,一个站点发送数据帧前通常需要等待1DIFS + 退避时间
    • 由于SIFS远小于DIFS,因此发送ACK帧、CTS帧等各类帧需要等待的时间短,它们能更早地占用信道,拥有更高的优先发送级,这样能保障此类信息能更快回复(通知类的帧),或者连续传输(分片的帧)
  • 虚拟载波监听(Virtual Carrier Sense)机制:发送数据帧的源站会在MAC帧首部中的第二个字段持续时间中,填入在本帧结束后还要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间。其他站可以提取出该字段值,并据此调整自己的网络分配向量NAV(Network Allocation Vector),然后在该时间段内都禁止发送来避免碰撞,这就好像MAC层的载波监听。因此,站点识别信道是否处于忙态,信息既来源于物理层的载波监听,也来源于MAC层的虚拟载波监听(NAV)
loading
CSMA/CA

示例:

  • 源站监听到信道空闲,发送数据帧前它需要等待DIFS,如果等待完毕信道依旧空闲,则发送帧
  • 目的站收到帧后,进行CRC检测,如果无误则等待SIFS后发送ACK帧
  • 如果源站在规定时间内没有收到确认帧ACK(由重传计时器控制这段时间),就必须重传此帧,直到收到确认为止,或者经过若干次的重传失败后放弃发送
  • 其他站在源站发送数据时,监听到信道忙,因此不进行发送。此时其他站也能收到数据帧,并从持续时间字段提取出当前传输还需要的时间,然后调整NAV来决定下一个DIFS的开始时间
  • 之后,需要发送的数据的站点等待DIFS后,进入争用窗口(计算退避时间并争用)
指数退避

当信道从忙态转为空闲时,如果多个站点都在等待DIFS后立即发送数据,它们将产生碰撞。为此,802.11标准规定,所有想发送数据的站都要执行退避算法,生成一个随机的等待时间,并在等待DIFS后继续等待该随机时间,以避免碰撞,具体为:

  • 当站点有数据需要发送时,需要通过指数退避算法生成一个随机退避时间
  • 站点等待DIFS后,启动一个退避计时器(backofftimer),时长为该站点的随机退避时间。退避计时器的工作方式如下:
    • 如果信道空闲,则退避计时器进行倒计时
    • 如果信道转为忙态,就冻结退避计时器,直到信道重新变为空闲,再经过DIFS后,继续执行计时器(从剩余时间继续倒计时)
    • 当退避计时器的时间减小到零时(此时信道一定处于空闲),就开始发送数据
    • 如果数据发送后未收到ACK,视为发生了碰撞,需要重发该帧并i+1来进行第二轮退避
  • 进行多轮退避后,如果收到ACK,则准备发送下一帧,并将i重置为1,重复上述步骤
    • 重传次数有上限,重传若干次后若还失败则丢弃该帧并向上汇报
  • 802.11标准也使用二进制指数退避算法来决定退避时间,即第i轮退避就在{0,1,…,22+i}个时隙中随机选择一个并等待,如:第1轮退避在0-8时隙中随机选择一个,第2轮退避在0-16时隙中随机选择一个,i的最大值为6,此时发送站会在0-255时隙中随机选一个,这与CSMA/CD稍有不同
退避的执行条件
  • 等待时间为SIFS而不是DIFS的帧通常不需要参与退避和竞争,它们可以在等待SIFS后直接发送,这类帧有:ACK帧、CTS帧、分片确认帧、RTS/CTS过程中的响应帧、某些控制帧
  • 其他等待时间为DIFS的帧,如:数据帧、重传的数据帧,必须执行退避
  • 书上描述,某个站点第一个发送的帧,等待DIFS后如果信道空闲,可以直接发送,这是指802.11早期DCF支持,若信道持续空闲超过DIFS,则允许站点立即发送第一个帧,等到碰撞发生(未收到ACK)后才会进行退避,但现代802.11 MAC里,无论是否为第一个帧,都需要有随机的退避(随机值为0时才满足上述描述)
退避机制执行示例
loading
802.11退避机制

假设A正在发送数据,B、C、D都有数据要发送(用向上箭头表示):

  • 由于A正在发送数据,信道忙,因此B、C、D不能发送数据,需要进行退避
  • A发送完毕后,等待DIFS后,B、C、D的退避计时器开始倒计时
  • 上图中,C的退避计时器最先减到0,于是C开始发送帧,B、D监听到信道变为忙,立即冻结退避计时器。此时E也想发送数据,监听到信道忙,也进行退避
  • C的数据发送完毕后,经过DIFS等待,B、D的退避计时器继续倒计时,且E的退避计时器也加入了倒计时
  •  D的退避计时器最先减到0,因此D发送数据,B、E冻结计时器
  •  之后E的退避计时器比B先减少到0,E获得了发送权,即便B是先于E进行等待的,但由于B随机到的退避时间比E长,因此B竞争失败了
  • 最后B在计时器为0后终于获得数据发送权

信道预约RTS与CTS

loading
信道预约

为了更好地解决隐蔽站带来的碰撞问题,802.11允许要发送数据的站对信道进行预约,具体流程为:

  • 源站A向目的站B发送数据帧之前,先发送一个短的控制帧——请求发送RTS(Request To Send)控制帧,它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。当然,A在发送RTS帧之前,必须先监听信道,在信道空闲,并等待一段时间DIFS后,才能够发送RTS帧。
  • 若目的站B正确收到A发来的RTS帧,且媒体空闲,则等待一段时间SIFS后,就广播一个允许发送CTS(Clear To Send)控制帧,它也包括这次通信所需的持续时间。该CTS帧有两个目的:给发送方明确的发送许可,同时指示其他站点在预约期内不要发送。
  • A收到CTS帧后,再等待一段时间SIFS后,就可发送数据帧
  • 若B正确收到了A发来的数据帧,在等待时间SIFS后,就向A发送确认帧ACK。
  • A在RTS帧中所填写的所需占用信道的持续时间,是从RTS帧发送完毕后,到B最后发送完确认ACK为止的时间。即:SIFS+CTS+SIFS+数据帧+SIFS+ACK时间之和,这也是从RTS帧发完后,信道仍被A和B的通信占用的时间
  • 而B在CTS帧中所填写的所需占用信道的持续时间,是从CTS帧发送完毕后,到B最后发送完确认ACK 为止的时间。即SIFS+数据帧+SIFS+ACK时间之和,这是从CTS帧发完后,信道仍被A和B的通信占用的时间

尽管RTS/CTS交换有助于减少碰撞,但它同样引人了时延并消耗了信道资源。因此,RTS/CTS交换仅仅用于为长数据帧预约信道

802.11局域网的MAC帧

802.11帧与以太网帧有许多共同特点,但它包含许多特定用于无线链路的字段,802.11帧共有三种类型:控制帧、数据帧、管理帧

loading
80211帧格式

802.11数据帧由以下三大部分组成:

  • MAC首部:30字节,包含大量帧控制、帧占用信道的持续期、地址等信息,且帧控制本身还能再细分诸多信息字段
  • 帧主体:也就是帧的数据部分,通常是一个IP数据报或ARP分组,最大允许长度为2312字节,但802.11帧的长度通常都小于1500字节。
  • 帧检验序列FCS:共4字节,通过CRC循环冗余校验生成
数据帧中的地址

传统以太网帧通常只有两个MAC地址,只负责记录源MAC地址、目的MAC地址,而802.11数据帧有四个地址字段,这是因为AP通常承担有线信号到无线信号的转换,它需要重新构造新的链路层帧。传输过程中,无线发送者不一定是真正的数据源或数据目的地,它们可能通常只是中继/桥接者,因此需要更多地址记录信息。四个地址的作用:

  • 地址1:无线链路上的接收方(Receiver, RA)
  • 地址2:无线链路上的发送方(Transmitter, TA)
  • 地址3:真正源或真正目的(取决于方向)
  • 地址4:用于自组网络

具体的地址内容取决于帧控制字段中的去往AP(To DS,802.11标准中指进入分布系统,书上简化为从AP的角度理解数据流向)和来自AP(From DS)这两个子字段的数值。这两个子字段各占1位,合起来共有4种组合

示例: 1.笔记本 → WiFi AP → Internet 此时To DS=1,From DS=0 Address 1 AP 的 MAC(无线接收者 RA) Address 2 笔记本 MAC(无线发送者 TA) Address 3 最终目的 MAC(比如路由器/互联网网关) Address 4 不使用 2. Internet → AP → 手机 此时From DS = 1,To DS=0 Address 1 手机 MAC(无线接收者) Address 2 AP MAC(无线发送者) Address 3 原始源 MAC(例如互联网网关) Address 4 不使用 3. Ad-Hoc 模式,即无 AP 的自组网 站点A与站点B之间相互直接发送,此时To DS = 0, From DS = 0,此时Address3 不再表示真正源/目的,而是网络标识 Address 1 接收方 Address 2 发送方 Address 3 BSSID(自组网络标识) Address 4 不使用 4. 四地址模式,特殊情况,用于AP无线桥接等领域 如:站点A → AP1 → (无线桥接) → AP2 → 站点B 此时To DS = 1, From DS = 1,无线发送者是 AP1,无线接收者是 AP2,但真正源/目的不是它们,因此必须使用四个地址 Address 1 当前无线接收者 RA Address 2 当前无线发送者 TA Address 3 最终目的地址 Address 4 原始源地址A
序号控制字段、持续期字段和帧控制字段
  • 序号控制字段:用于让接收方能够区分开是新传送的帧还是因出现差错而重传的帧,占16位,可拆分为:
    • 序号子字段:占12位,从0开始,每发送一个新帧就加1,到4095后再回到0
    • 分片子字段:占4位,不分片则保持为0。如果分片,则帧的序号子字段保持不变,而分片子字段从0开始,每个分片加1,最多到15
    • 重传的帧的序号和分片子字段的值都不变
  • 持续期字段:占16位,CSMA/CA协议允许发送数据的站点预约信道一段时间,并把这个时间写入到持续期字段中。这个字段有多种用途(这里不对这些用途进行详细的说明),只有最高位为0时才表示持续期。这样,持续期不能超过21-1=32767,单位是微秒
  • 帧控制字段共分为11个子字段,这里主要介绍重要的字段
    • 协议版本字段:目前值为0
    • 类型字段和子类型字段:用来区分帧的功能,802.11帧共有三种类型:控制帧、数据帧和管理帧,而每一种帧又分为若干种子类型。例如,控制帧有RTS,CTS和ACK等几种不同的子类型
    • 更多分片字段置为1时表明这个帧属于一个帧的多个分片之一。由于无线信道的通信质量是较差,因此无线局域网的数据帧不宜太长,为了提高传输效率,在信道质量较差时,需要把一个较长的帧划分为许多较短的分片,并结合RTS和CTS帧预约信道后连续发送这些分片。
    • 有线等效保密字段 WEP(Wired Equivalent Privacy):占1位。若WEP=1,就表明采用了WEP加密算法,WEP加密目前已经被淘汰,取而代之的是WPA2与WPA3,它们不会使用WEP 字段,而是会对整个帧结构进行替换

无线个人区域网WPAN

无线个人区域网 WPAN(Wireless Personal Area Network)是一种覆盖范围极小(通常在10米以内)、以个人为中心进行设备互联的短距离无线通信网络,通常工作在2.4GHz的ISM频段,典型代表有蓝牙、ZigBee、红外(IrDA)。WPAN的IEEE标准由IEEE的802.15工作组制定,标准包括MAC层和物理层的标准

蓝牙系统

蓝牙(Bluetooth)系统是由爱立信公司推出的短距离无线通信技术,工作在免授权的2.4GHz ISM频段,标准是IEEE802.15.1,它有以下特点:

  • 蓝牙网络通信范围在10米左右,数据率可达3Mbps
  • 蓝牙网络小巧而简单,因此又被称为微微网或皮可网(piconet,pico原意为微微(10-12)),每一个皮可网有一个主设备(Master)和最多7个工作的从设备(Slave),以及最多255个不工作的搁置设备
  • 主设备负责控制整个皮可网,其时钟决定皮可网中的时间(如:TDM的时隙边界),并通过轮询来授予客户传输权限
  • 搁置设备通常处于睡眠状态,会被周期性地唤醒并接收来自主设备的信标信息,主设备将搁置设备的状态从搁置改为活动后,搁置设备才能通信
蓝牙的工作机制

由于蓝牙所工作的2.4GHz频段,有大量设备(如:WiFi,微波炉,车库门、物联网设备等)也工作在该频段下,因此蓝牙使用跳频扩频(FHSS)技术来抗噪声和干扰。具体实现上,它将频段划分为79个信道,以625μs为一个时隙进行传输。每一个时隙结束时,通信频率会按照一种双方已知但伪随机的规律跳到另一个信道,跳变速率为每秒1600次,以此保证传输的稳定性。此外,它还使用随机回退、轮询、错误检测和纠正,以及借助ACK和NAKS的可靠数据传输等机制来保障数据通信。

蓝牙的工作流程
  • 主设备会在32个不同频道上广播询问信息,并将该询问序列重复发送最多128次。从设备会自行选择一个频率进行监听,一旦收到询问消息,会随机延迟0至0.3秒(以避免与其他响应节点发生冲突),然后回复包含其设备ID的报文来响应主节点
  • 当蓝牙主节点发现范围内所有潜在从节点后,会进一步邀请其中部分设备加入皮可网,这一阶段称为蓝牙寻呼(paging)。
  • 在寻呼阶段,主设备会向目标从设备发送寻呼邀请,并告知后续通信所使用的跳频模式以及主设备时钟信息。主设备首先再次发送32条寻呼报文,每条都针对特定从设备,但仍在不同频率上传输,因为此时从设备尚未获知网络的跳频序列
  • 当从设备返回ACK确认后,主设备会进一步发送跳频参数、时钟同步信息和和活跃成员的地址给客户,随后主设备使用新的跳频模式对该设备进行轮询,来确认其是否已经成功接入该微微网

ZigBee低速WPAN

低速WPAN主要用于工业监控组网、自动化控制、智能家居等领域,速率为2-250kbit/s,低速WPAN使用IEEE 802.15.4标准,其中最为知名的是ZigBee通信技术。

ZigBee一词来源于蜜蜂通过Z字抖动(ZigZag)来传输信息,通知伙伴食物、距离和方向等信息。ZigBee主要用于各种电子设备之间的无线通信,通信距离短(10-80m),传输数据速率低,但成本低廉,它有以下特点:

  • 设备功耗低:ZigBee结点在工作时,信号的收发时间很短,而在非工作时,ZigBee 结点处于休眠状态(处于这种状态的时间一般都远远大于工作时间),这使得ZigBee结点非常省电
  • 网络容量大:一个ZigBee 的网络最多可以包含255个结点,其中一个是主设备(Master),其余则是从设备(Slave)。若是通过网络协调器(Network Coordinator),整个网络最多可以支持超过64000个结点。
  • ZigBee在MAC层,主要沿用 802.11无线局域网标准的CSMA/CA协议。即在传输之前,会先检查信道是否空闲,若信道空闲,则开始进行数据传输,若产生碰撞,则推后一段时间重传。
  • ZigBee可采用星形或网状拓扑来拓展网络,的结点按功能的强弱可划分为两大类:
    • 全功能设备FFD(Full-Function Device):具备控制器(Controller)功能,能够提供数据交换,因此FFD是ZigBee网络中的路由器。一个ZigBee网络中会有一个FFD充当该网络的协调器(coordinator),负责维护整个ZigBee网络的结点信息,同时还可以与其他ZigBee 网络的协调器交换数据。通过各网络协调器的相互通信,可以得到覆盖更大范围
    • 精简功能设备RFD(Reduced-Function Device):ZigBee网络中数量最多的端设备,它们的电路简单,存储容量较小,因而成本较低

高速WPAN

高速WPAN的标准是IEEE 802.15.3,是专为在便携式多媒体装置之间传送数据而制定的,该标准支持11~55Mbit/s的数据率,常用于计算机与打印机、投影仪、扫描仪、外接硬盘等设备之间的无线连接。

为了更快传输数据,IEEE 802.15.3a工作组还提出了更高数据率的物理层标准的超高速WPAN。这种网络使用超宽带UWB(Ultra-WidBand)技术,工作在3.110.6GHz微波频段,可支持100400Mbit/s的数据率,可用于小范围内高速传送图像或DVD质量的多媒体视频文件。

无线城域网WMAN

无线城域网WMAN(Wireless Metropolitan Area Network)的覆盖范围介于无线局域网(WLAN)和无线广域网(WWAN)之间,通常用于覆盖城市或大型园区。许多情况下,无线城域网用来代替现有的有线宽带接入,被称为“最后一公里”的宽带无线接入,它有时又称为无线本地环路(wireless local loop),其技术标准为802.16无线城域网标准,WMAN的典型代表是WiMAX (Worldwide Interoperability for MicrowaveAccess,全球微波互联接入)。

蜂窝移动通信网

蜂窝移动通信属于小区制移动通信。它将网络服务区划分为许多类似蜂窝的小区,每个小区设一个基站,基站负责向小区内的移动设备发送信号,并从其接收信号。蜂窝结构能最大化实现频率复用,即相邻小区使用不同频率来避免干扰,相隔较远的小区可重复使用相同频率,有效节约频率资源。

蜂窝移动网络从早年几乎完全的电路交换电话网络转变为全IP分组交换数据网络,目前已经发展到第5代:

  • 1G:为话音通信设计的模拟FDM系统,已被淘汰
  • 2G:其代表性体制为GSM系统,带宽只有200kHz,主要提供电话和低速数字通信(短信服务)。为接入互联网,出现了GPRS(2.5G)、EDGE(2.75G)等过渡技术
  • 3G:带宽增大到5MHz,并且使用IP的体系结构和混合的交换机制(电路交换和分组交换),能够提供移动宽带多媒体业务,如:话音、数据、视频等,可收发电子邮件,浏览网页,进行视频会议等。3G有三个无线接口国际标准:美国提出的CDMA2000(中国电信使用),欧洲提出的WCDMA(中国联通使用)和中国提出的TD-SCDMA(中国移动使用)
  • 4G:正式名称是IMT-Advanced (International Mobile Telecommunications-Advanced), 意为高级国际移动通信,其目标峰值数据率是:固定的和低速移动通信时应达到1Gbit/s,在高速移动通信时(如在火车。汽车上)应达到100Mbit/s。4G现有两个国际标准,即LTE(Long-Term Evolution)和LTE-A(LTE-Advanced),LTE的意思就是“长期演进”,表明从3G到4G的过渡需要较长的时间,可以分为时分双工TD-LTE和频分双工FDD-LTE两种,带宽增加到了20MHz,采用了高阶调制64QAM和MIMO技术。LTE-A是LTE 的升级版,俗称为3.9G,带宽高达100MHz
  • 5G:5G标准将频率分为两组:FR1(450MHz-6GHz)和FR2(24GHz-52GHz)。其中FR2频率属于毫米波频率,支持更快的数据传输速度,但也需要更高的基站部署密度

2G蜂窝网络

2G(第二代移动通信)以传统电话业务为核心,采用以电路交换(Circuit Switching)为主的架构,主要目标是实现数字语音通信,相比1G模拟通信具有更好的抗干扰能力与频谱利用率。其核心网本质上类似传统电话网,用户拨号后会建立一条专用通信电路,在整个通话期间独占资源,典型技术包括GSM和CDM

loading
2G

3G蜂窝网络

3G(第三代移动通信)开始真正面向互联网业务演进,其核心特点是“电路交换与分组交换并存”。3G核心网通常同时存在两套体系:

  • CS域(Circuit Switched Domain)负责语音通话,连接传统电话网
  • PS域(Packet Switched Domain)负责互联网数据业务,连接IP网络。典型设备包括MSC、SGSN、GGSN等

3G大幅提升了移动数据速率,使网页浏览、在线视频、移动应用成为可能,但整体架构仍然带有较强的传统电信网络色彩,语音与数据并未完全统一

loading
3G

4G LTE 蜂窝网络

4G LTE(第四代移动通信)实现了“全IP化(All-IP)”架构,LTE取消了传统电路交换核心网,所有业务包括语音、视频和互联网数据都基于IP分组传输。其中语音业务通过VoLTE实现,其本质是基于IMS、SIP、RTP等协议的IP语音系统

4G LTE架构和部件
loading
4GLTE架构的部件
  • 移动设备:指连接到蜂窝运营商网络的智能手机、平板电脑、笔记本电脑、物联网等设备,注意移动设备并不总是移动的,如固定的温度传感器或监控摄像头也可以是移动设备。移动设备具有全球唯一的64位标识符,称为国际移动用户身份IMSI,IMSI类似于MAC地址,用来在全球蜂窝网络系统中识别用户,包括用户所属的国家和归属蜂窝网络。设备的SIM(用户身份模块)卡存储了IMSI、有关用户能够访问的服务的信息、用户的加密密钥等信息
  • 基站负责管理无线电资源和其覆盖区域内的移动设备,包括协调无线电接入网中的设备认证和资源分配(信道接入),创建从移动设备到网关的特定设备的IP隧道,处理小区之间的设备移动性。邻近的基站会相互协调,以管理无线电频谱尽量减少各小区之间的干扰。在4GLTE的官方术语中,该基站被称为eNode-B
  • 归属用户服务器HSS:HSS是一个数据库,存储关于移动设备的信息,HSS的网络是它们的归属网络,它与MME一起用于设备身份验证。
  • 服务网关(S-GW)、PDN网关(P-GW)等其他网络路由器:服务网关(Services Gateway) 和分组数据网络网关(Packet Data Network Gate-way)是位于移动设备与因特网之间的数据路径上的两台路由器(在实际应用中通常是并列的)。PDN网关为移动设备提供NAT IP地址,实现NAT功能。PDN网关是来自移动设备的数据报在进入因特网之前遇到的最后一个LTE部件。在外界网络看来,P-GW看起来和其他任何网关路由器没什么两样,移动通信公司LTE网络内移动节点的移动性被隐藏在P-GW之后
  • 移动性管理实体MME:MME与HSS一起,负责验证想要连接到其网络的设备,并从设备到PDN因特网网关路由器的数据路径上建立隧道,维护有关移动设备在运营商蜂窝网络中的小区位置的信息。MME位于控制层面,不在移动设备收发因特网数据报的转发路径中,不参与数据转发,核心职责为:
    • 身份验证:连接过程中,基站需要确认所连接的设备确实与一个给定的IMSI相关联,移动设备需要确认它所连接的网络是一个合法的蜂窝运营网络。具体来说,在收到来自移动设备的附着(Attach)请求后,本地网络中的 MME 会联系用户归属运营商HSS,HSS会向本地 MME返回一组加密信息,帮助 MME 与手机完成身份验证。基站所处网络通过这些认证信息,证明自己代表合法运营商,手机则利用 SIM 卡中的密钥,证明自己确实是该 IMSI 对应的用户。
    • 路径设置:移动设备到运营商网关的数据路径由三部分组成:手机与基站之间的无线链路,基站到服务网关(SGW)的IP隧道,服务网关到PDN网关(PGW)的IP隧道。这些隧道由MME负责控制建立,并用于转发用户数据,而不是让数据直接经过普通IP路由。这样设计主要是为了支持移动性:当用户移动、切换基站时,只需要修改靠近基站的一端隧道,后面的SGW、PGW以及QoS相关连接都可以保持不变,从而减少切换开销并保证业务连续性
    • 小区位置跟踪:当设备在蜂窝小区间移动时,基站将更新设备位置的MME。如果移动设备处于睡眠模式,但仍然在蜂窝小区间移动,基站就无法追踪设备的位置。在这种情况下,MME将负责通过一个称为分页的进程定位用于唤醒的设备
4G LTE协议栈

4G LTE架构是一个全IP架构,高层协议依旧使用的TCP/IP体系,但链路层和物理层使用了新的LTE协议。LTE将移动设备的链路层分为三个子层:

  • 分组数据汇聚:该链子层位于链路层最上面IP层的下面,分组数据汇聚协议(PDCP)执行IP首部压缩,以减少通过无线链路发送的比特数,当移动设备第一次连接到网络时,LTE移动设备和移动性管理实体之间通过信令报文建立的密钥对IP数据报进行加密/解密。
  • 无线链路控制:无线链路控制(RLC)协议执行两个重要功能:
    • 拆分(在发送侧)和重新组装(在接收侧)太大的IP数据报,以适合底层链路层帧
    • 通过使用某种基于ACK/NAK的ARQ协议,在链路层进行可靠数据传输
  • 介质访问控制(MAC):MAC层执行传输调度,即无线电传输时隙的请求和使用。MAC子层还执行额外的错误检测/校正功能,如:使用冗余位传输作为前向纠错技术,且冗余量可以根据信道条件进行调整

5G 蜂窝网络

5G(第五代移动通信)是在4G全IP架构基础上的进一步云化与服务化升级。其核心网采用SBA(Service-Based Architecture,服务化架构)设计,网络功能被拆分为AMF、SMF、UPF、PCF等更加模块化的服务组件,组件之间甚至使用HTTP/2、REST API等互联网云服务常见协议通信。5G支持网络切片、边缘计算(MEC)、超低时延、大规模物联网等新能力。在无线侧,5G引入了Massive MIMO、毫米波、波束赋形等先进技术,以提供更高带宽与更低时延。

5G由三个共存的标准组成:

  • eMBB(增强型移动带宽):5G NR的初始部署主要集中在eMBB上,与4GLTE相比,eMBB可以为更高的下载和上传速度提供更高的带宽,并适度降低时延。eMBB支持丰富的媒体应用程序,如移动增强现实和虚拟现实,以及移动4K分辨率和360°视频流
  • URLLC(极可靠低时延通信):URLLC的目标是满足时延高度敏感的应用程序,如工厂自动化和自动驾驶
  • mMTC(大规模机器类型通信):mMTC是一种窄带接人类型,用于传感、测量和监控应用,降低物联网设备的网络连接障碍

移动IP

传统IP网络中,IP地址同时承担两种职责:标识主机身份和标识主机所处网络。当设备改变地理位置,由于所接入网络不同,IP地址必然改变,由此带来的结果是TCP等上层连接会断开。为了让移动站在漫游时仍保持其IP地址不变,使用户的移动性对上层的网络应用透明,移动设备需要使用相应的移动IP技术。

移动IP(Mobile IP)是由IETF开发的一种技术,这种技术允许计算机移动到其他网络时,仍然保留其原来的IP地址,移动IP的核心概念:

  • 归属网络(home network):指移动节点初始注册并获得其永久归属地址的那个网络。从逻辑上讲,它是移动节点的常驻管理域,归属网络中有以下概念:
    • 归属地址(home address):是移动节点在归属网络上配置的永久IP地址,无论节点移动到何处,该地址都保持不变,作为其身份标识
    • 归属代理(home agent):位于归属网络上的路由器,负责在移动节点离开本地时拦截发往其归属地址的数据包,并通过隧道技术将其转发到节点当前所在位置
  • 被访网络(visited network):又称外地网络,指移动节点漫游后所接入的外部网络,该网络为节点提供临时的网络连接服务
    • 转交地址(care of address):是移动节点在被访网络上获得的临时IP地址,用于标识其当前位置,归属代理正是通过该地址将数据准确地隧道传输到漫游中的移动节点
    • 外部代理(foreign agent):是部署在被访网络上的路由器,为移动节点提供路由服务,协助其完成注册,并作为隧道终点接收来自归属代理的封装数据包后解封并交付给移动节点

间接路由与直接路由

当移动设备离开归属网络,访问其他网络(被访网络)(即漫游)时,网络需要解决一个核心问题:设备的位置发生了变化,外界希望能够找到它并保持已有通信会话,解决的方法是通过归属代理和外部代理协调工作,实时追踪并维护移动设备的网络位置,具体流程为:

  • 当设备A移动并接入被访网络后,被访网络中的外部代理会为该移动设备分配一个转交地址作为临时IP地址,并将转交地址等信息通知A的归属代理
  • 归属代理会维护一张映射表,记录“归属地址→当前位置”的映射关系,当设备A在不同被访网络间移动时,都会通知归属代理,归属代理会动态修改该映射表。在蜂窝移动网络中,通常由HSS负责与被访网络进行交互,以跟踪移动设备的位置以及归属网络的网关路由器,其他网络设备可以向A的归属代理查找相关信息。
  • 间接路由
    • 当外部主机向移动设备发送数据时,数据包会被统一发送给归属网络中的归属代理,目的地址为移动设备的归属地址。
    • 由于归属代理知道移动设备的实时网络位置和转交地址,它会将IP数据报通过IP隧道封装并转发到设备当前所在的被访网络,最后交付给移动节点。该过程中,原始IP数据报会被再次进行IP封装(IP-in-IP),而不修改原有IP数据报,此时会转交地址作为新IP数据报的目的地址。
    • 该过程中,发送方始终不知道移动节点的实际位置,而是通过归属网络进行中转
    • 间接路由最大的优点是实现简单,通信双方无需感知用户移动。但其缺点也十分明显,路由始终通过:发送方网络-归属地网络-接收方网络(也是被访网络),即便发送方和接收方处于同一网络,也会进行绕路,此即三角路由(Triangle Routing)问题,三角路由会增加传输时延、浪费带宽资源,并导致网络路径明显偏长
    • 移动设备发送数据报时,它可以选择将数据报通过隧道回送到归属网关路由器,并且从那里发送给通信者。也可以选择直接从被访网络传输给通信者,该方法在LTE中称为本地突围(local breakout)
  • 直接路由:为解决三角路由问题,移动IP后来提出了直接路由(Direct Routing)或称路由优化(Route Optimization)机制。在这种方案下,通信对端在获知移动节点当前位置后,可以直接向转交地址发送数据,而无需经过归属代理中转。归属代理仍负责维护位置注册和初始定位,但实际业务流量不再经过它转发,从而显著缩短路径并降低时延,这种思想后来被Mobile IPv6广泛采用

4G/5G网络的移动性管理

假设一个场景,移动用户(例如,汽车中的乘客)通过智能手机连接到4G/5G网络(非归属网络),开始从远程服务器传输高清视频,然后从一个4G/5G基站移动到另一个基站,该场景下通信系统执行的核心步骤包括:

  • 移动设备与基站关联:移动设备可能收到来自多个基站的广播信号,它会监听所有频率的主要信号,逐步获取关于这些基站的信息,最终选择一个与之关联的基站,移动设备会向基站提供其国际移动用户标识(IMSI),该标识唯一地标识移动设备及其归属网络和其他附加的用户信息
  • 移动设备的网元控制平面配置:一旦建立了移动设备到基站的信令通道,基站就可以与被访网络中的MME联系。MME将在归属和被访网络中查阅并配置一些4G/5G元素信息,以代表移动节点建立状态,内容包括:
    • MME将使用IMSI和移动设备提供的其他信息,完成用户认证、加密通信的配置等
    • MME通知移动设备归属网络中的HSS,移动设备现在驻留在被访网络中,HSS更新其数据库
    • 基站和移动设备为要在移动设备和基站之间建立的数据平面通道选择参数
  • 移动设备转发隧道的数据平面配置:MME接下来为移动设备配置数据平面,然后建立两条隧道,其中一条隧道位于基站和被访网络的服务网关之间,第二条隧道是在被访网络服务网关和归属网络PDN网关路由器之间。4GLTE通过对称间接路由,使所有进出移动设备的流量都将通过设备的归属网络进行隧道传输。4G/5G隧道使用 GPRS隧道协议(GTP)。GTP报头中的隧道端点ID(Tunnel Endpoint ID,TEID)指示数据报属于哪个隧道,允许多个流在隧道端点之间通过GTP进行多路复用和多路分解
  • 基站切换:从一个基站切换到另一个基站
基站切换管理

发生基站切换的原因有很多。如:当前基站和手机之间的信号可能已经恶化到严重损害通信的程度,或者一个小区因处理大量的通信而超载,需要将移动设备移交给附近不那么拥挤的小区。切换之前的基站称为源基站,切换后的基站称为目标基站,切换的流程为:

  • 移动设备周期性地测量当前基站的信标信号以及其他它能监听到的附近基站信号的特征。这些测量每秒钟向移动设备的当前(源)基站报告一到两次。
  • 根据这些测量结果,源基站可以选择发起切换,源基站会选择一个目标基站,并向目标基站发送切换请求消息。
  • 目标基站检查自己是否有资源来支持移动设备及其业务质量要求。如果有,则在其无线电接入网上为该设备预分配信道资源(例如,时隙)和其他资源,这种资源预分配允许尽可能快地执行切换
  • 目标基站向源基站确认一个切换请求确认报文,该报文包含移动设备需要与新基站关联的目标基站的所有信息。
  • 源基站接收到切换请求确认报文,并将目标基站的身份信息和信道接入信息告知移动设备。此时,移动设备可以开始向新的目标基站发送/接收数据报。从移动设备的角度来看,切换已经完成。然而,在网络内部仍有一些工作要做。
  • 源基站停止向移动设备转发数据报,并将它接收到的任何隧道化的数据报转发给目标基站,目标基站随后将这些数据报转发给移动设备。
  • 目标基站通知MME,自己将是为移动设备服务的新基站。MME依次向服务网关和目标基站发出信号,以重新配置服务网关到基站隧道,使其隧道指向目标基站而不是源基站
  • 目标基站向源基站确认隧道已被重新配置,从而允许源基站释放与该移动设备关联的资源
  • 此时,目标基站也可以开始向移动设备发送数据报,包括源基站在切换过程中转发给目标基站的数据报,以及从服务网关重新配置后通过隧道到达的新数据报。它还可以将从移动设备接收到的出方向的数据报转发给到服务网关的隧道。

无线网络移动性对高层协议的影响

移动设备在无线网络中漫游时,切换基站时网络连接会发生很短时间的中断。

对于TCP而言,切换会造成报文段的丢失或出错,TCP会重传报文并认为网络发生了拥塞,然后减小其拥塞窗口,即便此时是不需要降低发送速率的,无线信道的高比特差错率会加重该情况的发生,为此有三类方法用于处理这一问题:

  • 本地恢复:本地恢复方法的目标是在比特差错出现的当时和当地(如在无线链路中)将其恢复。如:802.11的ARQ自动重传请求就是一种本地恢复措施
  • 让TCP发送方知道使用了无线链路:让TCP发送方和接收方知道无线链路的存在,从而将在有线网络中发生拥塞性丢包和在无线网络中发生的差错/丢包区分开,并且仅对有线网络中的拥塞性丢包采用拥塞控制。
  • 拆分TCP连接:把含有移动用户的端到端TCP连接拆成两个互相串接的TCP 连接。从移动用户到无线接入点使用一个TCP 连接(这部分使用无线信道),而剩下的使用有线网段连接的部分则是另一个TCP连接。在使用无线信道的TCP连接上,既可以使用标准的TCP协议,也可以使用有选择确认的TCP协议,甚至还可以使用专用的、有差错恢复的UDP协议

对应用层而言,无线与移动环境要求其具备“弱网适应”能力。首先,因带宽稀缺,应用需主动降级资源,如提供更低画质的图片。其次,由于信号波动和漫游会导致连接频繁中断,协议不能将断连简单视为故障,而须支持断点续传与离线操作。最后,面对网络切换带来的剧烈波动,应用应动态调整码率,并可结合设备电量、计费状态等上下文,智能调度后台任务,在不确定的移动网络中维持相对流畅的体验。

音频/视频服务

音/视频常被称为多媒体信息,具体而言,多媒体信息指内容上相互关联的文本、图形、图像、声音、动画和活动图像等所形成的复合数据信息,它具有以下特点:

  • 信息量大:即便采用各种压缩技术,图片、音频、视频数据的体积依旧会很大
  • 对时延和时延抖动敏感:音视频信号通常是模拟信号,需要经过模数转换后才能在互联网上传送。在发送端,这些分组发送的时间间隔是恒定的,称为这些分组是等时的(isochronous),但互联网本身是非等时的,因此独立传输的分组到达接收端会变成非等时的。如果在接收端对这些以非恒定速率到达的分组边接收边还原为模拟信号,那么就一定会产生失真。解决的方法是在接收方设置缓存,当缓存的分组到达一定数量再还原播放。

流媒体

流媒体(streaming media)指流式音频/视频,其主要特点是不是全部都收录下来再开始播放,而是使用“边传输边消费”的通信模型,完整下载后播放一般不属于流媒体范畴。目前互联网提供的流式音频/视频服务大体上可分为三种类型:

  • 流式存储音频/视频:指把已压缩的录制好的音频/视频文件(如音乐、电影等)存储在服务器上,供用户下载和播放,如:在线电影观看
  • 流式实况音频/视频:音频/视频节目不是事先录制好和存储在服务器中的,而是在发送方边录制边发送。接收方收到节目的时间和节目中事件的发生时间可以认为是同时的(相差仅仅是电磁波的传播时间和很短的信号处理时间)。如:直播、实时视频监控,直播等流式实况音频/视频按理说应当采用多播技术才能提高网络资源的利用率,但目前实际上还是使用多个独立的单播。
  • 交互式音频/视频:这种类型是用户使用互联网和其他人进行实时交互式通信,如:视频通话、视频会议等

流式存储音频/视频

传统服务从服务器上下载录制好的音视频,通常需要完整下载好后才能播放,为实现边下边播的功能,早期互联网提出了多种专门的流媒体方案:

  • 元文件(Meta File):早期的浏览器不支持音视频播放,需要专用的播放器,因此早期流媒体系统中,用户点击的往往并不是真正的音视频文件,而是一个体积很小的“元文件”。元文件中记录了媒体服务器地址、媒体资源位置、编码格式等信息,浏览器下载元文件后,会调用对应播放器,由流媒体执行实时播放功能
  • 万维网服务器与媒体服务器分离:当用户点击网页中的媒体链接后,浏览器先从 Web 服务器获取元文件,再由播放器与媒体服务器建立连接,媒体服务器随后持续向客户端发送音视频数据流。这种架构能够减轻 Web 服务器压力,也便于针对流媒体业务进行专门优化
  • 实时流协议RTSP(Real-Time Streaming Protocol):是一种专门用于控制流媒体播放过程的应用层协议,RTSP 本身并不传送数据,而是负责将客户端的PLAY(播放)、PAUSE(暂停)、SEEK(拖动进度)、TEARDOWN(关闭会话)操作发送给媒体服务器,真正的数据传输一般由 RTP(Real-time Transport Protocol)配合 UDP 完成,因此 RTSP 更偏向“控制协议”而非“数据传输协议”。RTSP 主要应用于监控摄像头、安防设备、工业视频系统等领域,但由于浏览器原生不支持RTSP,且很多防火墙会拦截外部UDP数据,因此现代互联网很少使用

交互式音/视频

交互式音视频(Interactive Audio/Video)强调通信双方能够实时进行语音或视频交互,与流式存储音视频“服务器向用户单向播放”的模式不同,它更关注低时延、实时传输以及会话控制。典型应用包括网络电话、视频会议、在线语音聊天等。由于交互式通信要求数据尽快到达,因此相比“完整可靠”,它通常更强调“实时性”和“连续性”,即交互式音视频能接收一定的丢包

IP电话

IP电话指基于IP网络传输语音的电话系统,也称为VoIP(Voice over IP)。传统电话依赖电路交换,需要在通信双方之间建立固定的话音电路;而IP电话则会将语音数字化、压缩编码后封装为IP数据报,通过互联网进行传输,IP电话能够显著降低长途通信成本,并能更容易与互联网服务融合,因此逐渐成为现代语音通信的主流基础,IP电话通常需要以下技术:

  • IP电话网关(IP TelephonyGateway):它是电话网与IP网络的接口设备,负责电话网与IP网络之间的协议适配与转换,实现主机->互联网->IP电话网关->公用电话网->座机等不同方式的互联网与电话网之间的通信,其主要功能包括在电话呼叫阶段和挂断阶段进行电话信令的转换,以及在通话期间进行话音编码的转换
  • 统一话音编码:在保证话音质量的前提下,话音信号的数码率应尽可能低,为了能够在世界范围提供IP电话服务,话音编码需要采用统一的国际标准,如:G.729 话音速率为8kbit/s 的共轭结构代数码激励线性预测 CS-ACELP声码器、G.723.1 话音速率为5.3/6.3kbit/s 的线性预测编码LPC声码器(这些标准现代已不在主流)
  • 至少两种应用协议:
    • 信令协议:用于在互联网上找到被叫用户。在公用电话网中,电话交换机根据用户所拨打的号码就能够通过合适的路由找到被叫用户,并在主叫和被叫之间建立起一条电路连接,这些都依靠电话信令(signaling)完成,因此IP电话也需要类似的信令
    • 话音分组传送协议:在互联网中传输电话通信的话音数据
loading
IP电话

实时传输协议RTP

实时运输协议RTP(Real-time Transport Protocol)为实时应用提供端到端的数据运输,现代实时音视频系统中,RTP及其扩展形式被广泛用于WebRTC、视频会议系统、安防监控等领域的底层。应用层需要发送的多媒体数据块(音频/视频)经过压缩编码处理后,会被封装成为RTP分组,RTP不会对多媒体数据块做任何处理,而只会添加一些附加信息,RTP分组装入运输层的UDP用户数据报后,会被向下递交给IP层。

RTP基于UDP,不提供任何服务质量的保证,工作时,RTP分组只包含RTP数据,而控制是由其他配套使用的如:RTCP协议提供的。RTP在端口号1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中的RTCP则使用下一个奇数UDP 端口号。端口号5004和5005分别用作RTP和RTCP的默认端口号。以下是RTP分组的首部格式:

loading
RTP

在RTP分组的首部中,前12个字节是必需的,而12字节以后的部分则是可选的。下面按照各字段重要性的顺序来进行介绍:

  • 有效载荷类型(payloadtype):占7位。这个字段指出后面的RTP数据属于何种格式的应用,收到 RTP分组的应用层就根据此字段指出的类型进行处理。如:对于音频和视频都有诸多不同载荷类型和编码方式,该字段可以携带这些信息
  • 序号:占16位。对每一个发送出的RTP分组,其序号加1。在一次RTP会话开始时的初始序号是随机选择的。序号使接收端能够发现丢失的分组,同时也能将失序的RTP 分组重新按序排列好
  • 时间戳:占32位。时间戳反映了RTP分组中数据的第一个字节的采样时刻,在第一次会话开始时时间戳的初始值也是随机选择的。即使在没有信号发送时,时间戳的数值也要随时间而不断地增加。接收端使用时间戳可准确知道应当在什么时间还原哪一个数据块,从而消除时延的抖动,时间戳还可以用来使视频应用中声音和图像同步
  • 同步源标识符SSRC(Synchronous SouRCe identifier):占32位,用来标志RTP流(stream)的来源。SSRC与IP地址无关,在新的RTP流开始时随机地产生。由于RTP 使用UDP 传送,因此可以有多个RTP流(例如,使用几个摄像机从不同角度拍摄同一个节目所产生的多个RTP流,或者同一用户的摄像头视频、麦克风音频、屏幕共享产生的多个RTP流)复用到一个UDP用户数据报中。SSRC可使接收端的UDP能够将收到的RTP流送到各自的应用层处理进程。若两个RTP流恰好都选择同一个SSRC,那么这两个源就都需要重新选择另一个SSRC。
  • 参与源标识符:这是可选项,最多可有15个。参与源标识符CSRC(Contributing SouRCe identifier)也是一个32位数,用来标志来源于不同地点的 RTP 流。在多播环境中,可以用中间的一个站(叫做混合站mixer)把发往同一个地点的多个RTP 流混合成一个流(可节省通信资源),在目的站再根据CSRC的数值把不同的RTP流分开。
  • 参与源数:占4位,这个字段给出后面的参与源标识符的数目
  • 版本:占2位,当前使用的是版本2
  • 填充P:占1位。在某些特殊情况下需要对应用数据块加密,这往往要求每一个数据块有确定的长度。如不满足这种长度要求,就需要进行填充。这时就把P位置1,表示这个RTP分组的数据有若干填充字节。在数据部分的最后一个字节用来表示所填充的字节数。
  • 扩展X:占1位。X置1表示在此RTP首部后面还有扩展首部。扩展首部很少使用
  • 标记M:占1位。M置1表示这个RTP分组具有特殊意义。例如,在传送视频流时用来表示每一帧的开始

实时运输控制协议RTCP

实时运输控制协议RTCP(RTP Control Protocol)通常与 RTP 配合使用,用于传输控制信息与统计信息,而不负责真正的媒体数据传输。RTCP可以周期性反馈丢包率、网络时延、抖动(Jitter)、发送速率、同步信息等信息,发送方可以根据RTCP的反馈动态调整视频码率、发送速度,从而改善实时通信质量。

由于RTCP分组很短,因此可把多个RTCP分组封装在一个UDP用户数据报中。RTCP分组有以下几种类型,它们都使用同样的格式:

  • 结束分组BYE:表示关闭一个数据流
  • 特定应用分组APP:使应用程序能够定义新的分组类型
  • 接收端报告分组RR:接收端每收到一个RTP流(一次会话包含有许多的RTP流)就产生一个接收端报告分组RR,内容包括:所收到的RTP流的SSRC,该RTP流的分组丢失率(若分组丢失率太高,发送端就应当适当降低发送分组的速率),在该RTP流中的最后一个RTP分组的序号,分组到达时间间隔的抖动等
  • 发送端报告分组SR:发送端每发送一个RTP流,就要发送一个发送端报告分组 SR。SR分组的主要内容包括:该RTP流的同步源标识符SSRC,该RTP流中最新产生的RTP分组的时间戳和绝对时钟时间,该RTP流包含的分组数,该RTP流包含的字节数。
  • 源点描述分组SDES:给出会话中参加者的描述,它包含参加者的规范 CNAME(CanonicalNAME),规范名是参加者的电子邮件地址的字符串。

H.323

H.323是ITU-T提出的早期信令标准,用于在IP网络上实现语音、视频会议与多媒体通信。它并不是单一协议,而是一整套协议框架,包含:呼叫建立,编码协商,媒体传输,网关控制等多个部分。H.323出现较早,协议庞大、实现复杂。它曾广泛用于电信运营商 VoIP、早期视频会议系统,但后来逐渐被更轻量、更互联网化的 SIP 所替代,如今已不再是互联网主流方案

会话发起协议SIP

SIP(Session Initiation Protocol)是一种用于建立、修改与终止多媒体会话的信令协议,它是“互联网中的电话呼叫控制协议”。SIP负责用户定位、发起呼叫、建立会话、挂断连接、协商媒体参数等工作,真正的音视频数据通常由RTP等其他协议传输。它具有以下特点:

  • SIP是一种基于文本的客户—服务器应用层协议,整体风格类似HTTP
  • SIP系统核心构件只有两类:
    • 用户代理(user agent):包括两个程序用户代理客户UAC(User AgentClient)和用户代理服务器UAS(User Agent Server),前者用来发起呼叫,后者用来接受呼叫。
    • 网络服务器(network server):分为
      • 代理服务器(proxy server):接受来自主叫用户的呼叫请求,并将其转发给被叫用户或下一跳代理服务器
      • 重定向服务器(redirect server):不接受呼叫,只负责提供其他服务器地址。它通过响应告诉客户下一跳代理服务器的地址,由客户按此地址向下一跳代理服务器重新发送呼叫请求
  • SIP的地址十分灵活,它可以是电话号码、电子邮件地址、IP地址或其他类型的地址,但需要采用URI形式(sip:xxxx@xxx),如:sip:zhangsan@86-524321(电话),sip:zhangsan@201.12.34.56(IP地址)、sip:zhangsan@163.com(电子邮件地址)
  • SIP有一种用户跟踪机制,可以找出被叫方使用的PC的IP地址。为了实现跟踪,SIP使用登记的概念。SIP定义一些服务器作为SIP登记器(registrar)。每一个SIP用户都有一个相关联的 SIP登记器。用户在任何时候发起SIP应用时,都应当给 SIP登记器发送一个SIP REGISTER报文,向登记器报告现在使用的IP地址。
  • SIP还有一个配套协议称为会话描述协议SDP(Session Description Protocol)。SDP 在电话会议的情况下特别重要,因为电话会议的参加者是动态地加入和退出。SDP 详细地指明了媒体编码、协议的端口号以及多播地址
  • SIP典型工作流程:
    • 主叫方UAC发送INVITE请求
    • 请求经过代理服务器转发
    • 被叫方UAS收到请求并响应
    • 双方通过SDP协商媒体参数
    • RTP开始传输音视频数据
    • 通话结束时发送BYE请求终止会话

SIP设计轻量,其文本格式类似HTTP,容易实现且容易扩展,因此被广泛用于VoIP系统、软电话、企业通信系统。在现代浏览器实时通信领域,WebRTC 已成为主流方案。WebRTC本身主要提供音视频采集、编解码、P2P传输、NAT穿透等能力,但其标准并未强制规定具体的信令协议。因此实际系统中常常会使用SIP、WebSocket私有协议或JSON信令系统来完成会话建立与协商流程。

Qos服务质量

传统互联网采用“尽力而为”(Best Effort)的服务模型,网络设备只负责尽可能转发分组,而不会保证带宽、时延、抖动或丢包率。当网络发生拥塞时,所有业务都会竞争有限的链路资源,这对于网页浏览、文件下载等业务通常影响不大,但对于实时音视频、网络电话、在线游戏等对时延敏感的业务,则可能导致卡顿、延迟升高甚至通信中断。为此,计算机网络提出了QoS(Quality of Service,服务质量)机制,通过对不同类型的流量进行分类、限速、排队和调度,使网络能够在拥塞情况下优先保障关键业务的传输质量。

调度与管制机制

调度机制

传统的路由器默认采用先进先出FIFO(First In First Out)的策略。当队列已满时,后到达的分组会被丢弃,这种策略无法区分时间敏感分组和一般数据分组,为此有以下改进措施:

  • 优先级调度:根据分组中标记好的优先级,将分组放入不同优先级队列,如:音视频通话放入高优先级队列,文件下载等数据放入低优先级队列,路由器优先处理发送高优先级队列中的分组,高优先级队列空后才会处理低优先级队列中的分组。这能很好保障高优先级业务,但会出现低优先级队列饥饿问题,即一旦高优先级流量过载,低优先级队列可能很长一段时间完全得不到服务(饥饿)
  • 加权公平排队WFQ(Weighted Fair Queuing):为克服饥饿问题,WFQ在区分队列的基础上增加了权重的概念。权重大的队列能获得更多服务机会,权重小的队列能交错获得少量服务机会。如:队列A的权重为0.5,队列BCDE的权重合起来为剩下的0.5,则它们的发送队列可以是:AAAABCDE,也可以是:ABACADAE,无论哪一种,A都能获得更多的服务时间,但又不至于BCDE“饿死”。
管制机制

管制机制(Policing)的核心作用是对进入网络的数据流进行监控和限制,确保其流量特征符合事先的约定,从而防止某个数据流过度占用资源,影响其他流的服务质量,管制机制定义了三个核心指标:

  • 平均速率:指在一个相对较长的时间间隔内,允许通过的分组平均数。它限制了数据流的长期平均发送速度
  • 峰值速率:指在一个非常短的时间间隔内,允许通过的最大分组数。它限制了数据流的瞬间爆发速度
  • 突发长度:指在非常短的时间间隔内,允许连续注入网络的最大分组数,即允许的流量“突发”的最大尺寸

漏桶管制器(leaky bucket policer,简称为漏桶)是实现流量管制最经典、最常用的机制。其工作原理像一个底部有孔的水桶:

  • 权标(token)注入:系统以一个恒定的速率(如每秒r个)向“漏桶”中加入权标
  • 权标上限:漏桶最多能容纳b个权标。如果桶已满,新注入的权标会被直接丢弃
  • 分组转发:当一个分组到达时,必须先从漏桶中拿走一个权标,才能被准许进入网络。如果桶中没有权标,分组就必须等待或被丢弃

这样一来,漏桶机制就巧妙地控制了流量的长期平均速率r,同时也允许了一定程度的突发(b个分组)。在任何时间间隔t内,允许进入网络的分组总数被严格限制为 r*t + b。

漏桶机制与加权公平排队结合

把漏桶机制与加权公平排队结合起来,可以控制队列中的最大时延:

  • 每流管制:首先对每个分组流(如流1、流2…流n)分别用独立的漏桶进行管制,每个流都有各自的参数r_i和b_i。
  • 调度发送:经过管制“筛选”后的所有分组流,再交由一个调度器(如WFQ)复用一条输出链路。
  • 时延保障:在这种结合下,如果漏桶i装满了b_i个权标,那么该流可以有b_i个分组立即被转发。其中最后一个分组的最大排队时延d_max,就是传输这b_i个分组所需的时间
  • 如果某个服务短时间内向网络注入了大量分组,这些分组会在“桶”中暂存,在网络入口处实现“削峰填谷”,限制数据流的违规行为。桶中的数据被转发时,会根据调度机制在出口处为不同队列提供差异化的转发服务,两者共同构成了网络提供服务质量(QoS)的核心基础

综合服务InServ与资源预留协议RSVP

综合服务IntServ(Integrated Services)的核心思想非常直观:资源预留和呼叫建立。一个应用在发送数据前,必须先向网络申请预留沿途所需的资源(如带宽、缓冲区),只有当整条路径上的所有路由器都同意并预留成功后,通信才能开始。IntServ定义了三种服务类型:

  • 有保证的服务:提供最严格的服务保障,能为分组的排队时延提供一个在数学上可以被证明的严格上限,相当于提供了一条虚拟专线。
  • 受控负载的服务:不提供严格的量化保证,但在网络负载较重时,能让应用的体验“感觉”如同在轻负载网络上一样。它比通常的“尽力而为”服务更为可靠。
  • 尽力而为的服务:即传统的、没有任何质量保证的IP服务

为了在路由器中实现上述服务,IntServ体系结构定义了四个关键组成部分:

  • 资源预留协议(RSVP):这是IntServ的信令协议。它在会话开始前,负责在源主机到目的主机的路径上,逐跳地为该“流”请求并预留资源。
  • 接纳控制:当一个资源预留请求到达时,接纳控制模块会判断当前网络是否还有足够的空闲资源来满足这个新请求,而不会损害已有连接的服务质量。它负责做出“同意”或“拒绝”的决定。
  • 分类器:当数据分组进入路由器时,分类器会查看分组头部的多个字段(如源/目的IP、端口号、协议号等),将其精确地识别为属于某个特定的“流”,并将其放入相应的队列中。
  • 调度器:即调度机制。分类器把分组放入不同队列后,调度器就根据该流在资源预留时所承诺的服务质量要求(例如权重),来决定从哪个队列、以什么顺序发送分组。

在IntServ中,具有相同的源IP地址、源端口号、目的IP地址、目的端口号、协议标识符以及相同QoS需求的一连串分组被称为,IntServ针对“流”来提供服务,包括资源预留、分类与调度等。

RSVP的工作过程

RSVP的工作过程是一个典型的“双向”信令流程:

  • 源主机首先向目的主机多播发送一个PATH报文。这个报文沿途记录下路径信息,但不进行资源预留,类似于一次“探路”。
  • 目的主机收到PATH报文后,会反向沿着这条路径向源主机发回一个RESV报文。这个RESV报文就携带了具体的资源预留请求信息。
  • 沿途的路由器收到RESV报文后,会启动接纳控制模块进行判断。如果可以预留,路由器就为这个流分配资源,并将RESV报文继续向上游转发。
  • 当源主机收到RESV报文时,意味着整条端到端的路径资源都已预留成功,通信便可以开始了
IntServ的局限性

尽管IntServ模型在理论上能够提供完美的QoS保证,但其在实际应用中面临巨大的挑战:

  • 整条路径上的所有路由器都必须无一例外地实现RSVP、接纳控制、分类器和调度器这全部四个组件,部署难度极大
  • IntServ要求路由器为途经的每一个流都维护一份独立的状态信息。在大型网络的骨干链路上,可能存在数以百万计的并发流,这会使路由器的存储和处理开销不堪重负

因此IntServ最终未能大规模部署

区分服务DiffServ

综合服务IntServ和资源预留协议RSVP设计复杂,实现困难,它们并没有在现实网络中大规模使用,DiffServ才是现实里真正重要的QoS思路,它也是现代大规模 IP 网络中提供服务质量保障的主流实用架构。

区分服务DiffServ(Differentiated Services,简写为DS)不要求整条路径的所有路由器都为每一条数据流单独预留资源,而是将流量划分为不同的服务类别。发送方/DS域边界路由器会在IP数据报首部中的DS字段(DSCP)中标记业务类型,例如低时延语音、普通数据传输或后台下载等,路由器在转发时只需根据这些标记选择对应的队列、调度策略和丢弃策略,而不需要维护每条流的状态信息,它的要点如下:

  • 打上DSCP标记:DifServ将IP协议中原有8位的IPv4的服务类型字段和IPv6的通信量类字段重新义为区分服务DS。路由器根据DS字段的值来处理分组的转发。DS字段现在只使用其中的前6位,即区分服务码点DSCP(Differentiated Services CodePoint),后两位目前不使用,记为CU(Currently Unused)。因此由DS字段的值所确定的服务质量实际上就是由DS字段中DSCP的值来确定。在使用DS字段之前,互联网的ISP要和用户商定一个服务等级协定SLA(Service LevelAgreement)。在SLA中指明被支持的服务类别(可包括吞吐量、分组丢失率、时延和时延抖动、网络的可用性等)和每一类别所容许的通信量。
  • 简化网络核心,复杂工作留给网络边缘:网络被划分为许多个DS域(DS Domain),一个DS域在同一个管理实体的控制下实现同样的区分服务策略,DS域的边界结点(boundary node)负责复杂的分组分类、标记、调节工作,而DS域内部路由器(interior router)只需要简单转发:
    • 当数据流进入DS域时,最初由边界路由器接收,边界路由器会执行复杂的工作。边界路由器可分为分类器(classifier)和通信量调节器(conditioner)。
      • 分类器根据分组首部中的一些字段(如源地址、目的地址、源端口、目的端口或分组的标识等)对分组进行分类,然后交给调节器。
      • 调节器由标记器(marker)、整形器(shaper)和测定器(meter)三个部分组成:调节器中的标记器会根据分好的类别、用户和ISP之间的服务等级协议(SLA)设置分组DS字段的值;测定器根据事先商定的SLA不断地测定分组流的速率,然后确定应采取的行动,如:可重新打标记或交给整形器进行处理;整形器中设有缓存队列,可以将突发的分组峰值速率平滑为较均匀的速率,或丢弃一些分组。
    • 内部路由器会根据分组的DSCP标签,执行对应的单跳行为PHB
    • 实际上,源主机也可以为分组打DSCP标签,但为了防止用户乱标高优先级,很多运营商/企业的网络不完全信任来自其他DS域/用户的DSCP值,因此它们的DS 域边界设备会重新设置(覆盖)DSCP,作为最终可信的DS域内权威值
每跳行为PHB

每跳行为PHB(Per-Hop Behavior)指在转发分组时路由器对分组是怎样处理的,“每跳”是强调所执行的行为只涉及到本路由器转发的这一跳的行为,而下一个路由器再怎样处理则与本路由器的处理无关。DiffServ定义了两种标准化的单跳行为:

  • 加速转发EF PHB(Expedited Forwarding PHB):在路由器中,EF 流量的入队速率必须严格小于其出队速率。形象地说,就是让路由器为 EF 流量构造一条逻辑上的“优先级快车道”,确保它总是能得到及时服务,排队时延极短。DSCP 码点推荐值为101110,EF PHB的目标是提供低延迟、低抖动、低丢包率的严格服务,模拟一条端到端的专线或虚拟租用线路(运营商提供Premium服务)
  • 确保转发AF PHB(Assured Forwarding PHB):AF定义了四个独立的转发类别(把DSCP的第0-2位划分为四个等级,分别为001,010,011,100,即AF1x到AF4x),每个类别在网络节点处被分配了不同的最小可保证带宽和缓冲区。在每个类别内部,又定义了三种不同的丢弃优先级(DSCP的第3-5位指定“丢弃优先级”,分别为010(低),100(中),110(优先丢弃))。当发生拥塞时,路由器会首先丢弃丢弃优先级高的分组。这样,即使在同一个服务等级内,也能实现更细粒度的保护。例如,DSCP 码点 AF11 就比 AF13 更优先被转发。AF PHB的目标是在有网络拥塞时,仍能保证分组以较高概率被转发,提供比“尽力而为”更可靠的服务

QoS总结

QoS(Quality of Service,服务质量)机制的核心目标,是在网络发生拥塞时,通过调度、排队、限速和流量分类等手段,为不同业务提供不同等级的网络服务。其中,IntServ试图通过 RSVP 为每条数据流预留资源,以实现严格的服务保证,但由于需要在路由器中维护大量流状态信息,可扩展性较差,因此难以在大规模互联网中部署;而 DiffServ 则采用“按类别服务”的思想,通过 DSCP 对流量进行分级,由网络设备根据业务类别实施不同的转发策略,因此更适合运营商网络、企业内网、数据中心、IP 电话、视频会议和 IPTV 等场景。

然而,QoS 在公网互联网中的实际作用相对有限。互联网跨越多个自治系统和运营商,不同网络之间缺乏统一的服务等级协议(SLA),许多运营商甚至会忽略、重写或清除用户设置的 DSCP 标记,因此很难实现真正端到端的严格 QoS 保证。因此,现代互联网中的实时业务通常不再完全依赖传统 QoS,而更多依赖应用层与传输层的自适应机制,例如 WebRTC 的动态码率调整、缓冲与抗抖动处理,QUIC 与 BBR 等现代拥塞控制算法,以及 CDN、边缘节点和高带宽网络基础设施等。相比“让网络绝对保证服务质量”,现代网络系统更倾向于“让应用主动适应网络”。

上一篇:C语言
下一篇:计算机网络(五)网络安全
z z z z z