数据链路层
1:数据链路层基本概念
- 结点:主机,路由器
- 链路:网络中两个结点之间的
物理通道
,链路传输的介质主要有双绞线,微波。分为有线链路1和无线链路 - 数据链路:网络中两个结点之间的
逻辑通道
,把实控制数据传输协议
的硬件和软件加到链路上就构成数据链路 - 帧:链路层的协议数据单元,封装网络层数据报
2:数据链路层功能
- 为网络层提供服务。
无确认无连接服务
,有确认无连接服务
,有确认面向连接服务
- 链路管理,即连接的建立,维持,释放
- 封装成帧
- 流量控制
- 差错控制
3:封装成帧
封装成帧
就是在一段数据的前后部分分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
- 首部和尾部包含许多的控制信息,他们的一个重要作用:
帧定界
帧同步
:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止组帧的四种方法
:1. 字符计数法,2. 字符填充法,3. 零比特填充法,4. 违规编码法
-
字符计数法
帧首部使用一个计数字段
(第一个字节,八位)
来标明帧内字符数 -
字符填充法
-
零比特填充法
- 在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0
- 在接收端,先找到标志字段确定边界,在扫描整个比特流。发现连续5个1时,就把后面的0删除
-
违规编码法
目前比较常用的是
零比特填充法
与违规编码法
4:透明传输
透明传输
是指不管所传数据是什么样的比特组和,都应当能够在链路上传送。当所传数据中的比特组和恰巧与某一个控制信息完全一样时,就必须采取措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
5:差错检测
1:检错编码
- 奇偶校验码
- 奇校验码:
1
的个数为奇数 - 偶校验码:
1
的个数为偶数
- 奇校验码:
CRC
循环冗余码
最终发送的数据:要发送的数据+帧检验序列FCS/冗余码。
循环冗余码CRC差错检测技术
只能做到对帧的无差错接收
。
计算冗余码
加0
.假设生成式G(x)的阶为r
,则多加r
个0- 模2除法。数据加0后除以多项式,余数为冗余码的比特序列。异或操作,相同为0,不同为1
例子:10011表示为多项式:
1 ∗ x 4 + 0 ∗ x 3 + 0 ∗ x 2 + 1 ∗ x 1 + 1 ∗ x 0 1*x^4+0*x^3+0*x^2+1*x^1+1*x^0 1∗x4+0∗x3+0∗x2+1∗x1+1∗x0
故:阶为4
2:纠错编码
海明码
6:流量控制
控制发送速率,使接收方有足够的缓冲空间来接收每一个帧
1:停止-等待协议
在每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
应用情况
- 无差错
- 有差错
- 接收端检测出错或数据帧丢失
- 确认帧丢失
- 确认帧迟到
信道利用率&信道吞吐率
2:滑动窗口协议
1:后退N帧协议(GBN)
发送方必须响应的三件事
1:上层的调用。上层发送数据时,发送方先检测窗口是否已满,如果未满,则产生一个帧发送;已满,发送方将数据返回给上层,暗示上层窗口已满,等一会儿再发。
2:收到了一个ACK。
GBN协议中,对n号帧确认采用
累计确认
的方式,标明接收方已经收到n号帧和它之前的全部帧3:超时事件。如果出现超时,发送方重传所有已发送但未被确认的帧。
重点总结
- 累计确认
- 接收方只按顺序接收帧,不按顺序的话直接丢弃
- 确认序列号最大的,按序到达的帧
- 发送窗口最大位
2^n-1
,接收窗口大小为1
2:选择重传协议(SR)
重点总结
- 对数据帧逐一确认,收一个确认一个
- 只重传出错帧
- 接收方有缓存
- 最大发送窗口=最大接收窗口=
2^(n-1)
7:介质访问控制
1:静态划分信道
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备
共享信道资源
,提高信道利用率。
1:频分多路服用FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
频分复用的所有用户在同样的时间占用不同的带宽资源
优点:充分利用传输介质,系统
效率较高
;实现比较容易
2:时分多路复用TDM
将时间划分为一段段等长的时分复用帧
(TDM帧)
。每一个时分复用帧的用户在每一个TDM帧中占用固定序号的时隙
,所有用户轮流占用信道。
3:波分多路复用WDM
波分多路复用就是
光的频分多路复用
。
4:码分多路复用CDM
码分多址
CDMA
是码分复用的一种方式
- 发送1时站点发送芯片序列,发送0时发送芯片序列反码
如何不打架
:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交
如何合并
:多路数据在信道中被线性相加如何分离
:合并的数据和源站规格化内积
2:动态分配信道
特点:信道并非在用户通信时分配给用户
1:ALOHA
协议
-
纯ALOHA协议
-
时隙ALOHA协议
把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道;若发生冲突,则必须等到下一个时间片开始时刻再发送。
1:纯ALOHA比时隙ALOHA吞吐量更低,效率更低
2:纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发送
2:CSMA
协议
载波监听多路访问协议CSMA
CS
:载波侦听 / 监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据
MA
:多点接入,表示许多计算机以多点接入的方式连接在一根总线上
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概率马上发,1-p概率等到下一个时隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机时间再监听 | 1放弃监听,等一个随机时间再监听 |
3:CSMA/CD
协议
载波监听多点接入 / 碰撞检测CSMA / CD
CS
:载波侦听 / 监听,每一个站在发送数据之前
以及发送数据时
要检测一下总线上是否有其他计算机在发送数据
MA
:多点接入,表示许多计算机以多点接入的方式连接在一根总线上
CD
:碰撞检测。“边发送边监听”
,适配器边发送数据边检测信道上信号电压的变化情况。以便判断自己在发送数据时其他站是否也在发送数据
4:CSMA/CA
协议
载波监听多点接入 / 碰撞避免CSMA / CA
发送数据前,先检测信道是否空闲。
空闲则发出
RTS
,RTS包括发射端的地址,接收端的地址,下一份数据将持续发送的时间等信息;信道忙则等待接收端收到RTS后,将响应
CTS
。发送端收到CTS后,开始发送数据帧
(同时预约信道:发送方告知其他站点自己要传多久数据)
。接收端收到数据帧后,将采用CRC来检验数据是否正确,正确则响应
ACK帧
。发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定发送重发次数
(采用二进制规避算法来确定随机的推迟时间)
。
5:CSMA/CD
与CSMA/CA
协议对比
相同点
CSMA/CD
与CSMA/CA
两个再接入信道之前都需要进行监听。当发现信道空闲时,才能进行接入。
不同点
- 传输介质不同:
CSMA/CD
用于总线式以太网(有线)
,而CSMA/CA
用于无线局域网(无线)
- 载波检测方式不同:因传输介质不同,
CSMA/CD
与CSMA/CA
检测方式不同。CSMA/CD
通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随之发生变化;CSMA/CA
采用能量检测,载波检测和能量载波混合检测三种检测信道空闲的方式 CSMA/CD
检测冲突,CSMA/CA
避免冲突,二者出现冲突后都会进行有上线的重传。
8:局域网
9:广域网
广域网的通信子网主要使用
分组交换技术
。广域网的通信子网可以利用公用分组交换网,卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统
互联起来,达到资源共享
的目的。
1:PPP协议
只支持全双工链路
PPP协议的三个组成部分
-
一个将IP数据报封装到串行链路的方法
-
链路控制协议LCP:建立并维护数据链路连接。
身份验证
-
网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
PPP协议的帧格式
,它将分布在不同地区的局域网或计算机系统
互联起来,达到资源共享
的目的。
1:PPP协议
只支持全双工链路
PPP协议的三个组成部分
-
一个将IP数据报封装到串行链路的方法
-
链路控制协议LCP:建立并维护数据链路连接。
身份验证
-
网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
PPP协议的帧格式