发布网友 发布时间:2022-02-20 17:45
共1个回答
热心网友 时间:2022-02-20 19:31
路由和交换机的区别
路由和交换机是我们在网络上见到最多的两个硬件,路由和交换机有时使我们有点无法区别,为什么呢?其在表面看来,我们是乎很容易区别路由和交换机,因为路由是网际层硬件设备,主要任务是对IP包的处理并用IP地址进行路由选路,而交换机是链路层硬件设备,它主要处理帧,通过帧的物理地址来交换信息的。并选择把信息发给那个网络。其实从概念上来讲这很好区别的一个是通过IP选路,一个是通过物理地址来选路的,人们通常用HUB(集线器)来和交换机比较,而交换机和HUB的最大不同就是能隔离冲突域,这个过程必然要对物理地址进行选路。
我们看到这里,区别交换机和路由是不难的,但是你别忘了,路由器虽然是IP选路,但是最终要在物理网络上传输还得把IP地址映射或者说转换为物理地址来进行传输的,那么就是说他必须知道对方的的物理地址才能进得能信。我们看看下面一个结构图:
网络1
|
路由器R3
|
交换机
| |
| |
网络2-----路由器R1--------| |---------路由器R2------网络3
我们看到这里面有三个网络两个路由和一个交换机,我们在这里是通过示图来说明交换机和路由的区别,我们看如果网络2有一台主机要和网络1的通信,选通过路由器R1选路,把这信息传给交换机,交换机是用物理目标地址来决定是发向那个端口的,在开始交换是没有这样的物理地址信息,怎么办呢。交换只有发一个广播了,很遗憾的是路由器R3会过滤了这个广播,这个广播并不能到达网络1。好象我们这个通信并不能实现。在这里我们把交换机当路由,在互联路由上我们把交换机希望过高,因为工作在链路层的设备,只能以物理地址作为依据,我们来看看网络是怎么样处理这个问题的,其实对于路由来说他并不知道,交换机的存在,即使在物理网络上传输的帧也没有交换机的物理地址,也就是路由看成到R3路由器是一条通路,中间没有任何东西,而事实上却有一个交换机的存在,我们先来看看路由器R1是怎样和R3通信的,当路由器R1没有R3路由器的路由信息时,路由器广播一个信息,这样R2和R3同时会得到这个报文,处理以后,看目的主机是否在网络3,如果路由器R2得不到反应,或是在路由表中找不到这个IP就被丢弃,并回应R1路由器,报文不可到达。而别通过交换机路由器R3却找到了主机,并回应路由器,些报文可达,并没自己的物理地址交给路由器R1,这样路由器R1有了到R2和R3的路由表了,下次传输时就可以用这个路由表进行选路了。同时路由器R1通过路由器R2和R3知道了总个网络的拓朴,这样路由一步步就智能了。
我们再来看看交换机是一个什么角色,在这里交换机连接了三个路由器,正因为路由器在物理网络上传输帧时只有对方的路由的物理地址而没有交换机的物理地址,这样,当这个信息传到交换机就对帧关的目的地址分析,然后看对应表有没这个物理地址的信息,如果没有,就发一个广播,要求有这个地址的设备回应,并给出回应,交换机从回应的信息中得到那个设备的物理地址并和交换机端口建立对映关系,然后把数据发向对方。总个过程算完成了。
这是关键的一点,我们想想如路由器是以交换机的地址作为下一站地址,那么情况是怎么样呢?因为交换机没有处理IP包的能力,它只能通过帧中的物理地址来选择交换的,此时交换机发现没有任目的地的信息,那么这个包就到此为至了,交换机最终不得不丢失。所以对于一个IP层去看交换机的话,显然是不可见的,对于路由器来说它完全把它看成了是线路中的一部分与一条直通的线路并没什么区别,也就是说交换所作的工作,路由器是根本无法察觉的。
最简单的区别是路由器可以作代理上网,而交换机只是作为类似集线器的功能组建局域网,用于多台机子的互联。