全站搜索
内容详情
文章正文
三层交换机与路由器区别在哪里?

三层交换机与路由器区别在哪里? 

很多朋友问到,路由器与三层交换机有什么区别?这是个好问题,今天我们一起来了解下。
 
  一、交换机的工作原理
 
  当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。
 
  1、交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
  2、交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
  3、如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
  4、广播帧和组播帧向所有的端口转发。
 
  例:某网络如图1所示。
 


  图1 交换机地址表
 


  表1端口/MAC地址映射表
 
  假设主机pc1向主机pc7发送一个数据帧,该数据帧被送到交换机后,交换机首先查MAC地址表,发现主机pc7连接在E0/24接口上,就将数据帧从E0/24接口转发出去。
 
  交换机的三个基本功能
 
  1、学习
 
  以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中.
 
  2、转发/过滤
 
  当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)
 
  3、消除回路
 
  当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。
 
  二、二三层交换机对比
 
  1、二层交换技术
 
  二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
 
  具体的工作流程如下:
 
  (1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
 
  (2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
 
  (3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
 
  (4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
 
  不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
 
  从二层交换机的工作原理可以推知以下三点:
 
  (1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
 
  (2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
 
  (3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
 
  2、三层交换机
 
  第三层交换工作在OSI七层网络模型中的第三层即网络层,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层,从而打通源IP地址和目的IP地址之间的一条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判断路由,而是直接将数据包进行转发,将数据流进行交换。
 
  举个例子
 
  比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。
 
  使用IP的设备A------------三层交换机----------------使用IP的设备B
 
  如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
 

  如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,先在MAC表中放的是缺省网关的MAC地址;然后就由三层路由模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

脚注信息
版权所有 Copyright(C)2013-2020 萧山监控安装-萧山弱电-会议音响-WIFI覆盖-脉冲电网-车牌识别道闸-杭州萧盾智能工程有限公司