第6讲 | 交换机与VLAN:办公室太复杂,我要回学校

上一讲我们在大学宿舍组建了一个本地的局域网,但这个场景只用了一台交换机。今天我们看一个复杂一点的场景,办公室。

拓扑结构是如何形成的?

办公室每张桌子旁边都有一个网口,一层楼就会有几十个上百个网口。

这个时候,一台交换机肯定不够用,需要多台交换机,交换机连接起来,就形成一个复杂的网络拓扑。

我们先看最简单的两台交换机的情形。两台交换机连着三个局域网,每个局域网上有多台机器。如果机器1知道机器4的IP地址,当它想要访问机器4的时候,它还需要知道机器4的MAC地址。

于是机器1发起广播,机器2收到这个广播,但发现目标IP不是自己。交换机A刚开始不知道网络拓扑,它在收到广播后,会在除了广播包来的口之外,会转发给所有其它网口。于是机器3收到广播包,但是它发现要找的不是它。

交换机B也会收到广播包,但是这时候它也不知道网络拓扑,所以也会进行广播。这个时候机器4和机器5都收到了广播包。机器4会发现这是找我的,会给出应答。ARP请求就成功完成了。

通过上面的过程,交换机A和交换机B都学到了这样的信息:机器1是在左边这个网口的。

之后,当机器2想要访问机器1的时候,机器2发起广播请求,这个广播包会到达机器1和交换机A。因为交换机A已经知道机器1位于左边的网口,所以它就不会将广播包转发到局域网2和3.

当机器3要访问机器1的时候,也需要发起ARP广播请求。交换机A和交换机B都会收到广播请求。交换机A知道机器1是左边这个网口的,所以会将广播包转发到局域网1。交换机B也知道机器1在左边的网口,所以它不会将广播包转发到局域网3。

如何解决常见的环路问题?

当交换机越来越多,网络拓扑越来越复杂,不可避免地会出现意料不到的情况,最常见的就是环路问题。

当两个交换机同时将两个网络连起来的时候,就出现了环路。

假设机器1要访问机器2,一开始机器1不知道机器2的MAC地址,所以发起ARP广播,机器2会收到广播,并应答自己的MAC地址。

同时,两台交换机也能收到广播包。交换机A一开始也不知道机器2在那个局域网,所以会把包转发到局域网2,在局域网2广播的时候交换机B右边的口也能收到广播包,交换机B会将包转发到局域网1。局域网1的这个广播包又会到达交换机A的左边这个接口。然后形成了一个环路。

每台机器都会发广播包,交换机也会复制广播包,当广播包越来越多,线路就会越来越堵。

如何解决环路问题呢?

STP协议中那些难以理解的概念

计算机网络中,有一个生成树算法叫做STP,全称Spanning Tree Protocol。

STP协议比较复杂,涉及很多概念,这里用比喻来帮你理解。

  • Root Bridge,就是根交换机。可以比喻为掌门,是某棵树的老大,带头大哥。
  • Designated Bridges, 指定交换机。对于树来说,就是树枝,是小弟。指定的意思就是拜谁做大哥。
  • Bridge Protocol Data Units(BPDU),网桥协议数据单元。比喻为”相互比较实力的协议“。两个交换机相连的时候就要互相比一比。BPDU只有掌门能发,小弟只能传达。
  • Priority Vector,优先级向量。比喻为实力。(值越小越厉害)。它是一组ID数目,[Root Bridge, Root Path Cost, Bridge ID, Port ID]。先看Root BridgeID,就是拿老大的ID比,如果一样那就是同门兄弟;再比Root Path Cost,即我和老大的距离;最后比Bridge ID,比我自己的ID。

STP如何工作?

刚开始,每台交换机都认为自己是掌门,每台交互机都被分配了一个ID。这个ID里有管理员分配的优先级,管理员知道哪些交换机贵,哪些便宜,贵的就分配高的优先级。

开始大家都是掌门,互相连着线,就互相发送BPDU来比武,赢的接着当掌门,输的做小弟。当掌门的可以继续发BPDU,小弟就没机会了,只能转发掌门发得BPDU。

数字表示优先级。5和6碰见了,6的优先级低,就做小弟。于是形成了小门派,5是掌门,6是小弟。其他形成了1-7、2-9、3-4这样的小门派。于是江湖出现了多个小门派,接着合并。

继续合并的过程中,会出现四种情况:

情形一:掌门遇掌门

当5遇到了1,掌门碰见掌门,最终1胜出,于是输掉的5带领所有小弟归顺,1称为大掌门。

情形二:同门相遇

同门可以是掌门和自己小弟相遇。这个小弟已经通过其他门路拜在你门下了,结果你还不认识,PK一把。结果掌门发现小弟功夫不错,就直接将小弟招到门下。

假如1和6相遇,6通过5拜在1门下。1发现6距离我只有2,比从5这里过来近多了,那6就直接向1汇报。于是5和6分别汇报给1。

同门相遇还可以是小弟相遇。这个时候就比较谁和掌门的关系近,近的当大哥。上面5和6同时汇报给1。然后5和6比试的时候发现,5向1汇报举例是4,汇报给6再汇报给1距离2+1=3,所以干脆拜6为上司。

情形三:掌门与其他帮派小弟相遇

小弟拿本帮掌门和这个掌门比试,赢了,这个掌门拜进来。输了,会拜入新掌门,并拉上和自己连接的兄弟。

比如,2和7相遇,2是掌门,7是小弟,7的掌门是1,比2牛,所以,2要拜入7的门派,并且连同自己的小弟一块拜入。

情形四:不同门小弟相遇

各自拿自己的掌门比较,输了的拜入赢得门派,并逐渐拉自己的兄弟投入该门派。

5和4相遇,5的掌门是1,4的掌门是3,于是4拜入5的门派。3和4相遇的时候,3发现4已经叛变,4说现在我大哥是1,于是3也拜入1。

最终,生成一棵树,天下一统。

如何解决广播问题和安全问题?

机器一多,交换机一多,每台机器就会收到大量不相干的广播,就好像小公司十几个人坐在一起没问题,可是几百人的公司大家都做一起就会吵吵嚷嚷,互相影响,没法工作。

公司有的部门需要保密,老板跟经理谈事情,总不希望你在场吧。如果位于同一个广播域里,一个会抓包的程序员可能会轻松看到别人没有加密的敏感数据。

怎么办,分部门呗。

有两种分法。一种是物理隔离。每个部门单独的交换机,配置单独的子网,这样部门之间沟通需要通过路由器。这样的问题在于有的部门人多,有的部门人少,人也在不停流动,每个部门一台交换机,口多了浪费,少了不够用。

另一种方式是虚拟隔离。就是VLAN,或者叫虚拟局域网。使用VLAN一个交换机上可以分出多个局域网。

交换机怎么区分呢?

只需要在原来的二层头上加一个TAG,里面有一个VLAN ID,一种12位,这样就可以划分4096个VLAN。

如果交换机是支持VLAN的,就能识别这个VLAN ID,只用相同VLAN的包才会相互转发,不同VLAN的包是看不到对方的。

可以设置交换机每个口所属的VLAN。如果是财务部的,他们属于VLAN10;人事部的,属于VLAN20; 研发部的,属于VLAN30。如果一个财务走了,他所在的口从VLAN10移除掉,来了一个程序员,把这个口设置位VLAN30。

支持VLAN的交换机之间用Trank口互相连接,它可以转发属于任何VLAN的口。

小结

  • 交换机越来越多的时候,会遇到环路的问题。这就要是用STP协议,通过比武的方式,让有环的图变成没有环的树。
  • 交换机过多会面临隔离问题,可以通过VLAN形成虚拟局域网,解决广播问题和安全问题。

两个思考题:

1. STP协议能解决环路问题,但是也有缺点,你能举几个例子吗?

2. 在一个比较大的网络中,如果两台机器不同,你知道用什么方式调试吗?

发布了23 篇原创文章 · 获赞 0 · 访问量 969

猜你喜欢

转载自blog.csdn.net/u014635079/article/details/105371834
今日推荐