计算机网络-第三章
数据链路层
数据链路层基本概念
- 结点:主机,路由器
- 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线,光纤,微波,分为有线链路,无线链路
- 数据链路:网络中两个结点的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
- 帧:链路层的协议数据单元,封装网络层数据报
- 数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
数据链路层功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标网络层。其主要作用是加强物理层传输原始比特流功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
- 为网络层提供服务,无确认无连接服务,有确定无连接服务,有确定面向连接服务有连接一定有确认
- 链路管理。即连接的建立,维持,释放
- 组帧
- 流量控制,限制发送方
- 无差错控制(帧错/位错)
封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流识别帧的开始和结束
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
组帧的四种方法:1.字符计数法 2.字符填充法 3.零比特填充法 4.违规编码法
1. 字符计数法
帧首部使用一个字数字段(第一个字节,八位),来标识帧内字符数
2.字符填充法
- 当传送的帧是由文本文件组成时(都是ASCII),不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输
- 当传送的帧是由非ASII码的文本文件组成时,就要采用字符填充方法实现透明传输
3.零比特填充法
- 在发送端,扫描整个信息段,只要连续5个1,就立即填入1个0
- 在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描,连续5个1时,把后面的0删除
保证了透明传输:在传送的比特流中可以任意比特组合,而不会引起对帧边界的判断错误
4.违规编码法
- 高-低 :1 低-高:0
- 高-高,低-低来定界帧的起始和终止
- 目前普通使用帧同步法时比特填充和违规编码法
透明传输
透明传输指不管所传数据是怎么样的比特组合,都应当能够在链路上传送
差错控制
差错从何而来
-
全局性:线路本身电气特性所产生的随机噪声,信道固有,随机存在(解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
-
局部性:外界特定的短暂原因造成的冲击噪声,是产生差错的主要原因
解决办法:通常利用编码技术解决
差错
位错:1变成0,0变成1
帧错:丢失,重复,失序
链路层为网络层提供服务,通信质量好,有线传输链路
通信质量差,无线传输链路
差错控制
检错编码
奇偶校验码
循环冗余码CRC
纠错编码 k+r+1<=2的r次方 满足偶校验
流量控制和可靠传输机制
流量控制
数据链路层流量控制手段:接收方收不下就不回复确认
传输层流量控制手段:接收端给发送端一个窗口公告
方法
-
停止-等待协议:每发送完一个帧就停止发送,等待对方确认,在收到确认后在发送下一个帧
-
发送窗口1,接收窗口1
-
窗口滑动协议:
-
退后N帧协议(GBN)
发送窗口>1,接收窗口1
选择重传协议(SR)
发送窗口>1,接收窗口>1
-
可靠传输:发送端发啥,接收端接收啥
-
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧
-
滑动窗口解决:
流量控制(收不下就不给确认,想发也发不了)
可靠传输(发送方自动重传)
停止-等待协议
- 为什么有停止-等待协议:
除了比特出差错,底层信道还会出现丢包问题(丢包:物理线路故障,设备故障,病毒攻击,路由信息错误等原因,导致数据包丢失)
为了实现流量控制
- 研究停止等待协议的前提
每发送完一个帧就停止发送,等待对方确认,在收到确认后在发送下一个帧
- 应用情况
有差错和无差错
有差错情况
- 数据帧丢失或检测到帧出错
超时计时器:每发送一个帧就启动一个计时器,其设置的重传时间比应当比帧传输的平均RTT更长一些
注意:
发送完一个帧后,必须保留它的副本
数据帧和确认帧必须编号
- ACK丢失
- ACK迟到
- 信道利用率太低
- 信道利用率U=Td(发送的时间)/(Td+RTT+Ta)S
- 信道利用率=(L/C)/T LT内发送的比特数 C发送方数据传输率 T发送周期
- 信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率
- 信道吞吐率=信道利用率*发送方的发送速率
后退N帧协议(GBN)
发送窗口:发送维持一组连续的允许发送的帧的序号
接收窗口:接收维持一组连续的允许接收帧的序号
- 上层的调用
发送方检查发送窗口,未满,则产生一个帧并将其发送,如果窗口已满,发送方只需要将数据返回给上层
-
收到了一个ACK
GBN协议中,对n号帧的确认采用**累计确认**的方式,标明接收方已经收到n号帧和它之前的全部帧
-
超时事件
如果发生超时,发送方重传所有已发送但未被确认的帧
滑动窗口长度
窗口尺寸W
1<=W<=2的n次方-1
GBN协议重点总结
1.累计确认(偶尔捎带确认)
2.接收方只按顺序接收帧,不按序无情丢掉帧
3.确认序列号最大的,按序到达的帧
3.发送窗口最大为2的n次方-1
最大平均速率=(发送窗口*数据帧长)/(RTT+发送的时间)
GBN协议性能分析
- 连续发送数据帧提高了信道的利用率
- 重传时必须把原来已经正确传送的数据帧重传,传送效率降低
选择重传协议
- 上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧,否则,就像GBN一样,要么数据缓存,要么返回给上一层后在传输
-
收到了一个ACK
如果收到了ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接受,如果序号是窗口的下界,则窗口向前移动到具有最小序号的未确认帧处,如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧
-
超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧
SR接收方要做的事
来者不拒(窗口内的帧)
滑动窗口的长度
Wtmax=Wrmax=2的n-1次方
SR协议重点总结
1.对数据帧逐一确认,收一个确认一个
2.只重传出错帧
3.接收方有缓存
3.发送(接收)窗口最大为2的n-1次方
传送数据使用的两种链路
点对点链路
两个相邻点通过一个链路相连,没有第三者
应用:PPP协议,常用于广域网
广播式链路
所有主机共享通信介质
应用:早期的总线以太网,无线局域网,常用于局域网
典型拓扑结构:总线型,星型
介质访问控制
- 采取一定措施,使得两对节点之间的通信不会发生互相干扰的情况
静态划分信道
信道划分介质访问控制
频分多路复用(FDM)
并行
- 频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源
- 充分利用传输介质带宽,系统利用率较高,较容易实现
时分多路复用(TDM)
并发
- 每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道
波分多路复用(WDM)
- 光的频分多路复用
码分多路复用(CDM)
- 码分多址是码分复用的一种形式
动态分配信道
(动态媒体接入控制/多点接入)
特点:信道并非用户通信时固定分配给用户
轮询访问介质访问控制
令牌传递协议
随机访问介质访问控制
所有用户皆可随机发布信息,发送信息时占用全部带宽
ALOHA协议(不听就说)
- 纯ALOHA协议
想发就发
如何检测冲突
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突
冲突如何解决
超时后等一随机时间再重传
- 间隙ALOHA协议
把时间片分成若干个相同的时间片,若发生冲突,必须等待下一个时间片(控制想发就发的随意性
CSMA协议(先听再说)
-
CS:载波侦听/监听,每一个站在发送数据之前检测一下总线上是否有其他计算机在发送数据
电压摆动值,当有两个或两个以上的数据在发送,会产生碰撞,即发生了冲突
-
**MA:**多点接入,表示许多计算机以多点接入的方式连接在一根总线上(总线型)
-
**协议思想:**发送帧之前,监听信道
-
监听结果
-
信道空闲:发送完整帧
信道忙:推迟发送
1-坚持CSMA
坚持指的是对于监听信道忙之后的坚持
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道
空闲则直接传输,不必等待
忙则一直监听,直到空闲马上传输
如果有冲突(一段时间内未收到肯定回复),则等待一个随机上的时间再监听,重复上述过程
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
缺点:假如两个或两个以上的站点有数据要发送,冲突就不可避免
非坚持CSMA
非坚持指的是对于监听信道忙之后就不再继续监听
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道
空闲则直接传输,不必等待
忙则等待一个随机的时间之后再进行监听
优点:采用随机的重发延迟时间可以减少冲突发生的可能性
缺点:可能存在大家都再延迟等待过程,使得媒体仍可能处于空闲状态,媒体使用率降低
p-坚持CSMA
p-坚持指的是对于监听信道空闲之后的坚持
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道
空闲则以p概率直接传输,不必等待;概率1-p等待下一个时间槽再传输
忙则一直监听,直到空闲再以p概率传输
如果有冲突(一段时间内未收到肯定回复),则等到下一个时间槽开始再监听重复上述过程
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
缺点:假如两个或两个以上的站点有数据要发送,冲突就不可避免
CSMA/CD协议(先听再说,边听边说)
半双工
- 信道划分介质访问控制:将使用的每个设备与来自同一信道的其他设备的通信隔离开,把时域和频域合理地分配给网络上的设备
- 多路复用技术:把多个信号组合在一条物理信道上传输,使得多个计算机或终端设备共享信道资源,提高利用率
- 实际上就是把广播信道转变成点对点
如何确定碰撞后的重传时机
- 确定基本退避(推迟)时间为争用期2t
- 定义参数k,它等于重传次数,但k不超过10,k=min【重传次数,10】
- 从离散的整数集合【0,1,2的k次方-1】中随机选一个数r,重传所需退避的时间就是r倍的基本退避时间,即2r t
- 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错
最小帧长问题
帧长(bit)/数据传输速率 >=2t(tao)
最小帧长=2t *数据传输速率
CSMA/CA协议
载波监听多点接入/碰撞避免CSMA/CA
为什么要有CSMA/CA?
无线局域网
无法做到360°全面检测
隐蔽站 当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突
CSMA/CA协议工作原理
发送数据前,先检测信道是否空闲
空闲则发出**RTS**,RTS包括发射端的地址,接收端的地址,下一份数据将持续发送的时间等信息;信道忙则等待
接收端收到RTS,将响应**CTS**
接收端收到CTS,开始发送数据帧 (同时**预约信道**:发送方告知其他站点自己要传送多久数据
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应**ACK帧**
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数(采用**二进制退避算法**来确定随机的推迟时间)
1.预约信道 2.ACK帧 3.RTS/CTS(可选)
CSMD/CD与CSMA/CA
相同点
都从属于CSMA思路 ,其核心是**先听再说**
不同点
- 传输介质不同:CMSA/CD用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】
- 载波检测方式不同:传输介质不同,检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED),载波检测(CS),能量载波混合检测三种检测信道空闲方式
- CSMA/CD检测冲突 CSMA/CA避免冲突,两者出现冲突后都会进行**有上限的重传**
介质访问控制
信道划分介质访问控制(MAC)协议
- 基于多路复用技术划分资源
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低
随机访问MAC协议:冲突
- 用户根据意愿随机发送信息,发送时间时可独占信道带宽
- 网络负载重:产生冲突开销
- 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
轮询访问MAC协议/轮流协议/轮转访问MAC协议
-
既要**不产生冲突,又要发送时占用全部带宽**
-
轮询协议
问题:1. 轮询开销 2.等待延迟 3.单点故障
令牌传递协议
令牌:一个特殊格式的MAC控制帧,不含任何信息
控制信道的使用,确保同一时刻只有一个结点独占信道
令牌环网无碰撞
每个结点都可以在一定时间内(令牌持有时间)获得发送数据的权力,并不是无限制的使用令牌
问题:1.令牌开销 2.等待延迟 3.单点故障
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)
常用于负载较重,通信量较大的网络中
局域网
简称:LAN,是指在某一区域内由多台计算机互联成的计算机组,使用**广播信道**
特点:
- 范围小
- 使用专门铺设的传输介质
- 通信延迟时间短,误码率低,可靠性高
- 各站为平等关系,共享传输信道
- 多采用分布式和广播式信道,能进行广播和组播
决定局域网的主要要素:网络拓扑,传输介质与介质访问控制方法
局域网拓扑结构
- 星型拓扑
- 总线型拓扑
- 环形拓扑
- 树形拓扑
局域网传输介质
- 有线局域网:双绞线,同轴电缆,光纤
- 无线局域网
局域网介质访问控制方法
- CSMA/CD 常用于**总线型局域网**,也用于树形网络
- 令牌总线 常用于**总线型局域网**,也用于树形网络
- 令牌环 用于**环形局域网**,eg令牌环网
局域网的分类
- 以太网 逻辑拓扑总线型 物理拓扑星型或拓展星型
- 令牌环网 环形拓扑 星型
- FDDI网 环形拓扑 双环拓扑
- ATM网
- 无线局域网 IEE802.11
链路层的两个子层
LLC子层:识别网络协议
MAL子层:数据帧的封装和拆卸
以太网
-
使用CSMA/CD技术
-
以太网在局域网技术中国占统治性地位
造价低廉
应用最广泛的局域网技术
比令牌环网,ATM网便宜 简单
满足网络速率要求:10Mb/s~10G/s
IEEE 802.3
以太网提供无连接,不可靠服务
无连接:发送方和接收方之间“无握手过程”
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错就诊由高层负责
以太网只实现无差错接收,不实现可靠传输
以太网拓扑:逻辑上时总线型,物理上时星型
10BASE-T以太网
10BASE-T是传送**基带信号的双绞线以太网,T表示双绞线,采用的是无屏蔽双绞线,传输速率 是10Mb/s**
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m
采用曼彻斯特编码
采用CSMA/CD介质访问控制
高速以太网
1.100BASE-T以太网
双绞线上传送100Mb/s基带信号的星型拓扑以太网,MASA/CD协议
支持全双工,半双工,可在全双工方式下工作而无冲突
2.吉比特以太网
在光纤或双绞线上传送1Gb/s信号
支持全双工,半双工,无冲突
3.10吉比特
在光纤上传送10Gb/s
VARN基本概念与基本原理
- 缺乏流量隔离
- 管理用户不便
- 路由器成本较高
VLAN基本概念
是一种**将局域网的设备划分成与物理位置无关的逻辑组的技术**
VLAN的实现
需要借助:路由器,三层交换机
表示VLAN的有效ID取值范围是1-4094
虚拟网络建立在局域网技术基础上,以软件方式来实现逻辑工作的划分和管理
广域网
使用分组交换技术。广域网的通信子网可以利用公用分组交换网,卫星通信网,和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的
PPP协议的特点
- 目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都是用PPP协议
- 只支持全双工链路
PPP协议满足的要求
- 简单
- 封装成帧
- 透明传输
- 多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
PPP协议无需满足的要求
- 纠错
- 流量控制
- 序号
- 不支持多点线路
PPP协议的三个组成部分
- 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法
- 链路控制协议LCP;建立并维护数据链路连接。身份验证
- 网络控制协议NCP
HDLC协议
采用全双工通信
- 所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高
HDLC的站
- 主站
- 从站
- 复合站
三种数据操作方式
- 正常响应方式
- 异步平衡方式
- 异步响应方式
HDLC的帧格式
- 信息帧
- 监督帧
- 无编号帧
“无奸细”
PPP协议 :面向字节,2B协议字段,无序号和确认机制,不可靠
HDLC协议:面向比特,没有2B协议字段,有编号和确认机制,可靠
链路层设备
链路层扩展以太网
网桥:根据MAC的目的地址对帧进行转发和过滤
网桥优点:
- 过滤通信量,增大吞吐量
- 扩大了物理范围
- 提高了可靠性
网段:一般指一个计算机网络中使用同一物理层设备
透明网段:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备–自学习
源路由网段:在发送帧时,把最详细的最佳路由信息(路由最少/时间最短)放在帧的首部
方法:源站以广播方式向欲通信的目的站发送一个发现帧
以太网交换机的两种交换方式
-
直通式交换机
-
延迟小,可靠性低,无法支持具有不同速率的端口的交换
-
存储转发式交换机
-
延迟大,可靠性高,可以支持具有不同速率的端口的交换
冲突域和广播域
冲突域
同一时间内只有一台设备发送信息的范围
广播域
如果站点发出一个广播信号,所有能接收收到这个信号的设备范围
物理层设备【傻瓜】(中继器,集线器) 不能隔离冲突域,广播域
链路层设备【路人】(网桥,交换机) 能隔离冲突域,不能隔离广播域
网络层设备【大佬】(路由器) 能隔离冲突域,广播域