计算机网络


前言

自学B站上计算机网络相关视频,自己总结的笔记,方便自己学习查阅

参考视频:深入浅出计算机网络王道考研

第一章

因特网概述

  1. 网络与因特网的区别与联系
  • 若干节点和链路互连形成网络
  • 若干网络通过路由器互连形成互联网
  • 因特网是当今世上最大的互联网
internet Internet
通用名词 专有名词
互联网 因特网
任意的通信协议 TCP/IP
  1. 因特网服务提供者(ISP,Internet Service Provider)

  2. 因特网已发展成为基于ISP的多层次结构的互连网络

  • 第一层:国际级

  • 第二层:区域或国家级

  • 第三层:本地级

值得注意的是,已接入用户也可以成为ISP(个人理解类似于长城宽带!?)

图源《深入浅出计算机网络》

  1. 因特网的组成
  • 边缘部分:各类主机(如台式电脑,笔记本电脑,打印机等)

  • 核心部分:网络与连接这些网络的路由器组成

交换技术

  1. 电路交换(需提前建立连接)
graph LR 
建立连接-分配通信资源 --> 通话-一直占用通信资源 --> 释放连接-归还通信资源

​ 缺点:线路利用率低,不能充分利用线路容量,不便于进行差错控制

  1. 分组交换(无需建立连接)

图源《深入浅出计算机网络》

缺点:

  • 分组首部增加传输开销
  • 交换节点存储转发分组会带来一定的时延
  • 无法确保通信时端到端通信资源全部可用,在通信量较大时可能造成网络拥塞
  • 分组可能会出现失序和丢失等问题
  1. 报文交换
  • 分组交换的前身
  • 将整个报文发送,而不是拆分分组
  • 交换节点将整个报文接收完成后才开始查找转发表,然后确定转发目标
  • 因此时延要长得多,同时交换节点需要的缓存空间也大

对比:

图源《深入浅出计算机网络》

计算机网络定义及分类

计算机网络就是一些互联的,自治的计算机系统集合

分类:

  • 按交换方式
    • 电路交换
    • 分组交换
    • 报文交换
  • 按使用者
    • 公用网
    • 专用网
  • 按传输介质
    • 有线
    • 无线
  • 按覆盖范围
    • 广域网(WAN)
    • 城域网(MAN)
    • 局域网(LAN)
    • 个域网(PAN)
  • 按拓扑结构
    • 总线
    • 星型
    • 网状
    • 环形

计算机系统性能指标

  1. 速率

    • 比特(bit)计算机中数据量的基本单位
    • 即数据传送速率,每秒传送多少个比特,也称数据率或比特率
    • 基本单位是b/s,常用的还有kb/s,Mb/s,Gb/s,Tb/s

  2. 带宽

    • 用来表示网络的通信线路所能传送数据的能力,即在单位时间内从网络中的某一点到另一点所能通过的最高数据率
    • 单位:b/s
  3. 吞吐量

    • 单位时间内通过某个网络或接口的实际数据量
    • 受网络带宽限制
  4. 时延

    • 数据从网络的一端到另一端所耗费的时间

    • 总时延 = 发送时延 + 传播时延 + 排队时延 + 处理时延

    • 发送时延 = 分组长度(b) / 发送速率(b/s)

      • 发送速率 = min(主机接口速率,线路带宽,交换机或路由器的接口速率)
    • 传播时延 = 信道长度(m) / 信号传播速率(m/s)

    • 排队时延(一般忽略)

    • 处理时延(一般忽略)

      《深入浅出计算机网络》

  5. 时延带宽积

    • 传播时延 x 带宽 (即圆柱体积)
  6. 往返时间(RTT)

    • 双向交互一次需要的时间
  7. 利用率

    • 信道利用率:当某信道利用率增大时,该信道引起的时延也会迅速增加
    • 网络利用率
  8. 丢包率

    • 分组丢失率,即在一定时间范围内,传输过程中丢失的分组数量和总分组数量的比率
    • 分组丢失情况
      • 分组传输过程中出现误码,被结点丢弃
      • 分组达到一台队列已满的分组交换机时被丢弃;在通信量较大时可能造成网络堵塞

计算机网络体系结构

  1. 常见的计算机网络体系结构

    • OSI七层模型

      《深入浅出计算机网络》

    • TCP/IP体系结构

      《深入浅出计算机网络》

    • 原理体系结构(5层模型)

      《深入浅出计算机网络》

  2. 分层的必要性(以5层模型为例)

    《深入浅出计算机网络》

  3. 分层思想举例

    逐层封装然后解封的过程

  4. 相关专业术语

    • 实体

    • 任何可发送或接受信息的硬件或软件进程

    • 对等实体

      • 收发双方相同层次中的实体
    • 协议

      • 控制两个对等实体进行逻辑通信的规则的集合
      • 三要素
        • 语法 定义交换信息的格式
        • 语义 定义收发双方所要完成的操作
        • 同步 定义收发双方的时序关系
    • 服务

      • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
      • 要实现本层协议,还需要利用下一层所提供的服务
      • 协议是水平的,服务是垂直的
      • 实体看得见相邻下层提供的服务,但并不知道实现该服务的具体协议,也就是下面的协议对上一层的实体是透明(即看不见)的
    • 服务访问点

      • 在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
      • 例如:数据链路层的服务访问点为帧的类型字段;网络层的为IP数据报首部中的协议字段;运输层为端口号
    • 服务原语

      • 上层使用下层所提供的服务必须通过与下层交换的命令
    • 协议数据单元PDU

      • 对等层次之间传送的数据包
    • 服务数据单元SDU

      • 同一系统内,层与层之间交换的数据包

第二章

物理层基本概念

  • 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流
  • 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,不必考虑网络具体的传输媒体是什么

数据通信相关术语

  • 数据 传送信息的实体
  • 信号 数据的电气或电磁表现,数据在传输过程中的存在形式
  • 码元
    • 用一个固定时长的信号波形(数字脉冲)表示一位K进制数字,代表不同离散数值的基本波形,该时长内的信号叫k(即码元离散状态个数)进制码元,而该时长称为码元宽度;1码元可以携带若干比特的信息量
      • 例如:二进制码元,只有两种不同状态的码元,一种代表0,一种代表1;即1码元携带1比特信息
      • 4进制码元,则有四种不同状态,1码元携带2比特信息
      • X进制码元,则有X种不同状态,1码元携带log2X比特信息
  • 信源 产生和发送数据的源头
  • 信道 信号的传输媒介
  • 信宿 接收数据的终点
  • 基带信号 对应数字信号
  • 宽带信号 对应模拟信号
  • 速率 数据传输速率,单位时间内传输的数据量
    • 码元传输速率(波特率) 即一秒传输多少码元
      • 单位时间内数字通信系统传输的码元个数或脉冲个数或信号变化次数,单位为波特(Baud),码元速率与进制数无关
    • 信息传输速率(信息速率/比特率) 即一秒传输多少比特
      • 单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特每秒(b/s)
    • 两者数量关系
      • 若一码元携带n比特的信息量,则M波特率的码元传输速率对应信息传输速率为M*n b/s

传输介质

  • 双绞线
  • 同轴电缆
  • 光纤
  • 无线传输介质

传输方式

  • 串行传输与并行传输
  • 同步传输与异步传输
    • 同步:各字节间没有间隔
    • 异步:字节间存在间隔(不固定),但字节中的比特持续时间仍相同
  • 单工、半双工和全双工

编码与调制

把数据变换为数字信号的过程叫编码

把数据变换为模拟信号的过程叫调制

  1. 数字数据编码为数字信号

  • 归零编码(RZ)
    • 高电平为1,低电平为0,每个时钟周期中间均需要归零
  • 非归零编码(NRZ)
    • 高电平为1,低电平为0,无需归零,一个周期可全部用于传输数据
  • 曼彻斯特编码
    • 将码元分成两个相等的间隙,前一个间隔为高电平而后一个间隔为低电平表示1,相反则表示0;也可以采用相反的规定
    • 每个码元中间都会出现电平的跳变,此跳变既可以作为时钟同步,也可以作为数据信号
    • 以太网使用的便是此编码
  • 差分曼彻斯特编码
    • 若码元为1,则前半个码元的电平与上一码元的后半个码元电平一致;若为0,则相反
    • 每个码元中间都会出现跳变,可实现自同步,抗干扰性较好
    • 常用于局域网传输
  1. 数字数据调制为模拟信号

  • 幅移键控(ASK) 调幅(AM)
  • 频移键控(FSK) 调频(FM)
  • 相移键控(PSK) 调相(PM)
  • 正交振幅调制(QAM) 将ASK与PSK结合
  1. 模拟数据编码为数字信号
  • 采样
    • 对模拟信号进行周期性扫描,然后把时间上连续的信号变成时间上离散的信号
  • 量化
    • 将离散的信号根据一定标准转化成离散的数字
  • 编码
    • 把量化的结果转为与之对应的二进制编码
  1. 模拟数据调制为模拟信号

信道极限容量

  1. 奈氏准则

    $理想低通信道下的极限数据传输速率 = 2Wlog2V$ (单位b/s)​

    • W为理想低通信道的带宽
    • V为每个码元离散电平的数目,即多少种不同的码元

  2. 香农定理

    $信道极限数据传输速率 = Wlog2(1+S/N)$ (单位b/s)​

    $信噪比 = 10log10(S/N)dB$

    • W为信道带宽
    • S为信道所传输信号的平均功率
    • N为信道内部的高斯噪声功率
    • S/N为信噪比

信道复用技术

  1. 频分复用(FDM)
  2. 时分复用(TDM)
  3. 波分复用(WDM)
  4. 码分复用(CDM)

第三章

数据链路层的功能

  1. 为网络层提供服务

    • 无确认的无连接服务
    • 有确认的无连接服务
    • 有确认的面向连接服务
  2. 链路管理

    连接的建立 -> 传输帧 -> 释放连接

  3. 帧定界

    将一段数据的前后添加相应的首部和尾部,确定帧的界限

  4. 帧同步

    接收方应能从接收到的二进制比特流中区分帧的起始和终止

  5. 透明传输

    不管传的数据是什么样的比特组合,都应能在链路上传送,即避免把传输的数据误解为帧定界

  6. 差错控制

    用以使发送方确定接收方是否正确收到由其发送的数据的方法

数据链路层三个重要问题

封装成帧和透明传输

  1. 封装成帧

    封装成帧是指将数据链路层给上层交付的协议数据单元添加帧头和帧尾组成为帧

    • 帧头和帧尾有重要的控制信息,其中一个作用就是作为帧定界
  2. 透明传输

    数据链路层对上层交付的传输数据没有任何限制,就像链路层不存在一样

    • 字符填充法实现 插入转义字符
    • 零比特填充法实现 插入比特0

为了提高帧的传输速率,帧的数据长度应尽可能大,但<=最大传送单元(MTU)

差错控制

  • 传输过程中1可能变成0,0也可能变成1,这就叫比特差错

  • 在一段时间内,传输错误的比特占所传输比特总数的比率叫误码率(BER)

可以通过检错编码来检测传输过程中是否产生了比特差错,不过其只能判断是否出现错误,而无法确定错误位置,然后纠正错误。

  1. 奇偶校验码

    • 在待发送的数据后面添加一位校验码,使整个数据(包括校验码在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)
    • 若有奇数个位发生误码,则奇偶性发生变化时即可判断出是否出现误码
    • 若有偶数个位发生误码,则奇偶性不发生变化,无法判断是否出现误码(漏检)
    • 该方法漏检率较高,不常用
  2. 循环冗余码(CRC)

    • 收发双方约定一个生成多项式G(x)
    • 发送方基于待发送的数据和生成多项式计算差错检测码(冗余码),将其添加到待发送数据后面一起传输
    • 接收方通过生成多项式计算收到的数据是否产生误码

    计算方法

计算示例(除法做的是异或运算)

循环冗余码(CRC)的漏检率较低,且易于用硬件实现,因此被广泛用于数据链路层

可靠传输

  • 数据链路层向上提供的服务类型
    • 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做
    • 可靠传输服务:想办法实现发送端发送什么,接收端就接收什么
  • 一般情况下,有线链路误码率较低,为减少开销,并不要求向上层提供可靠传输服务;而无线链路误码率较高,因此需要向上提供可靠传输服务
  • 传输差错包括分组丢失分组失序分组重复比特差错
  • 可靠传输服务并不局限在数据链路层,其他各层均可选择实现可靠传输
  • 可靠传输的开销较大,可根据实际情况选择性实现

下面介绍三种可靠传输协议机制:

  1. 停止-等待协议SW
  • 确认与否认

  • 超时重传 一般设定重传时间为略大于“从发送方到接收方的平均往返时间”

  • 确认丢失 给发送数据添加对应的编号

  • 确认迟到 给确认添加对应的编号

注意事项:

  • 对于误码率较高的点对点链路,为了能够让发送方尽早重传,可以给发送方发送NAK分组,这样无需等待超时重传
  • 为了让接收方判断收到的数据是否重复,需要给数据分组添加编号,由于停止-等待协议的特性,因此只需要1个比特就够了,即0和1
  • 为了让发送方判断收到的确认是否重复,同样也需要给ACK分组添加编号,但数据链路层上基本不会发生确认迟到,因此可以无需编号

信道利用率U = TD / TD + RTT + TA

  • TD 发送方耗费的发送时延
  • RTT 往返时间
  • TA 接收方返回耗费的发送时延(因比TD要小的多,常忽略不计)
  1. 回退N帧协议GBN

在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议;在协议工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议

  • 发送窗口的尺寸记为WT,其取值范围是:1 < WT <= 2^n^ - 1 (n表示比特数)

  • 接收窗口的尺寸记为WR,对于回退N帧协议,其取值只能为 1

  • 累计确认:接收方不一定要对收到的数据分组进行逐个发送确认,而是可以根据实际情况在收到多个数据分组后,对按序到达的最后一个数据分组进行发送确认。如ACKn表示数据分组n及其之前的数据分组均已收到。因此确认分组丢失后,发送方也可能不必超时重传

  • 发送方收到重复的确认就可以知道之前的传输出现了差错,由此可以不需要等待超时时间即可立即重传

  • 当WT超出其上限时,会造成接收方无法分辨新旧数据分组

总结

  • 当信道的传输质量很差导致误码率很高的时候,回退N帧协议并不一定优于停止-等待协议
  1. 选择重传协议

由于回退N帧协议的接收方窗口尺寸WR只能为1,只能按序接收数据分组,因此当其中一个数据分组出现误码时,会导致其后续的数据分组都会被丢弃然后超时重传,这样极大浪费了通信资源。

若有办法只重传存在误码的数据分组,其效率将会得到提高。因此接收窗口尺寸WR应大于1,以便可以先接收失序到达但其本身并无误码的数据分组,等到所有分组全部到齐后再传输到上层,这就是选择重传协议

  • 为了能够使发送方只重传出现误码的数据分组,接收方不能再采用累计确认,只能进行逐个确认
  • 发送方的发送窗口尺寸WT必须满足:1 < WT <= 2^(n-1)^
    • WT = 1,则是停止-等待协议
    • WT超出最大范围,则接收方无法区分新旧数据分组
  • 接收方的接收窗口尺寸WR必须满足:1 < WR <= WT
    • WR = 1,则是回退N帧协议
    • WR 超出最大范围,无意义

总结

点对点协议PPP

  • 目前使用最广泛的点对点数据链路层协议

  • PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要有三部分组成:

    • 对各种协议数据报的封装方法(封装成帧)
    • 链路控制协议LCP 用于建立、配置和测试数据链路的连接
    • 一套网络控制协议NCPs 其中的每一个协议支持不同的网络层协议
  • PPP帧的透明传输

    • 面向字节的异步链路使用字节填充法(插入转义字符)
    • 面向比特的同步链路是使用比特填充法(插入零比特)
  • PPP协议工作状态

共享式以太网

网络适配器

  • 将计算机连接到以太网需要使用相应的网络适配器,也叫网卡
  • 计算机内部中,网卡与CPU之间的通信,一般是通过计算机主板上的I/O总线以并行传输的方式进行
  • 网卡与外部以太网(局域网)之间的通信,一般是通过传输媒体(如光纤,同轴电缆)以串行方式进行
  • 网卡其中一个重要功能就是要进行并行传输和串行传输的转换
  • 为了网卡能够正常工作,一般还需要安装相应的驱动,驱动程序的作用是负责驱动网卡发送和接收帧

MAC地址

  • 一般被固化在网卡的电可擦可编程只读存储器EEPROM中,因此也叫硬件地址(物理地址)

  • 需要注意的是物理地址属于数据链路层范畴而非物理层

  • 一般情况下,普通用户计算机通常包含两块网卡

    • 接入有线局域网的以太网卡
    • 接入无线局域网的WIFI网卡
  • 每块网卡都有一个全球唯一的MAC地址

  • 交换机和路由器具有更多的网络接口,所以会有更多的MAC地址

  • MAC地址是对网络上各接口的唯一标识,不是对网络上各设备的唯一标识

CSMA/CD协议

  • 共享总线以太网有天然的广播特性,总线上连接有多个站点,当某个站点发送帧时,总线资源会被该站点独占,若此时其他站点也在总线上发送帧,就会产生信号碰撞

  • 为解决碰撞问题,就采用了CSMA/CD协议,即载波监听多址接入/碰撞检测协议

  • 载波监听到总线空闲的时候,总线实际上可能并不空闲
  • CSMA/CD协议只是尽量避免碰撞,但无法实现完全不碰撞
  • 使用该协议时,由于正在发送帧的站点必须边发送帧边检测碰撞,所以站点不可能一边发送一边接受的,因此只能进行半双工通信

共享式以太网的争用期

  • 站点从发送帧开始,最多经过时长2τ(即δ->0)就可以检测出所发送的帧是否遇到了碰撞
  • 共享总线以太网的端到端往返时间被称为争用期碰撞窗口
  • 若在时间2τ内未检测到碰撞就可以认定该次发送不再会发生碰撞

共享式以太网的最小帧长和最大帧长

  1. 最小帧长
  • 最小帧长 = 数据传输速率 * 争用期2τ

  • 为了确保共享总线以太网上的每个站点在发送完一个完整的帧之前能够检测出是否发生了碰撞,帧的发送时延就不能少于共享总线以太网端到端的往返时间,即2τ

  • 对于10Mb/s的共享总线以太网,其争用期2τ的值规定为51.2μs,因此其最小帧长为512b,即64B

  • 若遭遇碰撞,则一定发生在帧的前64B之内,因此,若接收点收到长度小于64B的帧,就可以判定这是一个遭遇了碰撞而异常终止的无效帧,将其丢弃即可

  1. 最大帧长
  • 一般来说,帧的数据载荷长度应远大于帧首部和尾部的总长度,这样可以提升帧的传输效率
  • 若不限制数据载荷长度的上限,令帧的长度过长,也会产生一些问题,例如长期占用总线,某站点缓冲区溢出等

共享式以太网的退避算法

  • 又称截断二进制指数退避算法
  • 退避时间 = 基本退避时间(即争用期2τ) * 随机数r(r从离散的整数集合中[0,1…2^k^-1]随机挑选一个数,k = min[重传次数, 10])

  • 若连续发生多次的碰撞,表明可能有多个站点在竞争信道,使用上述的退避算法可以令重传需要推迟的平均时间随着重传次数增加而延长,从而减小发生碰撞的概率
  • 当重传次数达16次仍未成功时,应放弃重传并向高层汇报

共享式以太网的信道利用率

网桥

  • 利用网桥在数据链路层扩展共享式以太网

    • 利用网桥可将两个或多个的以太网连接起来,成为一个覆盖范围更大的以太网,而原来的每个以太网都称为一个网段

  • 网桥可以识别帧的结构

  • 可以根据帧首部中的目的Mac地址和网桥自身的帧转发表来转发或丢弃所收到的帧

  1. A向D发送单播帧(不同网段)
  • 同一网段的根据MAC地址发现不是自己的帧,将其丢弃
  • 到达网桥处的帧根据网桥转发表找到转发接口
  • 通过接口顺利转发到目的站点

  1. A向C发送单播帧(同一网段)
  • 同一网段的根据MAC地址发现是否属于自己的帧,是则接收,否则丢弃
  • 到达网桥处的帧根据网桥转发表找到转发接口,发现无需转发,因此丢弃

  1. 发送广播帧
  • 所有站点均会接收该广播帧
  • 到达网桥处的帧无需查找转发表,而是会通过除接收该帧接口外的其他接口转发该广播帧

透明网桥的自学习和转发帧

  • 透明网桥通过自学习算法建立转发表

  • 透明网桥中的透明,是指以太网中各网桥对于各站点而言是看不见的

  • 透明网桥通过自学习算法基于以太网中各站点间的相互通信逐步建立起自己的转发表

    • 网桥收到帧后进行登记(即自学习)。登记内容为帧的源MAC地址和进入网桥的接口号
    • 网桥根据帧的目的MAC地址和网桥转发表对帧进行转发,其可能出现以下三种情况
      1. 明确转发:网桥清楚知道应从哪个接口进行转发
      2. 盲目转发:网桥转发表中无登记,网桥无法知道应从哪个接口进行转发,因此只能从进入接口外的其他所有接口都进行转发
      3. 丢弃:网桥知道无需转发帧,直接丢弃
  • 注意事项:

    • 若网桥收到有误码的帧,直接丢弃
    • 若网桥收到无误码的广播帧,无需查表,直接从进入接口外的其他所有接口进行转发
    • 转发表中的每条记录都是有有效时间的,到期自动删除。因为各站点MAC地址和网桥接口的对应关系并不是永久性的,例如某个站点更换了网卡,其MAC地址就会改变

透明网桥的生成树协议STP

  • 为了提高以太网的可靠性,有时需要在两个以太网之间使用多个透明网桥来提供冗余链路

  • 在增加冗余链路提高以太网可靠性的同时,却给网络引入了环路

  • 网络中的广播帧将在环路中永久兜圈,造成广播帧充斥整个网络,浪费了网络资源,使得网络中各主机间无法正常通信

  • 为避免广播帧在环路中兜圈,透明网桥利用生成树协议(STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题

    • 不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(BPDU),找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络不存在环路

    • 当首次连接网桥或网络拓扑发生变化时(认为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通

交换式以太网

  • 仅使用交换机而不使用集线器的以太网就是交换式以太网

以太网交换机

  • 本质上是多接口的网桥
  • 交换机的每个接口可以连接计算机,也可以连接集线器或另一个交换机
    • 当连接的是计算机或交换机时,工作在全双工方式,并能在自身内部同时连通多对接口,无需使用CSMA/CD协议
    • 当连接的是集线器时,工作在半双工方式,需要使用CSMA/CD协议
  • 一般交换机都采用“存储转发”方式;为减少转发时延,某些交换机采用了直通交换方式
  • 采用直通交换方式的交换机,在接收帧的同时就立即按帧的目的MAC地址决定该帧的转发接口,然后通过其内部基于硬件的交叉矩阵进行转发,而不必进行缓存
    • 直通交换时延非常小
    • 直通交换不检查差错就直接转发出去,有可能转发一些无用帧

共享式以太网与交换式以太网的对比

  • 本质上可以理解为集线器与交换机的对比

    • 集线器扩大了广播域,扩大了碰撞域

    • 交换机扩大了广播域,隔离了碰撞域

  • 交换式以太网网络性能远高于共享式以太网,所以集线器早已被交换机替代

以太网MAC帧格式

接收方可能收到的无效MAC帧包括:

  • MAC帧长度不是整数个字节
  • 通过MAC帧的FCS字段的值检测出帧有误码
  • MAC帧的长度不在64~1518字节之间

接收方收到无效的MAC帧时,就简单将其丢弃,以太网的数据链路层没有重传机制

虚拟局域网VLAN

VLAN(Virtual Local Area Network)是一种将局域网内的设备划分为与物理位置无关的逻辑组技术,这些逻辑组有某些共同的需求

实现机制

  • IEEE 802.1Q帧(Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记

  • VLAN标记的最后12比特称为VLAN标识符VID,其唯一标志了以太网帧属于哪个VLAN

    • VID取值0~4095
    • 0和4095都不用来表示VLAN,故用于表示VLAN的有效取值范围为1~4094
  • 802.1Q帧是由交换机来处理的,而不是用户主机来处理的

    • 当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,称为“打标签
    • 当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,称为“去标签
  • 交换机端口类型

    • Access
      • 连接用户计算机
      • 只能属于一个VLAN
      • PVID与端口所属VLAN的ID相同,默认为1
      • 接收处理:一般只接收未打标签的普通以太网帧,并给其打标签
      • 发送处理:若帧中VID等于端口PVID,则去标签后转发;否则丢弃

    主机A发送广播

    • Trunk

      • 交换机之间或交换机与路由器之间的连接
      • 可以属于多个VLAN
      • 用户可以设置PVID,默认为1
      • 接收处理:
        • 接收已打标签的帧
        • 接收未打标签的帧,根据端口的PVID值给帧打标签
      • 发送处理:
        • 帧中VID等于端口PVID,则去标签后转发
        • 不等则直接转发

      主机C发送广播

    • Hybrid

      • 交换机之间、交换机与路由器、交换机与用户计算机之间的连接

      • 可以属于多个VLAN

      • 用户可以设置PVID,默认为1

      • 接收处理:

        • 接收已打标签的帧
        • 接收未打标签的帧,根据端口的PVID值给帧打标签
      • 发送处理:

        • 查看数据帧中VID是否在端口的去标签列表中
          • 若存在,则去标签后转发
          • 不存在,则直接转发

        主机A向主机B发送广播

无线局域网WLAN

WLAN(Wireless Local Area Network)

组成

  1. 有固定基础设施的802.11无线局域网

    • AP:Access Point 接入点
    • BSS:Basic Service Set 基础服务集

  2. 无固定基础设施移动自组织网络

    自组织网络没有基本服务集中的AP,而是由一些平等状态的移动站相互通信组成的临时网络,各结点地位平等,中间结点均为转发结点,因此都具有路由器的功能

CSMA/CA协议

802.11无线局域网采用了CSMA/CA协议,即载波监听多址接入/碰撞避免

注意的是CA并不能避免所有碰撞,而是尽量减少发生碰撞的概率

基本工作原理

  • 等待DIFS:主要是考虑到可能有其他站的高优先级帧需要发送

  • 等待SIFS:短帧间间隔。

  • NAV:指出了完成这次帧的传送且信道转入空闲状态所需的时间

目的站收到源站发送的数据帧后,等待SIFS间隔后发送确认帧,这期间信道忙,其他站要发送只能推迟;当该次传输完成后,其他站需要等待DIFS间隔和随机退避时间后再发送帧

帧发送过程

为了进一步降低发生碰撞的概率,802.11无线局域网允许源站对信道进行预约

  • RTS:短的控制帧,包括源地址,目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间
  • CTS:短的响应控制帧,包括本次通信所需的持续时间

RTS若发生碰撞,源站就不可能接收到CTS帧,此时源站就会执行退避算法重传RTS帧;虽然进行信道预约会带来额外的开销,但由于两个帧都很短,且发生碰撞概率,碰撞产生及其自身的开销都很小,因此为降低碰撞概率。这点小代价还是值得的

帧预约后发送过程

退避算法

  • 站点会为退避计时器设置一个随机的退避时间
    • 当退避时间减小到0时,就开始发送
    • 当退避时间未到0而信道又转为忙态时,此时需要冻结退避计时器的值,重新等待信道转为空闲,再经过帧间间隔DIFS后,继续启动退避计时器

A开始发送帧,BCD也想发送,发现信道处于忙状态,等待DIFS间隔后,启动退避计时器;假如C的退避时间最短,此时信道也处于空闲状态,C立即发送帧,BD对应退避时间冻结,等待信道转为空闲及DIFS间隔后,退避计时器解冻,重新开始计时…然后依次类推(如图所示)

退避算法图解

MAC帧

  • 数据帧
    • 用于站点间传输数据

数据帧格式

  • 控制帧
    • 通常与数据帧搭配使用
    • 负责区域清空,虚拟载波监听的维护及信道的接入,并于收到数据帧时予以确认
    • ACK帧、RTS帧及CTS帧等都属于该范畴
  • 管理帧
    • 用于加入或退出无线网络,以及处理AP之间连接的转移事宜
    • 信标帧、关联请求帧以及身份认证帧等都属于管理帧

评论
  目录