《计算机网络-自顶向下方法》6.3 多路访问链路和协议 读书笔记

目录

  • 导语
  • [一、6.3.1 信道划分协议](#一、6.3.1 信道划分协议)
  • [二、6.3.2 随机接入协议](#二、6.3.2 随机接入协议)
  • [三、6.3.3 轮流协议](#三、6.3.3 轮流协议)
  • [四、6.3.4 DOCSIS:电缆因特网接入的链路层协议](#四、6.3.4 DOCSIS:电缆因特网接入的链路层协议)
  • 本节核心总结(必看)
  • 结语

导语

  大家好呀~上一节我们学习了差错检测技术,知道了链路层怎么检测传输错误。这一节我们要解决一个更根本的问题:如果多个节点共享同一条链路(如以太网总线、WiFi无线信道),谁先发送?怎么避免大家同时发送导致冲突?

  这就是**多路访问协议(Multiple Access Protocol)**要解决的问题。想象一个会议室里有很多人,大家都想发言------如果大家同时说话,谁也听不清谁。怎么协调?可以按时间段轮流说(TDM)、按频率分频道(FDM)、谁想说话谁先说但要先听有没有人在说(CSMA)、或者拿一个"发言棒"轮流传递(令牌传递)。多路访问协议就是网络世界的"会议发言规则"。

  这一节我们学习三大类多路访问协议:信道划分协议(FDM/TDM/CDMA)、随机接入协议(ALOHA/CSMA/CSMA-CD)、轮流协议(轮询/令牌传递),还有一个实际应用DOCSIS(有线电视宽带接入)。这些协议是局域网和无线网络的基础,也是面试高频考点。准备好了吗?让我们开始~


一、6.3.1 信道划分协议

1. 基本思想

  **信道划分协议(Channel Partitioning Protocol)**的核心思想是:把信道资源(频率或时间)划分成固定的小块,分配给每个节点专用。每个节点只能在自己分配到的资源上发送,不会和其他节点冲突。

  通俗类比:就像餐厅里的包间------每个包间分配给一桌客人,各吃各的,互不干扰。信道划分就是给每个节点分配一个"包间"。

2. 频分复用(FDM)

  **频分复用(Frequency Division Multiplexing,FDM)**把信道的频率范围划分成多个频带,每个节点分配一个频带,在自己的频带上发送信号。

  例子:广播电台------每个电台有自己的频率(FM 91.5、FM 101.8等),大家同时广播但互不干扰,因为频率不同。有线电视也是FDM------每个频道占一个频带。

  FDM的优点:

  • 节点之间完全不冲突,公平共享
  • 技术成熟,模拟通信时代就广泛使用

  FDM的缺点:

  • 如果某个节点没有数据要发,它的频带就浪费了(即使别人需要也不能用)
  • 节点数量受限于频带数量,新节点加入需要重新划分
  • 设备需要模拟电路(滤波器、混频器),成本较高

3. 时分复用(TDM)

  **时分复用(Time Division Multiplexing,TDM)**把时间划分成固定长度的帧,每个帧再划分成固定数量的时隙,每个节点分配一个时隙,只能在自己的时隙发送。

  例子:早期的T1/E1数字电话线路------24个话路轮流使用同一条线路,每个话路在自己的时隙发送8位采样。

  TDM的优点:

  • 数字实现,比FDM简单
  • 节点之间不冲突

  TDM的缺点:

  • 和FDM一样,如果某个节点没有数据,它的时隙就浪费了
  • 节点有数据时必须等到自己的时隙,即使其他时隙空闲也不能用,延迟较大

4. 码分多址(CDMA)

  **码分多址(Code Division Multiple Access,CDMA)是一种更巧妙的信道划分方式------所有节点在同一频率、同一时间发送,但每个节点使用唯一的编码(code)**来区分自己的信号。接收方用对应的编码解码,就能提取出目标节点的信号,其他节点的信号看起来像噪声。

  通俗类比:一个房间里很多人同时说话,但每个人用不同的语言------你只听得懂中文,其他人说的英语、日语、法语对你来说就是背景噪声,你能从中提取出中文的内容。CDMA就是给每个节点分配一种"语言"(编码)。

  CDMA广泛用于3G移动通信(WCDMA、cdma2000)和GPS。它的优点是所有节点可以同时发送,频谱利用率高;缺点是编码设计复杂,功率控制要求高。

5. 信道划分协议的共同问题

  FDM、TDM、CDMA都属于信道划分,共同问题是:资源预分配,不灵活。如果只有少数节点有数据要发,大部分资源被浪费;如果节点突然有大量数据,也不能多占用资源。这就引出了第二类协议------随机接入协议。


二、6.3.2 随机接入协议

1. 基本思想

  **随机接入协议(Random Access Protocol)**的核心思想是:节点有数据就以全速率发送,不预分配资源。如果发生冲突,就等待随机时间后重传。

  通俗类比:就像开放讨论的会议------谁想发言谁就说,如果两个人同时说(冲突),就都停下来,等随机一段时间后再试。这种方式在参与人数少、大家发言不频繁时效率很高。

2. ALOHA协议

  ALOHA协议是最早的随机接入协议,由夏威夷大学的Norman Abramson在1970年代发明,用于无线分组网络。

  纯ALOHA(Pure ALOHA)

  • 节点有数据就立即发送,不管信道是否空闲。
  • 如果冲突(接收方没有确认),等待随机时间后重传。
  • 优点:简单,延迟小(低负载时)。
  • 缺点:冲突概率高,最大效率只有18.4%(e^(-2)≈0.184)。

  时隙ALOHA(Slotted ALOHA)

  • 把时间划分成时隙,节点只能在时隙开始时发送。
  • 这样冲突只发生在同一时隙内同时发送的节点,冲突窗口减半。
  • 最大效率提高到36.8%(e^(-1)≈0.368),是纯ALOHA的两倍。

  ALOHA虽然效率不高,但它开创了随机接入的思想,后来的CSMA等协议都建立在这个基础上。

3. CSMA(载波侦听多路访问)

  **CSMA(Carrier Sense Multiple Access,载波侦听多路访问)**在ALOHA基础上增加了一个简单但有效的改进:发送前先听------发送前先侦听信道,如果信道忙(有人在发),就等信道空闲再发。

  通俗类比:开会时,你想发言前先听一下有没有人在说,如果有人在说就等他说完再说。这比"想说就说"礼貌多了,冲突也少多了。

  CSMA的类型:

  • 1-坚持CSMA:信道忙就一直监听,一空闲就立即发送(概率1)。冲突概率较高。
  • 非坚持CSMA:信道忙就等待随机时间再监听,不一定一空闲就发。冲突少但延迟大。
  • p-坚持CSMA:信道空闲时以概率p发送,以概率1-p等待下一时隙。平衡了冲突和延迟。

  但CSMA仍然可能冲突------因为信号传播有延迟,两个节点可能同时侦听到信道空闲(实际上对方已经开始发送但信号还没传到),然后同时发送导致冲突。

4. CSMA/CD(带冲突检测的CSMA)

  CSMA/CD(CSMA with Collision Detection,带冲突检测的载波侦听多路访问)是以太网使用的多路访问协议。它在CSMA基础上增加了冲突检测------发送过程中持续监听,如果检测到冲突就立即停止发送,发送一个干扰信号(jam signal)通知所有节点,然后等待随机时间后重传。

  通俗类比:你发言时一边说一边听,如果发现有人和你同时说(冲突),就立即停下来说"哎呀冲突了",然后等随机时间再说。这样比发完整个帧才发现冲突高效多了。

  CSMA/CD的工作流程:

  1. 侦听:发送前侦听信道,如果忙就等待。
  2. 发送:信道空闲就开始发送,同时持续侦听。
  3. 检测冲突:如果发送过程中检测到冲突,立即停止发送。
  4. 干扰信号:发送一个48位的干扰信号,确保所有节点都知道发生了冲突。
  5. 指数退避:等待随机时间后重试。重传次数越多,等待时间范围越大(二进制指数退避)。

  二进制指数退避(Binary Exponential Backoff):第n次重传时,从{0, 1, 2, ..., 2^min(n,10)-1}中随机选一个数,乘以512比特时间作为等待时间。这样冲突越多,等待时间范围越大,减少再次冲突的概率。

  CSMA/CD的效率:在高带宽、短距离的以太网中,效率接近100%(因为冲突概率很低)。最大效率约为1/(1+5t_prop/t_trans),其中t_prop是信号传播时间,t_trans是帧传输时间。传播时间越短、帧越长,效率越高。

  注意:现代交换式以太网是全双工的,交换机的每个端口是一个独立的冲突域,不会发生冲突,所以CSMA/CD实际上已经不怎么用了。但它是以太网历史的重要部分,也是理解多路访问的经典案例。


三、6.3.3 轮流协议

1. 基本思想

  **轮流协议(Taking-Turns Protocol)**的核心思想是:节点轮流发送,避免冲突。和信道划分的固定分配不同,轮流协议是动态的------只有有数据的节点才参与轮流,空闲节点被跳过,提高了效率。

2. 轮询协议(Polling)

  轮询协议(Polling Protocol)中有一个主节点(master) ,按顺序轮询每个从节点(slave),询问"你有数据要发吗?"。从节点有数据就发,没有就回复"没有",主节点继续轮询下一个。

  例子:蓝牙的主从模式、RFID读写器、早期的IBM令牌环。

  优点:

  • 完全避免冲突
  • 效率高(比随机接入高)
  • 可以控制每个节点的发送速率

  缺点:

  • 有轮询延迟------节点有数据必须等到被轮询才能发
  • 主节点是单点故障
  • 轮询消息有开销

3. 令牌传递协议(Token Passing)

  **令牌传递协议(Token Passing Protocol)中,一个特殊的帧叫令牌(token)**在节点之间按固定顺序传递。只有持有令牌的节点才能发送数据。发送完后把令牌传给下一个节点。如果节点没有数据,直接把令牌传下去。

  例子:令牌环网(Token Ring,IBM)、FDDI(光纤分布式数据接口)。

  通俗类比:会议室里传递一个"发言棒"------只有拿到发言棒的人才能说话,说完传给下一个人。没话说就直接传下去。

  优点:

  • 完全避免冲突
  • 公平,每个节点轮流获得发送机会
  • 适合高负载场景(效率高)

  缺点:

  • 令牌丢失是大问题------需要复杂的令牌恢复机制
  • 单个节点故障可能导致整个网络瘫痪
  • 实现复杂,成本高

  令牌环网在1980-90年代和以太网竞争,但最终以太网胜出(因为更简单、更便宜)。现在令牌传递主要在一些工业控制网络中使用。


四、6.3.4 DOCSIS:电缆因特网接入的链路层协议

1. DOCSIS概述

  **DOCSIS(Data Over Cable Service Interface Specification,电缆数据服务接口规范)**是有线电视网络(HFC,混合光纤同轴)提供宽带因特网接入的链路层协议标准。

  有线电视网络的特点:

  • 下行方向(头端到用户):广播信道,所有用户共享下行频谱,头端调度谁在哪个时隙发。
  • 上行方向(用户到头端):多个用户共享上行频谱,需要多路访问协议协调。

2. DOCSIS的多路访问

  DOCSIS在上行方向使用了一种混合的多路访问机制:

  • 信道划分:上行频谱划分成多个时隙(TDMA)和频带(FDMA),形成一个时隙-频率矩阵。
  • 随机接入:用户发送短请求帧时使用随机接入(类似时隙ALOHA),请求带宽。
  • 轮询/调度:头端根据用户的请求,通过MAP消息调度每个用户在哪个时隙-频率块发送数据。

  DOCSIS 3.0以后支持信道绑定(channel bonding)------同时使用多个下行和上行信道,提高带宽。DOCSIS 3.1支持OFDM(正交频分复用),进一步提高频谱效率。

  DOCSIS是多路访问协议在实际中的典型应用------它综合了信道划分、随机接入和调度的优点,在共享的有线电视网络上实现了高效的宽带接入。


本节核心总结(必看)

  这一节学习了多路访问链路和协议,核心要点:

一、信道划分协议

  • FDM:按频率划分,每个节点一个频带
  • TDM:按时间划分,每个节点一个时隙
  • CDMA:按编码划分,同时同频发送,用编码区分
  • 共同问题:资源预分配,不灵活,空闲节点浪费资源

二、随机接入协议

  • ALOHA:有数据就发,冲突后随机等待重传。纯ALOHA效率18.4%,时隙ALOHA 36.8%
  • CSMA:发送前先侦听,信道忙就等。1-坚持/非坚持/p-坚持
  • CSMA/CD:发送中检测冲突,冲突立即停止+干扰信号+二进制指数退避。以太网使用
  • 现代交换式以太网全双工,CSMA/CD已不常用

三、轮流协议

  • 轮询:主节点按顺序询问从节点,避免冲突但有轮询延迟
  • 令牌传递:令牌在节点间传递,持有令牌才能发。令牌环、FDDI
  • 优点:无冲突、高负载效率高;缺点:实现复杂、单点故障

四、DOCSIS

  • 有线电视宽带接入的链路层协议
  • 综合TDMA/FDMA信道划分 + 随机接入请求 + 头端调度
  • 下行广播,上行共享

关键概念清单

  • 多路访问协议:协调共享信道访问的协议
  • FDM/TDM/CDMA:频分/时分/码分复用
  • ALOHA:最早的随机接入协议
  • CSMA:载波侦听多路访问
  • CSMA/CD:带冲突检测的CSMA,以太网经典协议
  • 二进制指数退避:冲突后等待时间指数增长
  • 轮询(Polling):主节点轮询从节点
  • 令牌传递(Token Passing):令牌轮流传递
  • 冲突域(Collision Domain):可能发生冲突的节点集合
  • DOCSIS:有线电视宽带接入标准

结语

  这一节我们学习了多路访问协议------从信道划分的FDM/TDM/CDMA,到随机接入的ALOHA/CSMA/CSMA-CD,再到轮流的轮询和令牌传递,最后看了DOCSIS的实际应用。每类协议都有其适用场景:信道划分适合稳定负载,随机接入适合突发负载,轮流协议适合高负载场景。

  理解了多路访问协议后,下一节6.4我们将学习交换局域网------链路层寻址(MAC地址和ARP)、以太网(最成功的局域网技术)、链路层交换机(自学习、转发过滤)、虚拟局域网(VLAN)。交换局域网是我们每天都在使用的技术,也是链路层最核心的内容。让我们继续前进吧!

  如果你觉得这篇笔记对你有帮助,欢迎点赞收藏~有问题也欢迎留言讨论,我们一起进步!

相关推荐
云运维笔记8 小时前
计算机网络基础:从通信概念到网络设备
计算机网络
啊阿狸不会拉杆11 小时前
《计算机网络-自顶向下方法》7.1 概述 读书笔记
计算机网络
啊阿狸不会拉杆11 小时前
《计算机网络-自顶向下方法》6.4 交换局域网 读书笔记
开发语言·计算机网络·php
啊阿狸不会拉杆12 小时前
《计算机网络-自顶向下方法》6.5 链路虚拟化:网络作为链路层 读书笔记
网络·计算机网络·php
疯狂打码的少年12 小时前
【计算机网络】OSI/RM七层模型(层次结构、各层功能速览)
开发语言·笔记·计算机网络·php
啊阿狸不会拉杆12 小时前
《计算机网络-自顶向下方法》6.7 回顾:Web页面请求的历程 读书笔记
前端·计算机网络
啊阿狸不会拉杆14 小时前
《计算机网络-自顶向下方法》7.2 无线链路和网络特征 读书笔记
网络·计算机网络
2501_9159214314 小时前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp
一条泥憨鱼16 小时前
【从0开始学习计算机网络】| 邮件协议入门:SMTP、POP3、IMAP
linux·运维·计算机网络·github