计算机网络【第三章-数据链路层】
一、功能
1、封装成帧和透明传输
封装成帧:一段数据前后添加首尾部,构成一个帧
透明传输:不管数据什么样,都能在链路上传送
组帧方法
- 字符计数法【计数字段易损】:在帧首用一个计数字段表明帧内字符数(帧内字符数包括计数字段本身)
- 字符填充法【复杂、不兼容】:首尾各加一个标志,在数据中和首尾标志相同的部分前添加转义符,接收后删除转义符
- 零比特填充法【5110】:首尾各添加一个“01111110”,在数据中连续5个“1”后添加1个“0”,接收后删除连续的5个“1”后面的1个“0”
- 违规编码法:用不会出现的编码定义帧的起始和终止
2、差错控制
分类
- 位错:比特位出错,1变0,0变1
- 帧错:丢失、重复、失序
检错编码
①奇偶校验码:原始数据尾部添加一比特校验位,使整个数据中“1”的个数满足预设的奇偶性
②循环冗余码CRC
- 准备待传有效数据:将待发送比特流分割成等长的组
- 每个组都加上冗余码构成帧再发送:若生成多项式为r+1位,则先在每个组后面加r位0,再算出其与生成多项式异或(同0异1)的余数,此余数为FCS帧检验序列/冗余码,用其替换尾部的r位0
- 接收方检验:帧(原数据+冗余码)与生成多项式异或,余数为0则接受,否则丢弃
纠错编码:海明码
- 确定校验码的位数:数据m位,冗余码r位,通过海明不等式[2r≥m+r+1]算出r值
- 确定校验码的位置:冗余码在序号为2n的位置,数据按序填写
- 求出校验码的值:冗余码所在序对应二进制中的0换为通配符,据此即可找到该冗余码所校验的位;采用偶校验,保证冗余值所在校验小组中“1”的个数为偶数,以此确定冗余值的值
- 检错并纠错:进行r次偶校验,找到出错位
以原数据“1100”为例:
- 数据4位,所以冗余码3位
- 冗余码在20、21、22位上,所以数据变为“110r40r2r1”
- r4处理过后为1**,所以r4校验4567,以此类推,r2校验2367,r1校验1357;r4=0,r2=0,r1=1
- 若收到“1110001”,进行3次偶校验,r4r1出错取交集“57”,r2没错取差集“5”,所以5位出错
海明距离(码距)
- 两个编码的海明距离:两个编码有多少对应位不同
- 编码集的海明距离:编码集中,任意两个编码的海明距离的最小值
- 检测出有d位出错,码距应为d+1;纠正d位错误,码距应为2d+1
3、流量控制
发送窗口与接收窗口的数量
- 停止等待协议:=1,=1
- 后退N帧协议:>=1,1
- 选择重传协议:>=1,>=1
1)停止等待协议
每发送一帧就停止发送,等待对方确认,收到确认再发送下一帧(超时重传)
2)滑动窗口协议
①后退N帧协议(GBN)
连续发送多个帧,按序接收,乱序丢弃并发送上一个接收的帧的确认(累计确认)超时则重传已发但未确认的帧
②选择重传协议(SR)
连续发送并接收多个帧,每个帧有自己的定时器,超时后只重传一个帧
4、可靠传输
发送端发啥,接收端收啥
二、应用
1、两种链路
1)点对点链路:常用于广域网
2)广播式链路:常用于局域网
2、介质访问控制
静态划分信道-信道划分介质访问控制
- 频分多路复用FDM:用户分配到频带后,在通信过程中始终都占用这个频带
- 时分多路复用TDM:将时间划分为一段段等长的时分复用帧,每个用户在每个帧中占用固定序号的时隙,用户轮流占用信道
- 波分多路复用WDM【了解】:就是光的频分多路复用,光纤中传输多种不同波长的光信号
- 码分多路复用CDM:所有用户同时在同一频率上传输,通过独特编码区分不同用户
动态划分信道-随机访问介质访问控制
1)ALOHA协议【不听就说】
- 纯ALOHA:想发就发,若发生冲突,接收方不予确认,发送方超时后等一随机时间再重传
- 时隙ALOHA:把时间分成若干等长时间片,用户在时间片开始时刻发送,若冲突,则等到下一个时间片开始时再发送
2)CSMA协议【先听再说】
发送之前监听信道,信道空闲则发送完整帧,信道忙则推迟发送
- 1-坚持CSMA:信道忙,则一直监听
- 非坚持CSMA:信道忙,则等待一个随机的时间之后再监听
- p-坚持CSMA:
- 信道空闲,则概率p直接传输,概率1-p等到下一个时间槽传输
- 信道忙,则持续监听直到信道空闲再以概率p传输
- 冲突,则等到下一个时间槽开始再监听并重复上述过程
3)CSMA/CD协议【先听再说+边听边说】
CD:碰撞检测
适用于总线型以太网
①截断二进制指数规避算法(用于计算重传时间)
1. 冲突时,从[0,2ⁿ-1]中随机选一个K,等待K倍基本退避时间(RTT)后重传
2. n为冲突次数,初始为1,n增至10后不再增加,但最大重传次数为16次
3. 若仍失败,则丢弃该帧并向高层报错
②最小帧长
传输时延大于等于两倍的传播时延
最小帧长=2*传输速率*传播时延
4)CSMA/CA协议
CA:碰撞避免
适用于无线局域网
- 发送前检测信道是否空闲,空闲则发出RTS(requesttosend),信道忙则等待
- 接收端收到RTS后,将响应CTS(cleartosend)
- 发送端收到CTS后,开始发送数据
- 接收端收到数据帧后,用CRC来检验数据,正确则响应ACK帧
- 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)
动态划分信道-轮询访问介质访问控制
令牌传递协议
应用于令牌环网(逻辑上是环形拓扑)
- 令牌环网中,一个空闲令牌在主机间按序传递
- 需要发送数据的主机在捕获令牌后,将其变为忙状态,然后发送数据
- 数据在环上传输,被目标主机读取确认后,最终返回发送主机
- 发送主机确认后收回数据,并产生一个新的空闲令牌传递给下一台主机
3、局域网
1)以太网(802.3局域网)
- 基带总线局域网规范,使用CSMA/CD,不可靠传输(基带传数字信号,宽带传模拟信号)
- 拓扑:逻辑上总线型,物理上星型
- 传输介质:双绞线+集线器
- 10BASE-T以太网:基带无屏蔽双绞线以太网,传输速率10Mb/s,采用曼彻斯特编码
- 通信适配器:连接计算机与有线局域网
- MAC地址:适配器的48位二进制地址,前24位代表厂家(IEEE规定),后24位厂家定
- 高速以太网:速率≥100Mb/s的以太网(100BASE-T以太网、吉比特以太网、10吉比特)
2)无线局域网(802.11局域网)
- MAC帧头格式:帧控制+生存周期ID+接收端地址+发送端地址+目的地址+序列控制+源地址
- 分类:
- 有固定基础设施无线局域网
- 无固定基础设施无线局域网的自组织网络
3)虚拟局域网VLAN:将局域网内的设备划分成与物理位置无关的逻辑组
4、广域网
- 使用分组交换技术
- 点对点协议(PPP):只支持全双工链路,身份验证