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

上一次,我们在宿舍里组建了一个本地的局域网 LAN,可以愉快地玩游戏了。

这是一个非常简单的场景,因为只有一台交换机,电脑数目很少。

今天,让我们切换到一个稍微复杂一点的场景,办公室。

6.1、拓扑结构是怎么形成的?

我们常见到的办公室大多是一排排的桌子,每个桌子都有网口,一排十几个座位就有十几个网口,一个楼层就会有几十个甚至上百个网口。

如果算上所有楼层,这个场景自然比你宿舍里的复杂多了。具体哪里复杂呢?我来给你具体讲解。

首先,这个时候,一个交换机肯定不够用,需要多台交换机,交换机之间连接起来,就形成一个稍微复杂的拓扑结构。

两台交换机的情形:

  • 两台交换机连接着三个局域网,每个局域网上都有多台机器。

  • 如果机器 1 只知道机器 4 的 IP 地址,当它想要访问机器 4,把包发出去的时候,它必须要知道机器 4 的 MAC 地址

  • 于是机器 1 发起广播,机器 2 收到这个广播,但是这不是找它的,所以没它什么事。

  • 交换机 A 一开始是不知道任何拓扑信息的,在它收到这个广播后,采取的策略是,除了广播包来的方向外,它还要转发给其他所有的网口。

  • 于是机器 3 也收到广播信息了,但是这和它也没什么关系。

  • 当然,交换机 B 也是能够收到广播信息的,但是这时候它也是不知道任何拓扑信息的,因而也是进行广播的策略,将包转发到局域网三。

  • 这个时候,机器 4 和机器 5 都收到了广播信息。机器 4 主动响应说,这是找我的,这是我的 MAC 地址。 于是一个 ARP 请求就成功完成了。

在上面的过程中,交换机 A 和交换机 B 都是能够学习到这样的信息:

  • 机器 1 是在左边这个网口的。
  • 当了解到这些拓扑信息之后,情况就好转起来。
  • 当机器 2 要访问机器 1 的时候,机器 2 并不知道机器 1 的 MAC 地址,所以机器 2 会发起一个 ARP 请求。
  • 这个广播消息会到达机器 1,也同时会到达交换机 A。、
  • 这个时候交换机 A 已经知道机器 1 是不可能在右边的网口的,所以这个广播信息就不会广播到局域网二和局域网三。
  • 当机器 3 要访问机器 1 的时候,也需要发起一个广播的 ARP 请求。
  • 这个时候交换机 A 和交换机 B 都能够收到这个广播请求。
  • 交换机 A 当然知道主机 A 是在左边这个网口的,所以会把广播消息转发到局域网一。
  • 同时,交换机 B 收到这个广播消息之后,由于它知道机器 1 是不在右边这个网口的,所以不会将消息广播到局域网三。

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

这样看起来,两台交换机工作得非常好。

随着办公室越来越大,交换机数目肯定越来越多。当整个拓扑结构复杂了,这么多网线,绕过来绕过去,不可避免地会出现一些意料不到的情况。其中常见的问题就是环路问题

举例:

当两个交换机将两个局域网同时连接起来的时候。

你可能会觉得,这样反而有了高可用性。

但是却不幸地出现了环路出现了环路会有什么结果呢?

机器 1 访问机器 2 的过程:

  • 一开始,机器 1 并不知道机器 2 的 MAC 地址,所以它需要发起一个 ARP 的广播。
  • 广播到达机器 2,机器 2 会把 MAC 地址返回来,看起来没有这两个交换机什么事情。

上述问题:

  • 这两个交换机还是都能够收到广播包的。
  • 交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域网二,在局域网二广播的时候,交换机 B 右边这个网口也是能够收到广播消息的。交换机 B 会将这个广播信息发送到局域网一。
  • 局域网一的这个广播消息,又会到达交换机 A 左边的这个接口。交换机 A 这个时候还是不知道机器 2 在哪个局域网,于是将广播包又转发到局域网二。左转左转左转,好像是个圈哦

可能有人会说,当两台交换机都能够逐渐学习到拓扑结构之后,是不是就可以了?

别想了,压根儿学不会的。

  • 机器 1 的广播包到达交换机 A 和交换机 B 的时候,本来两个交换机都学会了机器 1 是在局域网一的;
  • 但是当交换机 A 将包广播到局域网二之后,交换机 B 右边的网口收到了来自交换机 A 的广播包。
  • 根据学习机制,这彻底损坏了交换机 B 的三观,刚才机器 1 还在左边的网口呢,怎么又出现在右边的网口呢?
  • 哦,那肯定是机器 1 换位置了,于是就误会了,交换机 B 就学会了,机器 1 是从右边这个网口来的,把刚才学习的那一条清理掉。
  • 同理,交换机 A 右边的网口,也能收到交换机 B 转发过来的广播包,同样也误会了,于是也学会了,机器 1 从右边的网口来,不是从左边的网口来。

然而当广播包从左边的局域网一广播的时候,两个交换机再次刷新三观,原来机器 1 是在左边的,过一会儿,又发现不对,是在右边的,过一会,又发现不对,是在左边的。

这还是一个包转来转去,每台机器都会发广播包,交换机转发也会复制广播包,当广播包越来越多的时候,按照上一节讲过一个共享道路的算法,也就是路会越来越堵,最后谁也别想走。

所以,必须有一个方法解决环路的问题,怎么破除环路呢?

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

在数据结构中,有一个方法叫做最小生成树。有环的我们常称为图。

将图中的环破了,就生成了树。在计算机网络中,生成树的算法叫作 STP,全称 Spanning Tree Protocol。

STP 协议比较复杂,一开始很难看懂,但是其实这是一场血雨腥风的武林比武或者华山论剑,最终决出五岳盟主的方式。

STP 协议里面的概念:

Root Bridge:也就是根交换机。这个比较容易理解,可以比喻为“掌门”交换机,是某棵树的老大,是掌门,最大的大哥。

Designated Bridges:有的翻译为指定交换机。这个比较难理解,可以想像成一个“小弟”,对于树来说,就是一棵树的树枝。

所谓“指定”的意思是,我拜谁做大哥,其他交换机通过这个交换机到达根交换机,也就相当于拜他做了大哥。这里注意是树枝,不是叶子,因为叶子往往是主机。

Bridge Protocol Data Units (BPDU) ,网桥协议数据单元。可以比喻为“相互比较实力”的协议。行走江湖,比的就是武功,拼的就是实力。当两个交换机碰见的时候,也就是相连的时候,就需要互相比一比内力了。BPDU 只有掌门能发,已经隶属于某个掌门的交换机只能传达掌门的指示。

Priority Vector,优先级向量。可以比喻为实力 (值越小越牛)。

实力是啥?

就是一组 ID 数目,[Root Bridge ID, Root Path Cost, Bridge ID, and Port ID]。

为什么这样设计呢?这是因为要看怎么来比实力。

  • 先看 Root Bridge ID。拿出老大的 ID 看看,发现掌门一样,那就是师兄弟;
  • 再比 Root Path Cost,也即我距离我的老大的距离,也就是拿和掌门关系比,看同一个门派内谁和老大关系铁;
  • 最后比 Bridge ID,比我自己的 ID,拿自己的本事比。

6.4、STP 的工作过程是怎样的?

一开始,江湖纷争,异常混乱。大家都觉得自己是掌门,谁也不服谁。

于是,所有的交换机都认为自己是掌门,每个网桥都被分配了一个 ID。

这个 ID 里有管理员分配的优先级,当然**网络管理员知道哪些交换机贵,哪些交换机好,就会给它们分配高的优先级。**这种交换机生下来武功就很高,起步就是乔峰。

既然都是掌门,互相都连着网线,就互相发送 BPDU 来比功夫呗。这一比就发现,有人是岳不群,有人是封不平,赢的接着当掌门,输的就只好做小弟了。

当掌门的还会继续发 BPDU,而输的人就没有机会了。它们只有在收到掌门发的 BPDU 的时候,转发一下,表示服从命令。

数字表示优先级。就像这个图,5 和 6 碰见了,6 的优先级低,所以乖乖做小弟。

于是一个小门派形成,5 是掌门,6 是小弟。

其他诸如 1-7、2-8、3-4 这样的小门派,也诞生了。于是江湖出现了很多小的门派,小的门派,接着合并。

合并的过程会出现以下四种情形,我分别来介绍。

情形一:掌门遇到掌门

  • 当 5 碰到了 1,掌门碰见掌门,1 觉得自己是掌门,5 也刚刚跟别人 PK 完成为掌门。
  • 这俩掌门比较功夫,最终 1 胜出。
  • 于是输掉的掌门 5 就会率领所有的小弟归顺。
  • 结果就是 1 成为大掌门。

情形二:同门相遇

同门相遇可以是掌门与自己的小弟相遇,这说明存在“环”了。

这个小弟已经通过其他门路拜在你门下,结果你还不认识,就 PK 了一把。

结果掌门发现这个小弟功夫不错,不应该级别这么低,就把它招到门下亲自带,那这个小弟就相当于升职了。

假如 1 和 6 相遇:

  • 6 原来就拜在 1 的门下,只不过 6 的上司是 5,5 的上司是 1。
  • 1 发现,6 距离我才只有 2,比从 5 这里过来的 5(=4+1)近多了,那 6 就直接汇报给我吧。于是,5 和 6 分别汇报给 1。

同门相遇还可以是小弟相遇。这个时候就要比较谁和掌门的关系近,当然近的当大哥。

刚才 5 和 6 同时汇报给 1 了,后来 5 和 6 在比较功夫的时候发现,5 你直接汇报给 1 距离是 4,如果 5 汇报给 6 再汇报给 1,距离只有 2+1=3,所以 5 干脆拜 6 为上司。

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

小弟拿本帮掌门和这个掌门比较:

  • 赢了,这个掌门拜入门来。
  • 输了,会拜入新掌门,并且逐渐拉拢和自己连接的兄弟,一起弃暗投明。

例如,2 和 7 相遇,虽然 7 是小弟,2 是掌门。

就个人武功而言,2 比 7 强,但是 7 的掌门是 1,比 2 牛,所以没办法,2 要拜入 7 的门派,并且连同自己的小弟都一起拜入。

情形四:不同门小弟相遇

各自拿掌门比较,输了的拜入赢的门派,并且逐渐将与自己连接的兄弟弃暗投明。

例如,5 和 4 相遇。虽然 4 的武功好于 5,但是 5 的掌门是 1,比 4 牛,于是 4 拜入 5 的门派。后来当 3 和 4 相遇的时候,3 发现 4 已经叛变了,4 说我现在老大是 1,比你牛,要不你也来吧,于是 3 也拜入 1。

最终,生成一棵树,武林一统,天下太平。但是天下大势,分久必合,合久必分,天下统一久了,也会有相应的问题。

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

毕竟机器多了,交换机也多了,就算交换机比 Hub 智能一些,但是还是难免有广播的问题,一大波机器,相关的部门、不相关的部门,广播一大堆,性能就下来了。

就像一家公司,创业的时候,一二十个人,坐在一个会议室,有事情大家讨论一下,非常方便。但是如果变成了 50 个人,全在一个会议室里面吵吵,就会乱得不得了。

你们公司有不同的部门,有的部门需要保密的,比如人事部门,肯定要讨论升职加薪的事儿。由于在同一个广播域里面,很多包都会在一个局域网里面飘啊飘,碰到了一个会抓包的程序员,就能抓到这些包,如果没有加密,就能看到这些敏感信息了。还是上面的例子,50 个人在一个会议室里面七嘴八舌地讨论,其中有两个 HR,那他们讨论的问题,肯定被其他人偷偷听走了。

那咋办,分部门,分会议室呗。 那我们就来看看怎么分。

有两种分的方法:

1、物理隔离。

  • 每个部门设一个单独的会议室,对应到网络方面,就是每个部门有单独的交换机,配置单独的子网,这样部门之间的沟通就需要路由器了
  • 路由器咱们还没讲到,以后再说。
  • 这样的问题在于,有的部门人多,有的部门人少。人少的部门慢慢人会变多,人多的部门也可能人越变越少。如果每个部门有单独的交换机,口多了浪费,少了又不够用。

2、虚拟隔离,就是用我们常说的 VLAN,或者叫虚拟局域网。

使用 VLAN一个交换机上会连属于多个局域网的机器,那交换机怎么区分哪个机器属于哪个局域网呢?

我们只需要在原来的二层的头上加一个 TAG,里面有一个 VLAN ID,一共 12 位。

为什么是 12 位呢?

因为 12 位可以划分 4096 个 VLAN。这样是不是还不够啊。

现在的情况证明,目前云计算厂商里面绝对不止 4096 个用户。当然每个用户需要一个 VLAN 了啊,怎么办呢,这个我们在后面的章节再说。

如果我们买的交换机是支持 VLAN 的;

  • 当这个交换机把二层的头取下来的时候,就能够识别这个 VLAN ID

  • 这样只有相同 VLAN 的包,才会互相转发,不同 VLAN 的包,是看不到的

  • 这样广播问题和安全问题就都能够解决了。

    我们可以设置交换机每个口所属的 VLAN。

  • 如果某个口坐的是程序员,他们属于 VLAN 10;

  • 如果某个口坐的是人事,他们属于 VLAN 20;

  • 如果某个口坐的是财务,他们属于 VLAN 30。这样,财务发的包,交换机只会转发到 VLAN 30 的口上。

  • 程序员啊,你就监听 VLAN 10 吧,里面除了代码,啥都没有。

而且对于交换机来讲,**每个 VLAN 的口都是可以重新设置的。**一个财务走了,把他所在座位的口从 VLAN 30 移除掉,来了一个程序员,坐在财务的位置上,就把这个口设置为 VLAN 10,十分灵活。

有人会问交换机之间怎么连接呢?将两个交换机连接起来的口应该设置成什么 VLAN 呢?

对于支持 VLAN 的交换机,有一种口叫作 Trunk 口。它可以**转发属于任何 VLAN 的口。**交换机之间可以通过这种口相互连接。

好了,解决这么多交换机连接在一起的问题,办公室的问题似乎搞定了。

然而这只是一般复杂的场景,因为你能接触到的网络,到目前为止,不管是你的台式机,还是笔记本**所连接的网络,对于带宽、高可用等都要求不高。**就算出了问题,一会儿上不了网,也不会有什么大事。

我们在宿舍、学校或者办公室,经常会访问一些网站,这些网站似乎永远不会“挂掉”。那是因为这些网站都生活在一个叫做数据中心的地方,那里的网络世界更加复杂。在后面的章节,我会为你详细讲解。

小结

  • 当交换机的数目越来越多的时候,会遭遇环路问题,让网络包迷路,这就需要使用 STP 协议,通过华山论剑比武的方式,将有环路的图变成没有环路的树,从而解决环路问题。
  • 交换机数目多会面临隔离问题,可以通过 VLAN 形成虚拟局域网,从而解决广播问题和安全问题

思考

1、STP 协议能够很好地解决环路问题,但是也有它的缺点,你能举几个例子吗?

STP 对于跨地域甚至跨国组织的网络支持,就很难做了,计算量摆着呢。

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

ping 加抓包工具,如 wireshark

86-交换机与VLAN:办公室太复杂,我要回学校相关推荐

  1. 计算机网络期末 【3层交换机实现VLAN间通信】假设某企业有3个主要部门,即技术部、销售部和经理部,分别处于不同的办公室

    系列文章目录 第一章  实现2台PC机的连通和Telnet的远程登录 第二章 交换机扩展以太网 第三章 单交换机VLAN划分 第四章 双交换机VLAN划分 第五章 三层交换机实现VLAN间通信 第六章 ...

  2. 怎么判断再一个局域网内一个ip被两台机器占用_交换机与 VLAN 到底是怎么来的...

    最近有几个学生粉丝后台私信我,让我说说交换机与 VLAN.我在阅读这几个粉丝私信中发现一个有趣的现象,那就是吐槽大学计算机网络课程的晦涩枯燥,而不是去深层次解释协议出现的原因或者用来去解决什么问题. ...

  3. 理解交换机通过逆向自学习算法建立地址转发表的过程_交换机与 VLAN 到底是怎么来的...

    最近有几个学生粉丝后台私信我,让我说说交换机与 VLAN.我在阅读这几个粉丝私信中发现一个有趣的现象,那就是吐槽大学计算机网络课程的晦涩枯燥,而不是去深层次解释协议出现的原因或者用来去解决什么问题. ...

  4. 交换机之vlan详解

    一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算 ...

  5. 局域网相关之交换机、VLAN、ARP、链路聚合技术

    目录 局域网技术 1.集线器特点 2.交换机 2.1 特点 2.2 工作原理 2.3 vlan 为什么要划分vlan? vlan帧结构 VLAN的划分方式 PVID 2.4 链路类型 3.高级vlan ...

  6. 一台支持vlan管理的交换机_关于交换机的VLAN技术你了解多少?

    VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在一个交换机或者跨交换机实现.VLAN可以根据网络用户的位 ...

  7. arp 不同网段 相同vlan_H3C交换机配置VLAN

    今天我们说一下,如何对H3C交换机配置VLAN(VLAN(Virtual Local Area Network)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段.不同网络 ...

  8. 关于交换机的VLAN技术你了解多少?

    VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在一个交换机或者跨交换机实现.VLAN可以根据网络用户的位 ...

  9. 华为二层创建vlan_二层交换机不同VLAN实现互通 (华为)

    1 ,实验名称:二层交换机不同VLAN实现互通 (华为) 2,实验环境: (1)PC1 PC2 (2)二层交换机两台 (3)三层交换机一台(路由功能) 3,实验拓扑: 2 配置步骤: (1)配置PC1 ...

最新文章

  1. LeetCode 206 Reverse Linked List--反转链表--迭代与递归解法--递归使用一个临时变量,迭代使用3个
  2. Linux中yum源配置及软件安装管理
  3. crc16modbus查表法_查表法计算CRC16校验值
  4. 管理共享文件夹和使用FTP服务器
  5. 1.2.3 计算机系统的层次结构
  6. DataObjects.NET -- A Excellent O/R Mapping Framework!
  7. properties文件 , properties类, 的作用
  8. mysql加索引后查询时间变长了(终于有头绪了)
  9. AI智能内容创作的几个方面
  10. LNMT、LAMT架构简单实例
  11. PC浏览器用ckplayer 播放m3u8视频,hls点播功能的简单实现
  12. 计算机网卡ip怎么设置,怎样为网卡配置ip地址 电脑给网卡设置IP地址的方法有哪些...
  13. 基于Matlab使用雷达和摄像头对公路车辆跟踪仿真(附源码)
  14. siamfc代码解读_siamfc-pytorch代码讲解(一):backbonehead
  15. 离散元pfc 岩土工程
  16. Kali渗透测试:散列密码破解
  17. 下一代园区网-全光网络
  18. 大数据之Javase
  19. 小程序真机预览图片不显示
  20. 电商订舱哪家靠谱 广州力其

热门文章

  1. 关于java取反运算
  2. 关于JAVA中的可变形参(多个参数)
  3. 帕拉迪堡垒机使用手册
  4. Python相关环境变量配置和模拟手机app登录
  5. 人机交互的软件工程方法
  6. 智领科技|150周年新起点,大陆集团中国本地化再升级
  7. AI For Science— 基于AI求解2D非定常圆柱绕流,真的很流体!!
  8. TCP/IP协议和工业以太网传输控制方法 及通信模式比较1
  9. 如何从技术岗位走向管理岗位:机会是留给有准备的人
  10. 我赢助手小技巧:学会这三招,爆款内容视频完播率提高50%(下)