Qi上蜗牛闯红灯 2008-5-26 17:11
二层交换机-路由器-三层交换的区别
[size=12pt][font=Times New Roman]1.[/font][/size][font=宋体][size=12pt]二层交换技术[/size][/font][size=12pt][font=Times New Roman] [/font][/size]
[font=宋体]二层交换机是数据链路层的设备,它能够读取数据包中的[/font][font=Times New Roman]MAC[/font][font=宋体]地址信息并根据[/font][font=Times New Roman]MAC[/font][font=宋体]地址来进行交换。交换机内部有一个[/font][font=Times New Roman]MAC[/font][font=宋体]地址表,这个地址表标明了[/font][font=Times New Roman]MAC[/font][font=宋体]地址和交换机端口[/font][font=Times New Roman] [/font][font=宋体]的对应关系。当交换机从某个端口收到一个数据包,它首先读取包头中的源[/font][font=Times New Roman]MAC[/font][font=宋体]地址,并[/font][font=Times New Roman] [/font][font=宋体]将源[/font][font=Times New Roman]MAC[/font][font=宋体]地址与这个端口的对应关系写入[/font][font=Times New Roman]MAC[/font][font=宋体]地址表中,这样它就知道源[/font][font=Times New Roman]MAC[/font][font=宋体]地址的机器是连在哪个端口上的,它再去读取包头中的目的[/font][font=Times New Roman]MAC[/font][font=宋体]地址,并在地址表中查找相应的端口,如果表中有与这目的[/font][font=Times New Roman]MAC[/font][font=宋体]地址对应的端口,则把数据包直接复制到这端口上,如果在表中找不到相应的端口则把数据包广播到所有端口上,这时处于同一个广播域中的所有机器都会收到此广播数据帧,当收到后会检测此帧是否是自己的,若不是自己的则丢弃此帧,[/font]
[font=宋体]若是自己的则要回应,当目的机器对源机器回应时,交换机又可以学习一目的[/font][font=Times New Roman]MAC[/font][font=宋体]地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。二层交换机就是这样建立和维护它自己的[/font][font=Times New Roman]MAC[/font][font=宋体]地址表。由于二层交换机一般具有很宽的交换总线带宽,所以可以同时为很多端口进行数据交换。如果二层交换机有[/font][font=Times New Roman]N[/font][font=宋体]个端口,每个端口的带宽是[/font][font=Times New Roman]M[/font][font=宋体],而它的交换机总线带宽超过[/font][font=Times New Roman]N[/font][font=宋体]×[/font][font=Times New Roman]M[/font][font=宋体],那么这交换机就可以实现线速交换。二层交换机对广播包是不做限制的,把广播包复制到所有端口上。[/font]
[font=宋体]二层交换机一般都含有专门用于处理数据包转发的[/font][font=Times New Roman]ASIC [/font][font=宋体]([/font][font=Times New Roman]Application specific Integrated Circuit[/font][font=宋体])芯片,因此转发速度可以做到非常快。[/font][font=Times New Roman] [/font]
[size=12pt][font=Times New Roman]2.[/font][/size][font=宋体][size=12pt]路由技术[/size][/font][size=12pt][font=Times New Roman] [/font][/size]
[font=宋体]路由器是在[/font][font=Times New Roman]OSI[/font][font=宋体]七层网络模型中的第三层——网络层的。路由器内部有一个路由表,这表标明了如果要去某个地方,下一步应该往哪走。路由器从某个端口收到一个数据包,它首先把链路层的包头去掉(拆包),读取目的[/font][font=Times New Roman]IP[/font][font=宋体]地址,然后查找路由表,若能确定下一步往哪送,则再加上链路层的包头(打包),把该数据包转发出去;如果不能确定下一步的地址,则向源地址返回一个信息,并把这个数据包丢掉。[/font]
[font=宋体]路由技术和二层交换看起来有点相似,其实路由和交换之间的主要区别就是交换发生在[/font][font=Times New Roman]OSI[/font][font=宋体]参考模型的第二层(数据链路层),而路由发生在第三层。这一区别决定了路由和交换在传送数据的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。[/font]
[font=宋体]路由技术其实是由两项最基本的活动组成,即决定最优路径和传输数据包。其中,数据包的传输相对较为简单和直接,而路由的确定则更加复杂一些。路由算法在路由表中写入各种不同的信息,路由器会根据数据包所要到达的目的地选择最佳路径把数据包发送到可以到达该目的地的下一台路由器处。当下一台路由器接收到该数据包时,也会查看其目标地址,并使用合适的路径继续传送给后面的路由器。依次类推,直到数据包到达最终目的地。[/font]
[font=宋体]路由器之间可以进行相互通讯,而且可以通过传送不同类型的信息维护各自的路由表。路由更新信息主是这样一种信息,一般是由部分或全部路由表组成。通过分析其它路由器发出的路由更新信息,路由器可以掌握整个网络的拓扑结构。链路状态广播是另外一种在路由器之间传递的信息,它可以把信息发送方的链路状态及进的通知给其它路由器。[/font][font=Times New Roman] [/font]
[size=12pt][font=Times New Roman]3.[/font][/size][font=宋体][size=12pt]三层交换技术[/size][/font][size=12pt][font=Times New Roman] [/font][/size]
[font=宋体]一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单的把路由器设备的硬件及软件简单地叠加在局域网交换机上。[/font]
[font=宋体]从硬件上看,第二层交换机的接口模块都是通过高速背板[/font][font=Times New Roman]/[/font][font=宋体]总线(速率可高达几十[/font][font=Times New Roman]Gbit/s[/font][font=宋体])交换数据的,在第三层交换机中,与路由器有关的第三层路由硬件模块也插接在高速背板[/font][font=Times New Roman]/[/font][font=宋体]总线上,这种方式使得路由模块可以与需要路由的其他模块间高速的交换数据,从而突破了传统的外接路由器接口速率的限制。在软件方面,第三层交换机也有重大的举措,它将传统的基于软件的路由器软件进行了界定,其做法是:[/font]
[font=宋体]对于数据包的转发:如[/font][font=Times New Roman]IP/IPX[/font][font=宋体]包的转发,这些规律的过程通过硬件得以高速实现。[/font]
[font=宋体]对于第三层路由软件:如路由信息的更新、路由表维护、路由计算、路由的确定等功能,用优化、高效的软件实现。[/font][font=Times New Roman] [/font]
[font=宋体]假设两个使用[/font][font=Times New Roman]IP[/font][font=宋体]协议的机器通过第三层交换机进行通信的过程,机器[/font][font=Times New Roman]A[/font][font=宋体]在开始发送时,已知目的[/font][font=Times New Roman]IP[/font][font=宋体]地址,但尚不知道在局域网上发送所需要的[/font][font=Times New Roman]MAC[/font][font=宋体]地址。要采用地址解析([/font][font=Times New Roman]ARP[/font][font=宋体])来确定目的[/font][font=Times New Roman]MAC[/font][font=宋体]地址。机器[/font][font=Times New Roman]A[/font][font=宋体]把自己的[/font][font=Times New Roman]IP[/font][font=宋体]地址与目的[/font][font=Times New Roman]IP[/font][font=宋体]地址比较,从其软件中配置的子网掩码提取出网络地址来确定目的机器是否与自己在同一子网内。若目的机器[/font][font=Times New Roman]B[/font][font=宋体]与机器[/font][font=Times New Roman]A[/font][font=宋体]在同一子网内,[/font][font=Times New Roman]A[/font][font=宋体]广播一个[/font][font=Times New Roman]ARP[/font][font=宋体]请求,[/font][font=Times New Roman]B[/font][font=宋体]返回其[/font][font=Times New Roman]MAC[/font][font=宋体]地址,[/font][font=Times New Roman]A[/font][font=宋体]得到目的机器[/font][font=Times New Roman]B[/font][font=宋体]的[/font][font=Times New Roman]MAC[/font][font=宋体]地址后将这一地址缓存起来,并用此[/font][font=Times New Roman]MAC[/font][font=宋体]地址封包转发数据,第二层交换模块查找[/font][font=Times New Roman]MAC[/font][font=宋体]地址表确定将数据包发向目的端口。若两个机器不在同一子网内,如发送机器[/font][font=Times New Roman]A[/font][font=宋体]要与目的机器[/font][font=Times New Roman]C[/font][font=宋体]通信,发送机器[/font][font=Times New Roman]A[/font][font=宋体]要向“缺省网关”发出[/font][font=Times New Roman]ARP[/font][font=宋体]包,而“缺省网关”的[/font][font=Times New Roman]IP[/font][font=宋体]地址已经在系统软件中设置。这个[/font][font=Times New Roman]IP[/font][font=宋体]地址实际上对应第三层交换机的第三层交换模块。所以当发送机器[/font][font=Times New Roman]A[/font][font=宋体]对“缺省网关”的[/font][font=Times New Roman]IP[/font][font=宋体]地址广播出一个[/font][font=Times New Roman]ARP[/font][font=宋体]请求时,若第三层交换模块在以往的通信过程中已得到目的机器[/font][font=Times New Roman]C[/font][font=宋体]的[/font][font=Times New Roman]MAC[/font][font=宋体]地址,则向发送机器[/font][font=Times New Roman]A[/font][font=宋体]回复[/font][font=Times New Roman]C[/font][font=宋体]的[/font][font=Times New Roman]MAC[/font][font=宋体]地址;否则第三层交换模块根据路由信息向目的机器广播一个[/font][font=Times New Roman]ARP[/font][font=宋体]请求,目的机器[/font][font=Times New Roman]C[/font][font=宋体]得到此[/font][font=Times New Roman]ARP[/font][font=宋体]请示后向第三层交换模块回复其[/font][font=Times New Roman]MAC[/font][font=宋体]地址,第三层交换模块保存此地址并回复给发送机器[/font][font=Times New Roman]A[/font][font=宋体]。以后,当再进行[/font][font=Times New Roman]A[/font][font=宋体]与[/font][font=Times New Roman]C[/font][font=宋体]之间数据包转发进,将用最终的目的机器的[/font][font=Times New Roman]MAC[/font][font=宋体]地址封装,数据转发过程全部交给第二层交换处理,信息得以高速交换。既所谓的一次选路,多次交换。[/font][font=Times New Roman] [/font]
[font=宋体]第三层交换具有以下突出特点:[/font][font=Times New Roman] [/font]
[font=Wingdings]u
[/font][font=宋体]有机的硬件结合使得数据交换加速;[/font][font=Times New Roman] [/font]
[font=Wingdings]u
[/font][font=宋体]优化的路由软件使[/font][font=Times New Roman] [/font][font=宋体]得路由过程效率提高;[/font][font=Times New Roman] [/font]
[font=Wingdings]u
[/font][font=宋体]除了必要的路由决定过程外,大部分数据转发过程由第二层交换处理;[/font][font=Times New Roman] [/font]
[font=宋体]多个子网互连时只是与第三层交换模块的逻辑连接,不象传统的外接路由器那样需增加端口,保护了用户的投资。[/font]
weiguoshuai 2008-5-29 09:57
楼主写的很详细啊,真是一针见血!!32:) 32:) 32:) 32:)