当前课程知识点:网络技术与应用 > 第3讲 以太网 > 3.1 总线形以太网 > 3.1-4 CSMA/CD算法
现在我们来学习CSMA/CD算法
内容主要包括CSMA/CD的工作步骤和后退算法
我们说MAC层里面有一个很重要的任务
就是让总线上的终端能公平地竞争总线
CSMA/CD算法就是为了让终端公平竞争总线而设计的一种算法
CSMA/CD是载波侦听 多点接入和冲突检测的
英文单词的第一个字母的缩写
所谓载波侦听 就是检测总线上是否有载波
我们前面讲过 如果总线有数据的话
它就会有有规律性的信号的跳变出现
我们把这种有规律的信号跳变称为载波
多点接入就是指可以有多个终端连接到总线上
冲突检测就是要检测总线上是否有冲突发生
我们说总线形以太网采用的是半双工通信
所以任何时候只能有一个终端发送数据
如果有多个终端发送数据 就会发生冲突
一旦发生冲突 发送端就要停止发送数据重新发送
所以要检测总线上是否有冲突发生
下面以这样一个总线形以太网为例
说明CSMA/CD算法的工作步骤
首先第一步称为先听后讲
当一台终端想要往总线上发送数据的时候
首先要侦听总线上是否有载波
总线上没有载波才能够发送数据
如果检测到总线上有载波 那么继续侦听
一旦检测到没有载波了 总线上是空的
才能进入到下一步
第二步叫作等待帧间最小间隔
当检测到总线上是空的时候 不是马上就可以发送数据
而是要等待一个小的时间段
这个时间段我们称为帧间最小间隔
设置帧间最小间隔的目的有这么几个
一是如果发送端发送两个MAC帧的目的终端
是同一个终端的话
那么需要给接收端留出让接收端留出腾出缓冲空间的时间
第二是避免一个终端连续发送多个MAC帧
第三可以让终端正确检测到先导码和帧开始分界符
第三步叫边听边讲 什么意思呢
就是当可以发送数据以后 一旦开始发送数据
还要不断检测和侦听总线上是否发生了冲突
如果一旦发生了冲突 就要采取相应的措施
当不发生冲突的时候 才能继续发送数据
那么发生冲突以后怎么办呢
当发生冲突以后就要发送一个阻塞信号
告诉总线上所有发送终端让它们知道此时此刻有冲突发生
然后停止发送 后退等待一段时间 进入到第四个步骤
就是退后再讲
也就是等待一段时间以后再说
那么等待的时间是多长呢
不同的终端的等待的时间有什么要求
这就是我们说的后退算法要设计的问题
设计后退算法有这样几个要求
一个就是每一个终端生成的延迟时间都是随机的
并且相互之间是独立
第二是最小的延迟时间最好是0 而且只有一个为0
第三个是所有终端的平均延迟时间尽可能的小
下面我们看一下后退算法的详细设计过程
设一个参数为冲突次数 比如说是K
初始的时候K是等于0
每发生一次冲突时 K就增加1但是K不能超过10
因此K的值就是在10和冲突次数里面取一个最小值
第二步用K生成一个整数序列
这个序列的范围是0 1 2一直到2的k次方1
然后在这个整数序列当中选择一个整数 称为r
那么根据r的值 计算出后退时间 这个时间为T
T等于r×t
这个t是协议规定的时间 不同的传输速率t是不一样的
第四步 如果某个终端连续重传了16次都检测到冲突发生
那么就终止传输 并且向高层协议报告
下面举一个例子来说明一下后退算法的执行过程
这是连接在总线上的两台终端 终端A和终端B
这两个终端如果要同时发送数据 那么必然发生冲突
这个时候终端A和终端B的冲突次数K都是等于1
我们根据根据K算出一个整数序列
两个终端的整数序列是一样的 0和1
假设终端A从这个整数序列里面随机选择一个数字r等于0
终端A的r等于0
而终端B选择的这个数r也等于0
这样的话 它们后退延迟时间是相同的
因此它们在第二次再次发生了冲突
而这次冲突的时候 K的值也就是冲突的次数
两个终端都等于2了
那么生成的整数序列分别都是0 1 2 3
假设这个终端A从这个序列当中随机抽取出来的r等于1
而终端B随机选择出来的r等于3
那么这个时候它们选择的延迟时间就不同了
所以终端A就成功地发送了
这就是后退算法的执行过程
那么后退算法是一个自适应的算法
对于少量终端发生冲突的话 为了提高总线的利用率
尽量减少终端的平均延迟时间
而对于大量终端发生冲突的的话
通过不断地产生整数序列 增大整数序列
尽量使得有终端能够争取到总线发送权
能够往总线上发送数据
-课程先导语
--先导语
-1.1 网络内涵
--网络内涵
-1.2 互联网发展过程
--互联网发展过程
-1.2 互联网发展过程--作业
-1.3 交换方式
--电路交换
-- 虚电路交换
--数据报交换
--三种交换方式比较
--html
-1.3 交换方式--作业
-1.4 计算机网络体系结构和协议
--分层结构
--OSI体系结构
-1.4 计算机网络体系结构和协议--作业
-第一讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-2.1 数据传输系统
-2.1 数据传输系统--作业
-2.2 信号
--2.2 信号
-2.2 信号--作业
-2.3 编码和调制
--2.3-1 编码
--2.3-2 调制
-2.3 编码和调制--作业
-2.4 差错控制
-2.4 差错控制--作业
-2.5 传输媒体
--2.5 传输媒体
-2.5 传输媒体--作业
-2.6 Packet Tracer6.2使用说明
-第二讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-以太网发展过程与内容简介
-以太网发展过程与内容简介--作业
-3.1 总线形以太网
-3.1 总线形以太网--作业
-3.2 网桥与冲突域分割
-3.2 网桥与冲突域分割--作业
-3.3 交换式以太网与VLAN
-3.3 交换式以太网与VLAN--作业
-3.4 以太网标准
-3.4 以太网标准--作业
-第三讲内容的启示
--html
-例题分析
--例题分析
-案例设计
--案例设计
-测验--作业
-本讲内容简介
--无线局域网
-4.1 无线局域网概述
-4.1 无线局域网概述--作业
-4.2 无线局域网应用方式
-4.2 无线局域网应用方式--作业
-4.3 无线局域网MAC层
-4.3 无线局域网MAC层--作业
-4.4 终端接入无线局域网过程
-4.4 终端接入无线局域网过程--作业
-4.5 无线局域网设计和分析
-第四讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-- IP与网络互连
-5.1 网络互连机制
-5.1 网络互连机制--作业
-5.2 网际协议
-5.2 网际协议--作业
-5.3 IP分组传输过程
-5.3 IP分组传输过程--作业
-5.4 路由表建立过程
-5.4 路由表建立过程--作业
-5.5 IP over以太网
-5.5 IP over以太网--作业
-5.6 三层交换机与VLAN间通信过程
-5.7 Internet控制报文协议
-5.7 Internet控制报文协议--作业
-第五讲内容启示
--html
-案例设计
--案例设计
-例题分析
-测验--作业
-本讲内容简介
--本讲内容简介
-6.1 Internet接入控制机制
-6.1 Internet接入控制机制--作业
-6.2 以太网和ADSL接入技术
-6.2 以太网和ADSL接入技术--作业
-6.3 家庭局域网接入方式与无线路由器
-6.3 家庭局域网接入方式与无线路由器--作业
-6.4 接入综合演示实验
-6.4 接入综合演示实验--作业
-第六讲内容的启示
--html
-例题分析
--第六讲 例题分析
-测验--作业
-本讲内容简介
--传输层
-7.1 传输层服务特性
--传输层服务特性
-7.1 传输层服务特性--作业
-7.2 端口号
--端口号
-7.3 用户数据报协议UDP
-7.3 用户数据报协议UDP--作业
-7.4 传输控制协议TCP
--TCP特点和格式
-- TCP的几点说明
-7.4 传输控制协议TCP--作业
-第七讲内容启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-- 应用层
-8.1 应用结构
--应用结构
-8.1 应用结构--作业
-8.2 域名解析
-8.2 域名解析--作业
-8.3 动态主机配置协议
-8.3 动态主机配置协议--作业
-8.4 万维网
-- 万维网
-8.4 万维网--作业
-8.5 电子邮件
--html
-8.6 文件传输协议
--html
-例题分析
--例题分析
-案例设计
--CH8 案例设计
-应用层启示
--html
-测验--作业
-本讲内容简介
-9.1 网络安全概述
-9.1 网络安全概述--作业
-9.2 网络安全基础
-9.2 网络安全基础--作业
-9.3 病毒检测与防御技术
-9.3 病毒检测与防御技术--作业
-9.4 以太网安全技术
-9.4 以太网安全技术--作业
-9.5 无线局域网安全技术
-9.5 无线局域网安全技术--作业
-9.6 防火墙
-9.6 防火墙--作业
-9.7 安全协议
--9.7 安全协议
-9.7 安全协议--作业
-例题分析
--例题分析
-防火墙演示实验
-- 防火墙演示实验
-案例设计
--案例设计
-网络安全的启示
--html
-测验--作业
-附录1:综合应用分析
--综合应用分析
-附录2:Cisco实际设备网络构建与配置
-期末考试--考试试题