CSMA/CA协议详解【计算机网络】

2023-11-11

【读书笔记】2018年9月5日17:13:26  《计算机网络》第六版 谢希仁

虽然CSMA/CD协议已成功地应用于使用有线连接的局域网,但无线局域网能不能也使用CSMA/CD协议呢?

显然,这个协议的前一部分CSMA能够使用。在无线局域网中,在发送数据之前先对媒体进行载波监听。如发现有其他站在发送数据,就推迟发送以免发生碰撞。这样做是合理的。但问题是“碰撞检测”(CD)在无线环境下却不能使用。理由如下:

 (1)碰撞检测”要求一个站点在发送本站数据的同时,还必须不间断地检测信道。一旦检测到碰撞,就立即停止发送。但由于无线信道的传输条件特殊,其信号强度的动态范围非常大,因此在802.11适配器上接收到的信号强度往往会远远小于发送信号的强度(信号强度可能相差百万倍)。如要在无线局域网的适配器上实现检测到碰撞,在硬件上需要的花费就会过大。

(2)更重要的是,即使我们能够在硬件上实现无线局域网的碰撞检测功能,我们仍然无法避免碰撞的发生。这就表明,无线局域网不需要进行碰撞检测。

     “无线局域网不需要进行碰撞检测”是由无线信道本身的特点决定的。我们知道,无线电波能够向所有的方向传播,且其传播距离受限。当电磁波在传播过程中遇到障碍物时,其传播距离就会受到限制。如图9-4所示的例子表示了无线局域网的特殊问题。图中给出两个无线移动站A和B,以及接入点AP。我们假定无线电信号传播的范围是以发送站为圆心的一个圆形面积。

图9-4(a)表示站点A和C都想和B通信。但A和C相距较远,彼此都听不见对方。当A和C检测到信道空闲时,就都向B发送数据,结果发生了碰撞。这种未能检测出信道上其他站点信号的问题叫做隐蔽站I}}题(hidden station problem) o    当移动站之间有障碍物时也有可能出现上述问题。例如,三个站点A, B和C彼此距离都差不多,相当于在一个等边三角形的三个顶点。但A和C之间有一个座山,因此A和C彼此都听不见对方。若A和C同时向B发送数据就会发生碰撞,使B无法正常接收。

图9-4(b)给出了另一种情况。站点B向A发送数据。而C又想和D通信。但C检测到信道忙,于是就不敢向D发送数据,其实B向A发送数据并不影响C向D发送数据(如果这时不是B向A发送数据而是A向B发送数据,则当C向D发送数据时就会干扰B接收A发来的数据)。这就是暴露站问题((exposed station problem)。在无线局域网中,在不发生干扰的情况下,可允许同时多个移动站进行通信。这点与有线局域网有很大的差别。

由此可见,无线局域网可能出现检测错误的情况:检测到信道空闲,其实并不空闲;而检测到信道忙,其实并不忙。

我们知道,CSMA/CD有两个要点,一是发送前先检测信道,信道空闲就立即发送,信道忙就随机推迟发送;二是边发送边检测信道,一发现碰撞就立即停止发送。因此,偶尔发生的碰撞并不会使局域网的运行效率降低很多。但无线局域网不能使用碰撞检测,只要开始发送数据,就一定把整个帧发送完毕。由此可见,如果在无线局域网的发送过程中,一旦发生了碰撞,那么整个信道资源在这段时间就白白浪费了。因此,无线局域网应当尽量减少碰撞的发生。

    为此,802.11局域网就使用CSMA/CA协议。CA表示Collision Avoidance,是碰撞避免的意思,或者说,协议的设计是要尽量减少碰撞发生的概率。

   802.1 I局域网在使用CSMA/CA的同时,还使用停止等待协议。这是因为无线信道的通信质量远不如有线信道的,因此无线站点每通过无线局域网发送完一帧后,要等到收到对方的确认帧后才能继续发送下一帧。这叫做链路层确认。

   我们在进一步讨论CSMA/CA协议之前,先要介绍802.11的MAC层。    802.11标准设i十了独特的MAC层(图9-5 )。它通过协调功能(Coordination Function)来确定在基本服务集BSS中的移动站,在什么时间能发送数据或接收数据。802.1 I的MAC层在物理层的上面,它包括两个子层。

(1)分布协调功能DCF (Distributed Coordination Function). DCF不采用任何中心控制,而是在每一个结点使用CSMA机制的分布式接入算法,让各个站通过争用信道来获取发送权。因此DCF向上提供争用服务。802. I 1协议规定,所有的实现都必须有DCF功能。    

(2)点协调功能PCF (Point Coordination Function)。PCF是选项,是用接入点AP集中控制整个 BSS内的活动,因此自组网络就没有PCF子层。PCF使用集中控制的接入算法,用类似于探询的方法把发送数据权轮流交给各个站,从而避免了碰撞的产生。对于时间敏感的业务,如分组话音,就应使用提供无争用服务的点协调功能PCF。

为了尽量避免碰撞,802. 11规定,所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间通称为帧间间隔IFS (InterFrame Space)。帧间间隔的长短取决于该站要发送的帧的类型。高优先级帧需要等待的时间较短,因此可优先获得发送权,但低优先级帧就必须等待较长的时间。若低优先级帧还没来得及发送而其他站的高优先级帧已发送到媒体,则媒体变为忙态,那么低优先级帧就只能再推迟发送了,这样就减少了发生碰撞的机会。至于各种帧间间隔的具体长度,则取决于所使用的物理层特性。    下面解释最常用的两种帧间间隔的作用(参考图9-6 ):

(1) SIFS,即短(Short)帧间间隔,长度为28 us。 SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个站应当能够从发送方式切换到接收方式。使用SIFS的帧类型有:ACK帧、CTS帧(在后面“对信道进行预约”中介绍)、由过长的MAC帧分片后的数据帧气以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。

     (2) DIFS,即分布协调功能帧间间隔,它比SIFS的帧间间隔要长得多,长度为128 }s。在DCF方式中,DIFS用来发送数据帧和管理帧。  

 CSMA/CA协议的工作原理可用图9-6来说明。  

 要发送数据的站先检测信道。在802.11标准中,规定了在物理层的空中接口进行物理层的载波监听。通过收到的相对信号强度是否超过一定的门限数值,就可判断是否有其他的移动站在信道上发送数据。当源站发送它的第一个MAC帧时,若检测到信道空闲,则在等待一段时间DIFS后就可发送。    

为什么信道空闲还要再等待一段时间DIFS呢?就是考虑到可能有其他的站有一高优先级的帧要发送。如有,就要让高优先级帧先发送。    

现在假定没有高优先级帧要发送,因而源站发送了自己的数据帧。目的站若正确收到此帧,则经过时间间隔SIFS后,向源站发送确认帧ACK。若源站在规定时间内没有收到确认帧ACK(由重传计时器控制这段时间),就必须重传此帧,直到收到确认为止,或者经过若千次的重传失败后放弃发送。    

由此可见,802.11无线局域网采用的停止等待协议,是一种可靠传输协议。发送力一必须等待对力一的确认帧。但802.3有线局域网的传输是不可靠的,发送方把数据发送出去就不管了(当然若检测到碰撞是必须重传的),如果需要可靠传输则由高层负责。    802.11标准还采用了一种叫做虚拟载波监听(Virtual Carrier Sense)的机制,这就是让源站把它要占用信道的时间(包括目的站发回确认帧所需的时间)及时通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据,这样就大大减少了碰撞的机会。“虚拟载波监听”是表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据。这种效果好像是其他站都监听了信道。所谓“源站的通知”就是源站在其MAC帧首部中的第二个字段“持续时间”中,填入了在本帧结束后还将要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间。  

 当一个站检测到正在信道中传送的MAC帧首部的“持续时间”字段时,就调整自己的网络分配向量NAV(Network Allocation Vector)。 NAV指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态。因此,某个站认为信道处于忙态就有两种可能,一种可能是由于其物理层的载波监听检测到信道忙,另一种可能就是由于MAC层的虚拟载波监听机制指出了信道忙。    

图9-6指出,当信道从忙态变为空闲时,任何一个站要发送数据帧时一,只要不是要发送的第一个帧,不仅都必须等待一个DIFS的间隔,而且还要进入争用窗口,并计算随机退避时间,以便再次重新试图接入到信道。请读者注意,在以太网的CSMA/CD协议中,要发送数据的站,在监听到信道变为空闲就立即发送数据,同时进行碰撞检测。如果发生了碰撞,就执行退避算法。但在802.11标准的CSMA/CA协议中,因为没有像以太网那样的碰撞检测机制,所以,在信道从忙态转为空闲时,各站就要执行退避算法。这样做就减少了发生碰撞的概率。802.11标准也是使用二进制指数退避算法,但具体做法稍有不同。这就是:第i次退避就在2^2+i个时隙中随机地选择一个。这就是说,第1次退避是在8个时隙(而不是2个)中随机选择一个,而第2次退避是在16个时隙(而不是4个)中随机选择一个。    

当某个要发送数据的站,使用退避算法选择了争用窗口中的某个时隙后,就根据该时隙的位置设置一个退避计时器(backoff timer)当退避计时器的时间减小到零时,就开始发送数据。也可能当退避计时器的时间还未减小到零时而信道又转变为忙态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过时间DIFS后,继续启动退避计时器(从剩下的时间开始)。这种规定有利于继续启动退避计时器的站更早地接入到信道中。    

为了更好地了解802. I 1的退避机制,下面用个例子来说明(图9-7 ) 。

     图9-7表示当A正在发送数据时,B, C和D都有数据要发送(用向上的箭头表示)。由于这三个站都检测到信道忙,因此都要执行退避算法,各自随机退避一段时间再发送数据。802. I 1标准规定,退避时间必须是整数倍的时隙时间。    前面己经讲过,第i次退避是在时隙{0, 1, ..., 2 ^2+i}中随机地选择一个。这样做是为了使不同站点选择相同退避时间的概率减少。因此,第1次退避(i=1)要推迟发送的时间是在时隙{0, 1,…,7}中(共8个时隙)随机选择一个,而第2次退避是在时隙{0, 1,…,15}中(共16个时隙)随机选择一个。当时隙编号达到255时(这对应于第6次退避)就不再增加了。这半决定退避时间的变量,称为退避变量。    

退避时间选定后,就相当于设置了一个退避计时器(backoff timer)。站点每经历一个时隙的时间就检测一次信道。这可能发生两种情况:若检测到信道空闲,退避计时一器就继续倒计时;若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS后,从剩余时间开始继续倒计时。如果退避计时器的时间减小到零时,就开始发送整个数据帧。  

 从图9-7可以看出,C的退避计时器最先减到零,于是C立即把整个数据帧发送出去。请注意,A发送完数据后信道就变为空闲。C的退避计时器一直在倒计时。当C在发送数据的过程中,B和D检测到信道忙,就冻结各自的退避计时器的数值,重新期待信道变为空闲。正在这时E也想发送数据。由于E检测到信道忙,因此E就执行退避算法和设置退避计时器。    

当C发送完数据并经过了时间DIFS后,B和D的退避计时器又从各自的剩余时间开始倒计时。现在争用信道的除B和D外,还有Eo D的退避计时器最先减到零,于是D得到了发送权。在D发送数据时,B和E都冻结其退避计时器。

 以后E的退避计时器比B先减少到零。当E发送数据时,B再次冻结其退避计时器。等到E发送完数据并经过时间DIFS后,B的退避计时器才继续工作,一直到把最后剩余的时间用完,然后就发送数据。

 冻结退避计时器剩余时间的做法是为了使协议对所有站点更加公平。    

根据以上讨论的情况,可把CSMA/CA算法归纳如下:    

(1)若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧。    

(2)否则,站点执行CSMA/CA协议的退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。    

(3)当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个的帧并等待确认。  

 (4)发送站若收到确认,就知道已发送的帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤(2)开始,执行CSMA/CA协议的退避算法,随机选定一段退避时间。    

若源站在规定时间内没有收到确认帧ACK(由重传计时器控制这段时间),就必须重传此帧(再次使用CSMA/CA协议争用接入信道),直到收到确认为止,或者经过若干次的重传失败后放弃发送。    

应当指出,当一个站要发送数据帧时,仅在下面的情况下才不使用退避算法:检测到信道是空闲的,并且这个数据帧是它想发送的第一个数据帧。  

 除此以外的所有情况,都必须使用退避算法。具体来说,以下几种情况都必须使用退避算法:  

(1)在发送第一个帧之前检测到信道处于忙态。    

(2)每一次的重传。    

(3)每一次的成功发送后再要发送下一帧。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSMA/CA协议详解【计算机网络】 的相关文章

  • 【模块介绍】WS2812(硬件部分)

    目录 引脚定义 电气属性 电路连接 PCB 软件部分 引脚定义 这是数据手册中引脚定义图和连接方式 可以看出 这个灯是自带芯片控制R G B三色的亮度 可以通过上级的DOUT gt 下级的DIN来使其进行级联 电容官方建议是使用100nF
  • 向量大小和归一化(vector magnitude & normalization)、向量范数(vector norm)、标量/向量/矩阵/张量

    一 向量大小 首先一个向量的长度或者大小一般记为 上图中的平面向量的大小计算如下 空间向量的大小计算如下 维复向量的大小计算如下 二 向量归一化 向量归一化即将向量的方向保持不变 大小归一化到1 向量的归一化向量为 三 向量范数 范数是一种
  • 【STM32F4系列】【HAL库】【模块介绍】MPU6050设置与DMP库使用

    文章目录 概述 硬件设计 软件设计 I2C通信 MPU6050设置 DMP设置 注意 成品 概述 MPU6050是一个3轴陀螺仪 测角加速度 和3轴加速度计 测量线加速度 的测量芯片 内部自带运算单元 DMP 可以输出经姿态融合计算后的四元
  • 什么是正则表达式?

    什么是正则表达式 1 什么是正则表达式 2 基本匹配 3 元字符 1 什么是正则表达式 正则表达式是 组由字 和符号组成的特殊 本 它可以 来从 本中找出满 你想要的格式的句 个正则表达式是 种从左到右匹配主体字符串的模式 Regular
  • [网络安全自学篇] 八十四.《Windows黑客编程技术详解》之VS环境配置、基础知识及DLL延迟加载详解(1)

    从这篇文章开始 作者将带着大家来学习 Windows黑客编程技术详解 其作者是甘迪文老师 推荐大家购买来学习 作者将采用实际编程和图文结合的方式进行分享 并且会进一步补充知识点 希望对您有所帮助 第一篇文章主要包括两部分内容 开发环境 VS
  • [Office] 公务员WPS Excel常用的一些技巧方法

    这篇文章主要是我最近工作使用WPS Excel的一些常用技巧和方法 仅仅是一篇在线笔记 当然实际操作中 你遇到问题百度经验或相关网站会提供对应的解决方法 而且它们写得更好 这篇文章更多的是结合自己使用学到的技巧 作为程序员 写了这么多年的代
  • 基于Python搭建Django后台管理系统

    一个好的项目数据库管理后台是必须的 今天教大家搭建Django网站后台 好了 开始进入正题 今天以搭建一个个人博客网站作为例子讲解网站后台的搭建 一 博客网站的创建 创建项目 生成站点 sites Model 这两步骤第一篇有介绍 这里就直
  • 真的!千万不要忽略这些python常见报错信息

    在使用Python时 作为萌新的我总是会粗心的掉这掉那 运行时就会出现各式各样的错误 因此写这么一篇博客 来总结下编写代码的一些常见错误以及解决办法 有什么python相关报错解答自己不会的 或者源码资料 模块安装 女装大佬精通技巧 都可以
  • 基于express的文件上传功能实现

    基于express 的文件上传功能 功能描述 可以上传文件 并在后台中看到上传的文件 可以上传图片 并进行一个简单预览 点击提交后可以在后台中看到 功能展示 功能实现 index html
  • Vue2.7.14、vuecli@5.0.8 升级 vite@4.4.8

    项目背景 Vue2 7 14 vuecli 5 0 8 element ui 2 15 13 node14 18 3 本项目内部项目 不涉及CDN加速 vite安装 pnpm add vite 4 4 8 D 入口文件index html
  • 软件测试的目的、原则及流程

    一 软件测试的目的 1 软件测试是为了发现错误而执行程序的过程 2 测试是为了证明程序有错 而不是证明程序无错 发现错误不是唯一目的 3 一个好的测试用例在于它发现至今未发现的错误 4 一个成功的测试是发现了至今未发现的错误的测试 注意 1
  • 十六进制的转换为十进制两种常见方法

    十六进制的转换为十进制两种常见方法 好久以前学的都忘了 正好复习一下 对于十六进制转十进制 第一种 快速法 自己挺喜欢第一种的快捷 比如 012A 0 X 163 1 X 162 2 X 161 10 X 160 298 说明 当中的十六进
  • 比较对象相等性的四种方法

    比较对象相等性的四种方法 System Object定义了3个不同的方法 来比较对象的相等性 ReferenceEquals 和两个版本的Equals 再加上比较运算符 实际上是有四种比较相等的方式 在编程中实际上我们只需要这两种比较 c
  • 过年不再被逼相亲——我用python给亲戚展示2022的相亲数据

    人生苦短 我用Python 这不是快过年了吗 又到了一年一度的亲戚大考验环节 没对象的他们会问你 找对象了吗 你要是学计算机专业的 他们会问你 会修电脑吗 出去学了点啥他们也会要求 才艺展示一下 我相信大家都躲不过去 既然躲不过去 那直接上
  • Bundle Adjustment 光束平差法

    https www cnblogs com Jessica jie p 7739775 html 感觉这个链接讲的比较好理解 看slam的书完全一脸懵
  • 【计算机网络】TCP报文段详解

    本文为借阅书籍资料 观看他人博客总结得出 欢迎提问 一 前期说明 TCP虽然是面向字节流的 但是在网络中的传输单元确实是报文段的格式 一个TCP报文段分为首部和数据两个部分 而协议的全部实现都在TCP报文段的首部体现出来的 只有先理解首部各
  • CSMA/CA协议详解【计算机网络】

    读书笔记 2018年9月5日17 13 26 计算机网络 第六版 谢希仁 虽然CSMA CD协议已成功地应用于使用有线连接的局域网 但无线局域网能不能也使用CSMA CD协议呢 显然 这个协议的前一部分CSMA能够使用 在无线局域网中 在发
  • Linux网络编程基础

    Linux网络编程基础 1 协议的概念 什么是协议 典型协议 网络程序设计模式 分层模型 TCP IP四层模型 实际开发中常用模型 通信过程 协议的概念 从应用的角度出发 协议可理解为 规则 是数据传输和数据的解释的规则 假设 A B双方欲
  • 代数余子式与伴随矩阵

    关系 例题 伴随矩阵运算
  • Java CGLIB动态代理示例

    1 CGLIB动态代理简介 JDK动态代理是利用反射机制生成一个实现代理接口的匿名类 在调用具体方法前调用InvokeHandler来处理 而cglib动态代理是利用asm开源包 对代理对象类的class文件加载进来 通过修改其字节码生成子

随机推荐

  • RESTful API接口

    RESTful规范 Restful API是目前比较成熟的一套互联网应用程序的API设计理念 Rest是一组架构约束条件和原则 如何Rest约束条件和原则的架构 我们就称为Restful架构 Restful架构具有结构清晰 符合标准 易于理
  • JAVA报错:Variable 'vv' is accessed from within inner class, needs to be declared final

    内部类中使用但未声明的任何局部变量必须在内部类的正文之前明确分配
  • struts2中validator配置文件验证不起作用的问题解决办法、根源

    在采用struts的xml配置方式校验数据时 发现怎么也不起作用 无法按照正常流程 走到input指向的页面 一 问题的解决 很多博客说明了自己查找的方式 最后都指明了是因为配置文件格式不正确的原因 出现这种问题的时候 应该从下面4个部分考
  • SpringCloud Alibaba 教程

    SpringCloud Alibaba GitHub官方地址 https github com alibaba spring cloud alibaba blob master README zh md SpringCloud Alibab
  • 大学生团体天梯赛(第九届)

    题目地址 天梯赛 include
  • 憨批的语义分割重制版4——TF2 搭建自己的PSPNet语义分割平台

    憨批的语义分割重制版4 TF2 搭建自己的PSPNet语义分割平台 学习前言 什么是PSPNet模型 代码下载 PSPNet实现思路 一 预测部分 1 主干网络介绍 2 加强特征提取结构 3 利用特征获得预测结果 二 训练部分 1 训练文件
  • Vue3 之 readonly

    Vue3 之 readonly readonly 取得一个对象 反应性或普通 或ref并返回一个只读代理 访问的任何嵌套属性也将是只读的 传入普通对象等返回只读代理 传入普通数值或字符串不能变成只读 例如 readonly abc cons
  • 约束下的最优求解:拉格朗日乘数法和KKT条件

    机器学习面对各种各样的求解极值或者最值问题 现在对常见的求解极值或者最值问题思路做一下理论上的梳理 最值问题 简单了解最值问题 求最值是非常常见的问题 比如如何选择交通路线 最快地到达某地 如何用手头的钱买到分量最重的水果等等 我们可以把需
  • 解决An attempt was made to call a method that does not exit问题

    解决An attempt was made to call a method that does not exist The attempt was made from the following location 最近在学习springc
  • KPCA代码

    KPCA算法在TE过程故障诊断的应用 KPCA算法介绍 KPCA代码 数据预处理 计算核矩阵 中心化核矩阵 协方差矩阵的特征值分解 确定主元个数 将特征向量按特征值的大小顺序排序 单位化特征向量 重建测试数据 控制限的设定 故障数据的检测
  • HTML学习-表单语法、表单元素格式、单选框、多选框、按钮 2021-1-19

    表单语法 表单form action 表单提交的位置 可以是网站 也可以是一个请求处理地址 method post get 提交方式 get方式提交 我们可以再url中看到我们提交的信息 不安全 高效 post方式提交 比较安全 传输大文件
  • 利用setTimeout实现倒计时

    倒计时60秒 function countDown that count if count 0 that setData timeCountDownTop 获取验证码 counting false return that setData c
  • stata学习笔记

    受限被解释变量类型 普通断尾随机变量 断尾回归 对于分析的样本解释变量有上限或者下限的要求 零断尾计数数据 零断尾泊松回归和负二项回归 正整数 偶然断尾 自选择问题 样本选择模型 因为某些原因 导致被解释变量的取值有所不同 归并数据 归并T
  • 实例一 LINUX OS 简单制作 JAVA WEB + TOMCAT7.0 RPM 安装包

    1 安装rpmbuild 并配置环境 1 1 首先 你应该检查 rpmbuild 是否已经被安装在你的系统上 你将会利用这个工具从 spec 文件或 SRPM 组件创建 RPM 要检查它是否被安装了 请执行 rpmbuild showrc
  • 单链表、双链表以及环形单链表

    1 单链表 import java util Stack public class SingleLinkedListDemo public static void main String args 测试 HeroNode h1 new He
  • Python:奇数筛选

    今天第一次来csdn 写博客 还是蛮兴奋的 看了小甲鱼的Python视频 想照着他的写写看 功能 从一组数中筛选出奇数 def odd x return x 2 temp range 10 show filter odd temp list
  • 电脑分辨率高,plsql显示太小,怎么设置

    新电脑分辨率比较高 装了plsql developer后 打开发现整个界面的字体菜单非常小 如何设置 效果如下图片 解决方案 右键 gt 属性 gt 兼容性 gt 更改所有用户的设置 gt 更改高DPI设置 gt 高DPI缩放替代 gt 勾
  • unity3D代码控制脚本的停止和启动

    这个问题已经是我第三次在网上查资料了 同样的问题应该重复查询说明使用频率很高 就有理由应该记住 其实这个问题很简单 我认为可行的方法只有一种 就是获取脚本文件 然后把enable属性设置为true或者false就行了 ps 脚本文件可以堪称
  • 文本编辑器Vim常用操作和技巧

    文章目录 1 Vim常用操作 1 1 Vim简介 1 2 Vim工作模式 1 3 插入命令 1 4 定位命令 1 5 删除命令 1 6 复制和剪切命令 1 7 替换和取消命令 1 8 搜索和搜索替换命令 1 9 保存和退出命令 2 Vim使
  • CSMA/CA协议详解【计算机网络】

    读书笔记 2018年9月5日17 13 26 计算机网络 第六版 谢希仁 虽然CSMA CD协议已成功地应用于使用有线连接的局域网 但无线局域网能不能也使用CSMA CD协议呢 显然 这个协议的前一部分CSMA能够使用 在无线局域网中 在发