Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1272479
  • 博文数量: 464
  • 博客积分: 9399
  • 博客等级: 中将
  • 技术积分: 6364
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 09:15
文章分类

全部博文(464)

文章存档

2014年(12)

2013年(123)

2012年(173)

2011年(156)

我的朋友

分类: 系统运维

2011-06-25 14:24:01

传统的交换与路由区别

三层交换机在对第一个数据流进行路由后,它将会产生一个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交换机上我修改了下一跳,这个表怎么知道刷新呢?

另眼看的观点区别

我的观点:

问题1:上面这段话是有错误的,交换机永远不可能用主机C的MAC来回应主机A,而是用自己的和A机所在网段的虚接口的MAC来回应。 也就是说三层交换并没有改变数据的发送以及接收流程。

问题2:如果把默认网关看成黑盒子,那么的确无法判断是三层交换还是三层路由。

问题3/4:你说的这个表联系上下文应该指的是一个供硬件转发使用的转发表,三层交换的路由过程基本上是靠硬件完成的,当第一个包被转发后,系统会形成一 个单独的转发表,后续的转发由特殊的ASIC硬件查询这个表来完成,不在走软件查询的路由过程,从而提高转发速度,但是这并没有从本质上改变数据转发的流 程,这个就是”一次路由,多次交换“。

我认为的三层交换和三层路由的区别:

1、三层交换机能够提供比路由器大的多的转发速率,而路由器的转发速率相对较低。
2、三层交换机通常仅支持IP协议的告诉转发,路由器通常支持多种协议。
3、三层交换机的接口比较单一,且数目众多。路由器有丰富的接口类型,但是一般单一类型的接口数目较少。
4、三层交换机能够连接的网络类型较单一。路由器可以实现多种异种网络的互联。

另外,我认为交换机和路由器在转发上没有本质的区别,无非一个偏硬件,一个偏软件。况且现在的高速路由器也借鉴了交换机的技术,也实现了部分的硬件转发,从而也就有了“快速转发,”“极速转发”等等术语。

       

阅读(733) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~