《计算机网络微课堂》实验4 集线器和交换机的区别
本实验的目的在于验证集线器和交换机的区别。
我们事先构建了 4 个以太网,上面两个以太网使用的网络互联设备为集线器,下面两个以太网使用的网络互联设备为交换机,如果您构建了拓扑后,交换机的各个接口的指示灯不是绿色的,请在实时和这仿真模式下多切换几次,直到交换机的各接口的指示灯都变为绿色即可。
为了防止 ARP 广播请求对本实验效果的影响,我们需要在实时模式下,让各以太网上面的主机之间先相互发送一遍数据包:
之后我们选择右下角的箭头在我们之前互相发包的那些场景呢给它删除掉,然后我们从实时模式切换到仿真模式,我们先将这个事件列表过滤器中的所有协议给它隐藏掉,然后我们只选择 ICMP 的协议:
我们先来看看左上角使用集线机互联起来的总线型的以太网,我们要让左边这台主机给下面这台主机发送一个 ICMP 的询问报文,当下面这段主机收到询问报文后,会给发送方的回一个响应。那么我们下面具体来看一下,我们进行单步操作,数据包发送到集线器以后,集线器会让它广播出来,那么上面这台计算机收到了 ICMP 的询问报文以后,检查报文的目的 MAC 地址和上面这台计算机的网卡的 MAC 地址是不相同的,所以上面这台计算机是拒绝接收这个数据包的:
而下面这台计算机经过比对以后,发现这个数据包确实给他自己的,因此他解析完这个内容以后,发现需要给发作方回去一个响应,那么我们在让它发回响应,当响应到达了集线器以后,集线器也会把它广播出来。同样的道理上面这台计算机是不会接受响应的,而左边这台计算机又接收了响应:
那么同样的操作,在左下方下面使用交换机互联的交换式以太网上又会出现什么样的情况?我们来看一下。我们让左边的计算机给下面的计算机发送一个 ICMP 的询问报文,当数据包到达交换机以后,我们可以看到交换机会把它明确的转发出来,而不是广播出来:
下面这台计算机发回响应,响应数据包到达交换机以后,交换机也会把它明确的转发出来,而不是广播出来,这样我们就验证了交换机具有过滤功能,也就是说它可以明确的转发帧或者明确的不转发帧:
而集线器的话,他在收到数据帧以后它会广播出来,不管帧到底是广播的还是单播的,它都会广播出来。
集线器互联
接下来我们将上面两个总线型的以太网,通过他们的集线器互联起来,我们选择自动连线互联就可以了。会将原来两个独立的总线型局域网连成了一个更大的总线型的局域网,并且在扩大了它的覆盖范围的同时,我们也扩大了它的碰撞域。
然后我们再将下面这两个使用交换机构成的交换式以太网,通过他们交换机也互联起来,这样也变成了一个更大的一个交换式以太网。注意现在这个接口是黄色的指示灯,那么我们把它切换几下,这时候我们看到指示灯变为绿色就可以了。
那么现在我们在上面总线型的以太网做一个实验,我们让 192.168.0.1 给 192.168.0.3 发送一个 ICMP 的询问请求,然后这台计算机收到询问请求后,会发回一个 ICMP 的响应,
下面来演示一下,数据包到达第一个集线器会是什么样,它会广播出来,然后上面这台计算机肯定是不会收了,那么下面的这台计算机是应该会接收的:
然后数据包还从接口传递到了这边的集线器上,仍然是广播出来。这三台都不会收,而之前这边这台计算机在同时会把 ICMP 响应的发出来,到达了集线器以后,他又是广播出来,这样我们可以看到响应也被传递到整个总线上的每个主机的地方。然后我们把这个场景删掉:
那么同样的操作,在下面交换式的以太网上又会出现什么样的情况呢?请您想象一下会出现怎样的传输情景。不知您的想象和我们的验证是否是一致的。
碰撞模拟
下面我们再来看看这种情况,在上面的以太网中让最左边的主机给左下方的主机发送一个 ICMP 的请求,同时让最右侧的主机给最右下方的主机发送一个 ICMP 的请求,我们看看会是什么样的结果。
我们可以看到当集线器在转发这边的 ICMP 请求的时候,以及集线器在转发来自于这台计算机来 ICMP 请求的时候,他们就会必然产生碰撞,最后碰撞的信号就会传遍整个的总线,每一台计算机都会检测到这样的一个碰撞的信号。
那么同样操作在下面交换式以太网上又会出现什么样的情况,我们来进行一下仿真
广播帧
下面我们再来看一下发送广播帧的情况。对于上面总线型以太网来说,由于它是总线型的,所以即便是单播帧,它都以广播形式发送,那更不用说广播帧了,所以我们只需看一下下面交换式的以太网,那么尤其是他的交换机,当他收到广播帧时他是怎么处理的?
那么我们选择这个地方的添加复杂的 PDU:
然后我们让这台主机 192.168.0.1 进行发送,这里目的 IP 地址我们填成 255.255.255.255,源地址自己的 IP 地址也就是 192.168.0.1,然后再加上序号填个 1 就可以了,那么仿真设置时间的单次为 1 秒就可以了,然后点击创建 PDU:
然后我们点击这个地方的前进按钮,那么广播帧的到了交换机以后,应该说它会从这上面这个接口,下面这个接口,还有右面接口把这个帧转发出来。
当然左边这个接口是帧的输入接口,他不应该从这反向的把它转发出来,我们看一下是不是这个情况那么广播帧就从交换机的除输入接口外的其他接口全部给它转发出来了。
交换机隔离碰撞域
下面我们再来看一下交换机可以隔离碰撞域或者是冲突的情况。那么我们看一下上面总线型的以太网,我们把它们之间的这两个集线器之间的现有的断开,这样原来一个大的冲突域被我们分割成了两个小的冲突域,但是现在这两个小的冲突域很显然他们是没办法通信的,如果我给他们放一台交换机的话,然后我们把它们互联起来,那么这到底是形成了一个更大的碰撞域,还是说这两个还是独立的碰撞域,我们在理论讲解的时候已经讲过,用交换机把独立的碰撞域互联起来以后,通信的范围可以扩大,但是各自还是各自的冲突域,它不会合并成一个大的冲突域。我们可以看到交换机的两个接口还是橙色的,那么我们把它这右下角反攻和切换多点击几次,直到它成为全部是绿灯,这个指示可以正常工作了。
下面我们来看一下怎么看这个地方是一个独立的碰撞域,而这边是一个独立的碰撞域呢?那么我们就发一个简单的数据包,就我们可以看到我们如果把这个数据包让左边主机发给下面这台主机,想象一下会是什么情况,数据包到了集线器以后,实际上是广播出来的,上面也走,右面也走,下面也会发送出来。我们看一下是不是这个情况,但是数据包到达交换机以后,想象一下它会被从接口转发出来吗?应该不会,我们来看一下是不是这样的情况,为什么会发送出来的?跟我们想象当中的不一样,这里需要说明一下的是,由于交换机是我们新接入的,它的帧交换表或者叫做转发表是空的,它收到这样一个帧呢,它其实并不知道这个帧应该怎么转发,所以他就要其实是用洪范的方法,也就是除了进口他不发,他收到这个帧是哪个口进来的,他不会再把它反向打出去,但是它剩余的接口都会发出来,所以就从这边打出来了。
那么当经历了这样一个过程之后,那么下面我们把这个情况给它删除掉,那么实际上就经过刚才的那么一个过程,他转发了一次以后,交换机进行自学习,它的交换表已经有一条记录了,所以之后我们再来看看同样的操作。这个时候我们就看到了对交换机收到这样的一个数据包以后,他查了他的转发表,认为这个数据包不应该从右面接口把它再转发出去,所以这个帧就不会发到右面这个地方了。这个就可以说明我们的交换机其实是可以隔离不同的碰撞域的。