从Switch到Vlan - I

在办公室,Switch用来连接Pc,组成局域网。

为什么选择Switch,而不是选择Hub呢?
Hub工作原理同Repeater相同,就是放大信号,所有同Hub连接的设备,都在相同的Collision domain中,而在同一个Collision Domain中,Pc之间要通讯,必须使用CSMA/CD算法,从而导致网络有效通讯很低。
Switch属于OSI模型的第2层,Hub,Repeater属于第一层。
Switch中每个Port, 都是单独的Collion Domain,所以不受CSMA/CD算法的影响。

Switch的工作原理是什么呢?
Switch的工作状态是:Listen,Forward,Remove Loops
对于OSI模型的第2层,传输的数据格式是Frame,如果Pc A 发送信息给Pc B,Swtich收到A发送的Frame,检查它的来源地址(Source Mac Address),存入内存中,记录这个端口对应的地址,然后通过广播,发送到其他所有端口,当目的Pc B收到这个Frame,会返回给源Pc A信息,这时,Switch也就知道了这台Pc的Mac地址和对应的端口,下次不论A 发给B信息,还是B发给A信息,都不再需要广播了。

Switch怎样存储Mac地址和端口的对应表?
像Pc,Switch有动态内存,Switch启动时,Ram是空的,通过学习,可以获取PC的mac地址,当然,Ram都有容量的,也就是说,Switch能存储的地址有限,如果不能存储了,就不得不依靠广播了。
幸好,Switch内存中的信息,有生存期,到期后,会去不释放,重新学习,而且即使不在释放期,新学习到的Mac-Port对应,也会更新,这是解决Pc更换Switch端口而设计的。

Switch工作原理中的Remove Loops是什么?
当2台Switch级联时,你使用几根级联线?
1根?你没有考虑过冗余。
2根?或者多于2根?那么我问你,如果1根级联线的流量是100M,那么2根基连线,2个Switch通过这2根线的数据流量是多少?
你是否因为公司网络速度慢,而考虑将多个Switch间多连几根线,从而达到增加带宽的目的?
我来回答以上问题,使用多根级联线连接Switch,带宽还是100M,没有任何增加,所以使用多根级联线连接Switch,是达不到增加带宽的目的的。
那么是否需要使用多根级联线呢?答案是需要,目的是冗余。老鼠啃也好,其他原因也罢,如果1根线失效,另一根会生效。
即使只有1根级联线生效,如果多个Switch相连,可能会产生死循环。生成树协议可以解决这个问题。

广播(BroadCast)什么时候产生?
当Pc A需要向其他Pc发信息时,需要知道对方的IP地址,然而对于DataLinkLayer,通讯需要知道对方的Mac Address,这时需要Arp协议。Arp工作在第3层,InterNet Layer,使用的是广播,广播信息里包含了目的IP地址,当目的Pc收到信息后,会返回信息,说明自己的Mac地址,其他机器则会忽略此信息。
在使用Hub的时代,广播仅由Pc产生。
现在我们使用Switch,Switch也会产生广播,用来做Mac-Port映射,这样,当以后Mac-Port表中的Pc通讯时,Switch所作的工作仅仅是把收到的信息送到目的Port,而不是送给所有的Port,尽管Hub是这样工作的。
所以,在局域网中,广播是很常见的,也是很经常出现的,
Pc 会产生,Switch也会产生,而且Pc的IP-Mac表,Switch 的Mac-Port表都会定时更新;重新获取信息,还是需要广播;
如果规划不好,会出现网络拥塞,体验广播风暴的。

posted on 2007-02-09 21:44  Pierce  阅读(672)  评论(0编辑  收藏  举报

导航