TCP/IP协议学习( 二 ) ---- 交换机与VALN
TCP/IP协议学习( 二 ) ---- 交换机与VALN
上一篇文章 介绍的比较简单的计算机在链路层是如何通信的,
我们先回顾一下 总体流程 :
上面的场景中只有一台交换机 ,而且场景简单 . 下文讨论较为复杂的场景 ,例如在学校,每个机房有一台交换机, 机房机器都需要接入到学校的内网
简化上面的场景 ,获得拓扑图:
假如机器 1 想发信息给机器4 ,步骤是怎样的?
- 机器1发起广播 , 交换机A和机器2 收到广播, 机器2 觉得不是找它,丢弃这个信息
- 交换机A 转发给 除了 机器1 端口外的所有端口
1 ) 机器3 接收到信息 丢掉
2 ) 交换机B 转发给 机器4和机器5 - 机器4机器5接收到信息
1 ) 机器5接收到信息,丢掉.
2 ) 机器4 接收到信息,传输完成 .
上面的流程跑完后 ,交换机学习到以下的信息
- 对于交换机A ,MAC 1 在左边的端口
- 对于交换机B ,MAC 1 在左边的端口
上述两个交换机是能正常通信的,这里引申一个问题:
- 环路会出现怎样的情况?
环路问题
我们来根据上一章的内容,定义一场场景 例如 机器1 想和机器3进行通信 , 对这个图中连接进行分析
- 机器1 想找到机器3 ,发起广播
- 交换机A 收到广播 转发给统一网络下其他机器
机器2 /交换机B/机器3/机器4 - 交换机B 收到广播 转给给统一网络下其他机器
机器2 /交换机B/机器3/机器4 - …
上面这个流程中就已经出现问题了,
- A转发给B ,B又转回去给A,这样是不是无限循环了? 永动机?
- 交换机根本无法学习到机器1的MAC地址,一会 是从左端口过来的,一会是从右边的端口过来
破除环路的方法 :
在数据结构中,有一个方法叫做最小生成树。有环的我们常称为图。将图中的环破了,就生成了树。在计算机网络中,生成树的算法叫作 STP,全称 Spanning Tree Protocol . 总的来说就说
- 定义一个大哥 ,例如是交换机A ,
- 只能大哥给小弟发命令,小弟不能给大哥发命令
STP生成树原理自行搜索,本文不做详述(因为我也不太理解 - -).
广播的安全问题如何解决?
你们公司有不同的部门,有的部门需要保密的,比如人事部门,肯定要讨论升职加薪的事儿。由于在同一个广播域里面,很多包都会在一个局域网里面飘啊飘,碰到了一个会抓包的程序员,就能抓到这些包,如果没有加密,就能看到这些敏感信息了。还是上面的例子,50 个人在一个会议室里面七嘴八舌地讨论,其中有两个 HR,那他们讨论的问题,肯定被其他人偷偷听走了。
物理隔离
- 不同的部门用不同的交换机
- 不同部门配置单独的子网
- 部门间沟通用路由器
这样虽然达到了隔离的目录,但是 如果某些部分只有两三个人,使用一个交换机也太奢侈了 ,造成浪费 .
虚拟隔离(VLAN)
虚拟隔离,就是用我们常说的 VLAN,或者叫虚拟局域网。使用 VLAN,一个交换机上会连属于多个局域网的机器,那交换机怎么区分哪个机器属于哪个局域网呢?
我们先看一下VLAN的定义:
一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。
在原来的头上加上 VLAN ID 作为区分每一个不同的虚拟局域网(一个广播域).
详细的资料参考 : VALN的原理以及配置实例