-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
路由器和交换机有什么区别
- 浏览:162791
- |
- 更新:2012-08-21 17:47
- |
- 标签:路由器
二层交换机
编辑
二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术是发展比较成熟,二层
交换机属
数据链路层设备,可以识别
数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
中文名
-
二层交换机
外文名
-
Layer 2 switches
领 域
-
网络
参 数
-
端口、芯片、地址表
协 议
-
路由协议
功 能
-
决定最优路由和转发数据包
过程
(1) 当
交换机从某个端口收到一个
数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的
MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层
交换机就是这样建立和维护它自己的地址表。
工作原理
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换
总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现
线速交换;
(2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BUFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
(3) 还有一个就是二层交换机一般都含有专门用于处理
数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
以上三点也是评判二
三层交换机性能优劣的主要技术参数,这一点请大家在考虑
设备选型时注意比较。
路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向哪里走,如果能从
路由表中找到
数据包下一步往哪里走,把
链路层信息加上转发出去;如果不能知道下一步走向哪里,则将此包丢弃,然后返回一个信息交给源地址。
路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由
路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台
路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。
在所有的
动态路由协议中,最简单的就是距离矢量路由协议(D-V)。它使用的是最简单的
距离矢量(Distance-Vector,简称D-V)
路由算法。
距离矢量算法通过上述方法累加网络距离,并维护
网络拓扑信息数据库。
距离矢量协议定期直接传送各自
路由表的所有信息给邻居(RIP默认是30秒)。网络中的
路由器从自己的邻居路由器得到路由信息,并将这些路由信息连同自己的本地路由信息发送给其他邻居,这样一级一级地传递下去以达到全网同步。每个路由器都不了解整个网络拓扑,它们只知道与自己直接相连的网络情况,并根据从邻居得到的路由信息更新自己的路由表。它所有的信息都靠道听途说,它相信所有邻居告诉它的所有信息,只在这些邻居中选择最优的来采用,类似于“传话”这个游戏。
定最大值
如上所述,发生
路由环路时,
路由器去往网络11.4.0.0的跳数会不断增大,网络无法收敛。为解决这个问题,我们给跳数定义一个最大值,在
RIP路由协议中,允许跳数最大值为16,当跳数到达最大值时,网络11.4.0.0被认为是不可达的,路由器会在
路由表中显示网络不可达信息,并不再更新到达网络11.4.0.0的路由。
通过定义最大值,距离
矢量路由协议可以解决发生环路时路由权值无限增大的问题,同时也校正了错误的路由信息。但是,在最大权值到达之前,路由环路还是会存在。也就是说,这个方案只是补救措施,不能避免环路产生,只能减轻路由环路产生的危害。
水平分割
水平分割是在距离
矢量路由协议中最常用的避免环路发生的解决方案之一。分析产生
路由环路的原因,其中一条就是因为
路由器将从某个邻居学到的路由信息又告诉了这个邻居。水平分割的思想就是在路由信息传送过程中,不再把路由信息发送给接收此路由信息的接口上。
抑制时间
路由中毒和抑制时间结合起来,也可以在一定程度上避免
路由环路产生,同时也可以抑制因复位接口等原因引起的网络动荡。这种方法在
网络故障或接口复位时,使相应路由中毒,同时启动抑制时间,控制
路由器在抑制时间内不要轻易更新自己的
路由表,从而避免环路产生、抑制网络动荡。
触发更新
触发更新机制是在路由信息产生某些改变时,立即发送给相邻
路由器一种称为触发更新的信息。路由器检测到
网络拓扑变化,立即依次发送触发更新信息给相邻路由器,如果每个路由器都这样做,这个更新会很快传播到整个网络。
当网络11.4.0.0 不可达了,路由器C立即通告网络11.4.0.0不可达信息,路由器B接收到这个信息,就从S0口发出网络11.4.0.0不可达信息,依次路由器A从E0口通告此信息。
从以上叙述可以看出,使用触发更新方法能够在一定程度上避免
路由环路发生。但是,仍然存在两个问题:
(1)包含有更新信息的
数据包可能会被丢掉或损坏。
(2)如果触发更新信息还没有来得及发送,
路由器就接收到相邻路由器的周期性路由更新信息,使路由器更新了错误的路由信息。
为解决以上的问题,我们可以将抑制时间和触发更新相结合。抑制时间方法有一个规则就是当到某一目的网络的路径出现故障,在一定时间内,路由器不会轻易接收到这一目的网络的路径信息。因此,将抑制时间和触发更新相结合,就可以确保触发信息有足够的时间在网络中传播。
在多路径的情况下,要综合使用这几种方案才能在一定程度上解决环路问题。
距离矢量协议无论是实现还是管理都比较简单,但是它的收敛速度慢,
报文量大,占用较多网络开销,并且为避免
路由环路需要做各种特殊处理
是目前使用最广的一类域内路由协议。它采用一种“拼图”的设计策略,即每个
路由器将它到其周围邻居的链路状态向全网的其他路由器进行广播。这样,一个路由器收到从网络中其他路由器发送过来的路由信息后,它对这些链路状态进行拼装,最终生成一个全网的拓扑视图,近而可以通过
最短路径算法来计算它到别的路由器的最短路径。
于它邻居的拓扑结构的信息。这包括:
· 那些链路的情况(状态)。
这个信息在网络上
泛洪,目的是所有的
路由器可以接收到第1手信息。链路状态路由器并不会广播包含在它们的
路由表内的所有信息。相反,链路状态路由器将发送关于已经改动的路由的信息。链路状态路由器将向它们的邻居发送呼叫消息,这称为链路状态
数据包( L S P )或者链路状态通告( L S A )。然后,邻居将L S P复制到它们的
路由选择表中,并传递那个信息到网络的剩余部分。这个过程称为泛洪( f l o o d i n g )。它的结果是向网络发送第1手信息,为网络建立更新
路由的准确映射。
链路状态路由选择协议使用称为代价的方法,而不是使用跳。代价是自动或人工赋值的。根据链路状态协议的算法,代价可以计算
数据包必须穿越的跳数目、链路
带宽、链路上的当前负载,或者甚至其他由管理员加入的权重来评价。
1) 当一个链路状态
路由器进入链路状态
互连网络时,它发送一个呼叫数据包,以了解其邻居。
2) 邻居用关于它们所连接的链路以及相关的代价度的信息进行应答。
3) 起始的路由器用这个信息来建立它的
路由选择表。
4) 然后,作为定期更新的一部分。路由器向它的邻居发送链路状态数据包。这个L S P包括了那个路由器的链路及相关代价。
5) 每个邻居赋值数据包,并且将L S P传递到下一个邻居。这个过程称为泛洪。
6) 因为
路由器并没有在向前
泛洪L S P之前重新计算
路由选择数据库,聚合时间减少了。
链路状态路由选择协议的一个主要优点就是这样的一个事实,即路由选择循环不可能形成,原因是链路状态协议建立它们自己的路由选择信息表的方式。第2个优点是,在链路状态
互连网络中聚合是非常快的,原因是一旦路由选择拓扑出现变动,则更新在互连网络上迅速泛洪。这些优点又释放了路由器的资源,因为对不好的路由信息所花费的处理能力和
带宽消耗都很少。维护路由器区域的链路状态数据库将在路由器上加入R A M负担。类似的是,
D i j k s t r a算法不得不在每次
路由改变的时候运行;这在所有的路由器上加重了C P U的负担。
D i j k s t r a算法首先是最短的路径,在这里对路径长度的迭代确定了最短的路径
生成树。
由于
路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为
高端路由器往往采用分布式处理系统体系设计。