计算机网络——数据链路层

文章目录

    • [**1 数据链路层的功能**](#1 数据链路层的功能)
      • [**1.1 为网络层提供服务**](#1.1 为网络层提供服务)
      • [**1.2 链路管理**](#1.2 链路管理)
      • [**1.3 帧定界,帧同步与透明传输**](#1.3 帧定界,帧同步与透明传输)
      • [**1.4 流量控制**](#1.4 流量控制)
      • [**1.5 差错控制**](#1.5 差错控制)
    • [**2 组帧**](#2 组帧)
      • [**2.1 字符计数法**](#2.1 字符计数法)
      • [**2.2 字符填充的首尾定界符法**](#2.2 字符填充的首尾定界符法)
      • [**2.3 零比特填充的首尾标志法**](#2.3 零比特填充的首尾标志法)
      • [**2.4 违规编码法**](#2.4 违规编码法)
    • [**3 差错控制**](#3 差错控制)
      • [**3.1 检错编码**](#3.1 检错编码)
      • [**3.2 纠错编码**](#3.2 纠错编码)
    • [**4 流量控制与可靠传输机制**](#4 流量控制与可靠传输机制)
      • [**4.1 流量控制,可靠传输与滑动窗口机制**](#4.1 流量控制,可靠传输与滑动窗口机制)
      • [**4.2 单帧滑动窗口与停止-等待协议**](#4.2 单帧滑动窗口与停止-等待协议)
      • [**4.3 多帧滑动窗口与后退N帧协议GBN**](#4.3 多帧滑动窗口与后退N帧协议GBN)
      • [**4.4 多帧滑动窗口与选择重传协议SR**](#4.4 多帧滑动窗口与选择重传协议SR)
    • [**5 介质访问控制**](#5 介质访问控制)
      • [**5.1 信道划分介质访问控制**](#5.1 信道划分介质访问控制)
        • [**5.1.1 频分多路复用FDM**](#5.1.1 频分多路复用FDM)
        • [**5.1.2 时分多路复用TDM**](#5.1.2 时分多路复用TDM)
        • [**5.1.3 波分多路复用WDM**](#5.1.3 波分多路复用WDM)
        • [**5.1.4 码分多路复用**](#5.1.4 码分多路复用)
      • [**5.2 随机访问介质访问控制**](#5.2 随机访问介质访问控制)
        • [**5.2.1 ALOHA协议**](#5.2.1 ALOHA协议)
        • [**5.2.2 CSMA载波监听多路访问协议**](#5.2.2 CSMA载波监听多路访问协议)
        • [**5.2.3 CSMA/CD 载波监听多路访问/碰撞检测协议**](#5.2.3 CSMA/CD 载波监听多路访问/碰撞检测协议)
        • [**5.2.4 CSMA/CA协议载波监听多路访问/碰撞避免协议**](#5.2.4 CSMA/CA协议载波监听多路访问/碰撞避免协议)
      • [**5.3 轮询访问:令牌传递协议**](#5.3 轮询访问:令牌传递协议)
    • [**6 局域网**](#6 局域网)
      • [**6.1 基本概念和体系结构**](#6.1 基本概念和体系结构)
      • [**6.2 以太网和IEEE 802.3**](#6.2 以太网和IEEE 802.3)
        • [**6.2.1 以太网的传输介质与网卡**](#6.2.1 以太网的传输介质与网卡)
        • [**6.2.2 以太网的MAC帧**](#6.2.2 以太网的MAC帧)
        • [**6.2.3 高速以太网**](#6.2.3 高速以太网)
      • [**6.3 IEEE 802.11无线局域网**](#6.3 IEEE 802.11无线局域网)
        • [**6.3.1 无线局域网的组成**](#6.3.1 无线局域网的组成)
        • [**6.3.2 802.11局域网的MAC帧**](#6.3.2 802.11局域网的MAC帧)
      • [**6.4 VLAN虚拟局域网基本概念和原理**](#6.4 VLAN虚拟局域网基本概念和原理)
    • [**7 广域网**](#7 广域网)
      • [**7.1 广域网基本概念**](#7.1 广域网基本概念)
      • [**7.2 PPP点对点协议**](#7.2 PPP点对点协议)
      • [**7.3 HDLC高级数据链路控制协议**](#7.3 HDLC高级数据链路控制协议)
    • [**8 数据链路层设备**](#8 数据链路层设备)
      • [**8.1 网桥的基本概念**](#8.1 网桥的基本概念)
      • [**8.2 局域网交换机**](#8.2 局域网交换机)

1 数据链路层的功能

1.1 为网络层提供服务

(1)无确认的无连接服务

(2)有确认的无连接服务

(3)有确认的有连接服务

1.2 链路管理

连接的建立,维持和释放过程称为链路管理,主要用于面向连接的服务

1.3 帧定界,帧同步与透明传输

必须将网络层的分组封装成帧,以帧的格式进行传送,将一段数据分别添加首部和尾部,就构成了帧

帧定界:首部尾部的控制信息,确定帧的界限

帧同步:接收方应能从接收到的二进制比特流中区分出帧的起始与终止

如HDLC协议中标识符F(01111110)来标识帧的开始和结束,如果数据中恰好出现与帧定界符相同的比特组合(误认为传输结束丢弃后面的数据),就会采取透明传输来解决这个问题

为了提高传输效率,帧的数据部分尽可能大,但每种协议都规定了最大传送单元MTU

1.4 流量控制

限制发送方的数据流量,使其发送速率不超过接收方的接受能力,因此需要某种反馈机制

数据链路层的流量控制控制的是相邻结点之间数据链路上的流量,而对于传输层控制的是从源端到目的端之间的流量

1.5 差错控制

帧在传输过程中因信道噪声等原因出现错误,通常可分为位错和帧错

位错:帧的某些位出现了差错,通常采用循环冗余校验CRC来发现位错,通过自动重传请求方式来重传出错的帧

帧错:帧的丢失,重复或失序等错误,因此引入定时器和编号机制

2 组帧

组帧主要解决帧定界,帧同步,透明传输等问题,组帧既要加首部,又要加尾部,但是网络层的分组不用加尾部,因为分组包含在帧中

组帧的四种常见方法:

2.1 字符计数法

在帧头部使用一个计数字段来标明帧内字符数

但是如果计数字段出错,失去了帧边界划分的依据,接收方无法判断传输帧的结束位和下一帧的开始位,双方失去同步并引发灾难性的后果

2.2 字符填充的首尾定界符法

使用特定字符来定界一帧的开始与结束

如控制字符SOH放在帧的最前面表示帧的首部开始,控制字符EOT表示帧的结束;为了使特殊字符不出现误判,可在特殊字符前面填充一个转义字符ESC来加以区分

如下图

2.3 零比特填充的首尾标志法

用01111110来标志一帧的开始和结束;为了不出现误判,发送方的数据链路层在信息位中遇到5个连续的"1"时,会自动在后面插入一个"0";而接收方做过程的逆操作,每收到5个连续的"1",自动删除后面紧跟的"0",恢复原信息

容易用硬件实现,性能优于字符填充法

2.4 违规编码法

物理层进行比特编码时,通常使用;如"1"是"高-低"电平对,"0"是"低-高"电平对,那么"高-高""低-低"就是在比特中就是违规的,可以借用这些违规编码来定界帧的起始和终止

局域网IEEE 802就采用了这种方法

不需要任何填充技术,就能实现数据传输的透明性,但只适合冗余编码的特殊编码环境

零比特和违规编码是最常用的组帧方法

3 差错控制

差错控制分类:

自动重传请求ARQ:接收端检测到差错时,设法通知发送端重发,知道接收到正确的码

前向纠错FEC:接收端不但发现差错还能确定比特串错位位置加以纠正

因此差错控制又分为:检错编码和纠错编码

3.1 检错编码

都采用冗余编码技术,核心思想是在有效数据信息位被发送前,先按某种关系附加一定的冗余位,构成一个符合某一规则的码字后再发送,当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则,接收端根据码字是否符合原来的规则来判断是否出错

奇偶校验码

由n-1位信息元和1位校验元组成,如果是奇校验码,附加一个校验元后,码长n的码字中1的个数为奇数;偶校验码,1的个数是偶数

能检测奇数位的出错情况,但不知道哪些位错了,也不能发生偶数位的出错情况

循环冗余码

又称多项式码

一个k位帧可以视为从X^k-1^到X^0^的k次多项式的系数序列,这个多项式的阶数为k-1,高位是X^k-1^的系数,以此类推,例如1110011有七位,表示成多项式是X^6^+X^5^+X^4^+X+1,而多项式X^5^+X^4^+X^2^+X对应的位串是110110,运算过程如图

给定一个m比特的帧或者报文,发送器生成一个r比特的序列,称为帧检验序列FCS,形成的帧是m+r比特组成;收发双方事先商定一个多项式G(x)(最高位和最低位必须为1),使这个带校验码的帧刚好能被预先确定的多项式G(x)整除;接收方如果无余数则认为无错

假设帧为m位,对应的多项式为M(x),冗余码的计算过程:

(1)加0,G(x)的阶为r,在帧的低位端加上r个0

(2)模2除,利用模2除法,用G(x)对应的数据串去除(1)中计算出的数据串,得到的余数就是冗余码,然后帧加上冗余码再发送出去

如上图的数据101001,加上冗余码001,最后变成101001001发送出去

模2运算规则,加法不进位,减法不借位,刚好是异或操作

3.2 纠错编码

实现原理:在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中,某一位出错后,就会引起有关的几个校验位的值发生变化,可以指出错位的位置,为自动纠错提供依据

以数据码1010展示海明码的编码原理和过程

(1)确定海明码的位数

n位信息,k位校验码,则n+k$\leqslant$2^k^-1(若要检验两位错,则需再增加一位校验码,即k+1位)

n+k=7$\leqslant$2^3^-1

四位信息,三位校验码,则海明码为H~7~H~6~H~5~H~4~H~3~H~2~H~1~

(2)确定校验码的分布

规定校验位P~i~在海明位号为2~i-1~的位置上,其余为信息位

P~1~的海明位号2^0^=1,H~1~就是P~1~,以此类推

则海明码H~7~H~6~H~5~H~4~H~3~H~2~H~1~对应的就是D~4~D~3~D~2~P~3~D~1~P~2~P~1~(D是信息位)

(3)分组形成校验关系

每个数据位由多个校验位校验,但满足,被校验数据位的海明位号等于校验该数据位的各校验位海明位号之和,校验位不需要被校验

(4)校验位取值

校验位P~i~的值为第i组(由该检验位检验的数据位)所有位求异或

所以1010对应的海明码是1010 010(加粗为校验位)

(5)海明码的校验原理

每个校验组分别利用校验位和参与形成该校验位的信息位进行奇偶校验检查,构成k个校验方程

若S~3~S~2~S~1~的值为"000",则说明无错,否则说明出错,且这个数就是错误位的位号

如S~3~S~2~S~1~=001,说明第一位出错,即H~1~,直接取反就可以纠错

4 流量控制与可靠传输机制

4.1 流量控制,可靠传输与滑动窗口机制

接收方控制发送方发送数据的速率,常见方式:停止等待协议和滑动窗口协议

停止-等待流量控制基本原理

发送方发一帧都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,便是可接收下一帧,如果不反馈,那么发送方必须一直等待,每次只允许发送一帧,然后陷入等待应答,传输效率低

滑动窗口流量控制基本原理

任意时刻发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;接收方也维持一组连续的允许接收帧的序号,称为接收窗口

发送窗口的大小代表在未收到对方确认信息的情况下发送放最多还可以发送多少个数据帧,接收窗口也控制可以接收哪些数据帧和不可以接收哪些帧

特性:

(1)接收窗口向前滑动,发送窗口才有可能向前滑动

(2)停止等待协议,后退n帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别

停止等待协议:发送窗口大小=1,接收窗口=1

后退n帧协议:发送窗口>1,接收窗口=1

选择重传协议:发送窗口>1,接收窗口>1

(3)接收窗口为1,保证帧的有序接收

(4)数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(与传输层的滑动窗口协议的区别)

可靠传输机制

数据链路层通常使用确认和超时重传两种机制

确认:无数据的控制帧,控制帧使得接收方可以让发送方知道哪些内容被正确接收,有时将确认捎带在一个回复帧中,称为捎带确认

超时重传:发送数据后启动一个计时器,一定时间内如果没有收到确认帧,就重发数据帧,直到发送成功为止

自动重传请求ARQ通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来的差错的方法之一

传统自动重传请求分为:停止等待ARQ,后退n帧ARQ和选择性重传ARQ

后两种是滑动窗口技术和请求重发技术的结合,窗口够大,帧在线路上可以连续的流动,又称为连续ARQ协议

数据链路层的流量控制和可靠传输机制是交织在一起的

4.2 单帧滑动窗口与停止-等待协议

除了数据帧丢失还可能出现以下两种差错

到达的帧已经被破坏,接收方检测后丢弃帧,发送方设置一个计时器,时间到了则会重发相同的帧,直到成功

另一种可能是数据帧正确接收了但是确认帧被破坏,因此方法方会重传数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧;发送的帧交替用0和1标识,确认帧分别用ACK0和ACK1来表示,收到的确认帧有误时,重传已发送的帧;若出现相同发送序号的帧,说明发送端出现超时重传,连续相同的确认帧,说明接收端收到了重复帧

为了超时重发和判定重复帧的需要,收发双方都须设置一个帧缓冲区,发送完数据帧,在缓存中保留其副本,这样才能在出差错时进行重传,只有在收到对方发来的确认帧ACK时,方可清楚副本

效率低

4.3 多帧滑动窗口与后退N帧协议GBN

发送方可以连续发送帧;接收方检测失序,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方不得不重传出错帧及随后的N个帧,即接收方只允许按顺序接收帧

为了减少开销,GBN协议还规定接收端不一定每收到一个正确的数据帧就必须立即发回一个确认帧,可以在连续收到几个正确的数据帧后,才对最后一个数据帧法确认信息,或者发捎带确认,即对某一数据帧的确认就表明该数据帧和此前所有的数据帧均已正确无误的收到,称为累积确认

若采用n比特对帧编号,则其发送窗口的尺寸W~t~应满足1<W~t~$\leqslant$2^n^-1,若发送窗口的尺寸大于2^n^-1,则会造成接收方无法分辨新帧和旧帧

连续发送提高了信道利用率,但重传时又必须把原来已传送正确的数据帧进行重传,降低了传送效率,信道的传输质量很差导致误码率较大时,GBN协议不一定优于停止等待协议

4.4 多帧滑动窗口与选择重传协议SR

进一步提高信道的利用率,只重传出错的数据帧,此时必须加大接收窗口,即收下序号不连续但处在接收窗口的数据帧,等到数据帧收齐再传给主机

每个发送缓冲区对应一个计时器

还是用了更有效的差错处理策略,即一旦接收方怀疑帧出错,发一个否定帧NAK,要求发送方对NAK中指定的帧进行重传

接收发送窗口通常相同,发送大于接收会导致溢出,发送小于接收没有意义,且最大值都为序号范围的一半,若采用n比特对帧编号,W~t~=W~R~=2^(n-1)^,如果窗口大小大于序号范围的一半,当帧丢失,发送方超时重传之前的数据帧,接收方就无法分辨是新的数据帧还是重传的数据帧

可以避免重复传送那些本已正确到达接收端的数据帧,但在接收端要设置具有相当容量的缓冲区来暂存未按序的帧,缓冲区数目等于窗口大小

信道利用率:信道的效率,发送方一个发送周期内,有效发送数据所需要的时间占整个发送周期的比率

发送周期发送L比特的数据,发送方数据传输速率C,发送周期T

信道利用率=(L/C)/T

信道吞吐率=信道利用率*发送方的发送速率

5 介质访问控制

主要任务:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输

决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制子层

常见的介质访问控制方法:信道划分介质访问控制(静态),随机访问介质访问控制和轮询访问介质访问控制(动态)

5.1 信道划分介质访问控制

将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开,把时域和频域资源合理的分配给网络上的设备

传输介质的带宽超过传输单个信号所需的带宽时,通过一条介质上同时携带多个传输信号的方法来提高传输系统的利用率;多路复用技术就是实现信道划分介质访问控制的途径,把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道利用率

信道划分的实质是通过分时,分频,分码等方法来把原来一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上是把广播信道转变为点对点信道,可分为四种:

5.1.1 频分多路复用FDM

将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术

把物理信道的总带宽分割成若干个与传输单个信号带宽相同(或略宽)的子信道,每个子信道一种信号,就是FDM

子信道的带宽可以不同,但总合不超过总带宽,相邻信道还需加入"保护频带"

优点:充分利用传输介质的带宽,系统效率较高;实现容易

5.1.2 时分多路复用TDM

一条物理信道按时间分成若干时间片,轮流的分配给多个信号使用,利用每个信号在时间上的交叉,可以在一条物理信道上传输多个信号

统计时分多路复用STDM(异步时分多路复用),是TDM的一种改进,采用STDM帧,STDM帧并不固定分配时隙,而按需动态的分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率;如传输速率800b/s,4个用户,TDM方式每个用户最高速率200b/s,STDM方式每个用户最高速率800b/s

5.1.3 波分多路复用WDM

即光的频分多路复用,在一根光纤中传输多种不同波长的光信号,由于波长频率不同,光信号互不干扰

5.1.4 码分多路复用

采用不同的编码来区分各路原始信号的一种复用方式,与FDM和TDM不同,既共享信道的频率,又共享时间

码分多址CDMA,每个比特时间再划分成m个短的时间槽,称为码片(m的值是64或128)

每个站点被指派一个唯一的m位码片序列,发送1时站点发送它的码片序列,发送0,站点发送码片序列的反码;当两个或多个站点同时发送时,各路数据在信道中线性相加,为了分离,要求码片序列相互正交

举例:

加入站点A的码片序列被指派为00011011,则A发送00011011就表示发送比特1,发送反码11100100就表示发送比特0,为方便一般把0写成-1,1写成+1,则A的码片序列就是-1-1-1+1+1-1+1+1

向量S表示A的码片向量,T表示B的码片向量,则规格化内积S*T= 1 m \dfrac{1}{m} m1 ∑ i = 1 m \sum\limits_{i=1}^m i=1∑mS~i~T~i~=0

码片向量自身规格化内积是1,码片向量和其反码的规格化内积是-1

设T为(-1 -1 +1 -1 +1 +1 +1 -1)

A向C站发送数据1就发送向量(-1 -1 -1 +1 +1 -1 +1 +1)

B站向C站发送数据0就发送向量(+1 +1 -1 +1 -1 -1 -1 +1)

两个向量在公共信道上线性相加就是S+T=(0 0 -2 2 0 -2 0 2)

到达C站后,数据分离,如果要得到A的数据,C就必须知道S,让S与S+T进行规格化内积,即S*(S+T)=1,表示A发送的数据1

T*(S+T)=-1,表示B发送的数据0

优点:频谱利用率高,抗干扰能力强,保密性强,语音质量好等优点,还可以减少投资和降低运行成本,主要用于无线通信系统如移动通信

5.2 随机访问介质访问控制

所有用户根据自己的意愿随机发送信息,占用全部速率;但是多个用户同时发送信息会产生帧的冲突(碰撞),导致所有用户传输失败,因此需要按照一定的规则(协议)来解决这个问题

核心思想:胜利者通过争用获得信道,从而获得信息的发送权,因此随机访问介质访问控制协议又称争用型协议

实质是将广播信道转为点到点信道的行为

5.2.1 ALOHA协议

(1)纯ALOHA协议

基本思想:发数据不检测直接发,如果一段时间没收到确认,就认为发送冲突,等一段时间再发,直到成功

不考虑信道不良而产生的的误码,并假设所有站发送的帧都是定长的

假设网络负载为G,纯ALOHA网络的吞吐量S=Ge^-2G^,当G=0.5,S=0.184,这是吞吐量S可能达到的极大值,可见这种协议的吞吐量很低

(2)时隙ALOHA协议

把所有各站在时间上同步起来,把时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧,从而避免了用户发送数据的随意性,减少了数据产生冲突的可能,提高了信道的利用率

时隙长度T~0~使得每个帧正好在一个时隙内发送完毕,每个帧到达后,一般都要在缓存中等待一段小于T~0~的时间,然后才能发送出去

一个时隙内有两个或两个以上的帧到达,还是冲突,再重传

网络吞吐量S=Ge^-G^,当G=1,S=0.368,吞吐量大了一倍

5.2.2 CSMA载波监听多路访问协议

在ALOHA协议上加了一个载波监听装置,发送信道空闲再发送,大大降低冲突

根据监听方式和监听到信道忙后的处理方式不同,分为三种:

(1)1-坚持CSMA

基本思想:发送时,监听信道,如果空闲就发(即立刻发送数据),忙就等待,并继续监听直到空闲;发送冲突,随机等待一段时间,重新开始监听

传播延迟的影响很大,比如A发送了数据但是信号没有传到B,B以为空闲就发送,导致冲突;并且空闲时间也会同时发送,还是会冲突

(2)非坚持CSMA

基本思想:一个结点发送数据,首先监听,如果空闲,立刻发送数据,忙就放弃监听,等一段随机时间再重复

降低了冲突概率,但会增加数据在网络中的平均延迟,即信道利用率的提高是以增加数据在网络中的延迟时间为代价的

(3)p-坚持CSMA

用于时分信道,基本思想:发送数据时监听,忙就持续监听(推迟到下一个时隙再监听),直到空闲,空闲的话,以概率p发送数据,以概率1-p推迟到下一个时隙;如果下一个时隙信道仍然空闲那么仍以概率p发送数据,以概率1-p推迟到下一个时隙;这个过程一直持续到数据发送成功或因其他结点发送数据而检测到信道忙为止,若是后者,则等待下一个时隙再重新开始监听

以概率发送的目的是降低多个结点检测到空闲后同时发送数据的冲突概率;采用坚持监听的目的是试图克服因随机等待造成的延迟时间较长的缺点

5.2.3 CSMA/CD 载波监听多路访问/碰撞检测协议

适用于总线型网络或半双工网络环境,全双工不需要这个协议

碰撞检测:边发送边监听,如果监听到了碰撞,则立即停止数据发送,等待一段随机时间后,重新开始尝试发送

工作流程:先听后发,边听边发,冲突停发,随机重发

但是传播速率有限,某个时刻检测到空闲,信道不一定空闲,设 τ \tau τ为单程传播时延

CSMA/CD中站不可能同时收发,因此采用CSMA/CD协议的以太网只能进行半双工通信

站A在发送帧后至多经过时间2 τ \tau τ就能知道有没有发送冲突,以太网把2 τ \tau τ称为争用期(冲突窗口或碰撞窗口)

但是发送一个很短的帧,发送完毕之前没有检测出碰撞,但是帧在达到目的站之前就发送了碰撞,所以目的站收到有差错的帧就丢弃,可是发送站却不知道发生了碰撞,因此不会重传。为了避免这个问题,以太网规定了一个最短帧长(争用期内可发送的数据长度),争用期发送碰撞停止发送的数据一定小于最短帧长,因此凡是长度小于这个最短帧长的帧都是异常中止的无用帧

最小帧长计算公式:最小帧长=总线传播时延*数据传输速率*2

但是如果发送小于最短帧长的帧,需要再MAC子层冲于数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧的长度不小于最短帧长

冲突了CSMA/CD采用==截断二进制指数退避算法==来解决碰撞问题,算法内容:

(1)基本退避时间,一般是两倍总线传播时延,即2 τ \tau τ

(2)定义参数k,等于重传次数,不超过10,k=min{重传次数,10}

(3)从离散整数集合{0,1,2......,2^k^-1}中随机取数r,重传退避时间就是r倍数的基本退避时间,即2 τ \tau τr

(4)重传16次还不成功,说明网络太拥挤,此帧永远无法正确发出,抛弃并向高层报告出错

该算法使得重传需要推迟的平均时间随重传次数的增大而增大(动态规避),降低了冲突概率,有利于系统稳定

5.2.4 CSMA/CA协议载波监听多路访问/碰撞避免协议

CSMA/CD在无线局域网环境下,不能简单的直接使用,特别是碰撞检测部分,原因:

(1)接收信号的强度远小于发送信号的强度,无线介质上信号的强度动态变化范围很大,实现碰撞检测的硬件成本大

(2)无线通信并非所有站点都能听见对方,存在隐蔽站问题

802.11标准因此把碰撞检测改为碰撞避免CA,且不是完全避免碰撞,而是尽量降低碰撞概率

802.11使用链路层的确认重传ARQ方案,收到对方的确认帧才发下一帧

802.11规定所有站完成发送,必须等待一段很短的时间(继续监听)才能发送下一帧,这段时间称为帧间间隔IFS,802.11使用了三种IFS:

(1)SIFS,最短的IFS,用来分割属于一次对话的各帧,有ACK帧,CTS帧,分片后的数据帧,以及所有回答AP探询的帧等

(2)PIFS,点协调IFS,中等长度,在PCF操作中使用

(3)DIFS,分布式协调IFS,最长,用于异步帧竞争访问的时延

信道从忙转为空闲,任何一个站要发送数据帧,不仅都要等待一个时间间隔,而且要进入争用窗口,计算随机退避时间以便再次试图接入信道,因此降低了碰撞发生的概率。

当且仅当信道空闲且这个数据帧是要发送的第一个数据帧时,才不使用退避算法,其他所有情况都要用

退避算法:

(1)执行时,站点为退避计时器设置一个随机的退避时间

当计时器时间减小到0,发数据

时间没到0,信道转为忙,冻结时间

重新等待信道空闲,再等待DIFS后,继续启动

(2)进行第i次退避时,退避时间在时隙编号{1,2......,2^2+i^-1}中随机选择一个,然后乘以基本退避时间,当时隙编号达到255次(第6次退避)不再增加

CSMA/CA算法过程:

(1)最初有数据发送(不是发送不成功进行重传),且信道空闲,等待DIFS后,就发送整个数据帧

(2)否则,执行退避算法,选取一个随机回退值,信道忙,退避计时器不变,信道空闲,计时器进行倒计时

(3)当计时器为0,站点发送帧并等待确认

(4)发送站收到确认,如果要发送第二帧,从第二步开始,执行退避算法,随机选定一段退避时间

若每收到确认帧ACK,必须重传帧,再次使用协议争用信道,直到收到确认,或若干次失败后放弃发送

处理隐蔽站问题:RTS和CTS

AB彼此听不见对方,同时向AP发送信息,发送碰撞,这就是隐蔽站问题

解决办法:802.11允许发送站对信道进行预约,源站发送数据帧之前先广播一个很短的请求发送RTS控制帧,包括源地址,目的地址和这次通信所持续的时间,该帧能被范围内包括AP在内的所有站点听到;若信道空闲,AP广播发送一个允许发送CTS控制帧,包括这次通信所需的持续时间;B和其他站听到后在CTS帧指明的时间内将抑制发送

CTS帧的目的:给源站发送许可;不允许其他站发送

CSMA/CD和CSMA/CA的区别:

(1)CD可以检测冲突但无法避免;CA不能检测冲突,只能尽量避免

(2)传输介质不同。CD用于总线形以太网,CA用于无线局域网802.11等

(3)检测方式不同。CD通过电缆中的电压变化来检测,CA采用能量检测,载波检测和能力载波混合检测三种检测信道空闲

5.3 轮询访问:令牌传递协议

轮询访问:不能随机发数据,通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配;某结点使用信道,其他结点都不能使用

典型的轮序访问介质访问控制协议是令牌传递协议,主要用在令牌环局域网中

令牌传递协议中,一个令牌沿着环形总线在各结点计算机间依次传递,令牌是一个特殊的MAC控制帧,仅控制信道的使用,确保同一可是只有一个站占用信道

令牌环网中令牌和数据的传递过程:

(1)网络空闲,环路中只有令牌帧在循环传递

(2)令牌传递到有数据要发的站点时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,把令牌变成一个数据帧,然后发送出去

(3)数据帧沿着环路传输,接收到的站点一边转发数据,一边查看目的地址,如果目的地址和自己的地址想用,那么接收站就复制该数据帧以便进一步处理

(4)数据帧沿着环路传输,直到达到该帧的源站点,源站点收到自己发出去的帧之后不再转发;同时检验返回的帧来查看数据传输过程中是否出错,若有错则重传

传输介质的物理拓扑不必是一个环,但是逻辑上必须是一个环;既不共享空间,也不共享时间

轮询介质访问控制非常适合负载很高的广播信道,即多个结点在同一时刻发送数据的概率很大的信道

6 局域网

6.1 基本概念和体系结构

局域网LAN:指在一个较小的地理范围内,将各种计算机,外部设备和数据库系统等通过双绞线,同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互连网络

特点:(1)一个单位拥有,地理范围和站点数目有限

(2)所有站点共享较高的总宽带(即较高的数据传输速率)

(3)较低的时延和较低的误码率

(4)各站为平等关系

(5)能进行广播和组播

局域网拓扑结构:星型结构,环形结构,总线形结构,星性和总线形结合的复合型结构

局域网传输介质:双绞线,铜缆,光纤等

局域网的介质访问控制方法:CSMA/CD,令牌总线和令牌环;前两种主要用于总线形局域网,后一种是环形局域网

三种特殊的局域网拓扑实现:

  • 以太网(使用范围最广的局域网):逻辑结构是总线,物理是星性或拓展星型结构
  • 令牌环(IEEE 802.5):逻辑是环形,物理是星性
  • FDDI(光纤分布数字接口,IEEE 802.5):逻辑是环形,物理是双环

IEEE 802标准定义的局域网参考模型只对应OSI参看模型的数据链路层和物理层,并将数据链路层拆为两个子层:

逻辑链路控制LLC子层:向网络层提供无确认无连接,面向连接,带确认无连接,高速传送4中不同的连接服务类型

媒体接入控制MAC子层:与接入传输媒体有关,向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括组帧和拆卸帧,比特传输差错检测,透明传输

6.2 以太网和IEEE 802.3

IEEE 802.3标准 :是一种基带总线形的局域网标准,描述物理层和数据链路层的MAC子层的实现方法

以太网逻辑上采用总线形拓扑结构,所有计算机共享同一条总线,信息以广播方式发送

以太网指符合DIX Ethernet V2标准的局域网,但是该标准与IEEE 802.3标准只有很小的差别,因此通常将802.3 局域网简称为以太网

以太网简化通信的措施:(1)采用无连接的工作方式,不发数据编号,不要求确认(2)数据都适用曼彻斯特编码的信号,每个码元中间出现一次电压转换

6.2.1 以太网的传输介质与网卡

常用的传输介质:粗缆,细缆,双绞线和光纤

10BASE-T的星形网中心为集线器,适用集线器的以太网在逻辑上仍然是一个总线形,属于一个冲突域

计算机和局域网的连接通过机箱的:网络接口板(网络适配器)或网络接口卡NIC

网卡:装有处理器和存储器,工作在数据链路层,重要功能就是进行数据的串并转换;实现与局域网传输介质之间的物理连接和电信号匹配,帧的发送和接收,帧的封装与拆封,介质访问控制,数据的编码与解码及数据缓存功能等

网卡和局域网通信:电缆或双绞线以串行方式进行

网卡和计算机的通信:通过主板上的I/O总线以并行方式进行

每块网卡出厂有唯一的代码,称为介质访问控制地址MAC,用于控制主机在网络上的数据通信;数据链路层设备(网桥,交换机等)都使用各个网卡的MAC地址;网卡也控制着主机对介质的访问,因此网卡也工作在物理层,它只关注比特

6.2.2 以太网的MAC帧

MAC地址也称物理地址,长6字节,高24位为厂商代码,低24位为厂商自行分配的网卡序列号,局域网的"地址"是每个站的名字或标识符

以太网MAC帧有两种标准:DIX Ethernet V2标准,IEEE 802.3标准

前导码:使接收端和发送端时钟同步;前同步码:快速实现MAC帧的比特同步

MAC帧不需要帧结束符,因为各帧的传送必须有一定的间隙;但是MAC帧是既要加首部,也要加尾部

类型:指出数据应交给哪些协议实体处理

CSMA/CD规定以太网帧的最短帧长是64B,而MAC帧的首部和尾部的长度是18B,所有数据段最短是46B,最长1500是规定的

填充:帧太短时,使之达到64B

校验码FCS:校验范围从目的地址段到数据段的末尾,采用32位循环冗余码CRC,不但需要检验MAC帧的数据部分,还要检验目的地址,源地址和类型字段,但不校验前导码

802.3中长度域代替了DIX的类型域,指出数据域的长度;但是实际中长度和类型两种机制可以并存,因为长度最多1500,左右从1501到65535的值可用于类型段标识符

6.2.3 高速以太网

速率大于等于100Mb/s的以太网

(1)100BASE-T以太网

双绞线;基带信号;星形拓扑结构;CSMA/CD协议;全双工(不需CSMA/CD)和半双工都可

MAC帧仍是802.3标准;一个网段的最大电缆长度减小到100m;帧间间隔从原来的9.6 μ \mu μs改为0.96 μ \mu μs

(2)吉比特以太网

千兆以太网;1Gb/s;全双工和半双工;802.3MAC帧;向后兼容

(3)10吉比特以太网

帧格式不变;使用光纤;只工作在全双工

6.3 IEEE 802.11无线局域网

6.3.1 无线局域网的组成

(1)有固定的基础设施无线局域网

星形拓扑,中心为接入点AP(基本服务集中的基站);MAC层使用CSMA/CA协议;802.11系列协议的局域网又称wifi

基本服务集BSS:无线局域网的最小构件;包括一个接入点和若干移动站

服务集标识符SSID:该AP的无线的名字

基本服务区BSA:一个基本服务集覆盖的地理范围

扩展的服务集ESS:通过AP连接到一个分配系统DS,然后再连接到另一个基本服务集;还可以童工一种称为Portal门户的设备无用户提供到有线连接的以太网的接入,门户的作用相当于一个网桥

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

没有AP,是由一些平等状态的移动站相互通信组成的临时网络,各结点之间低位平等,中间结点都为转发结点,因此都具有路由器功能

每个移动站都要参与网络中其他移动站的路由的发现和维护,同时由移动站构成的网络拓扑可能随时间变化得很快,因此固定网络中的路由选择协议对自组网络不适用

自组网络和移动IP不相同:移动IP使漫游的主机可以用多种方法连接到因特网,其核心网络功能仍然是基于固定网络中一直使用的各种路由选择协议;自组网络把移动性扩展到无线领域中的自治系统,具有自己特定的路由选择协议,并且可以不和因特网相连

6.3.2 802.11局域网的MAC帧

三种类型:数据帧,控制帧,管理帧

数据帧的组成:

(1)MAC首部,30B

(2)帧主体,帧的数据部分,不超过2313B

(3)帧检验序列FCS是尾部,4B

帧中4个地址字段都是MAC地址,第4个用于自组网络;3个地址的内容取决于帧控制字段中去往AP和来自AP的数值

去往AP 来自AP 地址1 地址2 地址3
0 1 目的地址 发送AP地址(AP转发时填自己的地址) 源地址
1 0 接收AP地址(发给的AP的地址) 源地址 目的地址
0 0 目的地址 源地址 BSSID
1 1 接收AP地址 发送AP地址 目的地址

1在哪儿,哪儿就有AP的地址

路由器是网络层设备,看不见链路层的接入点AP,只认识A的IP地址,而AP是链路层设备,只认识MAC地址,不认识IP地址

从路由器到A,要经过AP把802.3帧转换为802.11帧

地址3在BSS和有线局域网互连中起着关键作用,允许AP在构建以太网帧时能够确定目的MAC地址

6.4 VLAN虚拟局域网基本概念和原理

一个以太网是一个广播域,一个以太网包含的计算机太多,会导致:

  • 出现大量广播帧,特别是经常使用ARP和DHCP协议的
  • 一个单位的不同部门共享一个局域网,对信息保密和安全不利

通过VLAN把一个较大局域网分割成较小的与地理位置无关的逻辑上的VLAN,每个VLAN是一个较小的广播域

VLAN标签:在以太网帧中插入一个4B的小师傅,源地址和类型之间

802.1Q帧:插入VLAN标签的帧

VLAN标签的前两个字节设置为0x8100,表示这是802.1Q帧

后两个字节,前4位没用,后12位是标识符VID,唯一标识了该802.1Q帧属于哪个VLAN

插入VID,帧的FCS必须重新计算

同一交换机同一VLAN就不用插入VLAN标签;交换机转发帧之前,要拿走插入的VLAN标签

如果是不同VLAN的通信,就需要上层的路由器的转发,也可以在交换机中嵌入专用芯片进行转发

7 广域网

7.1 广域网基本概念

广域网是因特网的核心部分,任务是长距离运送主机所发生的数据,连接广域网各结点交换机的链路都是高速链路

广域网不等于互联网;广域网有一些结点交换机及连接这些交换机的链路组成

局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层

广域网的重要问题是路由选择和分组转发

常见的广域网数据链路层协议是PPP协议和HDLC协议(很少使用)

7.2 PPP点对点协议

是使用串行线路通信的面向字节(帧的长度都是整数个字节)的协议;通过拨号或专线方式建立点对点连接发送数据,使其称为各种主机,网桥和路由器之间简单连接的一种共同的解决方案

组成部分:

(1)链路控制协议LCP:扩展链路控制协议,用于建立配置测试和管理数据链路

(2)网络控制协议NCP:允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接

(3)一个将IP数据报封装到串行链路的方法:IP数据报在帧中就是数据部分,长度受最大传送单元MTU的限制

标志字段F :为7E(01111110),前后各占一字节;若出现在信息字段中,必须做字节填充,使用的控制转义字节是7D(01111101)

地址字段A:规定为0xFF

控制字段C:规定为0x03

协议段:说明信息段中运载的是什么种类的分组

信息段:大于等于0且小于等于1500B

PPP是点对点的,不是总线形,就不用CSMA/CD协议,就没有最短帧

帧检验序列FCS:即循环冗余码检验中的冗余码,检验包括地址,控制,协议和信息字段

PPP协议的特点:

(1)能差错检测但不纠错,值保证无差错接收(通过硬件CRC校验);是不可靠传输,也不使用序号和确认机制

(2)只支持点对点,不支持多点线路

(3)只支持全双工

(4)两端可以运行不同的网络层协议,但仍然使用同一个PPP进行通信

(5)信息字段出现和标志字段一致的比特组合时,PPP两种不同处理方法:

在异步线路(默认),则采用字符填充法

在SONET/SDH等同步线路,则采用硬件来完成比特填充

7.3 HDLC高级数据链路控制协议

面向比特;不依赖任何一种字符编码集;报文可透明传输,用于实现透明传输的0比特插入法易于硬件实现;全双工通信

帧采用CRC检验,对信息帧进行顺序编号,有确认机制,可防止漏收过重发,传输可靠性高

传输控制功能与处理功能分离,具有较大的灵活性

标志字段F:01111110

地址字段A:根据不同的传送方式,表示从站或应答站的地址

PPP和HDLC的区别:

(1)PPP面向字节,HDLC面向比特

(2)PPP帧比HDLC帧多一个字节的协议字段,当协议字段值为0x0021,表示信息字段是IP数据报

(3)PPP协议不适用序号和确认机制,只保证无差错接收(CRC检验),而端到端差错检测由高层协议负责;HDLC协议的信息帧使用了编号和确认机制,能够提供可靠传输

8 数据链路层设备

8.1 网桥的基本概念

多个以太网通过网桥连接后, 就成为一个覆盖范围更大的以太网,原来的每个以太网称为一个网段

网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域(又称冲突域)

各网段相对独立,因此一个网段的故障不会影响到两一个网段的运行

网桥必须具有路径选择的功能,接收到帧后,要决定正确路径,将该帧转发到相应的目的局域网站点

8.2 局域网交换机

交换机的原理和特点

又称以太网交换机,实质上就是一个多端口的网桥,工作在数据链路层

交换机的每个端口直接与单台主机或另一个交换机相连,通常都工作在全双工方式

交换机的最大优点:传统的以太网假设速率为10Mb/s,N个用户时,平均带宽只有总带宽的1/N;使用了以太网交换机连接后每个端口的主机的带宽还是10Mb/s,但由于一个用户在通信时是独占而不是和其他用户共享传输媒体的带宽,因此交换机的总容量N*10Mb/s

交换机的特点:(1)每个端口都直接与单台主机相连(网桥的端口往往连接到一个网段),一般是全双工方式

(2)同时连通多对端口,每对相互通信的主机都能独占通信媒体那样,无碰撞的传输数据

(3)即插即用,内部转发表通过自学习算法自动建立

(4)使用专用的交换结构芯片,交换速率较高

(5)交换机独占传输媒体的带宽

交换机主要的两种交换模式:(1)直通式交换机,只检查帧的目的地址,使得帧在接收后能马上传出去,速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换

(2)存储转发式交换机:缓存到高速缓存器中,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去;发送帧有错,那就丢弃,优点是可靠性高,能支持不断速率端口的转换,缺点是延迟较大

交换机一般具有多种速率的端口

交换机的自学习功能

过滤 :决定一个帧应该转发都某个端口还是应该丢弃

转发:决定一个帧应该被移动到哪个接口

交换机的过滤和转发借助于交换表完成

交换表的一个表项包含:(1)一个MAC地址

(2)连通该MAC地址的交换机端口

交换表的每个表项都设有一定的有效时间,过期自动删除,保证了交换表的数据符合当前网络的实际状况,从而使得交换机即插即用,不必人工配置

相关推荐
齐 飞1 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
wowocpp10 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
wclass-zhengge12 分钟前
Netty篇(入门编程)
java·linux·服务器
方方怪18 分钟前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
丫头,冲鸭!!!35 分钟前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
听忆.1 小时前
手机屏幕上进行OCR识别方案
笔记
weixin_442643421 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川1 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
Karoku0662 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
Selina K2 小时前
shell脚本知识点记录
笔记·shell