数据链路层(王道视频笔记)

第三章 数据链路层


文章目录


前言

在这里插入图片描述

  • 封装成帧 其实就是在帮我们过渡一下物理层到链路层 我们物理层传输的是一个一个比特,那我们在链路层这一个层级呢 就要把比特封装成帧 几个比特为一组放到一帧里面 这个就是数据链路层的一个传输单位 或者说传输单元
  • 透明传输 他想表达的其实就是不管我们这个封装好的帧里面的比特是怎么样的一个组合,我们都可以把它顺利的传输过去,所以表现的就是链路层好像看不见他传输的帧里面到底是什么样的一个比特序列,所以呢 就借用了透明这个概念 不管怎么样都可以传过去
  • 差错控制 那我们在链路层传输的时候呢 可能会发生一定的差错 那这个差错主要是会由于噪声引起的 那导致的结果就是位错和帧错 位错很简单 就是比特发生了错误(即1,0)发生错误了,
  • 那对于这种错误呢 我们的解决办法就是使用检错编码 或者是纠错编码 检错编码顾名思义就是能检查出来它有问题 纠错编码呢 就是指不仅能够发现它错 而且还能把它的错误纠正过来 有点自动化的意思了 那么对于检错编码 我们接下来要解决这个差错的办法呢 就是发现错了 那我们就重传一个帧,重传刚发错的帧就可以了
  • 那么第二大类的这个差错呢 就是帧发生了错误 比如说帧丢了 帧重复了 帧乱序了,那这样的错误呢 我们会通过定时器和编号机制来检查它是否有出错 那么如果出错还是一样 把帧重新传输 重传帧
  • 流量控制:它其实就是在控制发送方的流量,就发送这个帧 我要掌握一定的速度 慢慢来 不要急 这样啊才能避免这个帧丢失了或者是这个帧接受不到了这些情况。流量控制这呢 我们会学习几种协议 那么那几种协议呢 就是对于流量控制的一个保证。
  • 链路层为了实现流量控制和可靠传输,我们引入了一个滑动窗口机制
  • 对于一个广播信道来说 我们就需要进行介质访问控制,其实就是在说 如果我们大家处在一个局域网里 我要给你发送信息 怎么才能够避免别人要发的这个信息 和我发的这个信息发生了碰撞,导致你那边收不到 为了解决这一系列很复杂的问题 我们就需要介质访问控制 让所有人的都可以有序的使用这个广播信道,才能够保证信息不丢失 或者是其他的问题

3.1.1 数据链路层功能

数据链路层的研究思想

在这里插入图片描述

  • 那A假如说要跟B通信 交给B发送数据 那发送的数据那先经过应用层进行一个封装,在传输层再封装一次,到网络层再封装一次,到数据链路层加头加尾再封装一次,然后转成0101比特流的形式放到链路上进行传输
  • 那经过这个中间系统,从物理层开始,再到数据链路层解封装,再到网络层解封装,然后呢 再从网络层开始 自上而下的对数据进行一个封装 接着再在数据链路层上面进行一个传输
  • 那传输到终端 传输到这个信宿的时候 我们就把这个数据,自下而上的一步一步再解封装 最后还原出原始的数据 送给这个B
  • 那在这样一个过程当中呢 其实我们可以看到数据是自上而下,先封装,然后再解封装,再封装,再解封装这样一个过程 ,然而当我们专门去研究数据链路层它的问题的时候,很多情况下 我们只是关心在协议栈当中水平方向的各个数据链路层,所以当这个A主机要给B主机发送数据的时候呢 我们就可以想象数据是从A的链路层自左向右 水平方向发送的 就像这样一个箭头所示 那这个就是我们在这一张研究链路层的一个研究思想

数据链路层的基本概念

在这里插入图片描述

数据链路层功能概述

在这里插入图片描述

  • 假如说有一个公司的大boss 它呢就是网络层,那它有一个小秘书 它就是数据链路层
  • 那现在大boss发话了 说 你把这五份文件发给B公司,那小秘书把这样一份工作呢交给了一个一个下级员工,这个员工呢 他是个傻子 他是物理层
  • 所以小秘他就想 如果我要把这个东西给傻子的话,我就要先提前准备好要把这个五份文件分别编个号 变成12345 这样如果到时候发生丢失或者是重复我也好找,然后好去解决这个问题
  • 那他就把这五份文件给了傻子 傻子就跋山涉水,把这个五份文件送给了b公司的一个小秘书,那小秘书现在就发现,哎 你这五份文件没有发全 我只收到了你给我的123号文件 那快去把45号找回来,傻子就把这个四号和五号文件找回来 再给这个小秘 那现在小秘书就收齐了五份文件 把这五份文件交给了大boss

在这里插入图片描述

3.2.1 封装成帧和透明传输

封装成帧

在这里插入图片描述
在这里插入图片描述

透明传输

在这里插入图片描述

字符计数法

在这里插入图片描述

  • 假如说我们这个计数字段 也就是第一个字节发生了错误 他从5突然变成4了 可是这一个帧的其实是应该有五个字节的,但他变成了4之后 就好像告诉接收方我这个帧只有四个字节 那这样对应第一个帧 他的这个结束位就发生了错误了,那因此 第二个帧开始位应该是5 应该从这开始 结果呢 变成从这4开始了,所以导致后面的所有帧全部发生错误 那这样的话接收方就没有办法正确的接收每一个帧,接受双方就失去了同步 从而造成了非常灾难性的后果

字符填充法

在这里插入图片描述

  • 假如说我们这个数据部分出现了这样一个与EOT一样的对应的比特组合 也就是00000100出现了 这样的接收端可能就会误会了啊 这是不是帧就结束了 他就错误的找到了边帧的边界从而把后面的丢弃掉,那这个时候就发生了比较严重的错误 因此我们就要采用字符填充法来实现透明传输
  • 也就是说通过一种方法,使得接收端在看到这个跟结束字符一样比特组合的东西的时候 也不去管他 把它当作数据 照常接收 直到遇到帧的结束符 我们才停止接受 那我们就来看一下字符填充法的一个具体实现过程
    在这里插入图片描述
  • 字符填充的过程其实就是在这些控制信息的字符前面加上一个转义字符,这个转义字符 其实也是一个8位的比特组合,填入这样一个字节之后 就是在告诉接收端 你不用管我后面的这个东西是什么了,你就正常接收就可以 直到你遇到真正的结束字符才行

零比特填充法

在这里插入图片描述

  • 零比特填充法 这种方法是允许数据帧当中包含任意个数的比特

违规编码法

在这里插入图片描述

  • 曼彻斯特编码 它是这样 前高后低 或者前低后高 标为1或者是0,那我们现在前高后低定义为1 前低后高对应为0,所以说 在曼彻斯特编码当中呢 每一个码元,或者说是每一个比特 它所对应的电平都是高低 要么就是低高 所以说不会出现高高 低低这两种编码方式
  • 那因此这两种编码方式呢 就是两种违规的编码方法 我们就把这两种违规的编码方法作为,定界帧的起始和终止的标志编码 ,所以说违规编码的方法非常简单 就是用两个编码当中不会用到的电平方式,来标志帧的起始和终止

3.3.1 差错控制(检错 编码)

差错从何而来?

在这里插入图片描述

数据链路层的差错控制

在这里插入图片描述

  • 首先大家要明确一点 对于链路层的差错控制 我们是在任何一个节点的链路层都可以实现的,那么每一个节点和它下一个相连的节点 其实就构成了发送方和接收方的这样一个关系 所以只要这个关系一成立 接收方就应该对于发送方发来的数据进行一个差错的检测甚至纠正
  • 那么检测错误呢 我们就采用检错编码 如果是要纠正错误 我们就采用纠错编码

检错编码 – 奇偶校验码

在这里插入图片描述

  • 奇校验码就是在n-1位信息元之前加上1位的校验元 使得1的个数是奇数
  • 那偶校验码很简单 只要1的个数为偶数就可以了
  • 所以这个1的个数为奇数还是偶数 就是发送方和接收方他们两个共识的一个规则,拿到这个规则之后 接收方就可以检验收到的数据是否符合这个规则 符合就说明是正确的 不符合就说明是错误的
  • 当然要补充一句 如果接收方发现这个规则是符合的 也不代表数据没有发生错误,就像刚刚肉的那个例子,如果两块肉都变成了骨头 我们按照这个规则其实也发现不了它是不是真的发生错误了 所以奇偶校验码 它是有一个检错的局限

检错编码 – CRC循环冗余码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 可靠传输指的是链路层发什么接收端就接什么 那这种CRC检验呢 它是只能实现无比特差速的传输,也就是说只要接收这个帧就没有比特差错 但是呢 这不能叫做可靠传输,因为我们有一些帧丢弃了 他没有对这些帧进行一个处理,那发送端发送的全部数据 接收端并没有全部接收 所以这还达不到可靠传输

3.3.2 差错控制(纠错编码)

纠错编码 – 海明码

在这里插入图片描述

  • 奇偶校验码,他的特点呢 就是可以检查出奇位错 但是检查不出来偶数位错 同时呢 他发现了错误之后 他并不能够纠正这个错误 也就说他不知道究竟是哪个位置发生错误了 他只知道肯定有错

海明距离

在这里插入图片描述

  • 如果海明码要检测d位错的话,那么需要码距是多少呢 码距就是d加1
  • 那么如果是纠正d位错的话,需要的码距是多少呢 需要的是2d+1

1.确定校验码位数r

在这里插入图片描述

  • 如果有了r位的检验码 那么检验码就会有2的r次方种取值,我们之所以在海明码这儿用了校验码可以起到纠正错误的效果 就是因为校验码,不同的取值可以代表不同的位置发生了错误,除了发生错误 还有一种情况就是没有错误 没有发生差错 也就是1 那么剩下的情况就是m+r位发生错误 所以就会有m+r种错误
  • 因此这个2的r次方应该是要大于等于m+r+1的,这个1就是刚刚说的没有差错的 m+r就是如果m+r位中每个位各发生一次错误 总共的个数

2.确定校验码和数据的位置

在这里插入图片描述

3.求出校验码的值

在这里插入图片描述

  • 那写成这个1** 其实就是为了表示说这个4号校验码 它是能管所有1的数据位的,所以我们可以看一下5位6位7位 他们都是1的形式 因此他们三个都是由4来校验
  • 采用偶校验的方式其实就是想让4,5,6,7他们出现偶数个1 那可以看到现在4,5,6,7是x4 011,所以为了保证偶数个1,x4就是0

4.检错并纠错

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

脑图时刻

在这里插入图片描述

3.4.1 流量控制与可靠传输机制

在这里插入图片描述

  • 链路层流量控制和传输层流量控制的一个主要区别,链路层流量控制的是点对点的 而传输层的流量控制是端到端的,我们之前有讲过中间系统 中间系统包括交换机 路由器等等 那他们所在的层次,只有网络层以下三层,网络层 链路层 物理层这三层,但是在两端 也就是发送端和接收端两个主机 他们是七层或者是五层全部有的, “传输层流量控制是端到端的” 指的就是,传输层负责的这种流量控制是在两个主机之间的 而链路层的流量控制的是每两个相邻节点之间的
  • 还有一个区别就是他们的控制手段是不一样的 链路层的控制手段的是接收方收不下就不回复确认,那这个确认其实说的就是一个确认帧 它是一个不包含数据的一个控制帧,我们可以想象成 它就是一个不包含数据的一个命令,发回一个确认帧就相当于告诉发送方你可以再发送下一个了
  • 而这个传输层的流量控制手段呢 是接收端给发送端发送一个窗口公告,那这个窗口公告呢其实就是告诉发送端我现在窗口有多少,我的缓冲区还有多大,那你就控制下你的速度 不要发太多

流量控制的方法

在这里插入图片描述

  • 停止等待协议也可以算是一种特殊的滑动窗口协议,发送和接收窗口都是1
  • 停止等待协议这种传输效率是非常低的,因为我每发送一个帧就要等他确认给我 然后我才能再发送下一个帧
  • 滑动窗口协议呢 就相对来说比较高效一些,假如说我们这边有一长条数据,这每一个小格其实都是标志着一个帧,这是零号帧 一号帧 二号帧 三号帧 四号帧等等,那可以看到这个里面出现了循环 就说明我们这个帧序号是重复利用的,并不是有无限的数可以利用
  • 发送窗口就是指在发送方维持一段连续的 允许发送的帧的序号就叫做发送窗口 ,其实大家可以理解 发送窗口就是我现在正在发送的这些数据
    在这里插入图片描述
  • 在这里面要注意一点啊 在链路层的滑动窗口协议当中 这个窗口的大小在传输过程当中是固定的
  • 在链路层 也就是说我们现在所讲的这三种协议,他的滑动窗口 他的发送窗口与接收窗口大小在发送过程当中永远就是固定值

可靠传输、滑动窗口、流量控制

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.4.2 停止-等待协议

停止-等待协议究竟是哪一层的?

在这里插入图片描述

  • 因为它在这两本书当中停止等待协议放在了传输层 而在王道的辅导书当中我们把停止等待协议放在了链路层
  • 这里面要说的就是 在计算机网络发展的前期通信链路质量不是很好 所以呢链路层它就要担负起可靠传输的这个职责,因此链路层 它就会使用停止等待协议 后退N帧协议 选择重传协议等等
  • 那随着现在技术的发展呢,我们这个通信链路的质量越来越好 那出现差错的可能性就不像以前那么大,那因此链路层 它就可以暂时抛弃可靠传输的这样一个职责 把这个责任交给传输层来实现
  • 而这个链路层 主要就负责一个差错的控制,这样就会使得我们数据在链路上进行传递的过程当中速度更快 所用的时间更小 延迟也就更小
  • 那因此 我们在学习这节课的时候 大家不需要太去纠结这三个协议究竟是哪一层次的,因为它在哪一层次 最后影响的也只是传输数据的一个对象,比如说我们这三个协议 它是传输层的 那我们发送的数据就可以称之为分组,而在这个链路层传输的时候 我们就会把这样一个数据,称作是一个数据帧,那它只是一个对象上命名的不同 但是它本质都是我们要传送的数据

停止-等待协议

为了解决这个丢包问题啊 同时为了实现流量的控制 我们就需要有这样一个停止等待协议
在这里插入图片描述

  • 数据包呢 它其实就是一个数据,那在链路层呢 它就可以叫做帧,那在网络层呢 它就可以叫做ip数据报 或者是分组,那在传输层呢 它又可以叫做报文段,所以这个数据包在不同层次 它可以有不同的名字

停等协议 – 无差错情况

在这里插入图片描述

停等协议 – 有差错的情况

1. 数据帧丢失或检测到帧出错

在这里插入图片描述

  • 这种重传是自动的,就只要超过这个时间 发送方就会自动再去重新发送一个帧 并不需要别人的提醒 所以我们也叫做自动重传
  • 发送完一个帧之后 必须要保留它的副本 也就是说,我们在发送0号帧的时候,刚发完 我们这个手里面还要拷贝一个0号帧的副本,那这样就可以解决如果我们这个发送的帧在路上出现了丢失情况 我们就还可以把这个副本再发上去 直到我们收到了对于这样一个帧的确认帧为止 我们才可以把副本扔掉 然后再开始下一轮的传输
  • 那第二个就是数据帧和确认帧是必须编号的,因为我们只要在这种停止等待协议当中啊 如果连续出现了相同发送序号的数据帧 那就说明发送端进行了一个超时重传,那连续出现了相同序号的确认帧呢就表明接收方它收到了相同的重复的帧,那这种编号就可以解决帧的丢失 帧的重复等问题
  • 检测到帧出错其实这和帧丢失情况比较类似,比如说我们发送0号帧 那在链路上面进行传输的过程当中都很顺利 当然也也到了接收方 但是接收方发现这个帧出错了 那它对于这个帧就丢弃掉 不做处理 然后也不返回一个确认帧 那这个时候发送方苦等了一个计时器的重传时间之后,发现还没有等到它的确认帧 因此发送方还会再进行一个超时重传刚才发送的帧的过程
2.ACK丢失

在这里插入图片描述

3.ACK迟到

在这里插入图片描述

停等协议性能分析

在这里插入图片描述

  • 下面的是发送方 上面是接收方 发送方呢 现在要发送一个数据帧,那这个数据帧啊 它是由多个比特位组成的 所以我们就可以看到 这是一个比较宽的一个长条,那这一点呢 其实指的就是发送方开始发送第一个比特 那这一点的就是指发送方已经发完了这一个数据帧的最后一个比特
  • 那接受方这一个点指的是接受方收到了来自发送方的第一个比特 这儿呢指的是接收方收到了来自发送方的最后一个比特
  • 以说这样一个小的宽条其实就是发送方的一个发送数据帧的发送时延
  • 接收方收到了发送方的数据之后 就要返回一个确认 这个确认帧 我们说它是一个只包含控制信息的一个控制帧 不包含数据 所以它相对来说所含的比特数要比这个数据帧少一点 因此它的这个长条就稍微短一点
  • 同样的道理 那它的这样一个宽度 其实就是这样一个确认帧的发送时延
  • 那因此对应到这个数轴上面这一块 我们用Td表示 它指的就是发送方发送一个数据帧的发送时延
  • 第三块呢 我们用Ta表示 就是这样一个确认帧的发送时延

信道利用率

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.4.3 后退N帧协议(GBN)

停等协议的弊端

在这里插入图片描述

  • 发送方每发送一个帧呢 就要一直处于等待的状态 等到接收方发送给他一个确认帧 他才可以发送一个新的数据帧,那这种状况呢 就会使得我们发送方发送数据的时间很小,比如说我们这个发送方的发送速率极快 那他可能一天的时间只能有一个小时在发送数据 其他的时间都是在等待这样一个,接收方的一个确认帧的回复 所以说 这是非常浪费资源 浪费时间的
  • 每个传输当中的数据帧必须有一个唯一的序号,那像在这三组数据帧当中呢 他们三个的序号都要是不同的,那这样接收方呢才能返回给他们 每一个人唯一对应的一个帧 这样的话 如果丢失我们也好找到底是哪一帧出现了问题

后退N帧协议中的滑动窗口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 副本 我们在这呢用橙色的标识出来
  • 编号ACK0发给发送方 发送方就知道 我刚刚发的0号帧他已经正确的接收了,那么接下来 接收方和发送窗口都会进行一个窗口前移的任务,因为接受方收到了这个0号帧 他就可以前移一位 那么发送方也收到了这样一个确认帧 他也可以前移一位
  • 累计确认:假如现在发送方123号帧全部都发送出来 那么接收方呢 他不用逐一的去确认,他只需要对3号帧确认就可以了 那么对于这个3号帧的确认ACK3呢 就是在表示说,前面发送的帧我已经全部正确接收了,那么当发送方看到一个ACK3之后呢 他就知道哦 123他已经正确接收了 那我只需要把滑动窗口再往前移三个格子就可以了
  • 当然啊 在接收方这 既然他能发一个ACK3就是说明他的接收窗口已经从1移到2再移到3然后现在是应该保持在4的这个状态了

GBN发送方必须响应的三件事

在这里插入图片描述

GBN接收方要做的事

在这里插入图片描述

运行中的GBN

在这里插入图片描述

滑动窗口长度

在这里插入图片描述

  • 如果我们现在用的是两个比特对帧编号 那么我们的帧的编号就是有0123这四种,假如说我们这个发送窗口啊 是4个,那现在呢 就让他们四个帧分别发送出去 一个接着一个发送出去,然后呢 很不幸的是 这四个帧所发送出去的确认帧全部丢失,也就是没有确认帧返回给他们 那因此等他们四个超时计时器 或者说等这个0号帧超时计时器超时了之后 他就会把0号帧1号帧 2号帧 3号帧这四个帧再次重传一次 那这个时候接收方就不知道你这个0123,到底是新的帧还是旧的帧啊 我就不知道怎么区分了

GBN协议重点总结

在这里插入图片描述

GBN协议性能分析

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.4.4 选择重传协议(SR)

GBN协议的弊端

在这里插入图片描述

选择重传协议中的滑动窗口

在这里插入图片描述

SR发送方必须响应的三件事

在这里插入图片描述

SR接收方要做的事

在这里插入图片描述

运行中的SR

在这里插入图片描述

滑动窗口长度

在这里插入图片描述

  • T是指发送窗口 R是接收窗口,n呢 就是用多少个比特来编这个帧的序号

SR协议重点总结

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.5.1 信道划分介质访问控制

传输数据使用的两种链路

在这里插入图片描述

  • 在传输数据当中呢 我们通常使用两种链路 一个是点对点链路 另一个就是广播式链路
  • 点对点链路:假如说我和另一个朋友要通信 通过电话来通信 那其他人是不是听不到我们俩在电话里面究竟说了什么,所以说这种点对点的链路 是没有第三者的介入的
  • 广播式链路:主机可以共享一个通信介质 就好像我们开一个Party或者大家去蹦迪 所有人都可以说话,这样你说的话可能很多人都能听到 那这个空气相对于我们来说就是一个共享的通信介质,所有人通过空气这样一个介质 来进行一个信息的传递 那因此你说的信息 可能很多人都能听到 这个就是广播式链路
  • 这个无线局网其实就是我们现在手机移动设备 他上网的时候使用的这种网络就叫做无线局域网
  • 那常用于局域网和这个常用于广域网的区别 我们来想一个例子,假如说你要跟你美国的一个朋友联系 那你们可能采用打电话或者微信视频,这样几种方式 那你通过这种方式的时候呢 其他的人是听不到你们之间说什么的 就好像我们刚才举的打电话的例子,没有第三者可以进入到你们的通话之中,除非你们是群视频 群聊天 这个我们就不说;那我们再看广播式链路 广播式链路呢 其实就是在一个局域网内的一种链路类型 比如说我们在一个村子里面 村子里 我们知道范围很小,那这种范围很小的情况下呢 比如说我们说一个消息 我们就可以通过在村子里喊一声,说 张三你过来一下 或者是李四你来我家拿个玉米,就是这种广播式链路呢 就是你发的消息别人都听得到的 所有人都会共享你们通信的这样一个介质,自然也就是空气 所以广播式链路呢 适用于这样一个网络范围比较小的局域网 而点对点链路适合于这个通信范围比较宽的 比较大的广域网
  • 那再举这样一个例子 我们来理解下广播式链路 广播式链路呢就类似于我们对讲机在通话,我们知道我一个对讲机 假如说我现在要跟你们说话 我现在就可以按下说话的键,其他人呢 如果同时按的话 就会造成一个冲突 谁都说不了 但是呢,如果我自己按你们都没有人按 你们所有人都可以听得到信息 那这个就是广播式链路的一个特点 只要我发了一个信息,在这个链路上面的所有设备 所有主机全都能收听得到 但是对于这个信息处不处理呢 就要看他的这个目的地址是不是自己,这个目的地址呢 我们现在说起来比较早 其实在这个例子里面就是说我说话的对象 或者说我要指明的对象是不是你
  • 那我们再来说一下刚才这个对讲机的例子 假如说 我要说一句话了 那你呢 也要说一句话 那我们两个同时的话就会造成一个冲突,那么我们这两个节点 或者说我们这两个人之间的通信可能就会因为对方的干扰而失败,那我们这个链路层就要解决这个问题,采取一定的措施来使两个节点之间 两个节点之间的通信不会相互干扰 那这种措施就叫做介质访问控制

介质访问控制

在这里插入图片描述

  • 静态划分信道:相当于我们这个信还没有开始通信之前 先把这个信道划分一下 或者说先给所有人规定一下咱们怎么通信
  • 动态分配信道: 我们可能在通信的过程当中会遇到冲突 那我们遇到冲突及时的把他控制掉 及时解决掉就可以了
信道划分介质访问控制

在这里插入图片描述

  • 上面这三个小球呢 我们就把他当作每两对主机之间要传递的信息
  • 多路复用技术:那具体来说就是把多个信号拧成一捆,然后呢 发送出去 到接收端的时候 再把这个信号分离开来 那这就是多路复用技术的一个大白话的理解
频分多路复用FDM

在这里插入图片描述

  • 频分多路复用呢 其实非常的简单 我们可以看到 这是一个频率与时间的坐标轴,12345呢 就是不同的频段,那每一个频段呢就会分给一个用户 因此我们可以看到 在任何时间内 每一个用户 他都占着这样一个频段
  • 这里面的带宽呢 和我们之前讲的这个发送速率 或者叫传输速率是不一样的 这里面带宽指的是在通信过程当中的频率带宽,也就是以赫兹为单位的
  • 所以我们可以看到频分多路复用 就是每个用户占一个频段,那他就借着这个频段把自己的数据发送出去 这样的就会使所有的用户 他们在传输数据的过程当中不打架
  • 随着这个频率的降低 我们这个波形的宽度会变大 那每一个频段我们对应的一个主机,因此我们及时把这些信号放到一个信道上面进行传输 我们也能区分开到底谁是谁 而且他们互相之间呢,不会 不怎么打架
时分多路复用TDM

在这里插入图片描述

  • 那TDM呢 和我们刚才的这个FDM不一样的点 就是在于他们每一个主机并不是任何一个时间都占用的这样一个信道的,我们可以看到他们是交替使用着这个信道 但是频率是没有区分的 他们频率的带宽都是一样的
  • 每一个主机他都是轮流而且是周期性的占用这样一个信道
  • 那我们现在来想这样一个问题 如果我们这个A主机 他有一段时间休息一会,B主机也休息会 C主机看着他俩休息了C也休息会,那么 现在这个信道上只有D在传输数据 可是D呢 他也并不是所有时间都占用着信道 他也是等三个时间片之后才能够占用信道,再等三个时间才能占用一个信道 所以他等待的时间非常久 那因此就造成了我们信道利用率比较低,所以呢 我们就有一种改进的时分复用方法 也叫做统计时分复用 那这个S就是Statistic
改进的时分复用 – 统计时分复用STDM

在这里插入图片描述

  • 首先呢 只有A B C D四台主机 四个设备 他们呢 要发送数据 那他们发送数据并不是一直连续发送,可以看到这个A 他发送一会儿,发送一块数据之后停一会 再停一会又发送了数据 那B呢 停了两会然后发送一个数据 C呢 也是这样间隔的发送数据,所以说 他们这个发送数据的频率比较低 经常是歇一会再发送一个
  • 那对于这样一种发送的情况 我们比较常用的就是统计时分复用 那统计时分复用呢 他主要是有这样一个集中器
  • 集中器的功能呢,就是首先 他把这四个这四个低速用户连接起来 然后呢把他们的数据集中起来 再通过高速线路发到一个计算机那边去,所以这个集中器啊 就是收集他们所有人的数据 然后呢 再发送出去 在一条一条信道上面发送出去,可以看到 我们这样的一个统计时分复用方法当中呢 每一个用户 他并不是交替的 轮流的这样一个信道 也不是周期性的,而是看起来有点杂乱无章的
  • 那这里面我们先普及一个概念 就是1、2、3我们都叫他STDM帧 那刚才时分复用当中的 我们讲一个帧叫做TDM帧,这个里面叫做STDM帧 同样要注意他这个帧并不是链路层的帧 而是在物理层传送的比特流 他所划分的一个帧
  • 谁先来了 我就让谁先走 那大家凑齐人的 凑到一个STDM帧长我们就可以发送出去

在这里插入图片描述
在这里插入图片描述

  • 假如说我们这个线路的传输速率是8000比特每秒,
    那对应于我们时分多路复用当中的每一个用户 他可能只分到的这个平均速率 一个人最高 也就是2000比特每秒,我们可以这样想 因为这个TDM帧呢 他对应的其实就是比特流所划分的帧,也就是一堆比特流 那这个一秒可以发送8000比特 线路一秒可以发送8000比特 也就是他这个一秒,一个TDM帧有8000比特 我们可以这样规定 那对应这样一个8000比特呢 并不是每一个人都可以发8000比特的 而是他们要轮流发送,A呢发2000比特 B发2000比特 C在2000比特 D在2000比特 因此他们四个凑一块 这一秒当中就可以发送8000比特 也就是对应一个TDM帧
  • 统计时分复用当中呢 他一个人最高其实是可以达到这个8000比特每秒的,就比如说我们这样一个STDM帧 他对应的是一秒当中可以发送的8000比特,这个用户和这样一个用户 他们俩现在可能是每个人各发4000比特,是如果都是A用户发送的 那A用户在这一秒当中就可以发送8000比特
波分多路复用WDM

在这里插入图片描述

  • 过程和频分多路复用是非常相似的,因为我们知道这个光呢 他的频带不同 有各种各样的频带 因此我们就把各种频带放到一块,扭到一块 扭到一个线路上面 进行一个传输 那这个传输的过程当中呢 高频带和低频带 他们是不会互相干扰的,所以说这种信道复用的技术呢 ,就要做波分多路复用
码分多路复用CDM

在这里插入图片描述

3.5.2 ALOHA协议

首先 我们来回顾一下之前所讲到的这个介质访问控制 他是在广播信道当中所应用的一种访问的控制,因为我们知道在广播信道当中 如果各节点之间要进行通信的话,他们只能同一时间只有一个人在发送信息 但是如果有两个节点在同时发送信息呢 就会导致我们信道上面发生这个信号的冲突问题

那这种现象是我们不希望看到的,因为只要发生了冲突 我们这个通信就是失败的 就要再重新传信息 所以我们就需要对这个他们共享的介质进行一个访问的控制,那主要分为两种 静态划分信道以及动态分配信道

那静态划分呢是我们之前所讲的内容 就是在用户通信之前呢 预先的把信道按照时间 或者是按照空间 也就是按照时隙或者频率等等,来把这个信道进行一个划分 使得用户他们在通信过程当中呢 不会发生碰撞 不会相互干扰,那这种预先分配信道的方式 我们称之为静态

那从这节课开始呢 我们就来讲动态分配信道,他也叫做动态媒体接入控制或者是多点接入 他一大特点就是信道并非是在用户通信时候固定分配给用户的

随机访问介质访问控制他的特点就是,所有的用户都可以随机的发送信息 这里面随机指的就是我想发送就发送 而且我发送的时候呢 是可以占用全部带宽的

如果所有用户都可以随机发送信息 那有可能有几个用户 他们不相互协调一下 他们就同时发送信息 那这样再次导致了我们说的冲突问题,我们就需要有这些协议来解决这种不协调所产生的冲突问题

ALOHA协议

在这里插入图片描述

纯ALOHA协议

在这里插入图片描述

  • 纯ALOHA协议是非常的随机的,每一个站点 每一个节点 或者说是每一个主机 他们都是在这个任何一个时间都可以发送数据帧的,可以看到这几个站点他们发送了1、2、3、4帧 并没有规律可循 想发就发
  • T0他规定的是一个数据帧的长度,那我们通常说一个帧的长度都应该用比特来衡量 那这里面用T0衡量什么意思呢 T0指的就是这样一个数据帧 他的发送时间,那这里面的发送时间呢 其实既包括了传输时间 也包括传播时间 也就是一个帧,从刚开始发送到发送成功为止 这样一段时间就叫做T0 那我们现在假设每一个站点 他所发送的每一个数据帧的T0都是相同的 那我们再来看ALOHA协议 他的一个过程 首先对于站点1呢 他第一时间发送了一个数据帧 1号数据帧,那经过了T0之后呢 并没有别的数据帧跟他发生冲突,也就说这样一段时间内 只有他一个站点在发送数据 所以他是发送成功的 那我们再来看站点2,可以看到前半段时间呢都很顺利 但是呢 在后半段 在这个这个时间点的时候 站N-1,有一个新的站也开始发送数据帧了 那这个时候呢 如果信道上有两个站点在发送数据,在同时发送数据 那这就一定会造成冲突
  • 如何才能检测到这个冲突呢 就是等我们这个站点把他的数据帧发送完毕之后,这个接收方啊就会收到一个发生了冲突的错误的数据帧 那因此接收方就会返回一个NAK否定确认帧 或者说干脆不返回一个确认帧,这样 发送方他经过了一个时间 也就是我们之前所讲过的类似超时时间,过了一个超时的时间之后 还没有收到确认帧 他就知道我的这个帧发在路上发生了冲突了 那因此呢 他就会重发,这也就是冲突解决的问题 对于这种冲突呢 我们就只需要等待一个随机的时间 然后呢再重传
  • 那这个是否重传啊 其实还有一个率p的问题啊 就像一个掷硬币一样 如果我掷到正面 我就重传 如果掷到反面 我就不传 然后呢 再等一个随机时间 再扔一次硬币 但是这个细节呢并不是我们考研要考的 所以大家只需要知道超时之后 等待一个随机时间再重传就可以了

小结:那这个就是纯ALOHA协议的思想 非常的简单 他就是想发就发 那遇到冲突的时候呢 他也其实也不知道,他等到把他自己的错误的冲突帧发送完毕之后才知道发生了冲突 那对于发生的冲突呢 他解决办法很简单,就是把这个帧再重新发送一次 直至收到了来自接收方的确认帧 也就相当于告诉自己发送成功为止,然后才可以发送一个新的数据帧

时隙ALOHA协议

因为我们看到刚才的纯ALOHA协议太随性了,就导致我们这个数据帧发送的成功率非常低 那这里面我们形容数据帧的发送成功率呢 用吞吐量来形容,那我们看一下这个时隙ALOHA协议 他是来怎么解决这个网络吞吐量提高的问题的

在这里插入图片描述

  • 其实这个时间片呢就对应的我们刚才讲的一个T0,也就是描述帧的长度的这样一个时间 相同的时间片就是T0 当然我们也叫做时间槽T0
  • 他的主要特点就是我们每一个站点在发送帧的时候啊只能在一个时间片或者说时间槽的开始来发送 那如果我现在想发送但是并没有到这个时间片开始 那我就等到这个时间片开始再来发送
  • 第一种情况呢 就是如果这个节点 他发送的这个帧很顺利很成功 在发送过程当中呢 也就是一个T0时间内并没有人同时跟他发送信息 也就说没有发生冲突 那这个帧呢就算是成功发送了
  • 那另一种情况呢 就是如果发生碰撞,这个节点就会在时隙结束之后 也就是经过一个T0之后 发送方发现这样一个碰撞 就是因为接受方没有给他返回一个确认帧,因此 发送方就判定这个帧在发送过程当中呢发生了冲突,那遇到这种冲突现象呢 我们还是要进行一个超时重传
关于ALOHA要知道的事情

在这里插入图片描述

  • 第一个就是纯ALOHA协议比时隙ALOHA协议吞吐量更低 效率更低 吞吐量刚才说的就是在一段时间内功发送的平均帧数 因为这个纯的ALOHA协议 他是完全全的随机发送 特别随性 想发就发 那因此呢 这种发送就会导致很容易发生碰撞 而这个时隙呢,就是对于他的一个发送随机性有了一定的控制 只有在一个时间片的开始能够发送 那这样相比纯ALOHA协议 他能发生碰撞的发生的概率就更低一些 因此呢 吞吐量更高一些 效率呢也更高一些
  • 第二点就是纯ALOHA协议 他是想发就发 而时隙ALOHA协议是只有在时间片段的开始才能够发送 也就是时间槽的开始才能发送 当然如果发生冲突他们两个解决方法都是一样的 都是超时重传 但是区别就在于时隙ALOHA协议 他重传只能在这个时间片段的开始重传

3.5.3 CSMA协议

CSMA协议

我们发现ALOHA协议他有一个缺点,就是他是随机发送 而且想发就发,那这类比于我们生活当中的一个情景 就比如说我们几个人在交流的时候 那这个使用ALOHA协议的这种人呢,他们就是不听别人说什么 就直接开始说话 这样的话就非常容易和别人说话的时候产生冲突 所以这种ALOHA协议 他的效率 信息传输的效率非常低 因此呢 我们就有了这样一种CSMA协议
CSMA协议呢 相比于这个ALOHA协议 特点就在于他是先听再说 就好像我们几个人在聊天的时候 他会先听别人说完 然后自己才去说话,至于他在说话的时候 会不会和别人再发生冲突呢 这个是不敢保证的

在这里插入图片描述

  • 信道空闲,也就是说 我们检测到的这个电压幅值呢 并没有超过门限制
  • 信道忙,也就是说 我们检测到的信号的电压摆动值比较大 超过了门线值
  • 推迟多久以及我是不是立刻发送这样一个完整帧 我们有三种不同的协议,因此 就有三种不同的规定 分别是 1-坚持CSMA 非坚持CSMA 以及这个p-坚持CSMA
1-坚持CSMA

在这里插入图片描述

  • 那这个等待一个随机长的时间在监听和我们上节课所讲的这个ALOHA协议是很类似的,如果发生冲突了 那就会再等一个随机的时间 再进行一个监听
  • 那之前讲过的ALOHA协议 他是不会去监听信道的,压根就不会管别人怎么样,只说等一个随机长的时间发送数据帧 而这个1-坚持CSMA呢 是要等一个随机时间之后再来监听信道
  • 媒体利用率呢指的就是我们对于这样一个信道的利用程度,如果信道空闲 我就能发送数据
非坚持CSMA

在这里插入图片描述

  • 1-坚持 如果发现信道忙 他就一直等着 等到这个信道空闲再发送数据,是非坚持呢 他就没有那么坚持 所以他在监听到信道忙的时候呢 就会等待一个随机的时间之后再去监听
  • 可能有很多节点都会同时的在监听这个信道 如果他们都采用的是1-坚持呢 那发现这个信道已空闲,他们全部都会一起发送 但是非坚持就不是这样 如果这两个节点 他们俩都要发送信息 但是呢 他们因为等待的这个随机时间,什么时候开始等待的时间是不一样的 所以他们最后发送的时间呢 也就不一样 因此有可能就会避免一次的冲突 所以这是非坚持的优点
p-坚持CSMA

在这里插入图片描述

  • 对于非坚持算法 在信道空闲的时候呢 他就会直接发送 那么忙的时候 他就会等待一个随机时间再监听 那这个里面的就类似于p-坚持CSMA的p概率直接传输 那通过这样一种操作方式呢 就可以减少冲突 避免几个数据同时发送
  • 那接下来再回忆一下1-坚持算法, 他是指在监听信道空闲的时候呢 就把数据发送出去,那如果信道忙呢 他就会一直监听 直到信道空闲 再马上把这个数据发送出去 那这个就很类似p-坚持CSMA在信道忙时候的一个处理状态 忙则持续监听 直到信道空闲,再以p的概率发送 所以说他既可以减少冲突 又可以减少媒体空闲时间 也就是增加了媒体的这样一个利用率

如果这个信道上 此刻他是发生冲突了 但是由于上述三种算法呢 并没有一个检测冲突的这样一个过程 所以他就不知道此刻现在信道上是发生冲突的他还是可以继续把自己想要发的数据发送出去 那这个时候呢 就会导致发送的数据是一种浪费

有没有一种方法,可以减少资源的浪费 一冲突就能发现呢? 当然有的 就是我们下节课要学习的这个CSMA/CD协议

三种CSMA对比总结

在这里插入图片描述

3.5.4 CSMA/CD协议

回顾

在这里插入图片描述

  • ALOHA协议呢 它不监听信道 想发就发 非常随性
  • CSMA协议呢,会先监听信道 然后呢再发送数据
  • CSMA/CD它也是从属于CSMA协议当中的 所以它具有先听再说的特点 同时呢 它还有进一步的完善,它会边听边说 也就是说 它在先监听信道 监听信道到空闲的时候呢 它就发送数据
  • 但是它发送数据的时候它也不闲着,它边发送数据也边检测信道 如果发生碰撞呢 它就停止发送数据,不用说把所有数据发完之后我才知道冲突 而是我在发一段的时候我就知道冲突了,这样我剩下的数据呢就可以先不用发了 节省了带宽 也节省了资源

CSMA/CD协议

在这里插入图片描述

  • CS指的是载波监听 也叫做载波侦听 指的是每一个站点在发送数据之前以及发送数据时,都要检测下这个总线上是不是有其它计算机在发送数据,那这个和刚才啊 可我们之前讲的CSMA很类似 不过要比它多了一点 就是在发送数据时也要监听信道 那这里面要注意,它怎么监听呢 它其实就是在检测这个信道上电压的一个摆动浮值,如果这个浮值过大 它就知道这个信道上面有很多人在说话 那我就不能发送 因为我发送肯定就会发生冲突 那如果没有人说话,检测到信道是空闲的 它才可以发送
  • 如何发现这个信道是空闲的 还是有人在说话呢 它就是在自己的那个位置 在站点的位置,会检测有没有信号进来 如果有信号进入我的站点就说明有人在发送 那我千万就不能发送数据了 不然会造成冲突 那如果暂时没有信号进入我的这个站点呢 我就认为这个信道现在是空闲的 我可以发送数据
  • 适配器呢其实大家不需要做太多的了解就把它单纯的想成是我们这个发送的主机发送的源站点就可以 它边发送数据的时候呢 也会检测有没有这个电压的变化 如果有变化就说明有其它的人 其它的主机也在发送数据 那这个时候就相当于告诉自己已经发生冲突了 那遇到发生冲突的情况呢 这个CSMA/CD协议 它就会马上叫停 停止发送数据
  • 那可以看到这种CD呢 说明我们这个CSMA/CD协议应用于半双工网络,之前我们讲过单工 半双工 全双工 它们的主要区别就是通信时的发送双方,如果是半双工网络呢 这个通信时只能有一方在发送数据 另一方接收数据,但是呢 它们角色也可以调换;全双工,两边两个主机可以同时发送也可以同时接收;单双工呢 就是这两个主机就确定好了谁发送谁接收,只有一个方向的 所以叫单工通信

传播时延对载波监听的影响

在这里插入图片描述

  • 单程的端到端传播时延τ,单程端到端传播时延指的就是信号或者说电磁波从A端到B端的这样一个传播的时延时间就叫做一个τ
  • A先发 可以看到信号 还没有进入B 还没有到达B 所以B在它这一端检测,发现这个信道是空闲的 因为没有任何信号进入它的这样一个主机内,没有一个信号进入它的站点 所以它就认为这个信道是空闲 因此呢 它就会果断的把自己的数据发送出去,可以看到这个B如果也发送的话 B如果也要给A发送的话 它们俩一定会在路上发生这个冲突和碰撞,那这种冲突和碰撞呢 其实就是由于传播时延对于我们载波监听产生的一个影响所造成的
  • 因为我们电磁波在这样总线上面有一定的传播时延 所以当电磁波还没有到达B的时候呢,B以为信道是空闲的,所以B就产生了一个所谓的监听失误,以为信道是空闲的 可是实际上已经有人在上面发送数据了 那B呢 不知道这回事,就会把自己的数据发送过去 因此就会造成这样一个冲突和碰撞

如何确定碰撞后的重传时机

在这里插入图片描述

最小帧长问题

在这里插入图片描述

  • CSMA/CD它的诞生就是为了可以及时的叫停,及时控制好这个局面 不让这个事情搞大 可是由于这个帧太小了 我们在检测了碰撞之前呢 这个帧已经发送完毕了,所以我们为了使这个CSMA/CD协议有它的存在意义 能及时的控制局面 我们就要定义一个最小帧长,最短的帧长 所以我们希望在这个检测到碰撞的时候呢 我们帧还没有发送结束

在这里插入图片描述

  • 我们刚才说了 我们最晚在什么时候可以检测到碰撞呢 最迟最迟就是一个争用期 2τ,所以我们只要使得这个帧的传输时延 至少要两倍于信号在总线中的传播时延 我们就可以,在检测到碰撞之前 或者说检测到碰撞的时候 这个帧没有发完

脑图时刻

在这里插入图片描述

  • 首先呢 我们把这几个英文拆开理解,CS是什么 MA以及CD分别代表的是什么 然后呢就总结了这个CSMA/CD协议 它应用的网络类型,一个是它是应用于半双工网络的 而不是全双工也不是单工 ,第二个呢 它是总线型网络
  • 学习了传播时延对于载波监听的一个影响 因为我们知道电磁波 虽然它速度很快 但是呢 它在传播的时候还是会有时间的,还是会有延迟的 因此 这种延迟呢 就会给我们造成一些载波监听上的小失误,所以就会使得有一些数据 它可能没有检测到这个信道上面有信号 但是实际上信道上是有信号的,最后就会造成这样一个冲突
  • 遇到冲突怎么办 我们就会在检测到冲突的时候呢 停止发送数据帧并且选择一个时间,推迟一个时间再重传一个数据帧 重传的方法呢 就采用的是截断二进制指数规避算法
  • 最后我们又想了一个特殊的问题 就是有关于最短帧长 这个最短帧长的公式就是用2τ乘以数据传输速率,总线传播时延其实就是单程的端到端传播时延

3.5.5 CSMA/CA协议

那这节课要学的这个CA协议呢 其实和上面的CD一样 都是下属于CSMA协议的,也就说明它们有一个相同特点 就是会先监听信道 再发送数据 但是不同点在于哪里呢,我们可以看到 这是CD 这是CA 那这个名字上就告诉我们CD是对于碰撞的一个检测 而CA呢是对于碰撞的一个避免

CSMA/CA协议

在这里插入图片描述

  • CD呢它只能检测出碰撞 检测出冲突 而这个CA呢它只能避免碰撞 不能检测碰撞
  • 隐蔽站:假如说现在有两个站点 A和C 它们要给B发送数据 那在发送数据之前呢 都要先检测一下信道 它们发现这个信道是空闲的 可以发送的,所以它们就会同时发送数据 那这个发送的过程当中呢 就会导致冲突 那这种冲突就会使得A和C发送的数据全部失效,那因此 A和C发送失败 B也收不到这个数据 那这个就是由于隐蔽站所带来的问题
  • 那这里面假如以A为主体,A要给B发送数据,C相对于A来说呢就是一个隐蔽站 隐蔽就在于C不知道A要跟B发送数据 所以呢,它就不管不顾的也去给B发送数据了,此呢 这个C好像就是不太懂事的一个角色 所以它就叫做隐蔽站
  • 那为了解决隐蔽站的问题呢 我们其实就是希望让C知道A和B要发送数据了 它就不要去干扰A和B它们两个

CSMA/CA协议工作原理

在这里插入图片描述

  • RTS和CTS其实就很好的解决我们刚才所说的隐蔽站问题,假如说A B C现在有三个站点,A C呢都要给B发送数据 但是我们现在就希望能让A先跟B发送数据 那A就先给B发送一个RTS,这样一个信号 这样一个数据帧告诉B,A我要给你发送数据了,那这个B呢 收到这样一个RTS之后呢 就会返回给A这样一个CTS,就相当于B告诉A ok 我知道你的请求了 我也同意你给我发送数据了,就说它们两个之间已经建立好了一个连接
  • 那这个时候呢 C如果在给这个B发送RTS的话,B是基本是拒收的 就不会不会处理这个请求 因为我已经答应了A 我就要先收到A的数据 之后我再来接收你的数据 那因此呢 这个C就迟迟收不到这个来自B的CTS 那如果收不到CTS呢 C就一直没法发送数据 因此这样就相当于把隐蔽站的问题解决了 其它想要给B发送数据的站点呢 由于没有收到来自B站点的CTS,所以它们就一直没有办法发送数据 那因此 在整个网络当中呢 只有我们刚才收到CTS的A站点才可以给B发送数据
  • 预约信道:我们通过预约信道,可以告诉其它站点自己要传送多久数据 那这种方式就可以成功的,或者说大概率的可以避免一些冲突
  • ACK帧:发送端在发送一个数据帧之后呢 接收端一定要返回一个确认,如果返回确认 发送端才能再发送一个新数据 如果不能返回确认,那这个一直重发
  • RTS和CTS帧: 那这两个帧是对应的 如果有RTS一定就要有CTS,但是这个机制呢是可选的,有的时候可以用 有的时候也可以不用 那这个RTS主要是为了解决隐蔽站的问题,也就是我们刚才A B C 三个站点通信的例子当中C如果它要给也要给B通信的话 我们就要先让C等一会,那这个等一会呢 就是先让A和B它们俩握手建立一个连接,通过RTS的CTS建立好一个连接 那这样C站点呢就一直收不到来自B站点的CTS,那收不到来自B站CTS C站点就一直不能发送数据 所以相当于为A和B腾出了一段通路,腾出了一个连接 在在这段时间内呢 让A和B先通信 等它们通信结束之后呢 B站点再去给C站点一个CTS,这个C站点才可以给B发送数据

CSMA/CD与CSMA/CA

在这里插入图片描述

3.5.6 轮询访问介质访问控制

介质访问控制

在这里插入图片描述

  • 信道划分介质访问控制协议,它基本都是基于多路复用技术来把资源进行一个划分 然后把划分的资源分配给各个主机 或者说是站点,让它们在这些资源内来进行通信 比如说我们可以把时间划分 分时 也可以把频率划分 分频 也可以分码片
  • 负载这一个词呢 其实根据字面一词 大家就应该知道是一个网络的压力问题,也就是说 我们这一个网络 它上面各个节点,它的一个压力大小,如果我们这一个网络上面所有节点它们压力很大 那么就说明这些节点线都在发送数据 而且可能发送数据的流量也很大速率很高 那如果我们这个网络上的节点呢 大部分都是在空闲的,都是在葛优摊的 那这样的网络负载就是比较轻的
  • 随机访问MAC协议:我们主要学习了ALOHA协议 时隙的ALOHA协议 CSMA协议 CSMA/CD以及CA这几种协议
  • 随机访问协议呢 它是用户可以根据自己的意愿,来随机发送信息 发送信息的时候呢 是可以独占信道带宽的 那这个就是和刚才所讲信道划分协议的一个主要区别,信道划分 它每一个人只能分得一部分资源 但是在随机访问MAC协议当中呢 每一个在使用的 在发送数据的主机 它都是可以占用信道的全部带宽 全部资源的
  • 轮询访问MAC协议:结合了上面的信道划分协议的优点以及随机访问MAC协议的优点 把二者结合,融合成了这样一个新的协议 所以说这个协议的特点就是既不产生冲突 也可以在发送的时候占用全部带宽

轮询协议

在这里插入图片描述

  • 在轮询协议当中呢 有一台主机叫做主节点,其它的主机都叫做从属节点 那这个主节点就好像是老大 那这个老大呢 就会挨个去问这些从属节点 你要不要发送数据 假如说现在老大开始从第一个主机,先问第一个主机 你要不要发送数据 第一个主机说要,那第一个主机就可以发送数据了
  • 那它发送数据的时候呢 其它的主机是不可以发送数据的 因为老大还没有问到你 所以现在还没轮到你说话,那就等第一个主机发完它的数据 老大开始问接下来的主机,问第二个主机 你要不要发送数据 那如果第二个不发送数据 老大就继续问第三个 你要不要发送数据第三个 如果不发送数据 那老大就会问第四个 你要不要发送数据 就是这样一个道理
  • 那问到第四个之后呢 第四个如果要发送数据 发完了,老大就会又循环 从第一个开始 问你要不要发送数据
  • 虽然我们把过程说得很简单 就是一个问话,你要不要发送数据 但是在实际的网络当中呢 它是一个数据帧的形式而存在的 它询问的过程呢其实就是在发送一个数据帧,那这样一个数据帧的是一个比较短的数据帧用来实现询问的一个作用

令牌传递协议

在这里插入图片描述

  • TCU转发器:它其实就是我们在传递数据帧时的一个传递的接口,一个转发的接口 它可以传递所有经过的帧 而且为接入站发送和接收数据提供一个接口 其实就是一个转发的作用
  • 每一次只有一个主机 它会掌握这个令牌,只要它掌握这个令牌 它就可以发送数据 那其它人呢 都是不能动的啊 都是不可以发送数据的,所以说也不会产生碰撞
  • 假如说我们这个网络上是空闲的 也就是说 没有一个主机现在要发送数据,那这个令牌呢就会在各个主机之间进行一个传递,直到传递到有一个主机 它要发送数据了
  • 现在假如说这个D呀 它要发送数据了 那它首先就手持一个令牌,持下这个令牌之后呢 首先要做的第一步就是要把这个令牌的一个标志位进行修改 其实标志位的修改意义就是要把这个令牌从空闲的状态变成一个忙的状态 然后呢 再在这个令牌的控制帧后面加上数据,因此就构成了这样一个数据帧 然后就会将这个数据帧发送出去
  • 那这个发送的过程呢 我们可以看到它其实是要发送给A主机的 但是经过到C主机呢,C主机发现并不是给自己的 所以它也不会复制 那到A主机发现是给我自己的 A主机就会复制一份这样一个数据 然后再发给这样一个主机D
  • 那主机D呢 收到了自己发来的数据帧之后 它就先检查一下这个数据帧有没有出错,那如果出错了呢 可能还要再重传一次 如果没有出错呢 它就会把这个数据帧回收 然后呢 不再对这个帧进行转发了,同时 这个令牌也就闲下来了 把这个标志位调好 把令牌从忙的状态再调回闲的状态,再把这个命牌传递出去
  • 那传递给C 如果C有数据要发送 和刚才是一样的过程,先修改标之位 然后呢 附上数据帧 接下来就可以让这个令牌带着数据一起在信道上面进行传递了 那如果传递传递到它的目的主机 那这个目的主机就会把这样一个数据复制下来,留下来其它的主机呢 对于这样一个数据帧是不做什么处理的
  • 但是要注意的是 假如我们刚才的主机D要发送很长很长的数据 它可以一直发送吗 当然是不行的,那这样多不公平啊 一直让你发生发送数据 其它人怎么能一直等着呢,所以我们会有一个限定的时间 如果超过这个时间了呢 其它的数据就再等一波,等再次转到主机D的时候 再把其它数据发送出去,所以说 每一个节点都可以在一定的时间内 也就是令牌持有时间内获得发送数据的权利 而并不是无限制的持有令牌的
  • 负载较重 也就是说很多主机都要发送数据 那这样我们每一个令牌 其实它都有存在的意义了,这个主机C用了这个令牌 发了自己的数据 它就把令牌给B 那B再用这个令牌,借用这样一个令牌的优势来发送一次数据 然后呢 再把令牌传给A,A同样也要发送数据,所以说负载较重的时候 我们这个令牌 它是比较有意义的
  • 但是如果负载较轻呢 可能我们A B C D它们全都不要通信 那这个令牌就一直转来转去 一直转来转去就很无聊,所以 负载较轻的情况下呢 使用这个令牌传送方式是稍微有些浪费的

3.6.1 局域网基本概念和体系结构

局域网

在这里插入图片描述

  • 各个站点之间的是平等的关系 它们会共享这样一个传输信道,因为在广播信道当中呢 我们知道这些计算机它们进行通信是共享的 是共享这样一个公用的信道的
  • 局域网使用的是广播信道 大家呢 都会采用一个广播式通信来共享这个信道

局域网拓扑结构

在这里插入图片描述

  • 星型拓扑:共享能力差呢 是相对于总线性拓扑来说的 因为总线型 它的这个共享能力 我们在这个图上就可以看到所有的人都在共享这样一条主干线道 而这个呢 共享能力就会稍微低一点
  • 总线型拓扑:有一个主机宕机了 其实对于其它并没有什么太大的影响 但是这个星型拓扑就不一样 如果集线器这个中间节点宕机的话,坏掉的话 对于我们所有的其它的主机都是无法进行通信的
  • 树型拓扑:容易会有这个单点故障问题 比如说我们这个根节点它出现问题了 那其它的主机都没有办法进行通信
  • 树形拓扑呢和环形拓扑它们如果拓扑构建好了,这个通信的方向就已经确定好了,环形拓扑 如果一建好 它就会规定这个方向是逆势针还是顺势针 我们可以结合之前讲过的这个令牌环网来想象一下,如果有这样一个令牌 我们最开始就会规定令牌只能从这一端往这个顺时帧或者是逆时帧的方向来传递
  • 以太网呢 其实就是一种逻辑上的总线型拓扑结构

局域网传输介质

在这里插入图片描述

局域网介质访问控制方法

在这里插入图片描述

  • 令牌环网 它的这个逻辑上的拓扑结构是环形的 但是呢 它的物理上的拓扑结构是星型的
  • 至于这个物理拓扑结构啊和逻辑拓扑结构 它们俩并不一定要求是一样的,因为这个物理呢 它指的是我们在实际这个线是怎么连的线和设备 它们是应该怎么连接的这样一个规定 但是逻辑上呢 是我们在这个构造好 物理拓扑结构之上呢 我们想象这个数据在各种设备以及信道上面是怎么样一个传输的顺序 或者说是规程
  • 因此 逻辑拓扑和物理拓扑不一定是一样的 物理拓扑呢 主要是受现实的制约 而逻辑拓扑呢 主要是通信思想的一个制约

局域网的分类

在这里插入图片描述

IEEE802标准

在这里插入图片描述
在这里插入图片描述

MAC子层和LLC子层

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.6.2 以太网

以太网的概述

在这里插入图片描述

  • 我们只要说这个局域网 它采用的是这种CSMA/CD的技术就可以说它是一个以太网
  • 只要一种局域网 它满足DIX的这种规约 或者是满足IEEE802.3的规约 这种标准都可以叫做是以太网
  • 因此 我们通常也把以太网叫做这个802.3局域网

以太网提供无连接、不可靠的服务

在这里插入图片描述

  • 那有关于无差错接收和可靠传输之间的区别呢 ,无差错接收呢 就指假如说你要给我发送的是1010那我接收也要按照1010接收 如果我发现通过差错检测,一些差错检测的方法 比如说奇偶校验啊或者是这个CRC循环冗余检验 通过这些检验方法发现你发的这个帧出错了,那我这个帧我就丢弃 就干脆直接拒收 但是呢 这并不叫可靠传输
  • 可靠传输指的是只要你发来的帧我都要接收,如果这个帧丢失了 或者是帧重复了 或者是帧失去了 这些都是可靠传输要解决的问题 那这些可靠传输呢 都是由传输层或者叫运输层来实现的 而这种无差错的接收是由这个以太网来实现的 所以这个以太网的我们也可以说 它主要负责的就是物理层和链路层这两个层次
  • 以太网它可以提供的无链接 不可靠的服务,只可以实现一个差错的检测 但差错纠正呢是交给高层 也就是传输层来实现的

以太网传输介质与拓扑结构的发展

在这里插入图片描述

  • 集线器它是一个物理层的傻瓜设备,它可以对于比特进行非常简单的转发 假如说我收到了一个1比特 那集线器就把这个1转发出去,所以说它就是无脑的转发比特流
  • 这个集线器内部构造呢 也是非常简单的 就是有很多的线 那假如说这台主机要发送一条信息,发送一个数据通过这个线 接入集线器之后呢 里面就会有很多线连接到其它的这个插口上面去 也就相当于把这样一台主机要发送的数据广播出去
  • 所以 虽然说集线器这种电子元件,它把我们整个以太网构造成了一种星型的物理拓扑 但是在逻辑上呢 它和我们之前的传统以太网都是一种总线型的结构

10BASE-T 以太网

在这里插入图片描述

适配器与MAC地址

  • 比如说我们上网通信 就需要靠这个关键的通信适配器 那通信适配器呢 通常是这样一个板子,它是在主机箱内插入的一块网络接口板,也叫做网络接口卡,那这个网络接口卡 就是我们常说的这个网卡,但是我们现在啊 这个计算机主板上面都已经嵌入了这种适配器 所以我们就不会单独再去使用网卡了 因为它已经嵌入好了,它会装有处理器和存储器这两种主要的结构 其中这个存储器呢又包括RAM和ROM,那这个ROM上面呢 就会有计算机硬件地址,也就是MAC地址 那这个MAC地址呢就是我们在数据链的层上标志每一个主机 标志每一个设备的一个独一的标识符
  • 在局域网当中 硬件地址又称为物理地址或者是MAC地址 实际上的就是一个标识符 就像我们的身份证一样,每一个人都有一个专属于自己的身份证 而且这种身份证是全球唯一的 通过这个身份证号呢就可以找到你这个人,那么在我们计算机网络当中呢 通过一个给定的MAC地址就可以确定这样的一个设备
  • 一般情况下 我这个MAC地址呢 都是就是全球唯一的 只要这一个网卡制定好了 就已经确定好这个MAC地址是多少了 所以这个MAC地址呢 是随着这个网卡的烧制结束 然后这个MAC地址就已经确定了
  • 我们现在举两个例子 第一种情况呢就是假如说连在局域网上的一台计算机 它这个适配器啊,就是网卡坏了 那我们就会换一个新的网卡 那么这台计算机 虽然它实际上地理位置没有发生变化,还是在你家里 但是呢 它的MAC地址就已经完全发生变化了
  • 第二个例子 假如我们要带着电脑去出差 从北京到了上海,虽然我们这个电脑它的地理位置发生变化 但是在实际上 它的物理地址或者说是MAC地址是没有变的 因为网卡还是那个网卡

以太网的MAC帧

在这里插入图片描述

  • 首先呢 我们可以看到这有网络层的一个ip数据报 那到链路层这一块就需要对数据报进行一个封装,对于链路层的封装过程是要加头加尾的 加头我们就加了目的地址 源地址 还有类型 在尾部加了一个FCS
  • 我们为了使这个接收端可以迅速的实现位的同步 也就是说 使发送方和接收方能够保持一个发送接收的同步,我们就需要把这个从MAC层再往物理层传递的帧前面插入一个八字节的前导码 那这个前导码呢 前面七个字节叫做前同布码 全都是由1010组成的,后面一个字节呢,前面都是1010但是最后两位是11,那具体的意思就是这个101就好像我们齐步走的121,是发送方和接收方能够进行一个时钟的同步 那这个后面两个1呢 其实就是发送方告诉接收方现在可以开始接收我的MAC帧了
  • 源地址标志的就是发送方的地址 目的地址呢就是接收方的地址
  • 目的地址呢 会有三种情况 第一种情况就是一个单播地址 单播地址指的就是一个专有的MAC地址,假如说我要发送给固定的一个主机 那这个主机的MAC地址呢 就是我们的目的地址
  • 第二种情况 这个目的地址呢 可能是一个广播地址 广播地址其实就是全1的 也就是全F的,那这样一种地址呢 就会发送给所有的主机 那这些所有的主机呢 看到这样一个地址全都会接收下来
  • 第三种情况呢 就是多播地址这个大家有个了解就可以了
  • 类型其实就在指明我们上面的网络层使用的一个什么协议,以便把收到的MAC帧的数据呢上交给上一层的这个协议
  • 数据部分 也是最关键的部分了,那这个数据部分的长度呢 其实是可变的 可以看到它的下限是46字节 上限的是1500字节,两个数是如何确定的呢 首先 这个1500字节大家记住就可以了,我们在链路层这一章 刚开始的时候讲过一个mtu 也就是链路层的最大数据传送单元 这个就是规定好的1500字节 那这个46字节又是怎么来的呢 在之前我们讲CSMA/CD协议的时候,我们提到过最小帧长 那以太网当中最小帧长是64字节,那可以看到这样一个MAC帧 现在已经有目的地址 源地址、类型以及后面的FCS 它们6+6+2+4总共是18,已经占了18字节了 所以64-18就是16字节,为了保证这个MAC帧的是一个有效的帧 可以使用CSMA/CD协议 所以我们就需要保证数据的字节部分 数据的长度最少要有这个46字节 因此我们数据部分长度就是46-1500字节
  • FCS呢就是之前讲过CRC循环冗余检验的一个一个4字节的帧检验序列FCS,那可能有同学会有这样一个疑问 数据链路层加头加尾,那既然头部有一个帧开始定界符,那为什么后面没有一个帧结束定界符呢,原因是因为我们以太网使用的编码形式是曼彻斯特编码 那曼彻斯特编码呢 它的一个特点就是在每一个比特内都会有两个码元,那因此我们在发送数据的时候呢 我们就可以感受到这种电压的变化,但是当我们不发送数据呢 这个电压就是没有变化的了,所以 当发送方把一个以太网的帧发送完毕之后 就不会再发送其它码元了 因此 这个发送方网络适配器的接口上的电压也不会再变化,这样我们就可以很清楚的确定出以太网帧结束的一个位置 那我们在这个结束位置再往前四个字节 就可以确定我们数据的结束位置了
  • 而且我们每一个发送帧之间啊都会有一个最小间隔,也就说 我们每一个帧并不是紧挨着发送的 发完一个帧 它会稍微停一小会,然后再去发送一个新的帧 因此就会有一个空白的时间 那这个空白的时间 我们检测不到电压变化 就说明这个地方没有发送数据了,所以在往前推移4个字节 就确定了数据的结束位置

高速以太网

在这里插入图片描述

脑图时刻

在这里插入图片描述

3.6.3 无线局域网

IEEE802.11

在这里插入图片描述

  • 我们通常说的wifi和这个无线局网是一样的吗,当然不是 我们在刚开始的时候就讲过这个无线局网 它所覆盖的范围要比wifi范围大得多 那无线局网它可以覆盖的范围有几千米,但是wifi呢 可能就是一间屋子啊 很小的一个空间 那wifi呢 就是我们这里面802.11b还有这个g,所有满足这两个标准的 都是属于这个wifi了

802.11的MAC帧头格式

在这里插入图片描述

  • 假如说现在有两台主机A和B 它们要进行通信, A附近有一个基站叫做AP1 B的附近有一个基站叫做AP2,AP指的就是无线接入点 也称作基站 那这个接入点顾名思义就是我们设备 或者说我们主机想要访问网络,这样的一个通过无线介质 可以接入到的这样一个设备叫做无线的接入点 也叫做基站
  • 如果A要给B通信 A就先把它的信息通过电磁波发给AP1 然后呢 AP1 再发给这个AP2,这也可以使无线的 也可以是有线的一个网络 可以通过光纤连上 然后呢把这个数据传给AP2,接下来AP2再以这种信号通过电子波的形式传给B 那这就是A和B通过基站 或者说通过接入点进行通信的一个过程
  • 那其实我们这个基站呢 有非常的多 有非常多 比如说我们中国移动啊 中国电信 在这个全国各地就会分布有非常非常多的基站,但是我们在这个手持移动设备行走的时候呢,我们手机号 它在这个基站的数据库当中也要有更新 什么意思 假如说我们现在手机离这个一号机站比较近 那现在我们手机的这个电话号就已存储在一号基站的数据库当中 那如果我们现在往前走 离这个一号比较远了, 离二号比较近 那我们现在继续更新一下数据库,当然这个更新的速度是非常快的 一直在更新数据库 那如果离这个二号基站比较近 就把这个手机号注册到二号基站的数据库当中,那现在就可以在二号机的基站当中查询到我的手机号 这就是为什么我们到一个新的地方到一个新的城市就会先收到一条信息"北京欢迎你",那就是因为你刚到这个城市 你离这个城市的第一个基站比较近了 所以呢 你的手机号就会被注册到这个基站里面,那因此 这个基站 它肯定就有这样一个功能 它会把此时此刻注册到我这个基站数据库当中的手机号记录下来 并且呢 给这些手机号发送一个"北京欢迎你"的信息 那这个就是它们的作用
  • 现在A和B要进行通信 那离A比较近的基站是AP1,离B比较近的这个基站是AP2 那现在我们来看一下这四个地址分别是什么
  • 目的地址指的就是B的MAC地址,源地址呢 就是A的MAC地址
  • 因为我们这个里面讨论都是链路层的MAC帧 MAC帧里面肯定都是MAC地址 所以我们这个源地址和目的地址,也就是SA和DA分别指的就是我们实际在通信过程当中这两个设备,把它们的这个物理地址存入就可以了
  • 在这个例子当中,接收端其实指的就是AP2 因为我们这个数据要从AP1基站发送到AP2基站
  • 那发送端指的就AP1这个基站 因此我们就可以简单的把这个接收端和发送端分别记为在实际通信过程当中 实现发送和接收数据的两个基站 那因此 这个接收端所对应的地址,就是AP2的MAC地址 那发送端对应的就是AP1的MAC地址

在这里插入图片描述

  • To AP 它指的就是要发往AP的这样一个帧 如果它是要发往AP 那这个接收端就应该是AP这个基站的地址 基站的地址就是BSSID,那这个SA指的就是发送端的地址, 那第三个地址就是DA DA就是我们的目的地址
  • From AP就是由AP基站发来的帧 那如果是由基站AP发来的帧 那我们这个发送端其实就是这个AP基站的MAC地址 因此这个地址一的接收端其实指的就是我们要发往的那个目的地址,第三个地址就是SA 也就是源地址

无线局域网的分类

在这里插入图片描述

有固定基础设施无线局域网

在这里插入图片描述

  • 基站的作用呢 就是可以实现让我这一个区域内的各个主机进行通信 当然也可以实现一个漫游,也就是使这个基站范围内的主机可以和另一个基站范围内主机进行一个通信
  • 假如说现在A主机要给这个里面的B主机,C主机进行通信 这个肯定是可以的 因为只要它们都在AP1这个这个无线接入点它所覆盖的范围内都是可以进行通信的,因此 它就会发送它的信号给AP1,AP1就根据它所发送的数据帧 然后找到这个C,从这个端口发出 就把这个信号传给了C 因此呢 我们这样一个基站 它所覆盖的这样一个范围,基站包括这几个主机就构成了一个基本服务集BSS,所有的站在这个本服务集当中 本BSS内都可以进行直接的通信
  • 但是我们现在看到的是中间好像都是空气 这个还是比较宽阔的 但是如果呢 如果中间只有一堵墙,那D它现在的信号就会被大大的削弱,因为我们知道这个无线AP1 它这个信号的转发过程容易受到阻碍 如果有个墙啊或者有个门等等 就会使得我们的信号得到大大的衰弱,因此我们这个D信号就不是很强
  • 那现在我们讲的是一个基本服务集 如果是有第二个基本服务集出现呢,那这个A主机和这个B主机可不可以通信?当然是可以的 那这个时候就需要借助这样一个分配系统DS,其实这个分配系统就是相当于把我们这个无线和有线结合在一起
  • 假如说A要给B进行通信,那如果这个中间的距离非常非常的远啊 跨了一个省,那A就会先把它的这个数据发送给它的基站AP1,然后这个基站呢都会接入到这样一个有线的线缆上面去,进入到线缆 就是到了这样一个分配系统当中 那就是可以进行有线的通信,这个数据就通过这样一个线路走到AP2,然后呢 再由AP2把这个数据转发给主机B 这就实现了一个有线和无线结合的一个通信过程
  • 那这样几个基本的服务集组合在一起 就形成了一个扩展的服务集ESS
  • 那这个基站呢在我们生活当中也是比较常见的 比如说我们在连wifi的时候啊 可以看到这有很多个很多家的wifi,对吧 那这个很多家的这样一个wifi的名字 我们给它起名叫做服务集标示符,服务集标示符 那每一个呢 分别对应的就是一个基站 每一个对应的都是一个无线的接入点,以后我们到别的地方问它们家wifi就可以 不用说你们家wifi是多少了啊 就直接问你们家服务集标示符的密码是多少
无固定基础设施无线局域网的自组织网络

在这里插入图片描述

  • 这种没有固定基础设施呢 就指它没有任何的转发器 集线器 路由器 基站都没有 只有一些主机 它们自己组成一个网络,那这每一台主机呢 它们都可以充当主机以及路由器的功能,就是既可以发送数据 也可以帮忙转发数据 各节点之间的地位都是相互平等的而且每一个节点呢都可以任意的移动
  • 那这一些主机就可以组成一个自组织网络 至于这个组网的过程呢 也是非常简单的,只需要我们来自己安排 把我们所有主机安排在一个网段就可以了

3.6.4 VLAN基本概念与基本原理

传统局域网的局限

在这里插入图片描述

  • 因为我们如果有很多广播帧在这个链路上面进行传输,我们希望给它隔离,就希望能够诞生出一些广播域,广播域的隔离就是需要有路由器来支持,如果一个大的局域网当中有非常多的组,我们希望能够给它隔离开来,我们就需要有多个路由器来解决,路由器的成本又比较高

VLAN基本概念

在这里插入图片描述

  • 相当于我们对这个交换机进行VLAN划分之后,它连接的这几个主机就可以处在不同的VLAN当中了,每一个VLAN都是一个广播域
  • 加了一个VLAN表,是通过软件的方式来实现逻辑工作组的划分与管理
  • 比如说A主机发送一个广播帧,只有在这样一个广播域当中,也就是B主机能收到,C主机和D主机,由于它们并不在一个虚拟局域网,就不会收到A主机发来的广播帧,所以说每一个VLAN是一个单独的广播域,或者说是一个不同的子网

在这里插入图片描述

  • 我们不仅可以在一个交换机所连接的这些主机上划分,我们也可以在这样一个大的局域网当中进行划分

VLAN实现

在这里插入图片描述

  • 如果我们让A主机和C主机进行通信,也就是两个不同的虚机局域网之间进行通信,现在这种情况可以解决吗?是不可以的,因为现在只是对它进行了虚机局域网的划分,它本质上就可以立即成两个不同的子网。不同的子网之间需要借助路由器进行通信,或者说这种三层具有路由选择和转发的这种交换机才可以
  • VLAN表,是通过软件的方式来实现逻辑工作组的划分与管理

在这里插入图片描述
在这里插入图片描述

  • 贴了标签之后,我们才能够标识这个主机它属于哪个网络,发送到目的地,才能够知道我们应该发送给哪个虚拟局域网

VLAN实现 ----- IEEE 802.1Q帧

在这里插入图片描述

  • 交换机发送给主机,就把标签拿掉

练习

在这里插入图片描述

  • A和E可以
  • A和D、H不可以

3.7.1 广域网及相关协议

广域网

在这里插入图片描述

  • 结点交换机和路由器的功能很像,都是用来转发分组的,区别就是,结点交换机只能在单个的网络当中转发分组,路由器呢可以在多个网络之间转发分组
  • 广域网他所覆盖的网络体系结构层次,从物理层、链路层一直到网络层,但是局域网只覆盖物理层和链路层
  • 局域网当中普遍采用的是多点接入技术,就是逻辑上总线型的多点接入技术,而广域网当中呢,通常采用的是点对点,一个发送端一个接收端通过一个链路相连的这样一种全双工或者是半双工通信模式
  • 在广域网中强调的是资源的共享,在局域网中强调数据的传输
  • PPP协议和HDLC协议,就是目前最常用的两种广域网当中的链路层协议

PPP协议

PPP协议的特点

在这里插入图片描述

PPP协议应该满足的要求

在这里插入图片描述

PPP协议无需满足的要求

在这里插入图片描述

PPP协议的三个组成部分

在这里插入图片描述

  • 身份验证,就相当于输入账号密码,如果账号密码正确就建立了一条物理链路
  • LCP协议像是在建立一种物理连接,NCP是要在物理连接之上再建立一层逻辑连接,我们才算是正式入网成功
PPP协议的状态图

在这里插入图片描述

PPP协议的帧格式

在这里插入图片描述

HDLC协议

HDLC协议

在这里插入图片描述

HDLC的站

在这里插入图片描述

  • 正常响应方式:从站要发送消息的话,要先经过主站的同意,主站同意发送数据了,才可以发送数据
  • 异步平衡方式:每一个复合站都可以进行对别的站的数据传输,场面就会十分混乱,大家别的站的征求,每个站都是平等的地位
  • 异步响应方式:从站可以不经过主站的同意,就可以进行数据的传输
HDLC的帧格式

在这里插入图片描述

PPP协议&HDLC协议

在这里插入图片描述

  • 在实际生活应用当中,我们主要靠TCP协议才实现差错控制和流量控制等功能,而网络层和链路层基本实现的都是一个不可靠的且最大能力交付的传输,原因就是在于,我们现在对于网络的速率要求比较高,如果在链路层和网络层还要进行一步差错的检测以及纠正的话,这样花费的时间就更高了,所以在链路层和网络层就基本生不会实现可靠的传输,可靠传输都交由传输层

脑图时刻

在这里插入图片描述

3.8.1 数据链路层设备

物理层扩展以太网

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 主机和集线器的距离不能超过100m,如果超过,失帧就会非常严重,恢复不了,所以说距离是很短的,为了使距离比较远的主机之间进行通信,我们就要在物理层次上面把这个以太网进行扩展一下
  • 第一种方法就是,通过光纤的方式,因为光纤的长度非常长,而且在第二章物理层讲过,光纤呢,信号的损耗非常地小,所以说我们可以采用光纤的方式进行拓宽,或者说是扩展以太网的范围,使得我们主机进行通信的距离变远。
  • 集线器可以再连接很多台主机,也可以再连一些光纤,起到一个扩大网络范围的作用,光纤就需要一个光线调制器和管线解调器,把电信号转换为光信号,在光线上传输,然后再把光纤上的光信号转换成电信号,传给集线器
  • 第二种方法,就是利用集线器把很多个集线器再组合起来,这样每一个集线器所构成的区域呢,就叫做冲突域。冲突域指的就是,在集线器,这个物理层设备所连接的主机之内,如果进行通信的话,同一时间只能有一台主机发送信息的,如果有两台主机发送信息,就会发生一个冲突,或者是碰撞。
  • 我们现在为了扩展以太网,就把这三个集线器,再连到主干集线器上。因此,我们就可以使第一个冲突域的一台计算机和其他两个冲突域的计算机进行连接了。所以这个主干集线器,也是一个扩展以太网的方式。用了主干集线器之后,我们可以看到,冲突域就变为大的冲突域了。
  • 冲突发生的次数变多了,共享通信信道的主机变多了,冲突域内的主机变多了,就会导致实际通信的效率更低。
  • 有没有一种办法可以减少冲突并且扩展以太网的范围呢?

链路层扩展以太网

在这里插入图片描述

  • 网桥和物理层设备,比如说集线器,一个主要的区别就是,集线器它会通过所有的端口转发出去,比如说从一个端口收到了1010比特流,那就会从所有的端口转发出去。而网桥呢,稍微有一些智商,它会考虑一下,我应不应该从这个口转发,从哪个口转发,如果不能转发就把它丢弃掉。
  • 现在这个网桥呢,就是把几个以太网连接起来了,因此就构成了一个更大的以太网,而每一个原来的以太网呢,就是一个冲突域,也叫网段。
  • 网桥可以把各个冲突域分隔开,如果网桥换成集线器,换成一个物理层的设备,就没有这种过滤通信量,或者说是分隔冲突域的功能了。我们可以看到,不同网段的通信呢,他们是不会进行彼此之间的干扰的。假如说A主机正在和B通信,C主机和D主机,E主机和F主机也是可以同时通信的。不像一个物理层设备,如果连着这六台主机,这六台主机是不可以同时进行通信的。而经过了网桥,这种链路层设备连接之后呢,在每一个冲突域内都可以进行单独的通信。
  • A和C也可以进行通信,因为网桥把以太网进行了一个扩展。
  • 假如说A主机发生故障,并不会影响其他网段的主机,可能只会影响自己冲突域上

网桥分类–透明网桥

在这里插入图片描述

  • 即插即用:指的是,我只要一插上,这个网桥就可以开始工作了
  • 插上去,网桥就够构造一个转发表,自学习,就是在通信的过程中,逐渐地填满这转发表

网桥分类–源路由网桥

在这里插入图片描述

多借口网桥–以太网交换机

在这里插入图片描述

以太网交换机的两种交换方式

在这里插入图片描述

冲突域和广播域

在这里插入图片描述
在这里插入图片描述

  • 广播域:只需要看这个图当中,有没有路由器,如果有一个路由器,左边有一个网络,右边有一个网络,就有两个广播域,如果路由器都没有,就只有一个广播域
  • 冲突域:物理层设备,无法分隔冲突域,即一台主机发送数据,其他设备都能收到,而且还会从端口转发出去,集线器自己就构成了一个冲突域
  • 链路层设备,只要是一个端口,就是一个冲突域,有四个冲突域

脑图时刻

在这里插入图片描述

总结

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值