说明
- 博客作为笔记备份,不定时更新
- 参考内容为《计算机网络(第7版)》谢希仁 电子工业出版社;王道考研《计算机网络考研复习指导2023》
- 文中的例题摘自王道考研《计算机网络考研复习指导2023》,大多是我个人认为较为典型的题目以及错题的部分整理
文章目录
数据链路层的功能
- 数据链路层的主要作用是加强物理层传输原始比特流的功能
- 将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
1. 为网络层提供的服务
- 对网络层而言,数据链路层的任务就是将源机器中来自网络层的数据传输到目的机器的网络层
- 无确认的无连接服务
- 源机器发送数据帧时无需建立链路连接,目的机器收到数据后也无需发回确认
- 对于丢失的帧,数据链路层不负责重发,交给上层处理
- 适用于实时通信或误码率较低的通信信道,如以太网
- 有确认无连接服务
- 源机器发送数据帧时无需建立链路连接,目的机器收到数据后需要发回确认
- 源机器在规定时间内没有收到确认信息时,就重传丢失的帧,以提高传输的可靠性
- 适用于误码率较高的信道,如无线通信
- 有确认有连接服务
- 帧传输分为三阶段:建立数据链路、传输帧、释放数据链路
- 目的机器收到每帧数据都要发送确认,源机器收到确认后才能发送下一帧,因此该服务的可靠性最高
- 适用于通信要求(可靠性、实时性)较高的场合
- 注意:有连接就一定有确认,即不存在无确认的面向连接的服务
2. 链路管理
- 数据链路层连接的建立、维持、释放过程称为链路管理,主要用于面向连接的服务
- 链路两端的结点进行通信前,必须首先确认对方处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接
- 传输过程中要能够维持连接
- 传输完成后要释放连接
- 在多个站点共享同一物理信道的情况下(比如在局域网中),如何要求通信的站点间分配和管理信道也属于链路管理的范畴
3. 帧定界、帧同步、MTU、透明传输
3.1 帧定界
-
-
两个主机之间传输信息前,先要对网络层的分组封装成帧,将一段数据的前后分别添加首部和尾部,构成一帧
-
帧长等于数据部分的长度,加上首部和尾部的长度
-
首部和尾部中含有许多控制信息,首部和尾部的一个重要作用是进行帧定界
3.2 帧同步
- 帧同步是指接收方应能够从接收到的二进制比特流中区分出帧的起始与终止
3.3 MTU
- 为了提高帧的传输效率,应使帧的数据部分长度尽可能大于首部和尾部的长度。但每种数据链路层协议都规定了帧的数据部分的长度上限——最大传输单元MTU
3.4 透明传输
- 若在数据中恰好出现与帧定界符相同的比特组合,会误认为“传输结束”而丢弃后面的数据,因此需要采取措施解决该问题,即透明传输
- 透明传输是指,无论所传数据是怎样的比特组合,都应能在链路上传送
4. 流量控制
- 流量控制就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力
- 流量控制的过程需要某种反馈机制,使发送方知道接收方能否跟得上自己,即需要有一些规则使得发送方知道什么情况下发送下一帧,什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送
- 流量控制并非数据链路层特有的功能,许多高层协议中也提供此功能,只是控制的对象不同。对于数据链路层,控制的是相邻两结点之间数据链路层上的流量;对于运输层,控制的是从源端到目的端之间的流量
- 注:在OSI体系结构中,数据链路层具有流量控制功能,而在TCP/IP体系结构中,这一功能被移到了传输层
5. 差错控制
- 差错控制是用以使发送方确定接收方是否正确收到由其发送的数据
- 通常出现的错误有:位错和帧错
- 位错
- 帧中某些位出现了差错
- 通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(ARQ)方式来重传出错的帧
- 具体做法:让发送方将要发送的数据帧附加一定的CRC冗余检错码,一并发送,接收方根据检错码对数据帧进行错误检测,若发现错误就丢弃,发送方超时重传该数据帧。这种差错控制方法称为ARQ法,ARQ法只需返回很少的控制信息就能有效的确认所发数据帧是否被正确接收
- 帧错
- 帧丢失、重复、失序等错误
- 在数据链路层引入定时器和编号机制,能保证每一帧最终都能有且仅有一次正确交付给目的结点
- 位错
6. 例题
(
P
68
2
P_{68}\ 2
P68 2)数据链路层协议的功能不包括()
A. 定义数据格式
B. 提供结点之间的可靠传输
C. 控制对物理传输介质的访问
D. 为终端结点隐蔽物理传输的细节
解答:
- A. 数据链路层的组帧,就是定义数据格式,A正确
- B. 数据链路层在物理层提供的不可靠的物理连接上实现结点到结点的可靠性传输,B正确
- C. 数据链路层的介质访问控制(MAC)子层控制对物理传输介质的访问,C正确
- D. 数据链路层不必考虑物理层如何实现比特传输的细节,D错误
- 选D
错误原因:错选B
组帧
- 数据链路层之所以把比特组合封装成帧、以帧为单位传输,是为了在出错时只用重发出错的帧,而不必重发全部数据,从而提高效率
- 发送方依据一定的规则将网络层交付的分组封装成帧(称为组帧)
- 组帧主要解决帧定界、帧同步、透明传输的问题
- 组帧是个动词
1. 字符计数法
- 字符计数法是指在帧头部使用一个数字段来标明帧内字符数,目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可确定帧结束的位置(计数字段提供的字节数包含自身所占的一个字节)
- 存在问题:若计数字段出错,即失去了帧边界划分的依据,那么接收方就无法判断所传输帧的结束位和下一帧的开始位,收发双方失去同步,从而造成灾难性后果
2. 字符填充的首尾定界符法
-
字符填充法使用特定字符来定界一帧的开始与结束
-
为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可在特殊字符前填充一个转义字符(ESC) 来加以区分(注意,转义字符是ASCII码中的控制字符,而非E、S、C三个字符的组合)
-
若转义字符ESC也出现在数据中,则在转义字符前再插入一个转义字符
3. 零比特填充的首尾标志法
- 零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特
- 使用一个特定的比特模式,即01111110来标志一帧的开始和结束
- 发送方的数据链路层在信息位中遇到连续的5个1时,自动在其后边插入一个0;接收方的数据链路层在信息位中遇到连续5个1时,自动删除其后的0
- 零比特填充法很容易由硬件实现,性能优于字符填充法
4. 违规编码法
- 在物理层进行比特编码时,通常采用违规编码法。例如:曼彻斯特编码将比特“1”编码为“高-低”电平对,将比特“0”编码为“低-高”电平对,而“高-高”和“低-低”电平对在数据比特中是违规的(即没有采用),可采用这些违规编码序列来定界帧的起始和结束
- IEEE 802标准就采用了违规编码法
- 违规编码法不需要采用任何填充技术,便能实现数据传输的透明性,但它只适用于冗余编码的特殊编码环境
- 目前常用的组帧方法是:比特填充法和违规编码法
差错控制
- 通常利用编码技术进行差错控制:自动重传请求ARQ和前向纠错FEC
1. 检错编码
- 检错编码都采用冗余编码技术。
- 当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。
- 接收方根据收到的码字是否符合原来规则来判断是否出错
1.1 奇偶校验码
- 由n-1位信息元和1位校验元则称
- 若是奇校验码,则在附加一个校验元后,码长为n的码字中“1”的个数为奇数
- 若是偶校验码,则在附加一个校验元后,码长为n的码字中“1”的个数为偶数
- 只能检测奇数位的出错情况,但并不知道哪些位出错了,也不能发现偶数位的出错情况
1.2 循环冗余码
- 循环冗余码 CRC 又称 多项式码,任何一个由二进制数位串组成的代码,都可以与一个只含有0和1两个系数的多项式建立一一对应关系
- 一个k位帧可视为从 X k − 1 X^{k-1} Xk−1到 X 0 X^0 X0的k次多项式的系数序列
- 这个多项式的阶数为 k − 1 k-1 k−1,高位是 X k − 1 X^{k-1} Xk−1项的系数,下一位是 X k − 2 X^{k-2} Xk−2的系数,以此类推
- 例如:1110011有7位,表示成多项式为 X 6 + X 5 + X 4 + X + 1 X^6+X^5+X^4+X+1 X6+X5+X4+X+1,而多项式 X 6 + X 5 + X 4 + X + 1 X^6+X^5+X^4+X+1 X6+X5+X4+X+1对应的位串是1110011
- 运算过程
- 给定一个 m b i t m\ bit m bit的帧或报文,发送器生成一个 r b i t r\ bit r bit的序列,称为帧检验序列(FCS)
- 形成的帧将由 m + r m+r m+r位比特组成
- 发送方和接收方都事先商定一个多项式 G ( x ) G(x) G(x)(最高位和最低位必须为1),使这个带检验码的帧刚好能被预先确定的多项式 G ( x ) G(x) G(x)整除
- 接收方用相同的多项式去除收到的帧,如果没有余数,则认为无差错
- 假设一个帧有m位,其对应的多项式为
M
(
x
)
M(x)
M(x),则计算冗余码的过程为:
- 加0。假设G(x)的阶为r,在帧的低位端加上r个0
- 模2除。利用模2除法,用G(x)对应的数串去除(1)中计算出的数据串,得到的余数就是冗余码(共r位,前面的0不可以省略)
- 循环冗余码是有纠错功能的,只是数据链路层只用了它的检错功能,检测到帧出错就直接丢弃,是为了方便协议的实现
2. 纠错编码
3. 例题
(
P
74
1
P_{74}\ 1
P74 1)通过提高信噪比可以减弱其影响的差错是()
A. 随机差错
B. 突发差错
C. 数据丢失差错
D. 干扰差错
解答:
- 一般来说,数据的传输差错是由噪声引起的。通信信道的噪声可以分为:热噪声;冲击噪声
- 热噪声一般是信道固有的,引起的差错是随机差错,可以通过提高信噪比来降低它对数据传输的影响
- 冲击噪声一般是由外界电磁干扰引起的,引起的差错是突发差错,它是引起传输差错的主要原因,无法通过提高信噪比来避免
- 选A
错误原因:错选D,对信道的噪声这个知识点每掌握
流量控制和可靠传输机制
1. 流量控制、可靠传输与滑动窗口机制
- 流量控制的基本方式是由接收方控制发送方发送数据的速率,常见的方式有:停止-等待协议和滑动窗口协议
1.1 停止-等待流量控制基本原理
- 发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,若接收方不发送应答信号,则发送方必须一直等待
- 每次只允许发送一帧,然后就陷入等待接收方确认,因此传输效率低
1.2 滑动窗口流量控制基本原理
基本概念
- 发送窗口
- 在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口
- 发送窗口用来对发送方进行流量控制
- 发送窗口的大小 W T W_T WT代表在还未接收到对方确认信息的情况下,发送方最多还可以发送多少个数据帧
- 接收窗口
- 在任意时刻,接收方都维持一组连续的允许接收帧的序号,称为接收窗口
- 接收窗口控制可以接收哪些数据帧和不可以接收哪些帧
- 在接收方,只有收到的数据帧的序号落入接收窗口内,才允许将该数据帧收下;若接收到的数据帧落在接收窗口之外,则一律将其丢弃
工作原理
发送方
-
-
发送端每收到一个确认帧,发送窗口就向前滑动一个帧的位置
-
当发送窗口内没有可以发送的帧(即窗口内的帧全部是已发送但未收到确认的帧)时,发送方就会停止发送,直到收到接收方发送的确认帧使窗口移动,窗口内有可以发送的帧后,才开始继续发送
接收方
-
-
接收端收到数据帧后,将窗口向前移动一个位置,并发回确认帧,若收到的数据帧落在接收窗口之外,则一律丢弃
滑动窗口的重要特性
- 只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才可能(只有发送方收到确认帧后才一定)向前滑动
- 从滑动窗口的概念看,停止-等待协议、后退N帧协议、选择重传协议只在发送窗口大小与接收窗口大小上有所差异
- 停止-等待协议:发送窗口大小=1;接收窗口大小=1
- 后退N帧协议:发送窗口大小>1;接收窗口大小=1
- 选择重传协议:发送窗口大小>1;接收窗口大小>1
- 接收窗口的大小为1时,可保证帧的有序接收
- 数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(注意与传输层的滑动窗口协议的区别)
1.3 可靠传输机制
确认
- 数据链路层的可靠传输通常使用确认和超时重传两种机制来完成
- 确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收
- 有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认
重传
- 超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内,若没有得到发送的数据帧的确认帧,那就要重新发送该数据帧,直到发送成功为止
- 自动重传请求(ARQ)通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道带来的差错的方法之一
- 传统的自动重传请求
- 停止-等待协议(Stop-and-Wait)ARQ
- 后退N帧(Go-Back-N)ARQ
- 选择重发(Selective Repeat)ARQ
- 其中后退N帧ARQ和选择重传ARQ是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续的流动,因此又称其为连续ARQ协议
- 在数据链路层中,流量控制机制和可靠传输机制时是交织在一起的
- 注意:现有的实际有线网络的数据链路层很少采用可靠传输
2. 单帧滑动窗口与停止-等待协议
2.1 基本概念
- 在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到来之前,源站不能发送其他数据帧
- 从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小都等于1的滑动窗口协议
2.2 工作原理
![[Pasted image 20220729140544.png]]
到达目的站的数据帧损坏
- 若到达目的站的数据帧损坏,则接收站检查出来后,将该帧丢弃
- 源站装备了计时器,在一个帧发送后,源站等待确认,若在计时器计时满时仍没有收到确认,则再次发送相同的帧,如此重复直到该数据帧准确无误的到达为止
到达源站的确认帧损坏
- 若数据帧正确,而确认帧损坏,此时接收方收到正确的数据帧,但发送方收不到确认帧,因此会重发已被接收的数据帧,接收方收到重复的数据帧后会丢弃该帧,并重传一个该帧对应的确认帧
- 发送的帧交替的用0和1来标识,确认帧分别用ACK0和ACK1来表示,收到的确认帧有误时,重传已发送的帧。(对于停止-等待协议,由于每发送一个数据帧就要停止并等待,因此用1bit编号就已足够)
- 在停止-等待协议中,若连续出现相同发送序号的数据帧,表明发送端进行了超时重传;连续出现相同序号的确认帧时,表明接收端收到了重复帧
说明
- 为了超时重传和判定重复帧的需要,发送方和接收方都需要设置一个帧缓冲区
- 发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错的时候进行重传
- 只有在收到对方发来的确认帧ACK时,才能清除此副本
- 停止-等待协议的通信信道利用率很低
3. 多帧滑动窗口与后退N帧协议(GBN)
3.1 基本概念
- 在后退N帧ARQ协议中,发送方可以连续发送帧
- 接收方在检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则认为该帧出错或丢失,此时发送方重传该出错帧及其随后的N个帧
- 也就是说,接收方只允许按顺序接收帧
3.2 工作原理
- 源站可以发送连续的帧,每发送完一帧后就要为其设置超时计时器
- 由于连续发送了很多帧,所以确认帧必须要指明是对哪一帧进行确认
- 为了减少开销,GBN规定可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发送确认信息;或可在自己有数据要发送时才将对以前正确接收到的帧加以捎带确认
- 对某一数据帧的确认就表明,该数据帧及其此前所有帧均已正确无误收到
- 在图3.10中,虽然在有差错的2号帧之后又收到了6个正确的数据帧,但接收端必须将这些帧丢弃。接收端虽丢弃了这些不按序的无差错帧,但应重复发送已发送的最后一个确认帧ACK1(为了防止已发送的确认帧ACK1丢失)
- 后退N帧协议的接收窗口为1,可以保证按需序接收数据帧。若采用n比特对帧编号,则其发送窗口的尺寸 W T W_T WT应满足 1 ≤ W T ≤ 2 n − 1 1\le W_T\le 2^n-1 1≤WT≤2n−1,若发送窗口的尺寸大于 2 n − 1 2^n-1 2n−1则会造成接收方无法分辨新帧和旧帧
3.3 说明
- 后退N帧协议一方面因连续发送数据帧而提高了信道利用率,另一方面在重传时又必须把原来已传送正确的数据帧进行重传,这种做法又使得传送效率降低
- 若信道传输质量很差导致误码率较高时,后退N帧协议不一定优于停止-等待协议
4. 多帧滑动窗口与选择重传协议(SR)
4.1 基本概念
- 在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的数据帧就会重传
- 接收方一旦怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传
4.2 工作原理
- 选择重传协议的接收窗口的尺寸 W R W_R WR和发送方的发送窗口尺寸 W T W_T WT都大于1,一次可以发送或接收多个帧
- 在选择重传协议中,接收窗口和发送窗口的大小是相同的,且最大值都为序号范围的一半,若采用n比特对帧编号,则需满足
W
T
m
a
x
=
W
R
m
a
x
=
2
n
−
1
W_{Tmax}=W_{Rmax}=2^{n-1}
WTmax=WRmax=2n−1
- 选择重传协议是对单帧进行确认,所以发送窗口大于接收窗口会导致溢出,发送窗口小于接收窗口没有意义
- 若不满足窗口大小的条件,即窗口大小大于序号范围一半,当一个或多个确认帧丢失时,发送方就会超时重传之前的数据帧,但接收方无法分辨是新的数据帧还是重传的数据帧
- 选择重传协议可以避免重复传送那些本已经正确到达接收端的数据帧,但在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧
- 信道效率( P 80 P_{80} P80)
介质访问控制基本概念
- 介质访问控制要完成的主要任务是:为使用介质的每个结点隔离来自同一信道的其他结点所传送的信号,以协调活动结点的传输
- 用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(Medium Access Control, MAC)子层
- 常见的介质访问控制方法
- 信道划分介质访问控制(静态分配信道)
- 随机访问介质访问控制(动态分配信道)
- 轮询访问介质访问控制(动态分配信道)
信道划分介质访问控制
1. 多路复用技术简介
- 当传输介质的带宽超过传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,即多路复用,也是实现信道划分介质访问控制的途径
- 多路复用技术将多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高了信道利用率
- 信道划分的实质就是通过分时、分频、分码等方法将原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道变为点对点信道
2. 频分多路复用 FDM
- 将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术
- 在物理信道的可用带宽超过单个原始信号所需带宽的情况下,可将该物理信道的总带宽分割成若干与传输单个信号带宽相同的子信道,每个子信道传输一种信号
- 每个子信道分配的带宽可以不同,但它们的总和必须不超过信道的总带宽。在实际应用中,为防止子信道之间的干扰,相邻信道之间需加入“保护频带”
- 优点:充分利用了传输介质的带宽,系统效率较高;由于技术较成熟,实现也较为容易
- 在全部时间内占用部分带宽
3. 时分多路复用 TDM
- 将一条物理信道按时间分成若干时间片,轮流的分配给多个信号使用,每个时间片由复用的一个信号占用
- 就某个时刻来看,时分多路复用信道上传送的仅是某一对设备之间的信号;就一段时间而言,传送的是按时间分割的多路复用信号
- 由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高
- 在部分时间内使用所有的频带
- 统计时分多路复用 STDM
-
-
采用STDM帧,STDM帧并不固定分配时隙,而是按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率
-
例如,线路传输速率为8000b/s,4个用户的平均速率都是2000b/s,当采用TDM方式时,每个用户的最高速率为2000b/s,而采用STDM时,每个用户的最高速率为8000b/s
-
4. 波分多路复用 WDM
- 光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
- 由于光波处于频谱的高频段,有很高的带宽,因而可以实现多路的波分复用
5. 码分多路复用 CDM
5.1 基本原理
- 采用不同的编码来区分各路原始信号的一种复用方式,与FDM和TDM不同,它既共享信道的频率,又共享时间
- 更常用的名词是码分多址(Code Division Multiple Access, CDMA),其原理是,每个比特时间再划分为m个短的时间槽,称为码片 Chip,通常m的取值为64或128
- 发送1时,站点发送它的码片序列;发送0时,站点发送该码片序列的反码
- 当两个或多个站点同时发送时,各路数据在信道中线性相加
- 为从信道中分离出各路信号,要求各个站点的码片序列相互正交
5.2 举例理解
-
假设m取8
-
假设站点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的规格化内积为0: S ⋅ T = 1 m ∑ i = 1 m S i T i = 0 S\cdot T=\frac{1}{m}\sum_{i=1}^{m}S_iT_i=0 S⋅T=m1∑i=1mSiTi=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 = ( 00 − 220 − 202 ) S-T=(0 0 -2 2 0 -2 0 2) S−T=(00−220−202)
- 到达C站后,进行数据分离,若想得到来自A的数据,C就必须知道A的码片序列,上S与S-T进行规格化内积。
- 根据叠加原理,其他站点的信号都在内积的结果中被过滤掉了,内积的相关项都是0,只剩下A发送的信号。得到: S ⋅ ( S − T ) = 1 S\cdot (S-T)=1 S⋅(S−T)=1,所以A发送的数据是1,;同理,若要得到B发送的数据,那么 T ⋅ ( S − T ) = − 1 T\cdot(S-T)=-1 T⋅(S−T)=−1,因此从B发送来的信号向量是一个反码向量,代表0
-
优点:频谱利用率高、抗干扰能力强、保密性强、语音质量好,还可以减少投资和降低运行成本,主要用于无线通信系统,特别是移动通信系统
随机访问介质访问控制
1. 基本概念
- 在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机发送信息,占用信道全部速率
- 在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突(碰撞),导致所有冲突用户的发送均以失败告终
- 为解决随机接入发生的碰撞,每个用户需要按照一定的规则反复的重传它的帧,直至该帧无碰撞的通过
- 常用的协议有:ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议,它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议
- 采用随机访问控制机制,各结点之间的通信就可既不共享时间,也不共享空间。所以随机介质访问控制实质上是一种将广播信道转化为点到点信道的行为
2. ALOHA协议 Additive Link On-line HAwaii system
2.1 纯ALOHA协议
基本思想
- 当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据
- 若在一段时间内没有收到确认,则该站点就认为传输过程中发生了冲突
- 发送站点需要等待一段时间后再发送数据,直至发送成功
工作原理
网络的吞吐量
- 假设网络负载( T 0 T_0 T0时间内所有站点发送成功的和未成功而重传的帧数)为G,则纯ALOHA网络的吞吐量( T 0 T_0 T0时间内成功发送的平均帧数)为 S = G e − 2 G S=Ge^{-2G} S=Ge−2G
- 当G=0.5时,S约为0.184,这是吞吐量S可能达到的极大值,可见纯ALOHA网络的吞吐量很低
2.2 时隙ALOHA协议
基本思想
- 时隙ALOHA协议把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧。这样就避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道利用率
工作原理
-
-
时隙的长度 T 0 T_0 T0使得每个帧正好在一个时隙内发送完毕
-
每个帧在到达后,一般都要在缓存中等待一段小于 T 0 T_0 T0的时间,然后才能发送出去
-
在一个时隙内有两个或两个以上的帧到达时,在下一个时隙将产生碰撞,碰撞后重传的策略与纯ALOHA的情况是相似的
网络的吞吐量
- 时隙ALOHA网络的吞吐量S与网络负载G的关系是 S = G e − G S=Ge^{-G} S=Ge−G
- 当G=1时,S约为0.368,这是吞吐量S可能达到的最大值,可见时隙ALOHA网络比纯ALOHA网络的吞吐量大一倍
3. CSMA协议
3.1 基本思想
- 在发送前侦听信道,若信道空闲再发送
- 载波侦听多路访问(Carrier Sense Multiple Access, CSMA)协议就采用了侦听信道的思想,比ALOHA协议多了一个载波侦听装置
3.2 1-坚持CSMA
- 基本思想:一个结点要发送数据时,首先侦听信道,若信道空闲,则立即发送数据;若信道忙,则等待,同时继续侦听直至信道空闲;若发生冲突,则随机等待一段时间后,再重新开始侦听信道
- 1-坚持的含义:侦听到信道忙后,继续坚持侦听信道;侦听到信道空闲后,发送帧的概率为1,即立即发送数据
- 传播延迟对1-坚持CSMA协议影响较大
3.3 非坚持CSMA
- 基本思想:一个结点要发送数据时,先侦听信道,若信道空闲,则立即发送数据;若信道忙,则放弃侦听,等待一个随机的时间后再重复上述过程
- 非坚持CSMA协议在侦听到信道忙以后就放弃侦听,因此降低了多个结点等待信道空闲后同时发送数据导致冲突的概率,但也会增加数据在网络中的平均延迟。可见,信道利用率的提高是以增加数据在网络中的延迟时间为代价的
3.4 p-坚持CSMA
- 用于分时信道
- 基本思想:一个结点要发送数据时,先侦听信道,若信道忙,就持续侦听,直至信道空闲;若信道空闲,则以概率p发送数据,以概率1-p推迟到下一个时隙;若在下一个时隙信道仍然空闲,则仍然以概率p发送数据,以概率1-p推迟到下一个时隙;这个过程一直持续到数据发送成功或因其他结点发送数据而检测到信道忙为止,若是后者,则等待下一个时隙再重新开始侦听
- p-坚持CSMA在检测到信道空闲后,以概率p发送数据,以概率1-p推迟到下一个时隙,目的是降低1-坚持CSMA协议中多个结点检测到信道空闲后同时发送数据造成的冲突的概率
- 采用侦听的目的是:试图克服非坚持CSMA协议中由于随机等待而造成的延迟时间较长的缺点
3.5 比较
信道侦听 | 1-坚持 | 非坚持 | p-坚持 |
---|---|---|---|
空闲 | 立即发送数据 | 立即发送数据 | 以概率p发送数据,以概率1-p推迟到下一个时隙 |
忙 | 继续坚持侦听 | 放弃侦听,等待一个随机事件后再侦听 | 持续侦听,直至信道空闲 |
4. CSMA/CD协议
4.1 基本概念
- 载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD)
- 适用于总线形网络或半双工网络环境
- 碰撞检测:边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据
4.2 工作流程
- 可概括:先听后发,边听边发,冲突停发,随机重发
- 适配器从网络层获得一个分组,封装成以太网帧,放入适配器的缓存,准备发送
- 若适配器侦听到信道空闲,则它开始发送该帧;若适配器侦听到信道忙,则它持续侦听直至信道上没有信号能量,然后开始发送该帧
- 在发送过程中,适配器持续检测信道。若一直没有检测到碰撞,则顺利地把这个帧发送完毕;若检测到碰撞,则中止数据发送,并发送一个拥塞信号,以让所有用户都知道
- 在中止发送后,适配器就执行指数退避算法,等待一段随机事件后返回到步骤2
4.3 争用期、最小帧长
传播时延对载波侦听的影响
争用期
- 由上图可知,A在发送帧后至多经过时间 2 τ 2\tau 2τ(端到端传播时延的2倍)就能知道所发送的帧有没有发生碰撞(当 δ → 0 \delta \rightarrow 0 δ→0时),因此将以太网端到端往返时间 2 τ 2\tau 2τ称为争用期(又称 冲突窗口 或 碰撞窗口)
- 每个站在自己发送数据之后的一小段时间内,存在发生碰撞的可能性,只有经过争用期这段时间还未检测到碰撞时,才能确定这次发送不会发生碰撞
最小帧长
- 为确保发送站在发送数据的同时能检测到可能存在的碰撞,需要在发送完帧之后就能收到自己发送出去的数据,即帧的传输时延至少要小于两倍信号在总线中的传播时延,因此CSMA/CD总线网中的所有数据帧都必须要大于一个最小帧长
- 任何站点收到小于最小帧长的帧时,就将其当做无效帧丢弃
- 最小帧长计算公式: 最小帧长 = 总线传播时延 × 数据传输速率 × 2 最小帧长=总线传播时延\times 数据传输速率\times 2 最小帧长=总线传播时延×数据传输速率×2
- 理解
- 例如,以太网规定取 51.2 μ s 51.2\mu s 51.2μs为争用期的长度
- 对于10Mb/s的以太网,在争用期内可发送512bit,即64B
- 在以太网发送数据时,若前64B没有发生冲突,则后续数据也不会发生冲突(表示已成功抢占信道),也就是说,若发生冲突,那就一定在前64B
- 由于一旦检测到冲突就立即停止发送,因此这时发送出去的数据一定小于64B。因此,以太网规定最短帧长为64B,凡是长度小于64B的帧都是由于冲突而异常中止的无效帧
- 若要发送小于64B的帧,要在MAC子层中于数据字段后加入一个整数字节的填充字段,以保证以太网的MAC帧的长度不小于64B
4.4 二进制指数退避算法
- 用来解决碰撞问题
- 算法
- 确定基本退避时间,一般取两倍的总线端到端传播时延 2 τ 2\tau 2τ(即争用期)
- 定义参数k,它等于重传次数,但k不超过10,即 k = m i n [ 重传次数 , 10 ] k=min[重传次数,10] k=min[重传次数,10]
- 从离散的整数集合 { 0 , 1 , ⋯ , 2 k − 1 } \{0,1,\cdots,2^k-1\} {0,1,⋯,2k−1}中随机选取一个数r,重传所需要退避的时间就是r倍基本退避时间,即 2 r τ 2r\tau 2rτ
- 当重传达到16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错
- 举例
- 假设一个适配器首次试图传输一帧,当传输时,它检测到碰撞
- 第1次重传时,k=1,随机数r从整数 { 0 , 1 } \{0,1\} {0,1}中选择,因此适配器可选的重传推迟时间是0或 2 τ 2\tau 2τ
- 若再次发送碰撞,则在第2次重传时,随机数r在 { 0 , 1 , 2 , 3 } \{0,1,2,3\} {0,1,2,3}中选择,因此重传的推迟时间是在 0 , 2 τ , 4 τ , 6 τ 0,2\tau,4\tau,6\tau 0,2τ,4τ,6τ这四个时间中随机选择一个,以此类推
- 使用截断二进制指数退避算法可以使重传需要推迟的平均时间随重传次数的增大而增大(也称动态退避),因而能降低发生碰撞的概率,有利于整个系统的稳定
5. CSMA/CA协议
5.1 基本概念
引入
- CSMA/CD协议用于无线局域网时存在的问题
- 无线局域网中,接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大,因此若要实现碰撞检测,则硬件上的花费就会很大
- 在无线通信中,并非所有的站点都能听到对方,即存在“隐蔽站”的问题
- 802.11标准定义了广泛应用于无线局域网的CSMA/CA协议,将CSMA/CD协议中的碰撞检测改为了碰撞避免(Collision Adviodance, CA)
- 碰撞避免并不是指协议可以完全避免问题,而是指协议的设计要尽量降低碰撞发生的概率
帧间间隔 IFS
- 由于无线信道的通信质量远不如有线信道,802.11使用链路层确认/重传(ARQ)方案,即站点每通过无线局域网发送完一帧,就要在收到对方的确认帧后才能发送下一帧
- 为避免碰撞,802.11规定,所有的站完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间称为帧间间隔(InterFrame Space, IFS),IFS的长短取决于该站要发送的帧的类型
- 802.11使用了3中IFS:
- SIFS(短IFS):最短的IFS,用来分隔属于一次对话的各帧,使用SIFS的帧类型由ACK帧、CTS帧、分片后的数据帧,以及所有回答AP探询的帧等
- PIFS(点协调IFS):中等长度的IFS,在PCF操作中使用
- DIFS(分布式协调IFS):最长的IFS,用于异步帧竞争访问的时延
5.2 工作原路
退避算法的使用
- CSMA/CA的退避算法与CSMA/CD的稍有不同,信道从忙态变为空闲态时,任何一个站要发送数据帧,不仅都要等待一个时间间隔,而且要进入争用窗口,计算随机退避时间以便再次试图进入信道,因此降低了碰撞发生的概率
- 当且仅当检测到信道空闲且这个数据帧是要发送的第一个数据帧时,才不使用退避算法,其他情况都要使用退避算法,具体为:
- 在发送第一个帧前检测到信道忙;
- 每次重传;
- 每次成功发送后要发送下一帧
CSMA/CA算法
- 若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧
- 否则,站点执行CSMA/CA退避算法,选取一个随机回退值。一旦检测到信道空闲,退避计时器就保持不变;只要信道空闲,退避计时器就进行倒计时
- 当退避计时器减到0时(这时信道只可能是空闲的),站点就发送整个帧并等待确认
- 发送站若收到确认,就知道已发送的帧被目的站正确接收。这时若要发送第二帧,就要从步骤2开始
- 注:若发送站在规定时间内没有收到确认帧ACK(由重传计时器控制),就必须重传该帧,再次使用CSMA/CA协议争用该信道,直至收到确认,或经过若干次重传失败后放弃发送
处理隐蔽站问题:RTS和CTS
- 隐蔽站问题
- 为避免隐蔽站的问题,802.11允许发送站对信道进行预约
- 源站要发送数据帧之前先广播一个很短的请求发送RTS(Request To Send)控制帧,它包括源地址、目的地址和这次通信(含相应的确认帧)所持续的时间,该帧能被其范围内包括AP在内的所有站点听到
- 若信道空闲,在AP广播一个允许发送CTS(Clear To Send)控制帧,它包括这次通信所需的持续时间(从RTS帧复制),该帧也能被其范围内包括A和B在内的所有站点听到。B和其他站点听到CTS后,在CTS帧中指明的时间内将抑制发送(参考资料书 P 98 图 3.24 P_{98}图3.24 P98图3.24)。CTS帧有两个目的:(1)给源站明确的发送许可;(2)指示其他站点在预约期内不要发送
- 使用RTS和CTS帧会使网络的通信效率有所下降,但这两种帧都很短,与数据帧相比开销并不大。若不使用这种控制帧,一旦发生碰撞而导致数据帧重发,则浪费的时间更多
- 信道预约并非强制性规定,各个站可以自己决定使用或不使用信道预约
- 只有当数据帧长度超过某一数值时,使用RTS和CTS帧才比较有利
CSMA/CA与CSMA/CD的区别
比较内容 | CSMA/CD | CSMA/CA |
---|---|---|
冲突检测 | 可以检测冲突,但无法避免 | 发送数据的同时不能检测信道上有无冲突,本结点处没有冲突并不意味着在接收结点处也没有冲突,只能尽量避免 |
传输介质 | 用于总线形以太网 | 用于无线局域网802.11a/b/g/n等 |
检测方式 | 通过电缆中的电压变化来检测 | 采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式 |
- CSMA/CA协议的基本思想是在发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞
- CSMA/CD协议的基本思想是发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送
轮询访问:令牌传递协议
1. 基本概念
- 在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道的分配
- 当某结点使用信道时,其他结点都不能使用信达
- 典型的轮询访问介质访问控制协议就是:令牌传递协议,它主要用于令牌环局域网中
2. 工作原理
- 在令牌传递协议中,一个令牌(Token)沿着环形总线在各结点计算机间依次传递
- 令牌是一个特殊的MAC控制帧,它本身不包含信息,仅控制信道的使用,确保同一时刻只有一个站点占用信道
- 当环上的一个站点希望传送帧时,必须等待令牌。一旦收到令牌,站点便可自动启动发送帧,帧中包括目的站点地址,以标识哪个站点应接收此帧。站点只有在取得令牌之后才能发送数据帧,因此令牌环网不会发生碰撞
- 站点在发送完一帧后,应释放令牌,以便让其他站点使用
- 由于令牌在网络上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的
3. 令牌环网
- 令牌环网中令牌和数据的传递过程:
- 网络空闲时,环路中只有令牌帧在循环传递
- 令牌传递到有数据要发送的站点时,该站点就修改令牌中的一个标志位,并在令牌中附加自己所要传输的数据,将令牌变为一个数据帧,然后将这个数据帧发送出去
- 数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。若目的地址和自己的地址相同,就复制该数据帧以便进一步处理
- 数据帧沿着环路传输,直到到达该帧的源站点,源站点收到自己发出去的帧后便不再转发。同时,通过检验返回的帧来查看数据传输过程是否出错,若有错则重发
- 源站点传送完数据后,重新产生一个令牌,并传递给下一个站点,以交出信道控制权
- 在令牌传递网络中,传输介质的物理拓扑不必是一个环,但为了把对介质访问的许可从一个设备传递到另一个设备,令牌在设备间的传递通路逻辑上必须是一个环
4. 补充说明
- 轮询介质访问控制非常适合负载很高的广播信道,负载很高的广播信道,是指多个结点在同一时刻发送数据概率很大的信道。若这样的广播信道采用随机介质访问控制,则发生冲突的概率将会很大,若采用轮询介质访问控制则可以很好的满足各个结点间的通信需求
- 轮询介质访问控制既不共享时间,也不共享空间,它实际是在随机介质访问控制的基础上,限定了有权利发送数据的结点只能有一个
- 即使是广播信道也可通过介质访问控制机制使广播信道逻辑上变为点对点的信道,所以说数据链路层研究的是“点到点”的通信
局域网的基本概念和体系结构
1. 局域网的概念和主要特点
- 局域网(Local Area Network , LAN)是指在一个较小的地理范围内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质相互连接起来,组成资源和信息共享的计算机互联网络
- 主要特点:
- 为一个单位所有,且地理范围和站点数目有限
- 所有站点共享较高的总带宽,即较高的数据传输速率
- 较低的时延和较低的误码率
- 各站为平等关系而非主从关系
- 能进行广播和组播
- 局域网的特征主要由三个主要因素决定:拓扑结构、传输介质、介质访问控制方式。其中最重要的是介质访问控制方式,它决定着局域网 的技术特性
2. 局域网拓扑结构及其实现
- 常见的局域网拓扑结构:星形结构;环形结构;总线形结构;星形和总线形结合的复合型结构
- 局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流的传输介质
- 局域网的介质访问控制方式主要有CSMA/CD、令牌总线和令牌环,其中CSMA/CD和令牌总线主要用于总线形局域网;令牌环主要用于环形局域网
- 局域网拓扑实现
- 以太网(目前使用范围最广的局域网):逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结果
- 令牌环(Token Ring, IEEE 802.8):逻辑拓扑是环形结构,物理拓扑是星形结构
- FDDI(光纤分布数字接口,IEEE 802.8):逻辑拓扑是环形结构,物理拓扑是星形结构
3.
-
IEEE 802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分成两个子层:逻辑链路控制(LLC)子层; 媒体接入控制(MAC)子层
-
MAC子层
- 与接入传输媒体有关的内容都放在MAC子层
- 它向上屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口
- 主要功能:组帧和拆卸帧、比特传输差错检测、透明传输
-
LLC子层
- 与传输媒体无关,它向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4中不同的连接服务类型
- 由于以太网在局域网市场中处于垄断低位,802制定的LLC子层作用已经不大,因此现在许多网卡仅装有MAC协议而没有LLC协议
-
注意:局域网的各类协议和广域网的各类协议要重点记忆
以太网和IEEE 802.3
1. 基本概念
- IEEE 802.3标准是一种基带总线形的局域网标准,它描述物理层和数据链路层的MAC子层的实现方法
- 严格来说,以太网是指符合DIX Ethernet V2标准的局域网,但DIX Ethernet V2标准与IEEE 802.3标准只有很小的差别,因此通常将802.3局域网简称为以太网
- 以太网逻辑上采用总线形拓扑结构,为保证通信的方便性和可靠性,以太网简化了通信流程并使用了CSMA/CD方式对总线进行访问控制
- 以太网简化通信的举措
- 采用无连接的工作方式,不对发送的数据帧编号,也不要求接收方发送确认。即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成
- 发送的数据都使用曼彻斯特编码的信号,每个码元中间出现一次电压转换,接收端利用这种电压转换方便地把位同步信号提取出来
2. 以太网的传输介质与网卡
2.1 传输介质
- 以太网常用的传输介质有:粗缆、细缆、双绞线、光纤
-tx-
参数 | 10BASE5 | 10BASE2 | 10BASE-T | 10BASE-FL |
---|---|---|---|---|
传输媒体 | 基带同轴电缆(粗缆) | 基带同轴电缆(细缆) | 非屏蔽双绞线 | 光纤对(850nm) |
编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 |
拓扑结构 | 总线形 | 总线形 | 星形 | 点对点 |
最大段长 | 500m | 185m | 100m | 2000m |
最多结点数目 | 100 | 30 | 2 | 2 |
[各种传输介质的适用情况] |
- 注意:10BASE-T非屏蔽双绞线以太网拓扑结构为星形网,星形网中心为集线器,但使用集线器的以太网在逻辑上仍然是一个总线形网,属于一个冲突域
2.2 网卡
- 计算机与外界局域网的连接是通过主机箱内插入的一块网络接口板(又称网络适配器 Adapter或网络接口卡 Network Interface Card, NIC)实现的
- 网卡上装有处理器和存储器,是工作在数据链路层的网络组件
- 网卡和局域网的通信是通过电缆或双绞线以串行的方式进行的,网卡和计算机的通信则是通过计算机主板上的I/O总线以并行的方式进行的,因此,网卡的重要功能是进行数据串并转换
- 网卡不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送和接收、帧的封装和拆封、介质访问控制、数据的编码和阶码以及数据缓存功能等
- 全世界的每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址,MAC地址用于控制主机在网络上的数据通信
- 数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址
- 网卡控制着主机对介质的访问,因此网卡也工作在物理层,因为它只关注比特,而不关注任何地址信息和高层协议信息
3. 以太网的MAC帧
3.1 基本概念
- 每块网卡中的MAC地址又称物理地址。MAC地址有6字节,一般用连字符或冒号分隔的12个十六进制数表示。高24位为厂商代码,低24位为厂商自行分配的网卡序列号
- 由于总线上使用的是广播通信,网卡从网络上没收到一个MAC帧,首先要硬件检查MAC帧中的MAC地址,若是发往本站的帧则收下
3.2 以太网V2标准的MAC帧格式
- 前导码:使接收端与发送端时钟同步。在帧前插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息就是MAC帧
- 注意:MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙,接收端只要找到帧开始定界符,其后连续到达的比特流就都属于同一个MAC帧
- 但是,以太网MAC帧是需要尾部的,在数据链路层上,帧既要加首部,也要加尾部
- 地址:通常使用6字节地址(MAC地址)
- 类型:2字节,指出数据域中携带的数据应交给哪个协议实体处理
- 数据:46~1500字节,包含高层的协议消息。由于CSMA/CD协议的限制,以太网帧最小长度必须为64字节,小于64字节时要加以填充
- 填充:0~46字节,当帧长太短时填充帧,使之达到64字节
- 校验码(FCS):4字节,校验范围从目的地址段到数据段末尾,算法采用32位循环冗余码(CRC),不但需要检验MAC帧的数据部分,还需要检验目的地址、源地址、类型字段,但不检验前导码
- 说明:802.3帧格式与DIX以太帧格式的不同之处在于用长度域替代了DIX帧中的类型域,指出数据域的长度。在实践中,前述长度/类型两种机制可以并存,由于IEEE 802.3数据段的最大字节数是1500,所以长度段的最大值是1500,因此从1501到65535的值可以用于类型段标识符
4. 高速以太网
- 速率达到或超过100Mb/s的以太网称为高速以太网
100BASE-T以太网
- 是在双绞线上传送100Mb/s基带信号的星形拓扑结构以太网,它使用CSMA/CD协议
- 支持全双工方式,又支持半双工方式,可在全双工方式下工作而没有冲突发生。因此,全双工方式下不使用CSMA/CD协议
- MAC帧格式仍是802.3标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m,帧间时间间隔从原来的 9.6 μ s 9.6\mu s 9.6μs变为现在的 0.96 μ s 0.96\mu s 0.96μs
吉比特以太网
- 吉比特以太网又称千兆以太网,允许在1Gb/s速率下用全双工和半双工两种方式工作
- 使用802.3协议规定的帧格式
- 在半双工方式下使用CSMA/CD协议,全双工方式下不需要使用CSMA/CD协议
- 与10BASE-T和100BASE-T技术向后兼容
10吉比特以太网
- 10吉比特以太网与10Mb/s、100Mb/s和1Gb/s以太网帧格式完全不同
- 10吉比特以太网保留了802.3标准规定的以太网最小和最大帧长,便于升级
- 10吉比特以太网不再使用铜线而只使用了光纤作为传输媒介
- 10吉比特以太网只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议
- 以太网的演进,说明了以太网是可扩展的、灵活的、易于安装、稳健性好
IEEE 802.11无线局域网
1. 无线局域网的组成
1.1 有固定基础设施无线局域网
基本概念
- 对于有固定基础设施的无线局域网,IEEE制定了无线局域网的802.11系列协议标准,包括802.11a/b/g/n等
- 802.11使用星形拓扑,其中心称为接入点(Access Point, AP),在MAC层使用CSMA/CA协议
- 使用802.11系列协议的局域网又称为Wi-Fi
基本服务集BSS
- 802.11标准规定无线局域网的最小构件是基本服务集BSS(Basic Service Set, BSS)
- 一个基本服务集包括一个接入点和若干移动站
- 各站在本BSS内之间的通信,或与本BSS外部站的通信,都必须通过本BSS的AP
- AP是基本服务集中的基站(base station)
- 安装AP时,必须为该AP分配一个不超过32字节的服务集标识符(Service Set IDentifier, SSID)和一个信道。SSID是指使用该AP的无线局域网的名字
- 一个基本服务集覆盖的地理范围称为一个基本服务区(Basic Service Area, BSA),无线局域网的基本服务区的范围直径一般不超过100m
扩展的服务集ESS
- 一个基本服务集可以是孤立的,也可以通过AP连接到一个分配系统(Distribution System, DS),然后再连接到另一个基本服务集,就构成了一个拓展的服务集(Extended Service Set, ESS)
- 分配系统的作用就是使扩展的服务集对上层的表现就像一个基本服务集一样
- ESS还可以通过一种称为Portal(门户)的设备为无线用户提供到有线连接的以太网的接入。门户的作用相当于一个网桥
- 资料书 P 112 P_{112} P112例子
1.2 无固定基础设施移动自组织网络
- 无固定基础设施移动自组织的无线局域网,又称自组网络(ad hoc network)
- 自组网络没有上述基本服务集中的AP,而是由一些平等状态的移动站相互通信组成的临时网络。各结点之间平等,中间结点都为转发结点,因此都具有路由器的功能
- 自组网络通常是这样构成的:
- 一些可移动设备发现在它们附近还有其他的可移动设备,并要求和其他移动设备进行通信
- 自组网络中的每个移动站都要参与网络中其他移动站的路由的发现和维护,同时由移动站构成的网络拓扑可能随时间变化的很快,因此在固定网络中行之有效的一些路由选择协议此时已行不通
- 自组网络和移动IP并不相同:
- 移动IP技术使漫游的主机可以用多种方法连接到因特网,其核心网络功能仍然是基于固定网络中一直使用的各种路由选择协议
- 自组网络是把移动性扩展到无线领域中的自治系统,具有自己特定的路由选择协议,并可以不和因特网相连
2. 802.11局域网的MAC帧
- 802.11帧共有三种类型:数据帧、控制帧、管理帧
2.1 数据帧
- 主要组成
- MAC首部,共30字节。帧的复杂性都在MAC首部
- 帧主体,即帧的数据部分,不超过2312字节,它比以太网的最大长度长很多
- 帧检验序列FCS是尾部,共4字节
- MAC首部中最重要的是4个地址字段,图中地址都是MAC硬件地址。其中地址1,2,3的内容取决于帧控制字段中的“去往AP”和“来自AP”这两个字段的数值
[802.11帧的地址字段最常用的两种情况]
去往AP | 来自AP | 地址1 | 地址2 | 地址3 |
---|---|---|---|---|
0 | 1 | 接收地址=目的地址 | 发送地址=AP地址 | 源地址 |
1 | 0 | 接收地址=AP地址 | 发送地址=源地址 | 目的地址 |
-
地址1是直接接收数据帧的结点地址,地址2是实际发送数据帧的结点地址
- 现假定再一个基本服务集中的站A向站B发送数据帧。在站A发往接入点AP的数据帧的帧控制字段中,“去往AP=1”“来自AP=0”;地址1是AP的MAC地址,地址2是A的MAC地址,地址3是B的MAC地址。注意:“接收地址”和“目的地址”并不等同
- AP接收到数据帧后,转发给站B,此时在数据帧的帧控制字段中,“去往AP=0”“来自AP=1”;地址1是B的MAC地址,地址2是AP的MAC地址,地址3是A的MAC地址。注意:”发送地址“和”源地址“也不同
-
复杂情况举例
17.09.55.excalidraw]]- 在上图中,两个AP通过有线连接到路由器,现路由器要向A发送数据。路由器是网络层设备,它看不见链路层的接入点AP,只认识A的IP地址;而AP是链路层设备,只认识MAC地址,不认识IP地址
- 路由器从IP数据报获知A的IP地址,并使用ARP获取站A的MAC地址。获取站A的MAC地址之后,路由器接口R1将该IP数据报封装成802.3帧(802.3帧只有两个地址),该帧的源地址字段是R1的MAC地址,目的地址字段是A的MAC地址
- AP收到该802.3帧后,将该802.3帧转换为802.11帧,在帧控制字段中,“去往AP=0”“来自AP=1”;地址1是A的MAC地址,地址2是AP的MAC地址,地址2是R1的MAC地址。这样,A就可以确定(从地址3)将数据报发送到子网中的路由器接口的MAC地址
- 现考虑从站A向路由器接口R1发送数据的情况
- A生成一个802.11帧,在帧控制字段中,“去往AP=1”“来自AP=0”;地址1是AP的MAC地址,地址2是A的MAC地址,地址3是R1的MAC地址
- AP收到该802.11帧后,将其转换为802.3帧。该帧的源地址字段是A的MAC地址,目的地址字段是R1的MAC地址
- 由此可见,地址3在BSS和有线局域网互联中起着关键作用,它允许AP在构建以太网帧时能够确定目的MAC地址
VLAN基本概念和基本原理
1. 引入VLAN
- 一个以太网是一个广播域,当一个以太网包含太多计算机时,往往会导致
- 以太网中出现大量的广播帧,特别是经常使用ARP和DHCP协议
- 一个单位的不同部门共享一个局域网,对信息保密和安全不利
- 通过虚拟局域网(Virtual LAN),可以把一个较大的局域网分割成一些较小的与地理位置无关的逻辑上的VLAN,而每个VLAN是一个较小的广播域
2. VLAN 帧格式
- 802.3ac标准定义了支持VLAN的以太网帧格式的扩展。它在以太网帧中插入一个4字节的标识符(穿在源地址和类型之间),称为VLAN标签,用来指明发送该帧的计算机属于哪个虚拟局域网
- 插入VLAN标签的帧称为802.1Q帧
- 插入VLAN标签后,以太网的最大帧长从原来的1518字节变为1522字节
- VLAN标签
- VLAN标签的前两个字节置为0x8100,表示这是一个802.1Q帧
- 在VLAN标签的后两个字节中,前四位没有用,后12位是该VLAN的标识符VID,它唯一标识了该802.1Q帧属于哪个VLAN,12位的VID可标识4096个不同的VLAN
- 插入VID后,802.1Q帧的FCS必须重新计算
3. 举例
基本情况
- 交换机1连接了7台计算机,该局域网划分为两个虚拟局域网VLAN-10和VLAN-20,这里的10和20就是802.1Q帧中的VID字段的值,由交换机管理员设定
- 各主机并不知道自己的VID值(但交换机必须知道),主机与交换机之间交互的都是标准以太网帧
- 一个VLAN的范围可以跨越不同的交换机,前提是所用的交换机能够识别和处理VLAN
- 交换机2连接5台计算机,并与交换机1相连。交换机2中的2台计算机胶乳VLAN-10,另外3台加入VLAN-20。这两个VLAN虽都跨越了两个交换机,但各自都是一个广播域
举例
- 假定A向B发送帧,交换机1根据帧首部的目的MAC地址,识别B属于本交换机管理的VLAN-10,因此就像在普通以太网中那样直接转发帧
- 假定A向E发送帧
- 交换机1必须把帧转发到交换机2,但在转发前要插入VLAN标签,否则交换机2不知道应把帧转发给哪个VLAN。因此在交换机端口之间的链路上传送的帧是802.1Q帧
- 交换机2在向E转发帧之前,要拿走已插入的VLAN标签,因此E收到的帧是A发送的标准以太网帧,而非802.1Q帧
- 若A向C发送帧
- 这种情况较复杂,因为这是在不同的网络之间通信,虽然A,C连接到同一个交换机,但它们处在不同的网络中(VLAN-10和VLAN-20),需要通过上层的路由器解决,也可以在交换机中嵌入专用芯片来进行转发,这样就在交换机中实现了第3层的转发功能
- 说明:虚拟局域网并非是一种新型局域网,而是局域网给用户提供的一种服务
广域网的基本概念
1. 基本概念
- 广域网通常是指覆盖范围很广(远超过一个城市的范围)的长距离网络
- 广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据
- 连接广域网各结点交换机的链路都是高速链路,可以是长达几千千米的光缆线路,也可以是长达几万千米的点对点卫星链路。因此广域网首要考虑的问题是通信容量必须足够大,以便支持日益增长的通信量
- 广域网不等同于互联网,互联网可以连接不同类型的网络(既可以连接局域网,又可以连接广域网),通常使用路由器连接
2. 广域网组成
- 广域网由一些结点交换机(不是路由器,结点交换机和路由器都用来转发分组,工作原理也相似,但结点交换机在单个网络中转发分组,路由器在多个网络构成的互联网中转发分组)以及连接这些交换机的链路组成
- 结点交换机的功能时将分组存储转发
- 结点之间都是点到点连接,但为了提高网络的可靠性,通常一个结点交换机往往与多个结点结点交换机相连
3. 广域网 VS 局域网
- 从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层(还有少量在物理层),而广域网使用的协议主要在网络层
- 理解:若网络中的两个结点之间要进行数据交换,那么结点除了要给出数据之外,还要给数据加上上一层控制信息,用于实现检错纠错等功能。
- 若这层控制信息是数据链路层协议中的控制信息,那就称使用了数据链路层协议,若这层控制信息是网络层的控制信息,就称使用了网络层协议
[广域网和局域网的区别与联系]
广域网 | 局域网 | |
---|---|---|
覆盖范围 | 很广,通常跨区域 | 较小,通常在一个区域内 |
连接方式 | 结点之间都是点到点连接,但为了提高网络的可靠性,一个结点交换机往往和多个结点交换机相连 | 普遍采用多点接入技术 |
OSI参考模型层次 | 三层:物理层,数据链路层,网络层 | 两层:物理层,数据链路层 |
联系与相似点 | 1.广域网和局域网都是互联网的重要组成构件,从互联网的角度看,二者平等,不是包含关系\2.连接到一个广域网或一个局域网上的主机在该网络内进行通信时,只需要使用其他网络的物理地址 | |
着重点 | 强调资源共享 | 强调数据传输 |
4. 说明
- 广域网的一个重要问题就是路由选择和分组转发
- 路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表,然后从路由表再构造出转发分组的转发表
- 分组是通过转发表进行转发的
- 常见的两种广域网数据链路层协议是PPP协议和HDLC协议已。PPP协议使用的最广泛,而HDLC已很少使用
PPP协议
1. 基本概念
- PPP协议(Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上
- 设计的目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同解决方案
- PPP协议是在SLIP协议的基础上发展起来的,它既可以在异步线路上传输,又可以在同步线路上使用;不仅用于Modem链路,也用于租用的路由器到路由器的线路
- 背景:SLIP主要完成数据报的传送,但没有寻址、数据校验、分组类型识别、数据压缩等功能,只能传送IP分组。若上层协议不是UP协议,则无法传输,并且此协议对一些高层应用也不支持,但实现较为简单。为了改进SLIP,制定了PPP协议
2. 组成
- 链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试、管理数据链路
- 网络控制协议(NCP):PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
- 一个将IP数据报封装到串行链路的方法:IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元MTU的限制
3. 帧格式
- PPP帧的前3个字段和最后2个字段与HDLC帧是一样的,标志字段F仍为7E,前后各占1字节,若它出现在信息字段中,就必须做字节填充,使用的控制转义字节时7D
- 在PPP中,地址字段(A)占1字节,规定为0xFF,控制字段(C)占1字节,规定为0x03,两者的内容是始终固定不变的
- PPP是面向字节的,因而所有PPP帧的长度都是整数个字节
- 第4个字段是协议段,占2字节。在HDLC中没有该字段,它是说明信息段中运载的是什么种类的分组。以比特0开始的是诸如IP、IPX、AppleTalk这样的网络层协议;以比特1开始的被用来协商其他协议,包括LCP及每个支持的网络层协议的一个不同的NCP
- 第5段信息段的长度是可变的,
0
B
≤
L
e
n
g
t
h
≤
1500
B
0B\le Length\le 1500B
0B≤Length≤1500B。为实现透明传输,当信息段中出现和标志字段一样的比特组合时,必须采用一些措施来改进
- 注:因为PPP是点对点的,并非总线形的,所以无需采用CSMA/CD协议,自然就没有最短帧,所以信息段站01500B,而非461500B。另外,当数据部分出现和标志位一样的比特组合时,要采取措施实现透明传输
- 第6段是帧检验序列(FCS),占2字节,即循环冗余码检验中的冗余码。检验区包括地址字段、控制字段、协议字段和信息字段
4. PPP协议状态图
- 当线路处于静止状态时,不存在物理层连接;当线路检测到载波信号时,建立物连接,线路变为建立状态
- 此时,LCP开始选项商定,商定成功后就进入身份验证状态,双方身份验证通过后,进入网络层协议状态
- 这时,采用NCP配置网络层,配置成功后,进入打开状态,然后就可进行数据传输
- 当数据传输结束后,线路转为终止状态
- 载波停止后则回到静止状态
5. 补充说明
- PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验),它是不可靠的传输协议,因此也不使用序号和确认机制
- 它仅支持点对点的链路通信,不支持多点线路
- PPP只支持全双工通信
- PPP的两端可以运行不同的网络层协议,但仍可使用同一个PPP通信
- PPP是面向字节的,当信息字段出现和标志字段一样的比特组合时,PPP由两种不同的处理方式:
- 若PPP用在异步线路(默认),则采用字节填充法
- 若PPP用在SONET/SDH等同步线路,则协议规定采用硬件来完成比特填充(和HDLC的做法一样)
数据链路层设备
*1. 网桥的基本概念(仅作参考)
- 网段:两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网称为一个网段
- 网桥工作在数据链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域(又称冲突域),若把网桥换成工作在物理层的转发器,则没有这种过滤通信量的功能
- 由于各网段相对独立,因此一个网段的故障不会影响另一个网段的工作
- 网桥必须具有路径选择的功能,接收到帧后,要决定正确的路径,将该帧转送到相应的目的局域网站点
- 网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检查数据帧中的地址,若是网络2的地址,那就转发给网络2,;若是网络1的地址,就丢弃,因为源站和目的站在同一个网段,目的站可以直接收到这个帧而不用借助网桥转发
2. 局域网交换机
2.1 交换机的原理和特点
原理
- 局域网交换机又称以太网交换机,从本质上说以太网交换机就是一个多端口的网桥,工作于数据链路层
- 交换机能够经济地将网络分成小的冲突域,为每个工作站提供更高的带宽
- 原理:以太网交换机检测从以太端口来的数据帧的源和目的地的MAC地址,然后与系统内部的动态查找表进行比较,若数据帧的源MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口
优点
- 以太网交换机对工作站是透明的,因此管理开销低廉,简化了网络结点的增加、移动和网络变化的操作。利用以太网交换机还可以方便的实现VLAN,VLAN不仅可以隔离冲突域,还可以隔离广播域
- 对于传统的10Mb/s的共享式以太网,若共有N个用户,则每个用户占有的平均带宽只有总带宽(10Mb/s)的1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mb/s,但由于一个用户在通信时是独占带宽,因此拥有N个端口的交换机的总容量为 N × 10 M b / s N\times 10Mb/s N×10Mb/s
特点
- 以太网交换机的每个端口都直接与单台主机相连(网桥的接口往往连接到一个网段),并且一般都工作在全双工方式
- 以太网交换机能够连通多对端口,使每对相互通信的主机都能像独占通信媒体那样,无碰撞的传输数据
- 以太网交换机是一种即插即用设备,其内部的帧转发表是通过自学习算法自动逐步建立起来的
- 以太网交换机由于使用专用的交换结构芯片,交换速率较高
- 以太网交换机独占传输媒体的带宽
以太网交换机的交换模式
- 直通式交换机
- 只检查帧的目的地址,这使得帧在接收后几乎能马上被传出去
- 这种方式速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换
- 存储转发式交换机
- 先将接收到的帧缓存到高速缓存器中 ,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧转发出去
- 若发现帧有错,则将其丢弃
- 优点:可靠性高,能支持不同速率端口间的转换
- 缺点:延迟较大
2.2 交换机的自学习功能
过滤和转发的概念
- 过滤:决定一个帧是应该转发到某个接口还是应该将其丢弃称为过滤
- 转发:决定一个帧应被移动到哪个接口称为转发
交换表
- 交换机的过滤和转发借助于交换表完成
- 交换表中的一个表项至少包含:
- 一个MAC地址
- 连通该MAC地址的交换机接口
自学习功能
- 交换机的交换表初始时是空的
-
A
→
接口
1
B
A\stackrel{接口1}{\rightarrow} B
A→接口1B
- A先向B发送一帧,从接口1进入交换机
- 交换机收到帧后,查找交换表,找不到MAC地址为B的表项
- 然后,交换机将该帧的源地址A和接口1写入交换表,并向除接口1外的所有接口广播这个帧
- C、D丢弃该帧,因为目的地址不符,只有B才接收下这个帧
- 交换表写入(A,1)后,以后从任何接口收到的目的地址为A的帧,都应从接口1转发出去。这是因为,既然A发出的帧从接口1 进入交换机,那么从接口1转发出去的帧也应能到达A
-
B
→
接口
3
A
B\stackrel{接口3}{\rightarrow} A
B→接口3A
- 交换机查找交换表后,发现有表项(A,1),将该帧从接口1转发给A。显然,此时已经没有必要再广播收到的帧
- 将该帧的源地址B和接口3写入交换表,表明以后如有发送给B的帧,应从接口3转发出去
- 说明:考虑到交换机所连的主机会随时变化,这就需要更新交换表中的表项。为此,交换表中的每个表项都设有一定的有效时间,过期的表项会自动删除,这就保证了交换表中的数据符合当前网络的实际情况
- 这种自学习方法使得交换机能够即插即用,而不必人工进行配置,因此十分方便