查看: 8122|回复: 8

交换机路由器原理

[复制链接]
发表于 2009-11-24 22:30:20 | 显示全部楼层 |阅读模式
二层交换机是数据链路层的设备,它能够读取数据包中的MAC地址信息并根据MAC地址来进行交换。二层交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,它首先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的,它再去读取包头中的目的MAC地址,并在地址表中查找相应的端口,如果表中有与这目的MAC地址对应的端口,则把数据包直接复制到这端口上,如果在表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。二层交换机就是这样建立和维护它自己的地址表。由于二层交换机一般具有很宽的交换总线带宽,所以可以同时为很多端口进行数据交换。如果二层交换机有N个端口,每个端口的带宽是M,而它的交换机总线带宽超过N×M,那么这交换机就可以实现线速交换。二层交换机对广播包是不做限制的,把广播包复制到所有端口上。
二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。
路由器是在OSI七层网络模型中的第三层——网络层操作的。路由器内部有一个路由表,它表标明了如果要去某个地方,下一步应该往哪走。路由器从某个端口收到一个数据包,它首先把链路层的包头去掉(拆包),读取目的IP地址,然后查找路由表,若能确定下一步往哪送,则再加上链路层的包头(打包),把该数据包转发出去;如果不能确定下一步的地址,则向源地址返回一个信息,并把这个数据包丢掉。
路由技术和二层交换看起来有点相似,其实路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层。这一区别决定了路由和交换在传送数据的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。
路由技术其实是由两项最基本的活动组成,即决定最优路径和传输数据包。其中,数据包的传输相对较为简单和直接,而路由的确定则更加复杂一些。路由算法在路由表中写入各种不同的信息,路由器会根据数据包所要到达的目的地选择最佳路径把数据包发送到可以到达该目的地的下一台路由器处。当下一台路由器接收到该数据包时,也会查看其目标地址,并使用合适的路径继续传送给后面的路由器。依次类推,直到数据包到达最终目的地。
路由器之间可以进行相互通讯,而且可以通过传送不同类型的信息维护各自的路由表。路由更新信息主是这样一种信息,一般是由部分或全部路由表组成。通过分析其它路由器发出的路由更新信息,路由器可以掌握整个网络的拓扑结构。链路状态广播是另外一种在路由器之间传递的信息,它可以把信息发送方的链路状态及进的通知给其它路由器。
未完…………

回复

使用道具 举报

发表于 2009-12-1 13:10:33 | 显示全部楼层
写得很好,学习了,一个学的是MAC地址和端口号,另一个学的是网络地址和下一跳。
回复

使用道具 举报

发表于 2009-12-19 12:05:54 | 显示全部楼层
好东西,~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

发表于 2009-12-25 23:05:11 | 显示全部楼层
学习了。写的很简洁,不拖泥带水,易懂!很好```
回复

使用道具 举报

发表于 2010-11-17 00:23:24 | 显示全部楼层
谢谢楼主分享,希望赶紧补充后续内容。。。
回复

使用道具 举报

发表于 2011-1-27 16:33:00 | 显示全部楼层
二层交换机是数据链路层的设备,界面开发工具它能够读取数据包中的MAC地址信息并根据MAC地址来进行交换。二层交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口的对应关系。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表