网络通信 频道

另眼讨论:讨论三层交换和路由的区别

  编者按:三层交换与路由的区别,这是一个非常老的话题了,老得不需要讨论。不过,ssffzz1这位网友却有一番新论,请看:

  【IT168 报道】以下是两段摘选自在网络上比较流行的解释路由器和三层交换机区别的文章,我的问题主要是基于这两段,来进一步分析一下三层交换与路由的区别:

  传统的交换与路由区别

  三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。

  假设两个使用IP协议的机器通过第三层交换机进行通信的过程,。。。若两个机器不在同一子网内,如发送机器A要与目的机器C通信,发送机器A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在系统软件中设置。这个IP地址实际上对应第三层交换机的第三层交换模块。所以当发送机器A对“缺省网关”的IP地址广播出一个ARP请求时,若第三层交换模块在以往的通信过程中已得到目的机器C的MAC地址,则向发送机器A回复C的MAC地址;否则第三层交换模块根据路由信息向目的机器广播一个ARP请求,目的机器C得到此ARP请示后向第三层交换模块回复其MAC地址,第三层交换模块保存此地址并回复给发送机器A。以后,当再进行A与C之间数据包转发进,将用最终的目的机器的MAC地址封装,数据转发过程全部交给第二层交换处理,信息得以高速交换。既所谓的一次选路,多次交换。

  问题一:第二段说“则向发送机器A回复C的MAC地址”,我用ethereal抓包看过,L3交换机回的是自己的IP(默认网关)对应的MAC,而且从道理上讲,L3交换机也不可能回C的MAC给A啊,因为1,A和C不在一个网段,A保存C的MAC也没有意义;2,A发出去的ARP请求中没有C的IP, L3交换机怎么可能知道A想和C通信呢?
  这么说来这段话说的不对?可是为啥流行着么广泛呢?是我的理解有误?抓包也有误?

  问题二:如果把默认网关看成一个黑盒子,只从A和C来抓包,能否判断出来默认网关是router还是L3交换机么?

  问题三:文档1说“三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表”,请问这个表是什么表?难道是目的IP和下一跳 IP对应的MAC的对应关系?没见过这样的表啊,路由器上有arp表和路由表,交换机上有MAC表,L3交换机上有mac表,arp表,路由表。可是L3 交换机上没有见过文档1说的这种表啊?
  问题四:“一次选路,多次交换”怎么理解?文档1说“当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由”,我的理解是L3收到同样的数据流后,查看目的IP,然后查到下一跳IP对应的MAC以及接口,然后转出去。

  可是这样的话,如果在L3交换机上我修改了下一跳,这个表怎么知道刷新呢?
  #################################
 

0
相关文章