计算机网络实验之二层交换机实验

笔者现在大四,在担任导师教授的计算机网络原理的课程助教,主要负责实验课和理论课作业的批改。现在把每一次做的实验内容和注意事项在这里记录下来,希望能给后面的师弟师妹带来一些帮助吧。

本次的实验是二层交换机的实验

按照网络的7层模型来说,这里是数字链路层发生的事情。我们主要是通过实验来验证和复习在同一个网段下面交换机扮演的角色,即包括广播风暴的产生、最小生成树算法可以避免广播风暴、根网桥、根端口、指定端口选取等一系列有关透明网桥的知识。

在数据链路层里面,我们用交换机将多个局域网(LAN)连接起来,根据MAC地址来转发帧。(顺便提一句:很多童鞋刚刚学习网络课程的时候都在纠结交换机和路由器的区别,这里面有一个很重要的区别是:交换机在数据链路层根据MAC地址来转发帧,而路由器在是在网络层根据IP地址进行路由转发数据包。)那些被交换机连接的局域网就是网段(segment)了。如下图:有3个网段,通过一台交换机(就是网桥bridge)相连,转发帧的时候要看每个网段里面设备的MAC地址(48位)。P1,P2,P3是交换机的3个端口。

计算机网络实验之二层交换机实验_第1张图片

网桥转发帧的时候会参考它自己的MAC地址表,如下所示,通常是记录网段里面设备的MAC地址和端口号。说的通俗一点就是:当来自某一网段的某一个帧从某一个端口到达交换机的时候,它需要根据帧的目的地址来查表,看一看应该从哪一个端口转发出去。查得到结果和查不到结果会采取以下不同的策略。

计算机网络实验之二层交换机实验_第2张图片

网桥转发的帧的时候通常会有3种模式:

1. 泛洪(flood):从一个端口收到一个帧之后,查表之后没有对应的记录,即不知道应该从哪个端口转发,那么此时选择泛洪。立即转发到其他所有的端口。

2. 转发(forward):查表的时候有对应的记录,知道该如何转发,那么就从表中得知的那个端口转发。

3. 过滤(filter):针对的情况是帧的源地址和目的地址对应的同一个端口(可以暂时理解在同一个网段下)。这样如果单纯转发,那么目的设备会重复收到帧(因为假如没有交换机,而是一个独立的网段,其中的一台设备发出一个帧,目的设备就能听到,那么如果再通过交换机转发一下,就重复收到了)。针对这种情况,就不会转发了。

4. 学习:网桥会自己学习。从某一个端口收到的帧会记录下它的源地址和端口号。作为学习的内容,这样之后有发往该地址的帧就可以转发了。具体算法是:初试的时候MAC地址表为空,MAC地址表会记录收到帧的源地址和端口号,并且会更新TTL。过了TTL的记录会被删除,每一次有新的交互的时候,TTL重新开始计算。

广播风暴:最直接的理解就是多个网桥连接的网段形成了环路,这时候帧就会疯狂地在链路里面循环,导致里面的设备忙于处理收到的帧而崩溃掉。在实验里面表现的时候就是:电脑卡死了。

最小生成树:根据数据结构的知识,我们在连通的图里面可以找到一棵最小生成树。在这里面,我们将形成环的网络找到里面的具有一定角色的网桥和端口,根据它们的性质和特点选择阻塞掉某些端口,形成最小生成树从而避免广播风暴。

根网桥:一般选择网桥ID比较小的作为根网桥。除此之外交换机的优先权也会对根网桥的选择产生影响,优先权越小越容易成为根网桥。

根端口:根端口是针对非根网桥而言的,根网桥是没有根端口的。根端口是非根网桥到根网桥开销最小的那个端口,所以一台非根网桥只有一个根端口。

指定端口:可以这样理解,在网络中,每一个网段都连着一台或者多台交换机,对应了这台(这些台)某一个端扣。我们选取了从该网段到根网桥开销最小的一条道路,那么这条道路上直接连接该网段的网桥的那个端口就是网桥的制定端口。

阻塞端口:既不是根端口又不是指定端口的就是阻塞端口,即不从该端口进行传输。

计算机网络实验之二层交换机实验_第3张图片

具体实验操作:

1. 四台主机,两台交换机。每台主机连接两台交换机,两台交换机相连。

2. 每组四台主机配置IP地址如下:192.168.1.1~192.168.1.4(保证在同一网段),子网掩码均为255.255.255.0,然后在命令行里面用ipconfig命令查看实验网卡的mac地址和IP地址,记录下来。

3. 根据实验要求用自己的主机去ping同一组的其他主机。每台主机用WireShark来检测帧。使用WireShark的正则表达式:eth.dst == 84-A6-C8-C0-BB-CF(实验网卡地址,意思是过滤只收集目的地址是84-A6-C8-C0-BB-CF的以太网帧)。

4. 用一台主机去ping本子网不存在的IP地址,会产生广播帧,利用WireShark截图下来。(eth.src == 84-A6-C8-C0-BB-CF and eth.dst == FF-FF-FF-FF-FF-FF,接收源地址是ping的那台主机目的地址是广播帧的以太网帧)。

5. 两个交换机连接网线,形成回路,然后Ping一个不存在的IP地址,会触发广播风暴,WireShark要截图出广播风暴的样子,然后迅速断开后连接的网线。

6. 在两台交换机上启用最小生成树算法,同上,看是否有广播风暴。

7. 两台交换机上显示生产树的命令。

8. 显示两台交换机的接口的信息。

9. 显示交换机的路由表信息。

10. 改变一台交换机的优先权(注意不要改原来就是根网桥的那台,为了效果明显还是选择另一台吧),查看相应信息。

注意事项:

1. 设备一定要reload,消除之前的配置。

2. 使用WireShark,在选择filter表达式的时候用Tab键切换。

3. 注意连线的正确性,理论上一台交换机用了3-4个接口:2个连接两台PC,1个来连接另一台交换机,还有1个是用来生成回路,验证广播风暴和最小生成树算法的。

4. 截图要把两台交换机的所有相关端口的信息都要截图。

你可能感兴趣的:(计算机网络)