3. 数据链路层
数据链路层的研究思想
3.1 数据链路层的功能
3.1.1 数据链路层基本概念
结点:主机、路由器
链路:网络中两个结点之间的物理通道 ,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
3.1.2 数据链路层功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务 ,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网
络层。其主要作用是加强物理层传输原始比特流的功能 ,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之
对网络层表现为一条无差错的链路。
3.2 组帧与透明传输
3.2.1 封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部
的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用: 帧定界 (确定帧的界限)。
帧同步: 接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:字符计数法,字符(节)填充法,零比特填充法,违规编码法。
3.2.2 透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信
息。这样才能保证数据链路层的传输是透明的。
3.2.3 字符计数法
3.2.4 字符填充法
发送方在封装帧时,数据的可能有图中两种类型,传输数据时可能会出现图中所述的错误
那么我们如何去解决这种错误呢?
我们可以在特殊字符(SOH、EOT、ESC)前面填充一个转义字符来区分
发送方在封装帧时,进行扫描,扫描到SOH、EOT、ESC(转义字符)时在其前面添加转义字符,以区分,告诉接受方这个和特殊字符相
同的字符是数据,当然这些约定由双方之间的协议完成
3.2.5 零比特填充法
3.2.6 违规编码法
3.3 差错控制
3.3.1 差错控制(检错编码)
差错从何而来?
数据链路层的差错控制
什么是校验码
校验码:指能够发现或能够自动纠正错误的数据编码,也称检错纠错编码。
实现原理:通过加一冗余码,来检验或纠错编码
码距:简单来说就是两个二进制数比较,在同一数位的地方,数位值不同的个数有多少个,即码距,也称海明距离;
两种方法计算码距。比如0100和1111
直接观察法:可以看出,有3个数位值不同,所以码距为3.
异或计算法:0100⊕1111=1011 ,结果为1011,里面有几个1就代表有多少个数位值不同,即码距是多少,这里码距是3。
为什么要有校验码?
其实从什么是校验码,就可以看出为什么要有校验码,在计算机的运算过程中,所有数据都是以二进制保存的,数据在计算机中进行运算
处理传递的时候,我们要对数据进行加工,为什么要加工呢?是为了防止在传输过程中由于硬件等方面的因素导致数据发生变化,当我们
加工数据增加冗余位后,原始数据码就变成了校验码,我们可以通过相对应的校验码的一些方法来检测和纠正错误,保证数据的准确性。
3.3.1.1 检错编码—奇偶校验码
实现原理: 在原编码中加一个校验位,则原编码就变成了校验码,它的码距为2,可以检查出奇数位错误,但不能检查出偶数位错误,增
加的冗余位为奇偶校验位,一般校验位设置在原编码的最左边或最右边。
奇校验码:整个校验码(信息位+校验位)中1的个数位奇数
偶校验码:整个校验码(信息位+校验位)中1的个数位偶数
怎么通过奇偶校验码判断数据是正确还是错误呢?
首先在计算机中,我们就要约定好,数据是采用奇校验还是偶校验,下面分奇校验和偶校验来说明一下奇偶校验如何检查在计算机传输数
据的过程中数据是否正确。
奇校验
假设我们的原始编码是10110111
,因为我们规定计算机采用奇校验
,所以我们在原编码最左边多加了一个校验位,并置为1,那么原编
码就变成了奇校验码,有奇数(7)个1。
传输过程中奇数个数据改变
:在传输过程中有奇数个数位值发生了改变
,那么我们通过奇校验运算
,可以发现现在变成了6个1,和奇校验
码相比有3个数位值发生了改变,奇校验码不再有奇数个1,而是变成了偶数个1,可以判断我们的数据发生了改变,可以检查出错误。
传输过程中有偶数个数据改变
:在传输过程中有偶数个数位值发生了改变
,那么我们通过奇校验运算
,可以发现现在变成了7个1,和原奇校
验码7个1一样,都是奇数,这时我们便无法通过奇校验运算判断数据是否发生了改变,即无法检查出偶数个错误
。
偶校验
假设我们的原始编码是10110111
,因为我们规定计算机采用偶校验
,所以我们在原编码最左边多加了一个校验位,并置为0,那么原编
码就变成了偶校验码,有偶数(6)个1。
传输过程中奇数个数据改变
:在传输过程中有奇数个数位值发生了改变
,那么我们通过偶校验运算
,可以发现现在变成了5个1,和偶校验
码相比有3个数位值发生了改变,偶校验码不再有偶数个1,而是变成了奇数个1,可以判断我们的数据发生了改变,可以检查出错误。
传输过程中有偶数个数据改变
:在传输过程中有偶数个数位值发生了改变
,那么我们通过偶校验运算
,可以发现现在变成了6个1,和原偶校
验码6个1一样,都是偶数,这时我们便无法通过偶校验运算判断数据是否发生了改变,即无法检查出偶数个错误
。
为什么无法检查出偶数个错误?
通过上述奇偶校验两种方式校验数据,可以比较得出奇偶校验可以检测出奇数个错误而无法检查出偶数个错误,也无法纠正错误,无法定
位错误位置。
3.3.1.2 检错编码—CRC 循环冗余码
什么是CRC码?
基本思想:校验码中的一种。在K位信息位后拼接R位检验位,组成CRC码,这种编码也称(N,R)码
特点:可以发现错误,定位错误位置,自动纠正错误。可检测出所有奇数位错,所有双比特的错和所有小于、等于校验位长度的突发错
结构:
原码如何编码生成CRC码?
-
首先,发送端和接受端会有一个生成多项式G(x)约定,生成多项式G(x)的最高次幂为
R
。任意一个二进制数码都可用一个系数为0或1的多项式与之对应。比如:二进制数码 1101 对应的G(x)=1X3+1X2+0X1+1X0= X3+X2+1
-
在发送端,将要传送的K位二进制信息码左移R位,将它与生成多项式G(x)所对应的的二进制数码进行
模2除法
,产生余数,生成一个R位检验码,并附在信息码后,构成一个新的二进制码(CRC)码,共K+R位。
模2运算:分为模2加、模2减、模2乘、模2除,不考虑
进位
和借位
。
一题搞懂CRC码生成与校验
例题: 设生成多项式G(x)=X3+X2+1 ,信息码为 101001 ,求对应的CRC码 。
分析:校验位长度:R=3 , 信息码长度:K=6 , CRC码长度:N=R+K= 9
生成多项式对应二进制码:1101
(1)信息码左移R位
发送端将原信息码左移R位,低位补0:101001 000
(2)模2除法得余数
方法:发送端用移位后的信息码 101001000 除以G(x)所对应的二进制数码 1101 求余数,余数除得够就写1,不够就写0,直到余数小于
1101 ,余数即为校验位的数值。
图中即为具体计算步骤,得到最后的结果CRC码为:101001 001,然后发送端将CRC码101001 001发送给接收端。
(3)如何检错和纠正错误?
接收端收到CRC码后,用生成的CRC码除以生成多项式G(x)所对应的的二进制数码,若余数为0,则信息码在传输过程中没有产生错误,数
据正确。
若接受到的CRC码为C9C8C7C6C5C4C3C2C1= 101001011,除以G(x)所对应的二进制码1101得到余数为010,不为0,说明数据在传输过
程中产生错误。010=2(10)说明C2出错,将C2取反即可纠正错误。
3.3.2 差错控制(纠错编码)
3.3.2.1 纠错编码—海明码
海明码可以发现双比特错误,纠正单比特错误
海明距离
1.确定校验码位数r
2.确定校验码和数据的位置
3. 求出校验码的值
4. 检错并纠错
3.4 流量控制与可靠传输机制
3.4.1 数据链路层的流量控制
3.4.1.1 基本概念
3.4.1.2 流量控制的方法
停止-等待协议:发送窗口大小=1,接受窗口大小=1
回退N帧协议(GBN):发送窗口大小>1,接受窗口大小=1
选择重传协议(SR):发送窗口大小>1,接受窗口大小>1
流量控制、可靠传输、滑动窗口三者关系
3.4.2 停止等待协议
3.4.2.1 停等协议—无差错情况
3.4.2.2 停等协议—有差错情况
停等协议性能分析
信道利用率
3.4.3 后退N帧协议(GBN)
由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n帧协议(GBN)和选择重传协议(SR)。
后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发
来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍未收到确认帧,就
要重发相应的数据帧。
如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就
不得不重新发送出错帧及其后的N帧。
从这里不难看出,后退n协议一方面因连续发送数据帧而提高了效率,但另一方面,在重传时又必须把原来已正确传送过的数据帧进行重
传(仅因这些数据帧之前有一个数据帧出了错),这种做法又使传送效率降低。
由此可见,若传输信道的传输质量很差因而误码率较大时,连续测协议不一定优于停止等待协议。此协议中的发送窗口的大小为k,接收
窗口仍是1。
后退N帧协议中的滑动窗口
GBN发送方响应的三件事
-
上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满 ,则产生一个帧并将其发送;如果窗口已满 ,发送方只需将数据返
回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
-
收到了一个 ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
-
超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数
据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
GBN接收方要做的事
GBN发送方和接受方之间的传输过程
滑动窗口长度可以无限长吗?
GBN协议重点总结
- 累计确认
- 接收方只按顺序接受帧,不按序则无情丢弃
- 确认序列号最大的、按序到达的帧
- 发送窗口最大为2^n-1,接受窗口大小为1
GBN 协议性能分析
优点:因连续发送数据帧而提高了信道利用率
缺点:在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
例题解释
3.4.4 选择重传协议(SR)
在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。由此诞生了SR。
SR工作原理:当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个
缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以将已存于缓冲区中的其余帧一并按正确的顺序递交
上一层。
显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。
选择重传协议中的滑动窗口
SR发送方必须响应的三件事
-
上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将
数据缓存,要么返回给上层之后再传输。
-
收到了一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗
口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
-
超时事件
每个帧都有自己的定时器,一个超时事件发生后 只重传一个帧。
SR接收方要做的事
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧[收谁确认谁],直到所有帧
(即序号更小的帧)皆被收到为止,这时才可以将一-批帧按序交付给 上层,然后向前移动滑动窗口。
SR发送方和接受方之间的传输过程
SR滑动窗口的大小限制
SR协议重点总结
- 对数据帧逐一确认,收到一个确认一个
- 只重传出错帧
- 接收方有缓存
- W(Tmax)=W(Rmax)=2^n-1
例题解释
3.5 介质访问控制
3.5.1 基本概念
传输数据的两种链路
介质访问控制(medium access control)简称MAC,是解决共用信道的使用产生竞争时,如何分配信道的使用权问题
常见的介质访问控制有下图所示几种方法:
3.5.2 静态划分信道—信道划分介质访问控制
3.5.2.1 相关概念
信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,
实际上就是把广播信道转变为点对点信道。
信道划分介质访问控制有一下4种方法:
3.5.2.2 频分多路复用 FDM
频分多路复用(Frequency-division multiplexing,FDM),是指载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一
路信号的一种多路复用技术。
3.5.2.3 时分多路复用 TDM
时分多路复用(Time-Division Multiplexing,TDM)一种数字或者模拟(较罕见)的多路复用技术。使用这种技术,两个以上的信号或
数据流可以同时在一条通信线路上传输,其表现为同一通信信道的子信道。但在物理上来看,信号还是轮流占用物理信道的。
如果说TDM中,A\B\C\D四个用户,有三个用户没传输数据,则造成了信道利用率不高,于是引入了另一种方法来解决这种问题,提高信
道利用率。
这种方法交是统计时分复用STDM
统计时分复用(Statistical Time Division Multiplexing)是一种根据用户实际需要动态分配线路资源的时分复用方法。只有当用户有数据
要传输时才给他分配线路资源,当用户暂停发送数据时,不给他分配线路资源,线路的传输能力可以被其他用户使用。采用统计时分复用
时,每个用户的数据传输速率可以高于平均速率,最高可达到线路总的传输能力。
这里我们假设线路传输速率为8000b/s
采用TDM,则4个用户的平均速率为2000b/s
采用STDM,则每个用户的最高速率可达8000b/s。
3.5.2.4 波分多路复用 WDM
3.5.2.5 码分多路复用 CDM
码分多路复用是采用不同的编码来区分各路原始信号的一-种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间。下面举一
个直观的例子来理解码分复用,如下图所示。
假设 A 站要向 C 站运输黄豆, B 站要向 C 站运输绿豆, A 与 C 、 B 与 C 之间有一条公共的道路,可以类比为广播信道。
在频分复用方式下,公共道路被划分为两个车道,分别提供给 A 到 C 的车和 B 到 C 的车行走,两类车可以同时行走,但只分到了公共车
道的一半,因此频分复用(波分复用也一样)共享时间而不共享空间。
在时分复用方式下,先让 A 到 C 的车走一趟,再让 B 到 C 的车走一趟,两类车交替地占用公共车道。公共车道没有划分,因此两车共享
了空间,但不共享时间。
码分复用与另外两种信道划分方式大为不同,在码分复用情况下,黄豆与绿豆放在同一辆车上运送,到达 C 后,由 C 站负责把车上的黄
豆和绿豆分开。
因此,黄豆和绿豆的运送,在码分复用的情况下,既共享了空间,也共享了时间。
码分多址( code oivision Multiple Access , CDMA )是码分复用的一种方式,其原理是每比特时间被分成 m 个更短的时间槽,称为码片( ChiP ) ,通常情况下每比特有 64 或 128 个码片。每个站点被指定一个唯一的 m 位代码或码片序列。
发送 1时,站点发送mbit码片序列;发送0时,站点发送mbit码片序列的反码。
当两个或多个站点同时发送时,各路数据在信道中线性相加。
为从信道中分离出各路信号,要求各个站点的码片序列相互正交。
简单理解就是, A 站向 C 站发出的信号用一个向量来表示, B 站向 C 站发出的信号用另一个向量来表示,两个向量要求相互正交。向量
中的分量,就是所谓的码片。
举个例子计算加深理解:
假如站点 A 的码片序列被指定为 000 110 11 ,则 A 站发送 000 110 11 就表示发送比特 1 ,发送111 001 00 就表示发送比特 0 。
按惯例将码片序列中的 0 写为-l ,将 1 写为+ l , A 站的码片序列就是-l - l -l + l + l -l + l + l
。
令向量 S
表示 A 站的码片向量,令 T 表示 B 站的码片向量。
两个不同站的码片序列正交,且向量 S 和 T 的规格化内积为(S*T)/8= 0 ,所以令向量 T
为- l - l + l -1 + l + l + l - 1
。
S和T具有以下运算性质:
当 A 站向 C 站发送数据 l 时,就发送了向量 -l ,-l ,-l ,+l,+l,-l,+l,+l
。
当 B 站向 C 站发送数据 0 时,就发送 T 向量+l, +l, -1 ,+1, -l ,-l ,-l ,+1
两个向量到了公共信道上就进行叠加,实际上就是线性相加,得到 S + T = ( 0 0 -2 2 0 -2 0 2 )
到达 C 站后,进行数据分离。如果要得到来自 A 站的数据,那么就让 S 与 S + T 进行规格化内积,得到 S·( S +T ) = l 所以 A 站发出的数据
是 1 。
同理,如果要得到来自 B 站的数据,那么 T . ( S + T ) =- 1 因此从 B 站发送过来的信号向量是一个反码向量,代表 0 。
什么是规格化内积:就是内积结果再除以向量的维数,如向量s(1,2,3)点乘向量t(7,8,9)的规格化内积为(17+28+3*9)/
3 = 50 / 3
再举两个例子:
3.5.3 动态分配信道—随机访问介质访问控制
动态分配信道的特点:信道并非在用户通信时固定分配给用户
3.5.3.1 ALOHA协议
ALOHA协议是由美国夏威夷大学开发的一种网络协议。处于OSI模型中的数据链路层。它属于随机存取协议(Random Access Protocol)中的一种。它分为纯ALOHA协议和分段ALOHA协议(或时隙ALOHA协议)。
纯ALOHA协议
时隙ALOHA 协议
对比纯ALOHA和时隙ALOHA
- 纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
- 纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
3.5.3.2 CSMA协议
全称Carrier Sense Multiple Access (CSMA),是一种允许多个设备在同一信道发送信号的协议,其中的设备监听其它设备是否忙碌,只有
在线路空闲时才发送。
1- 坚持CSMA
非坚持CSMA
p- 坚持CSMA
三种CSMA对比总结
3.5.3.3 CSMA/CD协议
传播时延对载波监听的影响
截断二进制指数规避算法确定碰撞后的重传时机
最小帧长问题
3.5.3.4 CSMA/CA协议
CSMA/CA协议工作原理
CSMA/CD与CSMA/CA
3.5.4 动态分配信道—轮询访问介质访问控制
轮训访问控制的产生
轮询访问控制的特点:在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信
道的分配。当某结点使用信道时,其他结点都不能使用信道。
这里我们只讨论两类:轮询协议与令牌传递协议
3.5.4.1 轮询协议
轮询协议要求节点中有一个被指定为主节点,其余节点是从属节点。
主节点以循环的方式轮询每一个从属节点,“邀请”从属节点发送数据(实际上是向从属节点发送一个报文,告诉从属节点可以发送帧以及
可以传输帧的最大数量),只有被主节点“邀请”的从节点可以发送数据,没有被“邀请”的节点不能发送,只能等待被轮询。
从主节点向从节点发送的报文信息可以看出,如果一个节点要发送的数据很多,它不会一直发送到结束,它发送到最大数据帧就是结束,
主节点开始轮询下一个节点,等再次轮询到它时才能继续发送。即如果从节点要发送的数据很多时,它不是一次性发送结束的。
3.5.4.2 令牌传递协议
令牌传递又称“标记传送”,局部网数据送取的一种控制方法,多用于环形网。
令牌由专用的信息块组成,典型的令牌由连续的8位“1”组成。当网络所有节点都空闲时,令牌就从一个节点传送到下一个节点。当某一节
点要求发送信息时,它必须获得令牌并在发送之前把它从网络上取走。一旦传送完数据,就把令牌转送给下一个节点,每个节点都具备有
发送/接收令牌的装置。使用这种传送方法决不会发生碰撞,这是因为在某一瞬间只有一个节点有可能传送数据。最大的问题是令牌在传
送过程中丢失或受到破坏,从而使节点找不到令牌从而无法传送信息。
TCU:环接口干线耦合器。它的主要作用是传递经过的所有帧,为接入站发送和接收数据提供接口。它的状态有两种:收听状态和发送状
态。
没有人使用令牌时,令牌则在环路中循环。
3.6 局域网
3.6.1 局域网基本概念和体系结构
3.6.1.1 局域网
局域网(Local Area Network):简称LAN,是指在某 一 区域内由多台计算机互联成的计算机组,使用广播信道。
特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
特点3:通信延迟时间短,误码率低,可靠性较高。
特点4:各站为平等关系,共享传输信道。
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
3.6.1.2 局域网拓扑结构
3.6.1.3 局域网传输介质
3.6.1.4 局域网介质访问控制方法
3.6.1.5 局域网的分类
3.6.1.6 IEEE 802 标准
重点:
3.6.1.7 MAC子层和LLC子层
3.6.2 以太网
以太网概述
以太网提供无连接、不可靠的服务
以太网传输介质与拓扑结构的发展
10BASE-T以太网
适配器与MAC地址
以太网MAC帧
高速以太网
3.6.3 无线局域网IEEE 802.11
IEEE 802.11标准简介
IEEE 802.11是无线局域网的一系列协议标准,它们制定了MAC层协议,运行在多个物理层标准上。除基本的协调访问问题外,标准还进
行错误控制(以克服通道固有的不可靠性)、适宜的寻址和关联规程(以处理站的可携带性和移动性)、互联过程(以扩展无线站的通信范围),
并且允许用户在移动的同时进行通信。
802.11的MAC层采用CSMA/CA协议进行介质访问控制。冲突避免要求每个发送结点在发送帧之前先侦听信道。如果信道空闲,那么结点
可以发送帧;发送站在发送完一-帧之后,必须再等待一个短的时间间隔,检查接收站是否发回帧的确认ACK。如果接收到确认,那么说明
此次发送未出现冲突,发送成功;如果在规定的时间内没有接收到确认,那么表明出现冲突,发送失败,重发该帧,直到在规定的最大重发
次数之内,发送成功。
注意:在无线局域网中,即使在发送过程中发生了碰撞,也要把整个帧发送完毕。而在有线局域网中,发生冲突则结点立即停止发送数
据。要熟悉局域网的各种协议。
IEEE 802.11的MAC帧头格式
几种不同功能的帧头格式
无线局域网的分类
- 有固定基础设施无线局域网
- 无固定基础设施无线局域网的自组织网络
有固定基础设施无线局域网
802.11标准规定无线局域网的最小构件是基本服务集( Basic Service Set, BSS)。 一个基本服务集包括一个基站和若干移动站。所有的站在
本BSS内都可以直接通信,但在与本BSS外的站通信时都要通过本BSS的基站。基本服务集中的基站也称接入点(Access Point, AP),其作用
和网桥相似。
一个基本服务集可以是孤立的,也可通过接入点(AP)连接到一个主干分配系统(Distribution System,DS), 然后再接入另一个基本服务
集,构成扩展的服务集(Extended Service Set, ESS), 扩展服务集(ESS)还可通过称为门桥(Portal) 的设备为无线用户提供到非802.11 无线局
域网(如到.有线连接的因特网)的接入。门桥的作用相当于-一个网桥。基本服务集和扩展服务集如图所示。
移动站A从某个基本服务集漫游到另一个基本服务集时,仍然能保持与另-一个移动站B进行通信。
无固定基础设施无线局域网的自组织网络
3.7 广域网
3.7.1 PPP协议&HDLC协议
3.7.1.1 广域网
广域网与局域网的区别与联系
3.7.1.2 PPP协议
简介
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
只支持全双工链路。
PPP协议应满足的要求
PPP协议无需满足的要求
纠错、流量控制、序号、不支持多点线路
PPP协议的三个组成部分
PPP协议的状态图
PPP协议的帧格式
3.7.1.3 HDLC协议
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、 面向比特的数据链路层协议,它是由国
际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.
数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现,采用全双工通信
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
HDLC 的站
HDLC的帧格式
两种协议的异同
3.8 数据链路层设备
3.8.1 网桥
首先我们了解一下冲突域和广播域
基本概念
两个或多个以太网通过网桥
连接后,就成为一个覆盖范围更大的以太网
,而原来的每个以太网就称为一个网段
。
网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。
如果把网桥换成工作在物理层的转发器,那么就没有这种过滤通信量的功能。
由于各网段相对独立,因此一个网段的故障不会影响到另一个网段的运行。
注意:网桥处理数据的对象是帧,所以它是工作在数据链路层的设备,中继器、放大器处理数据的对象是信号,所以它是工作在物理
层的设备。
网桥信息处理方式
网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检查数据帧中的地址,如果是网络2的地址,那么就转发给网络2;如果是网
络1的地址,那么就将其丢弃,因为源站和目的站处在同-一个网段,目的站能够直接收到这个帧而不需要借助网桥转发。
网桥的吞吐量举例
如图所示,设每个网段的数据率都是10Mb/s,那么三个网段合起来的最大吞吐量就变成了30Mb/s。如果把两个网桥换成集线器或转发
器,那么整个网络仍然是—个碰撞域(即冲突域),当A和B通信时,所有其他站点都不能通信,整个碰撞域的最大吞吐量仍然是10Mb/s。
基本特点
-
网桥必须具备寻址和路径选择能力,以确定帧的传输方向;
-
从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧;
-
网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换。注意,一般情况下,存储转发类设备都能进行
协议转换,即连接的两个网段可以使用不同的协议;
-
网桥对接收到的帧不做任何修改,或只对帧的封装格式做很少的修改;
-
网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另-种协议的信息部分封装在帧中;
-
网桥应有足够大的缓冲空间,因为在短时间内帧的到达速率可能高于转发速率。
优缺点
优点:
- 能过滤通信量;
- 扩大了物理范围;
- 可使用不同的物理层;
- 可互联不同类型的局域网;
- 提高了可靠性;
- 性能得到改善。
缺点:
- 增大了时延;
- MAC子层没有流量控制功能(流量控制需要用到编号机制,编号机制的实现在LLC子层);
- 不同MAC子层的网段桥接在一起时,需要进行帧格式的转换;
- 网桥只适合于用户数不多和通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴。
网桥必须具有路径选择的功能,接收到帧后,要决定正确的路径,将该帧转送到相应的目的局域网站点。根据路径选择算法的不同,
可将网桥分为
透明网桥和源路由网桥
。
透明网桥
透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一-帧。
到达帧的路由选择过程取决于源LAN和目的LAN:
- 如果源LAN和目的LAN相同,那么丢弃该帧;
- 如果源LAN和目的LAN不同,那么转发该帧;
- 如果目的LAN未知,那么扩散该帧。
自学习算法:
当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。
该算法的基本思想是:
若从站A发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向一定可把一个帧传送到站A。
所以网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中的一个项目(源地址、进入的接口和时间)。
在建立转发表时,把帧首部中的源地址写在“地址”一栏的下面。
在转发帧时,则根据收到的帧首部中的目的地址来转发。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入端口
当作转发端口。网桥就是在这样的转发过程中逐渐将其转发表建立起来的。
源路由网桥(选择最佳路由)
在源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发。
源路由的生成过程是:
在未知路径前,源站要先发送一一个发现帧;途中的每个网桥都转发此帧,最终该发现帧可能从多个途径到达目的站;
目的站也将一一发送应答帧; 每个应答帧将通过原路径返回,途经的网桥把自己的标志记录在应答帧中;源站选择出一个最佳路由。
以后,凡从这个源站向该目的站发送的帧的首部,都必须携带这一路由信息。
3.8.2 交换机
基本概念
桥接器的主要限制是在任一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。
从本质上说,以太网交换机是一个多端口的网桥
,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的
带宽。
原理
以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,
若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
特点
两种交换模式