12_对_OSI_前两层的一些实
网络协议那些事儿
内容简介 前言 对 OSI 前两层的一些练习 总结 1. 前言 上一课我们在 Windows,Linux 和 macOS 这三大主流操作系统里查看了我们的 OSI 第二层的关键参数:MAC 地址,并学习了如何修改 MAC 地址。
内容简介
- 前言
上一课我们在 Windows,Linux 和 macOS 这三大主流操作系统里查看了我们的 OSI 第二层的关键参数:MAC 地址,并学习了如何修改 MAC 地址。
这一课我们来做一些练习,并且会学习一些新知识点。
- 对 OSI 前两层的一些练习
练习 1:交换机环路
想象一下,假设你完成了系统和网络管理员的培训,并且刚刚被一家小公司雇用。同组的前辈向你简要说明了他们使用的网络体系结构,如下图所示:

上图中,我们看到有三台交换机(sw1,sw5,sw9),sw1 和 sw5 相连,sw9 和 sw5 相连。每一台交换机上面也连接了其他的机器:
-
机器 st1,st2,st3 连接着交换机 sw1;
-
机器 st8,st9,st10 连接着交换机 sw5;
-
机器 st11,st12,st13 连接着交换机 sw9。
难题:上周,位于中间的 5 号交换机发生了故障,连接在 1 号交换机上的机器就不能和连接在 9 号交换机上的机器通信了!
因此,组长要求你尽快找到解决方案,以便即使其中一台交换机出现故障,网络也可以继续运行。
我想,很可能你会说:“这还不简单,只要把 1 号交换机和 9 号交换机相连即可。这样,即使其中任何一台交换机发生故障,其他的两台交换机还是相连的。”
但是,你这样连接交换机之后过了大概一小时,整个网络不再工作了,没有人可以访问互联网,我们甚至无法与局域网中的机器进行通信了。
到底发生了什么呢?
其实,你刚刚创建了所谓的交换机环路,这是非常严重的。
交换机环路是个严重的问题,因为它提供了两种到达目的地的可能路径。在将帧发送到目标机器的时候,交换机将采用这两条路径,帧就会被发送到目标机器两次,这会使通信受到很严重的干扰。
例如,在我们的例子中,假设把 1 号交换机和 9 号交换机相连之后,如果 1 号机器要给 12 号机器发送以太网帧,那么帧可以走的路径就有两条:
-
1 号机器 -> 1 号交换机 -> 5 号交换机 -> 9 号交换机 -> 12 号机器
-
1 号机器 -> 1 号交换机 -> 9 号交换机 -> 12 号机器
而且,在广播发送的情况下会变得更加尴尬!我们的广播帧将在两个路径上发送,然后到达下一个交换机,然后由两个可能的路径返回,再到达下一个交换机,由两个可能的路径返回。依此类推,直到交换机因为有太多广播帧无法同时处理而完全饱和为止。
这种现象被称为广播风暴(英语是 broadcast storm。broadcast 是 “广播” 的意思,storm 是 “风暴” 的意思)。
广播风暴是非常可怕的,可以使很庞大的网络崩溃。我以前听说过拥有 2 万台电脑的网络由于广播风暴崩溃了数天之久。
是的,要产生 “交换机环路” 很简单:
-
只需在两台甚至更多的交换机之间创建一个小回路:被称为 “网络环路”;
-
或者将线缆的两端连接到同一台交换机:被称为 “设备自环”。
你可以在你自己家里进行测试,如果你愿意的话。
可是,如何回答最初的问题呢?就是组长要求我们找的解决方案。
对于这个问题,没有解决方案… 至少在我们目前的知识状态下。
如果你想要了解更多,你可以在网上找到有关 生成树,快速生成树(不禁让我想到了数据结构和算法里面的最小生成树)和 802.1d 技术 的信息。可以参看这篇文章:以太网交换机环路产生的原因及分析方法 。
所以请记住:切勿在交换机上或交换机之间造成环路!
练习 2 :描绘一个帧
在本练习中,我们将尝试描绘当一个帧在网络上离开电脑时,它的内容是怎么样的。
我们用下图所示的网络来做例子:

如果 1 号机器将帧发送到 3 号机器,请你写出从 1 号机器离开时的帧的内容。
回顾一下以太网帧的组成:

我们就可以给出解决方案了,如下:

你会说:“什么,这也太容易了吧?”
是的,这是正常现象,因为我们一点一点地在进步。之后当我们学习 OSI 模型的其他层时,我们将再次做这个 “描绘一个帧” 的练习。到时候的情况会比现在复杂得多,可不会那么简单了哦。
- 总结
如果你已顺利学完这一课和上一课,那么恭喜你!
-
现在你已经知道使用什么硬件来建立本地网络(局域网);
-
你也知道了机器如何在本地网络上通信;
-
你知道了 OSI 第 2 层的硬件:交换机,以及交换机如何把帧从本地网络的一台机器转发到另一台机器;
-
你知道了如何在你的电脑上去查找到 OSI 第 2 层的信息,并且可以尝试修改它们。
现在,作为 OSI 前两层的专业人员,你已经准备好迈入到更复杂的第 3 层了。
我们已经知道了 OSI 第 1 层和第 2 层的几乎所有内容,现在是时候向第 3 层进击了,这将是新的天地。
第一部分已经结束。下一课我们就来做一些测试题,以便更加巩固所学的知识吧。
}如果您想了解更多技术资源,欢迎加入点击这里钉钉群交流IT技术资源查看“IT技术交流群一”群的钉钉群号: 129605002953