【计算机网络】第四章:数据链路层(Part2.广播信道的数据链路)

广播信道中的冲突问题

在这里插入图片描述
最初的广播信道组网方式。一根同轴电缆,两头电阻,通线上接T型头来引出线缆。同一条链路上有多台电脑,会出现冲突问题。同轴电缆很快被集线器替代了,没有电阻时信号会返回到发送端,网络不通。这种组网方式最大的问题是就是一点断,全部断。

广播传输,当一台设备发送数据时,会向所有连通的设备发送信息,附带MAC地址信息,所有电脑收到信息后,与自己MAC地址进行配对确认,如果不是发给自己的信息则直接扔掉,反之则会接收数据。广播信道中,必须附有MAC地址才能实现通讯。

设备在广播信道发数据时,如果有冲突就等一个随机时间后再发。广播信道的数据链路,我们就可以就称它为以太网。


在这里插入图片描述
集线器是广播传输,所有连接集线器的设备发送信息时会发送给所有与集线器直接相连的设备,同时会附加目标MAC地址的信息,所有其他设备收到该信息后会与自己的MAC地址进行匹配,不是自己的就不接收。用集线器联网,所有设备通信机会均等,当链路上有复数台设备发信时,信号在链路里碰撞,碰撞后的信号还会返回到原设备,碰撞后的信号无法识别,设备会认为发送失败,会重新发送信息。也就说,集线器需要检测链路中的数据碰撞,如果有其他数据在链路上有信号(有设备在通讯)则此时刻应不发送信号。也就说需要搭载CSMA/CD协议。
集线器和交换机不同,集线器的功能就是网线,所以在链路这一定义上,集线器是可以忽略的。(网络中的接线器在分析数据链路时,视为网线,不会因此隔开成两段数据链路)

集线器网络比同轴电缆更可靠, 某条链路断裂不影响其他计算机通信。也是广播信道通信,所以自然也需要MAC地址来提供访问。

可以通过抓包工具来捕获广播信道中的信号,就有可能得知发送的消息是什么。


以太网标准IEEE 802.3:
在这里插入图片描述
一般不特殊说明的情况下,默认10M以太网。
在这里插入图片描述

CSMA/CD协议

在这里插入图片描述
载波侦听:检测链路中的数据碰撞,如果有附近链路上有信号,说明有设备在通讯。则此时刻应不发送信号。

冲突检测:有时发送信息之前没有冲突并不意味着发送数据之后没有冲突。举个例子,A给B发送设备时,发现链路上没有信号则开始发送信息,A开始后一段时间内F又要给E发,然而此时A的广播信号还没有传递到F的附近,他就会开始发送信号,然后两者的信号一定会在链路某一点碰撞,碰撞后返回一个无法识别的叠加信号,两发送端都会停止当前发送并等待一个随机时间后再发送,直到成功发送为止。这就是冲突检测。

多路访问:所有设备通信机会均等

由此引出CSMA/CD协议——带冲突检测载波侦听多路访问技术

CSMA/CD:带冲突检测的载波侦听多路访问。

在这里插入图片描述
如图所示,如果帧太短,A在发送后很短的时间内就已经彻底发送完毕,导致碰撞后返回的信号A不识别,因为自己的信号已经发送完毕了,他并不知道这是自己的问题。

如图所示,
极限冲突距离:就是A即将到达B而B发出了信号的临界值,也就是物理链路的长度。图中是5μs,总往返时间就是10μs。10M带宽下,最短帧为:10μs*10M=100bit。最短帧的计算和链路长度和带宽有关。
Ps) 往返时间为 2 τ ,单链路信号传递时间计量为 τ τ
在这里插入图片描述

冲突退避算法

广播网络下,设备越多,发生冲突的可能性越大。如果是总线型网络布局则问题更甚。
在这里插入图片描述
发生冲突时,停止发送信息并且需要等待一段时间,这段等待时间是争用期乘以一个随机数。随机数就根据退避算法来 取,首先,重传次数带入公式时,最大重传次数为10。其次,如果在巧合下多次发生冲突或者发生与其他设备冲突时,都需要重传。
在这里插入图片描述


以太网

以太网的帧格式

在这里插入图片描述
通过抓包工具能直观的看到。下图是以太网V2的帧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
V2帧的三个字段分别是:目标MAC地址,源MAC地址,协议类型。
在这里插入图片描述

如图所示, 以太网的帧构成。 图中的MAC层就是数据链路层,IP层就是网络层。
物理层插入的8个字节,7个字节的前同步码是为了让接收端同步时钟。然后有一位帧开始定界符,没有结束符。
以太网使用曼彻斯特编码,所以当信号不再跳变就意味着结束,不需要定界符。

以太网的最短帧是64字节,如果网络层下来的数据不够46字节,就在后面补0。那么这些0会不会影响有效信息呢?
在这里插入图片描述
如图所示。网络层首部会标识有效信息的长度,如果长度低于46.则对应位之后的0位填充数据而非有效数据,在接收端接收后,网络层会剔除填充部分再交给传输层。

无效帧:
在这里插入图片描述

以太网的信道利用率

在这里插入图片描述
这里说明一下,利用率=发有效数据的时间/发送的总时间
总时间=冲突时间(n个争用期,每个2τ)+发送成功后返回发送端的时间τ+发送需要的时间T0
总线路上设备越多冲突发生的概率越大,n2τ越大

即便没有冲突,信道利用率也无法达到100%。下图解释的很清楚
在这里插入图片描述
综上所述,当线缆长度固定,τ也就固定了,τ固定那么影响信道利用率的因素就是T0,T0要尽可能大,利用率才会越高,换句话说发送的帧不能太短,发送的帧足够长,信道利用率就足够高

网卡和MAC地址

网卡工作于数据链路层和物理层。网卡与CPU之间是并行线,通信快效率高。
在这里插入图片描述
数据链路层:封装/解封帧、差错校验、介质访问控制(带冲突检测的载波侦听)
【也就是说网卡对于错误的帧会自己处理掉,完全不需要上层操作系统处理。网卡的这一功能减少了OS和CPU的负担并提高了计算机整体效率,节约了成本】
但是当帧的目标地址是FF,也就说是广播帧的时候,要求所有计算机必须接受该帧并将其解封并交给上层处理,也就说当接受的广播帧比较多时,会影响计算机效率。
【网卡收到数据帧并识别MAC地址是数据链路层的功能】

物理层:解码编码(将数据转换成曼彻斯特编码电信号),发送编码时还需要先行发送同步时钟信号保证时钟同步


网卡的MAC地址
在这里插入图片描述
MAC标准:前6位16进制由IEEE802统一制定,世界唯一。后6位由制作商自己决定,制作商自己能够保证自己的产品不重复即可。
验证:Ipconfig /all 命令。可以查看自己电脑上所有网卡的MAC地址,我们可以从安装的虚拟机中发现,VMWare所有的网卡,前6位都是00-50-56.这是固定的。

在这里插入图片描述

MAC地址全球唯一,不可更改。但是我们可以不用这个MAC地址,用其他的MAC地址来上网。

校园网,典型的例子,即便我们连接上没有密码的校园网,你也需要登录账号,否则即便处于已连接状态也无法上网。这是数据链路层的保护之一。但是,为了更加健全的防止蹭网,部分校园网实施了绑定设备功能,也就说绑定MAC地址,然后再去接入网络。这种情况下,如果有A和B两个人持有一个有效的MAC地址。只要其中一个人接入网络,另一个人就会因为MAC冲突而无法接入网络。此时,就需要修改MAC地址来让两人同时上网。

所以修改MAC地址有时开始必要的。修改方法如下
在这里插入图片描述
点配置,里面有NetworkAddress选项
在这里插入图片描述
选择不存在,就是默认使用电脑芯片里的MAC。也可以人工指定。
当然,通过注册表修改也可以等价于图形界面修改,注册表的修改目录是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
在这个目录下查找当前MAC地址即可快速找到,然后在这个位置修改即可。


查看网络中的其他计算机的MAC地址
当一台计算机设备接入网络时(集线器,交换机),只知道自己的MAC而不知道其他设备的MAC地址。但是通讯时又需要目标MAC来封包,就需要计算机中的arp协议了。ARP协议在网络通信中,发送端会首先发送一个广播信号,MAC地址是全F,局域网内所有计算机自然可以收到这个信号,只有一台计算机会响应(因为有目标IP)。此时发送端就会缓存下这个MAC地址。此后就可以正常通信了,也就说广播的第一个数据包是为了解析对方的MAC地址。

这一思路也可以通过抓包工具来验证。
在这里插入图片描述
arp -a命令可以查看本机缓存的MAC地址。这里的动态是指临时解析到的,不用就会从表里删除。

想要知道哪一个MAC地址,就可以PING它一下,这样就能在缓存中缓存到它的MAC。


在这里插入图片描述
单播帧:源和目标MAC是唯一的。

广播帧:目标MAC地址是全1(全F)。本网中所有计算机都要处理这个数据包,网卡收到广播包后给不断向上层提交,会影响CPU和内存效率。

多播包:发送给局域网内部分设备。


小实验)抓包来观察广播包

广播包在正常情况下并不多,所以我们可以认为的制造广播包。
1.ping 自己局域网内的任一IP地址,这个可以不存在。
即便不存在,我们也会发一个广播包去问谁有这个IP。就以此为根据进行试验。

2.观察抓包工具的ARP协议数据包。
在这里插入图片描述
在这里插入图片描述
如图所示,首先type是ARP,其次目标MAC地址全1.

扩展以太网

拓展以太网的三个目标:1.数量拓展 2.距离拓展 3.优化

1.数量拓展——集线器级联

集线器是一个典型的以太网设备,是替代同轴电缆的广播信道以太网设备。集线器联网有个特点,集线器与设备之间的最大距离不超过一百米,也就说两电脑接通同一个集线器时,最大间隔200m。集线器和网线一样工作在物理层,和网线一个级别,没有任何过滤和判断。
在这里插入图片描述
那么,如果用集线器来扩展以太网,则以太网规模变大后,冲突发生的概率会增加,整体以太网效率就会降低。优点是网络中计算机数量增加了,且传播距离更远了,极限情况下实现400m内局域网。


2.距离拓展——光纤
在这里插入图片描述
距离上扩展了以太网,但是冲突问题仍然有。


3.优化以太网

在这里插入图片描述
网桥:能够基于MAC地址来转发帧。简单来说,当A和B通信时,因为AB都属于一个小的冲突域,那么此时广播信号不会传播到另一边E1。网桥能够基于mac地址判断信号是否需要通过桥。这样冲突域数量增加了但是冲突整体不变。 网桥不只有两个接口,实际上接口可以更多。
在这里插入图片描述
如图所示,网桥的转发帧基于网桥两端的缓存区,缓存区拥有缓存帧和差错校验的功能,差错校验遵循CRC校验,确认无误后会将帧发送到选定的接口的缓存区准备发送。发送仍然遵循CSMA/CD协议,仍然需要检测冲突以及使用退避算法来完成发送。

网桥的使用虽然减少了冲突,但是传输延迟增加了。通讯需要在网桥接收、完整存储、校验、选择出口、根据协议CSMA/CD协议发送数据。整体时间开销大。

和局域网内设备一样,计算机没有通信时,网桥也不知道以太网内设备的MAC地址。下面看一下网桥MAC地址的构建过程。在这里插入图片描述
起初网桥都是空的,当A给B发信时,由于网桥中没有关于B的MAC地址,所以网桥就会放行该信息。如果以太网内所有网桥均为空,则第一条信息必然是真正的广播信息,将传达到以太网中每一设备处。当信号以此法通过时,网桥会记录一点,A的地址在哪一接口。网桥收到了源地址是MA的信息,那么肯定意味着A在E0接口处。同理对于网桥2,他会记录,A在E2接口(不能明确判断,但是可以判断方向)。当B收到信息会返回一个数据包,此时网桥1收到了该信号,是一个源和目标都是E0接口的信号,则自然会判断出B在E0接口这边;然后就会阻断信号,网桥2将无法再收到这个信号。

综上所述,MAC地址的构建是局域信号的发送去向来决定的。有以下制表:
对于网桥1:
E0:A B
E1: C D E F
对于网桥2:
E2:A B C D
E3: E F
对于网桥另一边接网桥的情况,对于网桥单体是不会知道之前过了多少网桥的,它只能记录来源。

— 交换机
在这里插入图片描述

随着发展,网桥的接口越来越多,导致不再需要集线器。网桥可以直接连计算机,这就发展成了现在的交换机。因为有了MAC地址表,信号只转给了特定的目标,就不再出现冲突问题了。因为每一个接口处拥有缓存,能够存储帧而且可以定向发送和利用队列排队。实现双向通信,同时收发,可以工作在全双工模式。 相比于集线器的单位时间内只能收或发,也就说利用集线器是半双工通讯。

不再使用过CSMA/CD协议。但是由于帧格式仍然是以太网的帧格式,所以仍然称之为以太网。

全双工通信:吞吐量大大提高,上限100%。
安全性:其他非直接发信的计算机的抓包工具无法抓取数据包。
接口兼容:不同接口可以拥有不同带宽,接服务器的接口和接PC的接口根据需求设置不同带宽。
存储能力:交换机接口有存储能力,可以利用时钟频率的发送信息。
广播域:可以发广播,目标mac设置为全F仍然可以实现广播传输。
在这里插入图片描述
交换机的接口可以兼容双工模式,取决于链路特性。在半双工链路上遵循CSMA/CD协议。路由器连接不同网段,某广播域发广播,路由器会隔断此信号,保持广播域信号扩散范围和带宽稳定。

生成树协议

在这里插入图片描述
一般企业的网络布局。 存在一个明显问题,干路线路出问题,至少会有一个接入层的交换机无法联网,如果汇聚层交换机出问题会导致整个部门无法联网。这在某些单位是绝对不允许出现这种问题的。
网络高可用(之前讲过)
【计算机网络】第一章:计算机网络导论(Part2:计算机网络性能指标)
在这里插入图片描述
这种接线方式解决了单点断裂出现大范围断网的问题,但是也出现了新的问题。

广播风暴:这种组网方式,如果某一设备发送广播信号,则广播讯号会在该网络内无数次循环,使用抓包工具可以发现一个帧会抓很多遍。 即便是同一个信号,作为发送端也会成为接收端来接收自己的广播信号。也就说非常占用带宽。

需要阻断这个环——利用树形结构。

  1. 根交换机:利用生成树协议,选择一个根交换机,选择基准是ID。这个ID由优先级+交换机的全局MAC地址(没有和具体物理接口绑定)决定。ID越小,优先级越高。在优先级相同的情况下,谁的MAC地址小, 谁为根。

  2. 其他交换机的根端口:选好根交换机后,再根据物理距离(近的)选择交换机的根端口,根端口和根交换机能够转发用户数据包。

  3. 每个链路的指定端口:对于链路,看线的两头,哪头离着根交换机更近,哪个就是指定端口。根端口和指定端口处于转发状态。

  4. 阻断不是根端口也不是指定端口的端口会成为阻断端口。阻断端口不会让广播信号通过。

当网络内出现网络故障,阻断端口可以在较短时间内(几十秒)转化为转发状态供用户使用。阻断和转发状态是动态变化的。
综上所述,生成树协议可以阻断环路,但是并不是一定要多个交换机才能形成环路,单交换机也可以形成环路。

在这里插入图片描述

小实验:生成树协议

在这里插入图片描述
绿色是转发态,橙色是协商或者阻断态。(协商就是正在考虑谁做转发谁做阻断)
1.根交换机的所有端口都是转发状态,所以根交换机是SW3。
2.
enable 进入特权模式。
show span \tab vlan 1
在这里插入图片描述
FWD是转发状态,BLK是阻断状态,LSN是侦听状态。ROOT ID和Bridge ID相同说明是根交换机,如果不同则比较优先级+MAC,小的为根。图中可以看到42C1和C96D中,4<C。所以0001.42C1.A652是根交换机。
用到的命令
在这里插入图片描述
更改优先级后,会让原来不是根交换机的汇聚层交换机称为新的根交换机,那么原来的指定端口也会发生变化。

高速以太网

一般以太网默认10M,如果是100M则称为快速以太网,1000M称为G比特以太网,10000M称为万兆以太网。

快速以太网

在这里插入图片描述
最短帧=往返时间X带宽。如果想兼容10M以太网,就需要将电缆的最短长度减到原来的十分之一。因为当网线的材质确定后,传播速度固定,那么线缆长度就与传播时间成正比,线越长,时间越长。这里更换了更高速的网速,那么想要让最短帧仍然是64字节就需要往返时间变小,也就是减少长度。
在这里插入图片描述


吉比特以太网

在这里插入图片描述
在这里插入图片描述
UTP5类线就是非屏蔽双绞线。
吉比特以太网的问题:
在这里插入图片描述
吉比特以太网增加了最短帧的大小到512byte,其中有效部分仍然是64字节 .后面多增加的载波延伸可以用于检验冲突。这样提高了传播距离,但是效率却比较低,因为一个最短帧里有大部分无效信息。

解决方法:分组突发
在这里插入图片描述


万兆以太网(十吉比特以太网)

在这里插入图片描述
10GE只工作在全双工模式,不适用CSMA/CD协议,也就不需要定义最短帧了。
在这里插入图片描述

VLAN虚拟局域网

在这里插入图片描述
一个VLAN是一个广播网,是同一个逻辑网段。如图所示,图中三个交换机分别对应三个网段,对应三个局域网LAN。
我们不想按物理位置来划分网段,而是按照单位部门来换分网段,我们需要把安全要求相同的计算机放在同一网段来实现高可用和更好的安全性。
图中的就是销售部,人力资源部,工程部三个部门,其中任一台计算机发广播,通过汇聚层交换机可以将信息传达到每一个LAN的设备中。设置VLAN后,相当于将三个域给隔离了,人力资源部的个广播只能发到人力资源部而不会发给其他部门,相当于将这三部门独立出来了。
在这里插入图片描述
来看下面的实验,在物理上这是一个连通的网络。
在这里插入图片描述
通过配置,将以太网接口的0123四个口配置到VLAN1,4567四个口在VLAN2。这样他们在逻辑上就是两个网段了,然后我们试着ping一下。

在这里插入图片描述
下面是PC1的视角
在这里插入图片描述
可以看到,只有与自己同一VLAN的设备才能够互通。VLAN验证OK。
在这里插入图片描述
那么我们再来看一下比较复杂的VLAN。
在这里插入图片描述
逻辑上相当于四台交换机,其中两两相连。理论上是一样的,但是如果规模再大呢?两个交换机分成4个VLAN呢?这样就会浪费很多端口,进而我们引出了干到链路的概念。
在这里插入图片描述
干道链路可以用来转发多个VLAN的数据信息,每个端口给VLAN做好了标识,从而令干道链路能够明确了解跨交换机的转发目标。这样就可以节省多个VLAN的端口资源。
在这里插入图片描述
如果某一交换机不需要转发多个VLAN的信息,那就不需要使用干道链路。一般干道链路带宽比较高,承载数据多。
在这里插入图片描述
ISL是思科公司的加标记的方法。
在这里插入图片描述
在这里插入图片描述
以此来让干道链路判定收到的信息是来自于哪个VLAN的。

猜你喜欢

转载自blog.csdn.net/Chahot/article/details/106822351