系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
3.1 使用点对点信道的数据链路层
3.1.1数据链路和帧
- 链路:是一条无源的点到点的物理线路端,中间没有任何其他的交换结点。
- 数据链路:除了物理线路外,还必须有**通信协议来控制这些数据的传输。**把实现这些协议的软件和硬件加到链路上,就构成了数据链路。——》 协议软件和硬件构成数据链路
- 数据链路层每传一次的数据称为帧。 帧只是一种数据。
3.1.2基本问题
- 1.封装成帧:在一段数据的前后分别添加首部和尾部。
- 特点:
- 首部尾部包括许多必要的控制信息
- 规定了最大传送单元
- SOH 表示帧的首部,EOT 表示尾部。
- 特点:
- 2.透明传输:无论什么样的比特组合的数据都给通过这个数据链路层。
- 差错检测:
- 冗余校验:CRC
- 在发送端,先把数据划分为组,假定每组K个比特,现假定呆传送的数据M=1010001101(k=10).CRC运算就是在数据M的后面添加供差错检测用到n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。
- 在接收端:把接收到的数据以帧为单位进行CRC校验:把收到的每一个帧都除以同样的除数P,然后检测得到的余数R。
- 在接收端对收到的每一帧经过CRC运算后有两种情况:
- 若余数R=0,则判定这个帧没差错。
- 反之有差错,但无法确定是哪一位或那几位出错。 -在数据后面添加冗余码称为帧检测序列FCS。
- 冗余校验:CRC
- 循环冗余检测CRC和帧检验序列FCS并不等同
- CRC是一种常用的检错方法,而FCS 是添加在数据的冗余码。
- FCS可以用CRC这种方法得出,但CRC并不是唯一获得FCS 的唯一方法。
- 流量控制:
- 在发送结点:
- 从主机取一个数据帧
- 从数据帧送到数据链路层的发送缓存
- 将发送缓存中的数据帧发送出去。
- 等待
- 若收到接收端发过来的信息,则从主机取一个新的数据帧,然后转到 第二步。
- 在接收结点:
- 等待
- 若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。
- 将接收缓存中的数据帧上交主机。
- 向发送接待你发一信息,表示数据帧已被接收。
- 等待。
- 在发送结点:
3.2 点对点协议PPP
- ppp协议:用户计算机和ISP进行通信时的协议
- 特点:
- 简单
- 封装成帧
- 透明性
- 多种网络层协议
- PPP还必须能够再多种类型的链路上进行传输
- 差错检测
- 检测连接状态:PPP协议必须具备一种机制能自动检测出链路是否正常
- 最大传送单元
- 网络层地址协议
- 数据压缩协商
- 特点:
3.2.1 P2P协议的组成
- 一个将数据报封装到串行链路的方法
- 一个用来建立,配置和测试数据链路连接的链路控制协议LCP —无论层面
- 一套网络控制协议NCP
3.2.2 P2P协议的帧格式
- 各字段的意义
- 标志字段F: --0x7E 开始和结束符合
- 地址字段FF
- 控制字段03
- 将信息中的每一个0x7e转换成两个字节序列(0x7D,0x5E)
- 若信息字段中出现0x7D 字节,则将其转变成为2字节序列(0x7D,0x5D)
- 若信息字段中出现ASCII码的控制字符,则在该字符前面加入一个0x7D 字节,同时将该字符的编码加以改变。
字节填充
当信息字段中出现和标志字段相同的比特组合时,则进行字节填充的办法使得数据部分能够完整的传送到接收端
-
零比特填充 : PPP协议在SONET/SDH链路时,是使用
同步传输
(一连串的比特连续传送)而不是
异步
(z逐个字符传送)。在这种情况下,协议采用零比特填充方法来实现透明传输。
- 零比特填充具体做法: 在发送是哪个的,先扫描整个信息段。只要发现有5个连续的1,则立即填入一个0;
3.2.3PPP协议的工作状态
-
用户拨号接入ISP——→端机向ISP发送一系列链路控制协议LCP分组,→进行网络层配置→网络层协议NCP向端机分配IP地址
-
PPP工作状态
-
使用广播通信的数据链路层 局域网主要使用的就是广播信道
局域网的数据链路层
- 局域网的特点:网络为一个单位所拥有,地理范围和站点数目有限
- 局域网的优点:
- 1)具有广播功能
- 2)便于系统的扩展和演变
- 3)提高了系统的可靠性,可用性。生存性
- 局域网的优点:
- 局域网的分类:星型网,环形网,总线网(最为著名的以太网就是总线网)
- 共享信道的两种技术方法:
- 1)静态划分信道
- 2)动态媒体解入控制(随机接入,受控接入)
- 由于商业竞争关系而未能形成统一的局域网标准,所以鉴于此将局域网的数据链路层划分为了两个子层——逻辑链路控制层LLC和媒体接入控制层MAC层,MAC层用来解决媒体输入相关的问题
适配器的作用
- 网络接口板又称通信适配器或网络接口卡NIC,或网卡
- 网卡的重要功能
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议。
3.3.2CSMA/CD协议
- 基于以太网的广播通信方式采用的具有检测功能的协议
- 措施:
- 采用灵活的无连接的工作方式,不必先建立连接就可以直接发送数据
- 以太网对发送的数据帧不进行编号,也不要求对面发回确认
- 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的
- 服务:
- 以太网提供的服务是不可靠的交付,即尽量最大努力的交付
- 当目的站收到差错的数据帧时就丢弃此数据帧,差错的纠正由高层决定
- 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧。
- 措施:
载波监听/多点接入/碰撞检测
- 多点接入:表示许多计算机以多点接入在一根总线上
- 载波监听:指每一个站在发送之前先要检测一下总线上是否有其他计算机在发送数据。如果有暂时不要发送数据,以免发送碰撞
- 碰撞检测:计算机边发送数据边检测信号上的信号电压大小
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值就会增加
- 在一个站检测到信号电压摆动值超过一定的门限值时,认为总线上至少有 两个站 同时 发送数据,表明发生了碰撞。
- 所谓碰撞就是发生了冲突。
- 检测到碰撞后:立即停止发送,免得继续浪费网络资源,等待随机时间后再发送。
- 特性:
- 使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信即半双工通信
- 这种发送的不确定性使得整个以太网的平均通信量远远小于以太网的最高数据率。
争用期
- 最先发送数据帧的站,最多经过两倍的端到端往返时延就可知道发送的数据帧是否遭受了碰撞。
- 这个往返时延称为争用期或碰撞窗口
- 经过争用期这段时间还没检测到碰撞,才能肯定这次不会发生碰撞。
二进制指数类型退避算法
这是一种动态退避算法,在争用期(具体为51.2μs)内可传送512bit,即64字节,所以发生碰撞的时间就在站点发送512bit的时间内(也就是说,如果站点在发送一个完整的512字节的过程中没有检测到碰撞信号,则说明以后的发送都不会发生碰撞,可以完整的发送完整个数据帧)
具体的算法原理在这就不详细说明了,在动态退避的过程中,为了使所有的站点发送的每一个数据帧逗都能保证得到想要的发送结果信息(是否发生碰撞),则规定一个数据帧的最小长度应该为512bit,这样,每个站点在发送所有的数据帧时都能够在发送完之前知道是否发生了碰撞,是否需要重传(如果小于最小帧长64字节,则有可能在完全发送完之后才发生碰撞,这样发送站点就不知道发生了碰撞,即不会重传该帧),因此,在以太网中多点信道中,凡长度小于64 字节的帧都是由于冲突而发生异常终止的无效帧,在接收站点的适配器中即可方便判断出该结果;
规定帧间最小间隔9.6μs,是为了使刚刚收到数据帧站点能够有时间对手的数据帧作出反应
强化碰撞
- 在发生碰撞之后除了立即停止发送数据之外,还要发送32bit或48bit 的人为干扰信号,目的是为了能够让所有站点都知道发生了碰撞
3.4 使用广播信道的以太网
3.4.1 传统以太网
- 1 MAC层连接方式 传统以太网可使用的传输媒体有四种: 铜缆(粗缆或细),铜线(双绞线),光缆
集线器
双绞线以太网的出现,是局域网发展史上的一个重要的里程碑
集线器的特点: 集线器使用电子器件模拟实际电缆线的工作,所以使用集线器的以太网在逻辑上还是一个总线网,各站逻辑上共享总线。而且是用的还是协议;
集线器的接口通过两对双绞线与计算机上的适配器相连;一个集线器像是一个多接口的转发器;
集线器工作在物理层,每个接口只简单地转发比特,不进行碰撞检测,
集线器采用专门的芯片,进行自适应串音回波抵消;(使得同一接口的强信号不会对弱信号产生干扰)