我是靠谱客的博主 体贴犀牛,最近开发中收集的这篇文章主要介绍计算机网络——使用广播信道的数据链路层/CSMA CD协议使用广播信道的数据链路层,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用广播信道的数据链路层

局域网的数据链路层

局域网LAN的主要特点:

  1. 网络为一个单位所拥有
  2. 地理范围和站点数目都有限

局域网的特点:

比如一个办公室中,A要和B通话,A不用走到B那里,A直接喊一声让B听见,同时所有人也都能听见,也就是广播。

所以局域网具有广播功能,从一个站点可以方便地访问全网。

静态划分通道

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

动态媒体接入控制

  • 随机接入(一般为随机接入)
  • 受控接入

局域网拓扑结构

  • 星型网
局域网与以太网的关系
  • 以太网是一种计算机局域网技术。
    IEEE组织的IEEE 802.3标准制定了以太网的技术标准,

它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。

以太网分类归为总线型局域网,而局域网的拓扑结构包括星形、树形、环形和总线型,
局域网是四者的统称。

以太网通常采用CSMA/CD协议;而局域网的协议多样,
包括TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

总而言之,以太网是局域网的一种

网卡(网络适配器)的作用

网卡在 tcp ip中 属于 物理层和数据链路层 所以一定要有网卡

  • 进行串行/并行转换
  • 对数据进行缓存
  • 对计算机的操作系统按照设备驱动服务
  • 实现以太网协议

CSMA/CD协议

这是针对于局域网大家都公用一条总线的情况。

总线上的每一个工作的计算机都能检测到发送方发送的数据信号。

但只有对应的人才会去处理它。

就比如在一间教室上课,老师喊了一声小明,所有同学都听到了老师喊小明,但只有小明会去回复老师,因为小明知道老师喊的是他的名字。

而在计算机中,没有名字,而是地址,也就是Mac地址

以太网采取的重要的措施

  • 以太网采取的是无连接的工作方式。
  • 以太网提供的服务是不可靠的交付,即尽最大努力的交付。
  • 以太网发送的数据都使用曼彻斯特编码

CSMA/DA 要解决的最大问题就是 如何协调多个发送方在一个信道之间发送信息的协调,

  • 载波监听
  • 多点接入
  • 碰撞检测
    (在计算机边发送数据边检测信道上的信号电压大小)如果两个帧碰撞,则两个帧都变得没用。

CSMA/DA
就是要 检验冲突,避免产生冲突

原理描述

  • 假如一条总线上,有ABCD四个用户。
  • 现在A发送了数据,有个前提是,在A的数据还没到达BCD之前,BCD是不知道总线上有人在发数据的。(如果有人已经经过我的门口,我就知道信道是不空闲的,我就不能发送数据了)
  • 所以BCD可能会以为信道是空闲的,所以就会去发数据

在这里插入图片描述
而这个时候,如图所示,在A发送的数据包没到达B之前,B以为信道是空闲的,于是也发送了数据。那么A和B发送的数据必定会相撞。

相撞之后,它们彼此的波形就会叠加,当A发送的信号到达B,B发送的信号到达A之后,AB就会同时发现,发送的数据包碰撞了。

而B在知道冲突之后,B就不会发送数据量。

在这里插入图片描述
假设数据在信道中传播时间为r
B检测到冲突的时间就是r

而假设在A到达B之前x时间,B就发送数据。

那么两个数据包再经过x/2就会相遇。

而A检测到的时间就是两倍碰撞时的时间
也就是2(r-x/2)=2r-x

而当x为0时,也就表示A发送的数据已经到B了,B才发送数据,这就是发送数据不冲突的最短时间

A接收数据>2r 不冲突,但是>2r不可能,因为这就意味着B已经接收到A发送来的数据了
这时候它就不会再发了
<2r 冲突

在这里插入图片描述
2r称为争用期

如果在争用期还没有检测到碰撞,就能肯定在这次发送不会发生碰撞。

而当一个检测到碰撞之后,其它的也就都知道了。

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能发送数据。

在这里插入图片描述
重传次数越多,随机概率越大。

争用期的长度

在这里插入图片描述
有道理,如果能够发送512个,就说明已经过了一个争用期,那么后面发送的再多的也没有冲突。而如果小于512(64个字节)就说明有冲突。

强化碰撞

就是发送数据的数据站一旦发现碰撞后:

  1. 立即停止发送数据
  2. 再继续发送若干比特的人为干扰信号,以便让所有用户知道现在已经发生了碰撞。

总结

总结一下:

  1. 先听后发,发送之前要先监听以下通道有没有空闲
  2. 边听边发,发送的过程随时注意有没有收到冲突的信息
  3. 冲突停止 如果收到冲突的话,那么立即停止,然后人为广播
  4. 延迟重发
    然后通过公式,延迟重发

先听后发,边听变发,冲突停止,延迟重发

最后

以上就是体贴犀牛为你收集整理的计算机网络——使用广播信道的数据链路层/CSMA CD协议使用广播信道的数据链路层的全部内容,希望文章能够帮你解决计算机网络——使用广播信道的数据链路层/CSMA CD协议使用广播信道的数据链路层所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

相关文章

评论列表共有 0 条评论

立即
投稿
返回
顶部