数据链路层功能
加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差别的数据链路,使之对网络层表现为一条误差错的链路
为网络层提供服务
- 无确认的无连接服务
- 有确认的无连接服务
- 有确认的面向连接服务
链路管理
数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务
帧定界、帧同步与透明传输
透明传输就是不管所传数据是什么样的比特组合,都应当能在链路上传送
流量控制
限制发送方的数据流量,使其发送速率不超过接收方的接收能力
差错控制
错误分为:
- 位错:帧中某些位出现了差错,采用循环冗余校验(CRC)方式发现,通过自动重传请求(ARQ)方式重传出错的帧
- 帧错:帧的丢失、重复或失序等错误,在数据链路层引入定时器和编号机制,保证最终正确交付
组帧
为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率
主要解决帧定界、帧同步、透明传输等问题
组帧时既要加头部又要加尾部
字符计数法
在帧的头部使用一个计数字段来标明帧内字符数
字符填充的首尾定界符法
SOH表示帧的开始
EOT表示帧的结束
转义字符ESC
零比特填充的首尾标志法
用01111110来标志一帧的开始和结束
发送方遇到连续5个1时在其后添加一个0
违规编码法
局域网IEEE802标准就采用这种方法
目前较常用的组帧方法是比特填充法和违规编码法
差错控制
检错编码
奇偶校验码
奇校验码与偶校验码的统称
奇校验码:在附加一个校验元后,码长为n的码字中1的个数为奇数
偶校验码类似
循环冗余码
假设一个帧有m位,其对应的多项式为M(x),则计算冗余码的步骤如下:
- 加0。假设G(x)的阶为r,在帧的低位端加上r个0
- 模2除。利用模2除法,用G(x)对应的数据串去除1中计算出的数据串,得到得到的余数即为冗余码
异或操作:同0异1
循环冗余码具有纠错功能
纠错编码
海明码
(1)确定海明码的位数
设n为有效信息的位数,k为校验位的位数,则信息位n和校验位k应满足:
设信息位为(1010),校验位为
,对应的海明码为
(2)确定校验位的分布
规定校验位在海明位号位
的位置上,其余各位为信息位
的海明位号为
,即
为
的海明位号为
,即
为
的海明位号为
,即
为
将信息位按原来的顺序插入,则海明码各位的分布如下:
H7 | H6 | H5 | H4 | H3 | H2 | H1 |
D4 | D3 | D2 | P3 | D1 | P2 | P1 |
(3)分组以形成校验关系
每个数据位用多个校验位进行校验,但要满足条件:被校验数据位的海明位号等于校验该数据位的各校验位海明位号之和。校验位不需要被校验
P1(H1) | P2(H2) | P3(H4) | ||||
D1放在H3上,由P2P1校验 | 3= | 1 | + | 2 | ||
D2放在H5上,由P3P1校验 | 5= | 1 | + | 4 | ||
D3放在H6上,由P3P2校验 | 6= | 2 | + | 4 | ||
D4放在H7上,由P3P2P1校验 | 7= | 1 | + | 2 | + | 4 |
第1组 | 第2组 | 第3组 |
(4)校验位取值
校验位的值为第i组所有位求异或(同0异1)
|
|
|
1010对应的海明码为1010010
(5)海明码的校验原理
每个校验组分别利用校验位和参与形成该校验位的信息位进行奇偶校验检查,构成k个校验方程:
|
|
|
若的值为000,则说明无错,否则说明出错,且这个数就是错误位的位号,如
=001,说明第一位出错
流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制
流量控制方法:
- 停止-等待协议
- 滑动窗口协议
滑动窗口协议
窗口大小:
- 停止-等待协议:发送窗口大小=1,接收窗口大小=1
- 后退N帧协议:发送窗口大小>1,接收窗口大小=1
- 选择重传协议:发送窗口大小>1,接收窗口大小>1
可靠传输机制
数据链路层的可靠传输通常使用确认和超时重传两种机制完成
传统自动重传请求:
- 停止-等待ARQ
- 后退N帧ARQ
- 选择重传ARQ
停止-等待协议
源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他帧
后退N帧协议(GBN)
发送方可以连续发送帧,接收方只允许按顺序接收帧
可以对以前收到的帧捎带确认
若采用n比特对帧编号,则发送窗口的尺寸应满足
选择重传协议(SR)
接收窗口和发送窗口的大小是相同的,最大值为序号范围的一半,若采用n比特对帧编号:
避免重复传送本已正确到达接收端的数据帧
信道利用率
发送方从开始发送数据到收到第一个确认帧为止,称为一个发送周期,设为T,发送方在周期内共发送L比特的数据,发送方数据传输速率为C,则发送方用于发送有效数据的事件为L/C
信道利用率为(L/C)/T
信道吞吐率 = 信道利用率 * 发送方的发送速率
介质访问控制
介质访问控制所要完成的主要任务是为使用介质的每个结点隔离来自同一信道上的其他结点所传送的信号,以协调活动结点的传输
用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MAC)子层
- 信道划分机制访问控制
- 随机访问介质访问控制
- 轮询访问介质访问控制
信道划分介质访问控制
频分多路复用(FDM)
将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术
优点:
- 充分利用了传输介质的带宽,系统效率高
- 由于技术比较成熟,实现也容易
时分多路复用(TDM)
将一条物理信道按时间分成若干时间片,轮流的分配给多个信号使用
统计时分多路复用(STDM)
采用STDM帧,按需动态的分配时隙,当终端有数据传送时,才会分到时间片,提高信道的利用率
波分多路复用(WDM)
光的频分多路复用
码分多路复用(CDM)
采用不同的编码来区分各路原始信号
码分多址(CDMA)
原理是每个比特时间再划分成m个短的时间槽,称为码片
假如站点A的码片序列被指派为00011011,则A站发送00011011就表示发送比特1,发送11100100就表示发送比特0
令向量S表示A站的码片向量,令T表示B站的码片向量,两个不同站的码片序列正交,即向量S和T的规格化内积为0:
任何一个码片向量和该码片向量自身的规格化内积都是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)
向量到了公共信道就进行叠加,实际上就是线性相加,得到:
到了C站进行数据分离
得到来自A站的数据,让S与S-T进行规格化内积:
A站的数据就为1,B同理,规格化内积为-1代表0
优点:
- 频谱利用率高
- 抗干扰能力强
- 保密性强
- 语音质量好
- 减少投资和降低运行成本
主要用于无线通信领域
类型 | 共享时间 | 共享空间 |
频分复用 | Y | N |
时分复用 | Y | N |
波分复用 | N | Y |
码分复用 | Y | Y |
随机划分介质访问控制
- ALOHA协议
- CSMA协议
- CSMA/CD协议
- CSMA/CA协议
核心思想:胜利者通过争用获得信道,从而获得信息的发送权
又称争用型协议
ALOHA协议
分为:
- 纯ALOHA协议
- 时隙ALOHA协议
纯ALOHA协议
当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据,一段时间未收到确认就认为传输过程中发生了冲突,等待一段时间后继续发送数据,直到成功
纯ALOHA协议网络的吞吐量很低
时隙ALOHA协议
把所以各站在时间上同步起来,并将时间划分为一段等长的时隙,规定每个时隙开始时才能发送一个帧,从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率
网络吞吐量比纯ALOHA协议大了1倍
CSMA协议
载波侦听多路访问(CSMA)协议是在ALOHA协议基础上提出的一种改进协议,主要区别是多了一个载波侦听装置
分为3类:
- 1-坚持CSMA
- 非坚持CSMA
- p-坚持CSMA
三种协议比较:
信道状态 | 1-坚持 | 非坚持 | p-坚持 |
空闲 | 立即发送数据 | 立即发送数据 | 以概率p发送数据,以概率1-p推迟到下一时隙 |
忙 | 继续坚持侦听 | 放弃侦听,等待一个随机的时间后在侦听 | 持续侦听,直至信道空闲 |
CSMA/CD协议
载波侦听多路访问/碰撞检测(CSMA/CD)
使用于总线型网络或半双工网络环境
先听后发,边听边发,冲突停发,随机重发
争用期2t
以太网规定的最小帧长为64B
CSMA/CD协议采用二进制指数退避算法来解决碰撞问题:
1)确定基本退避时间,一般取两倍的总线端到端传播时延2t(即争用期)
2)定义参数k,重传次数,k不超过10,即k
3)从离散的整数集合【0,1…,2^k-1】中随机取一个数 r ,重传所需要退避的时间就是 r 倍的基本退避时间,即 2rt
4)当重传达 16 次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错
CSMA/CA协议
- CSMA/CD协议应用于使用有线连接的局域网
- CSMA/CA协议适用于无线局域网
CA:碰撞避免
帧间间隔(IFS):为了避免碰撞,所有站完成发送后,必须再等待一段很短的时间(继续侦听)才能发送下一帧
- SIFS(短IFS):最短的IFS,分隔属于一次对话的各帧,使用类型:ACK帧、CTS帧、分片后的数据帧、所有回答AP探询的帧
- PIFS(点协调IFS):中等长度的IFS,在PCF操作中使用
- DIFS(分布式协调IFS):最长的IFS,用于异步帧竞争访问的时延
使用退避算法情况:
- 在发送第一个帧前检测到信道忙
- 每次重传
- 每次成功发送后要发送下一帧
隐蔽站问题:
- RTS:请求发送控制帧
- CTS:允许发送控制帧
CTS帧的目的:
- 给源站明确发送许可
- 指示其他站点在预约期内不要发送
CSMA/CD与CSMA/CA的区别:
- CSMA/CD可以检测冲突,但无法避免;CSMA/CA不能检测有无冲突,只能尽量避免
- 传输介质不同。CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.11a/b/g/n等
- 检测方式不同。CSMA/CD通过光缆中的电压变化来检测;CSMA/CA采用能量检测、载波检测和能量载波混合检测检测信道空闲
轮询访问
令牌传递协议
主要用在令牌环局域网中
不会发送冲突(令牌只有一个)
轮询介质访问控制非常适合负载很高的广播信道
局域网
局域网基本概念和体系结构
局域网是指在一个较小的地理范围内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络
主要特点:
- 为一个单位所拥有,且地理范围和站点数目均有限
- 所有站点共享较高的总带宽
- 较低的时延和较低的误码率
- 各站为平等关系而非主从关系
- 能进行广播和组播
局域网的主要特征由三个要素决定:
- 拓扑结构
- 介质传输
- 介质访问控制(最重要,决定局域网的技术特性)
拓扑结构:
- 星形结构
- 环形结构
- 总线形结构
- 星形和总线形结合的复合型结构
传输介质:
- 双绞线(主流)
- 铜缆
- 光纤
介质访问控制方法:
- CSMA/CD(用于总线形局域网)
- 令牌总线(总线形)
- 令牌环(环形局域网)
三种特殊局域网拓扑
- 以太网(IEEE802.3标准):逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构
- 令牌环(IEEE802.5标准):逻辑拓扑是环形结构,物理拓扑是星形结构
- FDDI(光纤分布数字接口,IEEE802.8标准):逻辑拓扑是环形结构,物理拓扑是双环结构
IEEE802标准将数据链路层拆分为两个子层:
- 逻辑链路控制(LLC)子层:向网络层提供无确认无连接、面向连接、带确认无连接、高速传输
- 媒体接入控制(MAC)子层:与接入传输媒体有关的内容,向上屏蔽对物理层访问的各种差异,提供物理层的同一访问接口,主要功能:组帧和拆卸帧、比特传输差错控制、透明传输
以太网与IEEE802.3
IEEE802.3描述物理层和数据链路层的MAC子层的实现方法
严格来说,以太网应当是指符合 DIX Ethernet V2 标准的局域网
采用两项措施简化通信:
- 采用无连接的工作方式,不对发送的数据帧编号,也不要求接收方发送确认,尽最大努力交付数据,提供不可靠服务,对于差错的纠正由高层完成
- 发送的数据都使用曼切斯特编码的信号
传输介质和网卡
常用的传输介质:粗缆、细缆、双绞线和光纤
10BASE-T非屏蔽双绞线以太网拓扑结构为星形网,中心为集线器
计算机与外界局域网的连接时通过主机箱内插入的一块网络接口板(网络适配器,网络接口卡)实现的
每块网卡在出厂时都有一个唯一的介质访问控制(MAC)地址
网卡控制着主机对介质的访问,网卡工作在物理层
以太网MAC帧
两种标准:
- DIX Ethenet V2标准
- IEEE 802.3标准
前导码:使接收端与发送端时钟同步
MAC帧不需要帧结束符
以太网帧最小长度64B
高速以太网
速率超过100Mb/s 的以太网
100BASE-T以太网 | 支持全双工与半双工方式 |
吉比特以太网 | 支持全双工与半双工方式 |
10吉比特以太网 | 全双工方式 |
IEEE802.11无线局域网
无线局域网组成
- 有固定基础设施的无线局域网
- 无固定基础设施的移动自组织网络
接入点(AP)
在MAC层使用CSMA/CA协议
802.11标准规定无线局域网的最小构件是基本服务集BSS
802.11局域网的MAC帧
三种类型:
- 数据帧
- 控制帧
- 管理帧
4个地址字段:
- 地址1:直接接收数据帧的结点地址
- 地址2:直接发送数据帧的结点地址
- 地址3:源、目的地址
- 地址4:用于自组网络
VLAN
VLAN标签
插入VLAN标签的帧称为802.1Q帧
VLAN的表示符VID
广域网
广域网通常是指覆盖范围很广的长距离网络
局域网使用的协议主要在数据链路层(还有少量在物理层),而广域网使用的协议主要在网络层
广域网的数据链路层协议:
- PPP协议
- HDLC协议
PPP协议
PPP是使用串行线路通信的面向字节的协议,应用在直接连接两个结点的链路上
设计的目的主要是通过拨号或专线方式建立点对点连接发送数据
既可以在异步线路上传输,又可以在同步线路上使用
三个组成部分:
- 链路控制协议(LCP)
- 网络控制协议(NCP)
- 一个将IP数据报封装到串行链路的方法
信息部分长度0-1500B
PPP提供差错检测但不提供纠错功能
仅支持点对点的链路通信,不支持多点线路
PPP只支持全双工链路
PPP的两端可以运行不同的网络层协议
PPP是面向字节的,当信息字段出现和标志字段一致的比特组合时,有两种处理方法:
- 异步线路:字节填充法
- 同步线路:采用硬件来完成比特填充
数据链路层设备
局域网交换机
是一个多端口网桥
工作在数据链路层
特点:
- 每个端口都与单台主机相连,工作在全双工方式
- 能同时连接多对端口,每台主机无碰撞传输数据
- 即插即用的设备
- 使用专用的交换结构芯片,传输速率较高
- 独占传输媒体的带宽
两种交换模式:
- 直通式交换机
- 存储转发式交换机
交换机的自学习功能
Tips
热噪声一般是信道固有的,引起的差错是随机差错,可以通过提高信噪比来降低影响
冲击噪声一般是由外界电磁干扰引起的,引发的差错是突发差错,是引起传输差错的主要原因,无法通过提高信噪比避免
FDM适合于传输模拟信号
TDM适合传输数字信号
VLAN的优点:
- 有效共享网络资源
- 简化网络结构
- 提高网络安全性