数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
封装成帧:就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界( 确定帧的界限)。
封装成帧的四种方法:字符计数法、字符填充法、零比特填充法、违规编码法
透明传输:是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
(1)字符计数法:帧首部使用一一个计数字段(第一个字节,八位)来标明帧内字符数。
(2)字符填充法:在帧的首部和尾部填充标识,如果在中间遇到冲突的字节使用转义字符
(3)零比特填充法:在数据首部与尾部都填充01111110作为标识,并且在数据中,如果遇到五个1,则在其后面加一个0,保证其首位标识的唯一性。在接受时去掉即可
(4)违规编码法:利用曼彻斯特编码 1为高-低,0为低-高 的原理,使其首部标识为高-高,尾部为低-低
(1)奇偶校验码:n-1位信息元,1位校验元
n-1位(数据) | 1位(校验位) |
---|---|
0110 | 1(如果为奇校验则需保证n位中有奇数个1) |
0110 | 0(如果为偶校验则需保证n位中有偶数个1) |
(2)循环冗余码CRC
发送端:
待 发 送 的 数 据 / 生 成 多 项 式 = ? . . . . . . 冗 余 码 ( F C S 帧 检 验 序 列 ) 待发送的数据/生成多项式=?......冗余码(FCS帧检验序列) 待发送的数据/生成多项式=?......冗余码(FCS帧检验序列)
真 实 发 送 的 数 据 = 待 发 送 的 数 据 + 冗 余 码 ( F C S 帧 检 验 序 列 ) 真实发送的数据 = 待发送的数据+冗余码(FCS帧检验序列) 真实发送的数据=待发送的数据+冗余码(FCS帧检验序列)
接收端:
接 收 到 的 数 据 / 生 成 多 项 = ? . . . . 0 接收到的数据/生成多项=?....0 接收到的数据/生成多项=?....0
则传输无错
计算冗余码
例题:
假设数据 D=101101
(1)确定校验码位数r
海明不等式:r为冗余信息位,k为信息位。由k可解出r
2 r > = k + r + 1 2^r>=k+r+1 2r>=k+r+1
则可得出r=4,即有4位校验位
(2)确定校验码和数据的位置
1)校验码按序放在2的几次方上,然后信息位按位插入
2)计算各个校验位的值
如图,首先计算P1的值,其他校验位的值同理
P1的二进制为0001,首先找出最后一位为1的所有信息位
然后将找出来的所有位置的值进行异或运算(同0异1),使其结果=0,即可求出P1
P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 0 P1⊕D1⊕D2⊕D4⊕D5=0 P1⊕D1⊕D2⊕D4⊕D5=0
= = > P 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 ==>P1⊕1⊕0⊕1⊕0=0 ==>P1⊕1⊕0⊕1⊕0=0
= = > P 1 = 0 ==>P1=0 ==>P1=0
依次求出检验位填入可得
故海明码为0010011101
(3)检查纠错
假设接收端的第五位出错,则接收到的数据为0010111101
与求校验位时相同,先找出对应位置,然后将其异或。以P1为例,假设结果为A1
P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = A 1 P1⊕D1⊕D2⊕D4⊕D5=A1 P1⊕D1⊕D2⊕D4⊕D5=A1
A 1 = 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1 A1=0⊕1⊕1⊕1⊕0=1 A1=0⊕1⊕1⊕1⊕0=1
依次求出各结果,得到A1-A4。
A 1 = 1 , A 2 = 0 , A 3 = 1 , A 4 = 0 A1=1,A2=0,A3=1,A4=0 A1=1,A2=0,A3=1,A4=0
将A1-A4逆序排列,即是出错的位数
出 错 位 数 = A 4 A 3 A 2 A 1 = 0101 = 5 出错位数=A4A3A2A1=0101=5 出错位数=A4A3A2A1=0101=5
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此需要流量控制
数据链路层与传输层的流量控制的区别:
方式 | 控制手段 | |
---|---|---|
数据链路层 | 点对点 | 接收方收不下就不回复确认 |
传输层 | 端到端 | 接收端给发送端一个窗口公告 |
流量控制的方法:
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
停止等待协议的作用:解决比特出差错和丢包问题,实现流量控制
应用的情况
信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率
设信道利用率 = U,发送时延=TD,往返时延=RTT,接收时延=TA
U = T D / ( T D + R T T + T A ) U=TD/(TD+RTT+TA) U=TD/(TD+RTT+TA)
也可以设发送周期(从发送数据开始,到收到第一个确认帧)=T,一个周期内发送的比特量=L,发送方数据传输率=C
U = ( L / C ) / T U=(L/C)/T U=(L/C)/T
信 道 吞 吐 率 = U ∗ 发 送 方 的 发 送 速 率 信道吞吐率=U*发送方的发送速率 信道吞吐率=U∗发送方的发送速率
(1)GBN的滑动窗口
(2)GBN发送方的三个响应
(3)GBN接收方
(4)窗口长度限制
若采用n个比特对帧编号,那么发送窗口的尺寸WT应满足:
1 ≤ W τ ≤ 2 n − 1 1≤ Wτ≤2^n-1 1≤Wτ≤2n−1
因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
(1)SR的滑动窗口
(2)SR发送方的三个响应
(3)SR接收方
(4)窗口长度限制
若采用n个比特对帧编号,那么发送窗口的尺寸WT和接收窗口的尺寸WR应满足:
W T = W R < = 2 n / 2 WT=WR<=2^n/2 WT=WR<=2n/2
因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
(1)时分多路复用
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
(2)统计时分复用
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
**码分多址(CDMA)是码分复用的一种方式。**1个比特分为多个码片/芯片(chip) ,每一个站点被指定一个唯一的m位的芯片序列,发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)。
例题:
解析:
A : ( − 1 , + 1 , − 1 , + 1 , + 1 , + 1 , − 1 , − 1 ) ⋅ ( − 1 , + 1 , − 3 , + 1 , − 1 , − 3 , + 1 , + 1 ) = ( 1 + 1 + 3 + 1 − 1 − 3 − 1 − 1 ) / 8 = 0 A:(-1,+1,-1,+1,+1,+1,-1,-1)·(-1,+1,-3,+1,-1,-3,+1,+1)\\=(1+1+3+1-1-3-1-1)/8\\=0 A:(−1,+1,−1,+1,+1,+1,−1,−1)⋅(−1,+1,−3,+1,−1,−3,+1,+1)=(1+1+3+1−1−3−1−1)/8=0
B : ( − 1 , − 1 , + 1 , − 1 , + 1 , + 1 , + 1 , − 1 ) ⋅ ( − 1 , + 1 , − 3 , + 1 , − 1 , − 3 , + 1 , + 1 ) = ( 1 − 1 − 3 − 1 − 1 − 3 + 1 − 1 ) / 8 = − 1 B:(-1,-1,+1,-1,+1,+1,+1,-1)·(-1,+1,-3,+1,-1,-3,+1,+1)\\=(1-1-3-1-1-3+1-1)/8\\=-1 B:(−1,−1,+1,−1,+1,+1,+1,−1)⋅(−1,+1,−3,+1,−1,−3,+1,+1)=(1−1−3−1−1−3+1−1)/8=−1
C : ( − 1 , − 1 , − 1 , + 1 , + 1 , − 1 , + 1 , + 1 ) ⋅ ( − 1 , + 1 , − 3 , + 1 , − 1 , − 3 , + 1 , + 1 ) = ( 1 − 1 + 3 + 1 − 1 + 3 + 1 + 1 ) / 8 = 1 C:(-1,-1,-1,+1,+1,-1,+1,+1)·(-1,+1,-3,+1,-1,-3,+1,+1)\\=(1-1+3+1-1+3+1+1)/8\\=1 C:(−1,−1,−1,+1,+1,−1,+1,+1)⋅(−1,+1,−3,+1,−1,−3,+1,+1)=(1−1+3+1−1+3+1+1)/8=1
D : ( − 1 , + 1 , − 1 , − 1 , − 1 , − 1 , + 1 , − 1 ) ⋅ ( − 1 , + 1 , − 3 , + 1 , − 1 , − 3 , + 1 , + 1 ) = ( 1 + 1 + 3 − 1 + 1 + 3 + 1 − 1 ) / 8 = 1 D:(-1,+1,-1,-1,-1,-1,+1,-1)·(-1,+1,-3,+1,-1,-3,+1,+1)\\=(1+1+3-1+1+3+1-1)/8\\=1 D:(−1,+1,−1,−1,−1,−1,+1,−1)⋅(−1,+1,−3,+1,−1,−3,+1,+1)=(1+1+3−1+1+3+1−1)/8=1
结果为:1代表发送了数据“1”,0代表没有发送数据,-1代表发送数据“0”
CS:载波侦听/监听,每-一个站在发送数据之前要检测一下 总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
监听结果:信道空闲、信道忙
根据结果有三种协议策略:1-坚持CSMA 、非坚持CSMA、p-坚持CSMA
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概览马上发送,1-p概率等到下个时间间隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机事件再监听 | 继续监听 |
双方能检测到发生碰撞的时间范围,设单程端到端传播时延为T,则时间范围为
( 0 , 2 T ) (0,2T) (0,2T)
确定碰撞后的重传时机:截断二进制制数规避算法
确定基本退避(推迟)时间为争用期2T。
定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数, 10]。 当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
从离散的整数集合[0, 1,…, 2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2rT。
当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
最小帧长
帧 长 > = 2 ∗ 总 线 传 播 时 延 ∗ 数 据 传 输 速 率 帧长>=2*总线传播时延*数据传输速率 帧长>=2∗总线传播时延∗数据传输速率
(1)特点:预约信道、ACK帧、RTS/CTS帧
(2)原理
(3)与CSMA/CD协议的不同
(1)轮询协议:主结点轮流“邀请”从属结点发送数据
(2)令牌传递协议
令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
协议 | 特点 | 网络负载重时 | 网络负载轻时 |
---|---|---|---|
信道划分介质访问控制(MAC)协议 | 基于多路复用技术划分资源。 | 共享信道效率高,且公平 | 共享信道效率低 |
随机访问MAC协议 | 用户根据意愿随机发送信息,发送信息时可独占信道带宽。 | 产生冲突开销 | 共享信道效率高,单个结点可利用信道全部带宽 |
轮询协议 | 既要不产生冲突,又要发送时占全部带宽。 |
(1)局域网(Local Area Network) :简称LAN, 是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
(2)决定局域网的主要要素为:
(3)局域网特点
(4)局域网的分类:以太网、令牌环网、FDDI网、ATM网、无线局域网
(5)MAC子层和LLC子层
IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。
LLC子层负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送。
MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
(1)概述
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel 和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。
(2)无连接、不可靠服务
以太网只实现无差错接收,不实现可靠传输。
无连接:发送方和接收方之间无“握手过程”。
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
(3)10BASE-T以太网
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T 采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m。
采用曼彻斯特编码。
采用CSMA/CD介质访问控制。
(4)适配器(网卡)与MAC地址
计算机与外界有局域网的连接是通过通信适配器的。
适配器上装有处理器和存储器(包括RAM和ROM)
ROM上有计算机硬件地址:MAC地址。
在局域网中,硬件地址又称为物理地址,或MAC地址。[ 实际上是标识符]
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21 。
(5)MAC帧格式
最常用的MAC帧是以太网V2的格式
(6)高速以太网:速率>=100Mb/s的以太网称为高速以太网
802.11的MAC帧头格式
广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet )是世界范围内最大的广域网。
(1)PPP协议的组成
(2)PPP协议状态图
(3)PPP协议的帧格式
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现。
采用全双工通信。
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
(1)HDLC的站
(2)三种数据操作方式:正常响应方式、异步平衡方式、异步响应方式
(3)HDLC的帧格式
(4)HDLC的帧类型(控制C的值)
(1)相同点
(2)不同点
PPP协议 | 面向字节 | 2B协议字段 | 无序号和确认机制 | 不可靠 |
---|---|---|---|---|
HDLC协议 | 面向比特 | 没有 | 有编号和确认机制 | 可靠 |
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口, 或者是把它丢弃( 即过滤)。
优点:
过滤通信量,增大吞吐量。
扩大了物理范围。
提高了可靠性
可互连不同物理层、不同MAC子层和不同速率的以太网。
分类:
交换方式
能够隔离冲突域 | 能够隔离广播域 | |
---|---|---|
物理层设备(中继器、集线器) | X | X |
链路层设备(网桥、交换机) | √ | X |
网络层设备(路由器) | √ | √ |