Hub/Switch/Router工作原理

 Hub/Switch/Router都是网络设备,但它们在网络中的位置及工作方式是不一样的。

#t4N&e0p@5P:n0

          1).Hub不是某些英文单词的缩写,而是一个英文单词,即集线器的意思,它是一个纯物理层设备,它工作于OSI七层网络参考模型的第一层。Hub工作示意图如下所示:中国通信人博客Z"G,L,v:` a&qa5c

    

+L{^h"Hf0

     由上图可知,Hub的某个端口收到报文时,只是简单的将这个报文广播发送其它所有端口,而不对报文做任何处理(有源Hub会对信号进行放大)Hub各个端口上的计算机不能通过Hub直接通信,因为Hub只是提供一种传输介质共享功能,上面没有任何软件,它们只能通过上层的SwitchRouter进行通信。中国通信人博客g^-FKgz)x7fT.z E

 中国通信人博客+T+e;kg+g+\G

          2).Switch是交换机的意思,它是数据链路层设备,工作于OSI七层网络参考模型的第二层。上面介绍到的Hub,虽然结构简单、价格便宜,但是它的缺点也很突出,它的所有端口都在一个冲突域中,也就是说同一Hub上接的所有计算机在同一时刻只允许一台发数据,其它的计算机想要发数据,必须要等共用线路空闲下来才可以。而Switch就不存在这个问题,它是基于MAC表进行数据转发的,其结构示意图如下所示:中国通信人博客8\tPPv

    

co}H_?%Y0jF0

     由上图可知,Switch的各个端口由网状总线连接在一起,由MAC表来控制各个节点的“连接”或“断开”(这里只是一个形象的描述,实际中的MAC表转发不是这么简单的),所以,Switch的各个端口都独享带宽,彼此之间不存在冲突,可以同时收发数据,而不会相互影响。Switch中的MAC表示意图如下所示(只是示意图,实际的MAC表内容比这个多):中国通信人博客p4}cc1s xb6s

    

#jt]GBP+a0

          MACMedia Access Control的缩写,也就是媒体接入控制的意思,MAC地址就是指网络设备的物理地址,每台网络设备的MAC地址都是全球唯一的,设备出厂的时,其MAC地址就已经确定了,网络上传输的数据就是通过MAC来寻找不同的硬件网络设的。MAC地址大小为6字节,共48bit,一般用十六进制表示,如某台电脑的MAC地址为:00-30-cd-0d-59-fe。中国通信人博客2Q~f9s.fH

    这里需要说明的是:Switch设备的端口本身是没有MAC地址的,它只是记录每个与其直接相连的网络设备的MAC地址,然后将记录下的MAC地址与端口号对应起来,就形成了MAC表,以后每次进行报文转发时,通过查看MAC表中的MAC地址和端口号的对应关系就知道应该往哪个端口转发了。中国通信人博客(bd uQ O(@

   为了更好的说明Switch的工作原理,我使用一个实例来帮助大家理解。假设某网络的拓扑如下:

8R,SodA xvH0

    中国通信人博客;GO"W2J XW%jJ8?[

    如上图所示,SWITCH13端口下面分别连接着物理网段ABA下面通过Hub连接着PC1PC2PC3PC4,对应的MAC地址分别为MAC1MAC2MAC3MAC4B下面通过Hub连接着PC5PC6PC7PC8,对应的MAC地址分别为MAC5MAC6MAC7MAC8

9n"~"x~%lQm0

    现在假设SWITCH1端口收到一个二层报文,该报文的源MAC地址为MAC1,那么SWITCH所要做的工作是:中国通信人博客 CI"wH1e`2Q

        A).查看自己的MAC表。如果表中没有关于MAC1的记录,则添加一条MAC1与端口1对应的记录;如有关于MAC1的记录,但却是与2端口对应的,与当前的不一直,则系统会将其修改为当前值;如果MAC表中的记录与当前的一致,则系统会将该条记录的老化时间刷新为初始值(MAC表中的各条记录都有一个自动失效时间,称为老化时间,一般默认为20分钟,如果某条超过20分钟没有被刷新,则自动实效,通过老化,可以确保MAC表中的内容都是最新、有效的)。中国通信人博客5z$B6Q o&{O G

        B).查看该报文的目的MAC地址。如果其目的MAC地址与源MAC地址不在同一个物理网段(如物理网段AB),则该报文会根据MAC表被转发到相应端口(PC1PC5通信);如果该报文的目的MAC与源MAC在同一个物理网段,则将报文返回(PC1PC2);如果MAC表中没有找到该报文的目的MAC地址记录,则将报文广播到除入端口外的所有其它端口。中国通信人博客]/E'{/F/M

 

xdZ+`:Znx!`0

          3).三层交换机(L3 Switch)中国通信人博客'{A gF7W~T(k
     交换机的各个端口能独享带宽,解决了物理介质共享带来的访问冲突问题,但是中国通信人博客@MV-h2uo

它不能限制广播域,交换机上的所有端口都在同一个广播域中,换句话说,交换机上的任何一个端口发送一个广播报文,其它的所有端口都能收到。这对拥有几十台计算机的小网络来说到还好,如果是一个几百几千台计算机的大网络,这种问题是致命的,所有的计算机资源都不用干别的事了,光用来处理各种广播报文都忙不过来。另外,一个大型交换机可能会被一个公司中的多个部门共同使用,出于保密考虑,一个部门的内部资料可能不希望被另外一个部门的人看到,这就要求各个部门之间的网络需要进行隔离,彼此不能随意直接问题。中国通信人博客*T0P^w O9I(uf"X_

     为了解决上述问题,虚拟局域网技术Vlan就应运而生了,VlanVirtual Local Area Network的缩写,它是利用IEEE802.3Q协议,在普通二层以太网报文中插入Vlan头部,用来区分不同的Vlan,从而达到各个Vlan间隔离的目的。

3n#oe\r(]jU;h0

     每个Vlan都有自己的IP,同一Vlan中的计算机可以彼此直接通信,而不同Vlan间的计算机则不能直接通信,如果要通信的话,则必须借助于外部路由器,如下图所示:中国通信人博客+T y3i ]*Wb]_a

    

c:{4Dt1`J0

     如上图所示,用这种方法来实现Vlan间通信,不但需要额外增加一个路由器,而且每个Vlan还要留出一个端口来与路由器连接,既不经济,也不方便。

Q'a{w5qe&W'z0

     在市场需求的推动下,三层交换机(L3 Switch)就出现了,三层交换机具有交换机和路由器的双重功能,我们可以把它当成是交换机和路由器的集合体。中国通信人博客I6E_b`r;X

     如下图所示,每个Vlan都有一个逻辑接口与三层交换部分相连,Vlan内部的报文转发跟二层交换机一样,需要进行Vlan间报文转发时,报文会通过每个Vlan的逻辑接口上传到三层交换部分,三层交换部分再根据IP路由表往相应的Vlan的转发。

Bb:\+` kI8q0

     中国通信人博客;LyHw0N|

    实际上,三层交换机比路由器的转发速度要快的多,它的转发速度要比路由器快几个数量级,路由器跟它是无法比的,这是因为三层交换机的报文转发方法是:“一次路由,多次交换”,也就是说,它在第一次进行报文转发的时候需要查路由表,以后再次收到相同目的IP地址的报文时,不用查路由表,直接从上次那个逻辑端口转发出去。路由器报文转发速度之所以慢,是因为它每次进行报文转发时都需要通过软件来查询路由表,尤其是那些路由表数据量非常大的路由器,速度就更慢了(也许有些读者就会问了,为什么路由器不能跟三层交换机那样进行“一次路由,多次交换”呢?其实,这种想法基本上实现不了,这是因为路由器各个端口连接的IP是不停变化的,而三层交换机各VlanIP一旦设定了,很少会改变的)。我们把路由器想象成用软件进行路由,三层交换机用硬件进行路由,就很容易理解了。例如40G/100G等告诉设备中必用的TCAM就是利用TCAM的硬件查找功能来提高路由表的查找速度(速度可达到数亿次/),使路由表的查找时间不成为100G高速报文转发的瓶颈。中国通信人博客}QQ F$h1iS a

 中国通信人博客@iQ4a-M/q;a

        4).Router

N0V`A9@0

         Router也就是路由器的意思,它工作于OSI七层网络参考模型的第三层。它是基于路由表进行报文转发的,有关路由表的知识,可参考本博客中的《解读IP路由表》一文。

:_5V-@[^4SDSs0

    路由器会主动收集与其端口直接连接的各个网络设备的IP信息,形成一张路由表,而且相连的各个路由器还会交换路由表信息,互通有无,从而形成一张完整的路由表。

'C1Q1}*I#^,}qve4A0

路由器可以连接不同类型的网络,例如它可以连接以太网和令牌环网,使不同类型的网络可以通信,担任一种类似于桥梁的角色。


====

http://blog.c114.net/html/15/562315-87752.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值