计算机网络笔记(四)


前言

提示:片博客续接上一章,还是数据链路层的相关知识


一、接入控制

1、静态划分信道

信道的划分有很多种方法,简单的就是静态划分信道。
信道的复用就是通过同一条物理线路同时传输多路用户的信号,常见的信道复用技术有:

  1. 频分复用OFM:
    将传输线路的频带资源划分成多个子频带,形成多个子信道,每个子信道之间需要留出隔离频带避免干扰。发送时将不同用户的信号放到不同频率的载波上,接收端再用滤波分开。所以频分复用所有用户占用不同频带资源并行通信
    在这里插入图片描述

  2. 时分复用TDM:
    将信道资源按时隙轮流分配给不同用户,每个用户只能在自己的时隙中使用线路。(类似cpu的单核伪多线程)
    在这里插入图片描述

  3. 波分复用WDM:没咋看懂属于是

  4. 码分复用CDM:
    每一个发送方都被指派一个码片序列,如果发送1就发送这个码片序列,发送0就发送这个码片序列的二进制反码。其中分配给每个站点的码片序列必须正交(用于区分他们发的比特)且不相同。接收端收到的时所有站点发送的码片和序列,用收到的序列与各站的码片求内积(各位相乘求和再除以序列长)。结果为1则发送的是1;结果为-1则发送的时0;结果为0则未发送。

2、随机接入之CSMA/CD

和上面的内容不同,随机接入属于动态接入控制。

当总线上接入多台主机时,在信道上必然会产生发送帧的冲突,如何避免冲突就是一个重要问题。早期的解决方案时CSMA\CD:
在这里插入图片描述
96比特时间又称为最小帧间间隔。为什么载波监听还需要碰撞检测呢?
当A监听信道空闲96比特时间后(此时B也想发送帧于是也在监听),发送帧,在A发送的帧还没有完全占用信道的时候,B的信道监听信道空闲也达到96比特时间于是发送帧,此时发生碰撞,所以需要CD机制来应对这一情况。此外:
在这里插入图片描述
然后时争用期(碰撞窗口):
在这里插入图片描述
显然可以看出在以太网中发送帧的主机越多,端到端往返传播时延越大,发生碰撞的概率就越大。因此,共享式的以太网不能连接太多的主机,使用的主线也不能太长。

此外网络的最小帧长何端到端传播时延有关,如果时延为m比特时间,那最小帧长为m比特(以太网最小帧长64字节,512比特)。这样确保了在发送完成前,发送端主机始终在检测碰撞,从而避免发送出去的帧发生碰撞而发送端不知道导致数据丢失的问题。所以但凡小于最小帧长的帧都是无效帧。当然帧也不能太长不然会长时间占用主线接收方缓冲区也会溢出。

上面说到,当检测到碰撞后,退避一段随机时间,这段随机时间如何计算呢?就要提到阶段二进制指数退避算法。

在这里插入图片描述
该算法的意义在于,当发生碰撞重传的次数增多时,说明信道比较拥堵,所以增大可能的退避时间的上限,从而避开目前的拥堵期,减小碰撞概率,有利于整个网络的稳定。当重传16次仍不成功,则丢弃该帧并向上报告。

CSMA/CD中帧的发送流程:
在这里插入图片描述

CSMA/CD接受帧:
在这里插入图片描述

上述内容都是基于多主机共用总线的情况,CSMA/CD只适用于有线网络,在无线局域网中(CSMA/CD为什么无法用于无线网络,简单来说1、隐蔽站碰撞检测失去意义。2、对硬件要求太高),需要新的协议——CSMA/CA。
另外,现在的以太网基于交换机和全双工连接,不会发送碰撞,所以CSMA/CD也没有了使用的必要。

3、随机接入之CSMA/CA

在802.11协议中,mac层标准定义了两种不同的媒体接入控制方式,其中默认的是分布式协调功能DCF:在DCF方式下,没有中心控制咋还能点,每个站点通过CSMA/CA协议来争取信道控制权。

CSMA/CA工作原理:
在这里插入图片描述
1、检测到信道空闲后仍要等待一个DIFS是为了避让其他高优先级的帧
2、接受的帧后等待一个SIFS是为了让站点有足够的时间从发送状态调整到接受状态
3、随机退避是为了防止同时有两个站点都检测到信道空闲而发送数据导致碰撞。具体需要随机退避的情况有:

  • 发送数据帧前检测到信道处于忙状态
  • 重传数据帧时
  • 连续发送时(为了避免同一站点长时间占用信道)

4、802.11协议无线网络中,由于不可能避免所有的碰撞且误码率较高,数据链路层使用的是停止等待协议

关于CSMA/CA协议的退避算法:
在这里插入图片描述
为了降低碰撞的概率,减小碰撞带来的影响,802.11标准允许发送站点
对信道进行预约。
在这里插入图片描述
其他各站在收到数据帧或者CTS帧后就推迟接入无线局域网中,保证源站和目的站直接的通信不受干扰。
使用控制帧的意义在于:CTS和RTS帧都很短,所以碰撞的概率、碰撞开销和发送开销都很小,用很小的代价对信道进行预约而避免数据帧碰撞是值得的。

虚拟载波监听机制:
除了CTS和RTS帧,数据帧也携带通信持续时间,这样虽然其他站点无法直接监听信道,但是只要收到任一个帧就能知道通信什么时候结束,相当于简介监听了源站和接收站的通信。这样做可以一定程度上决绝隐蔽站的问题。如下图所示,B在发送CTS帧时C也会收到,这样C就知道信道被占用的时间。
在这里插入图片描述
除了隐蔽站,无线局域网中还存在暴露站问题,即A想发送数据给B,B想发送数据给C,此时BC直接的信道时空闲状态,但是B由于知道A要给自己发送数据而误以为信道忙,就暂停给C发送,造成了信道的浪费。具体的解决方法目前还没有了解,有知道的大佬可以在评论区指出,非常感谢。

二、以太网交换机

同作为扩展以太网的设备,以太网交换机(数据链路层,现在也有包含网络层的三层交换机)相对于集线器(物理层)的优势在于,集线器同时扩大了广播域和冲突域,而交换机仅仅扩大了广播域但隔离了冲突域。

1、自学习算法

以太网交换机即插即用,刚开始的交换表是空的,在转发过程中通过自学习算法建立起帧交换表。
以太网交换机的自学习过程:

这里以A发送给B为例:
在这里插入图片描述

  1. 当表中没有目的地址的接口时,就会向出发送接口以外的所有接口发送该帧,称为泛洪。
  2. 以此类推相互之间不断发送后,帧交换表就会不断完善。
  3. 一个接口可能对应不同MAC地址。如B再发送给C的话又会泛洪,该帧还是从接口2进入交换机2,此时B-2也会被交换机2的表记录。
  4. 帧交换表中的每条记录都有自己的有效时间,到期自动删除。因为MAC地址和交换机接口不是固定的。

2、生成树协议STP

如何提高以太网的可靠性?添加冗余链路,这样即使一条链路出现故障,整个以太网仍然可以运行。
但是冗余链路会形成网络环路,这会导致网络风暴:
在这里插入图片描述
广播风暴会消耗大量网络资源导致数据帧无法发送;主机重复收到相同的广播帧,会大量消耗主机资源;同时还会导致帧交换表震荡。
这时就需要STP出场了。

不管物理连接是怎样的,STP要让交换机自动计算并构建一个树型网络(没有逻辑环路)。当物理链路发送变化时,需要重新计算生成树。

三、虚拟局域网VLAN

交换机可以将多个以太网连接起来形成一个大的以太网,与此同时广播域也随之增加。巨大的广播域会带来一些问题:

  1. 广播风暴,这会消耗网络资源和主机资源,并且TCP/IP协议栈中有大量需要使用广播的地方。
  2. 难以管理和维护。
  3. 潜在的安全问题。

那如何分割广播域呢?首先使用路由器就可以达到这一目的。
路由器工作在网络层,默认不会转发广播帧,就可以将不同局域网的广播域分隔开。
但是路由器的成本较高,全部使用不现实,于是VLAN出现了。

VLAN是一种将局域网内设备划分为与物理位置无关(所以叫虚拟嘛)的逻辑组的技术。广播帧只能同一个VLAN中传播,而不能传播到其他VLAN中。

实现机制:
首先是MAC帧的格式的变化
在这里插入图片描述

然后是交换机的端口类型,共有三种端口,Access、Trunk、Hybird(华为交换机专属)。
Access端口:
在这里插入图片描述

Trunk端口:
在这里插入图片描述
注意,不同交换机连接的Trunk端口PVID必须相同,否则有可能会造成广播错误,这一点可以自行验证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值