路由器与路由器间是否可以进行二层交换?

对于两台路由设备,通过两个互联的二层端口是否能进行交换?假设有2台3层设备A和B,通过路由器R1连接,此时路由器R1是可以通过2层交换完成A、B间的数据转发,但如果A、B存在2台路由器R1和R2,则在R1与R2间是不能通过2层交换的方式连接,必须要起3层交换,因为这时存在两层下一条MAC,而路由器无法封装2层MAC头。而要实现这种2层互联,必须要使用专门的PTN设备。不知道我的理解是否正确,向达人求教。谢谢!
可能我说的不够具体,不过这个问题我已经自己想明白了,楼下的第一个回答内容很多,但显然差的比较远,
“1.A收到一个源MAC为某设备,目标MAC为自身端口的数据桢,端口会去掉2层数据,还原为3层的包交给路由器”
这句话中的A将2层数据去除,还原为3层的包交换给路由器,显然太业余了,3层数据不可能直接传送到路由器,根据对等层通信的原则,必须要经过2层数据链路层转发,不管2层是使用以太网传输还是SDH传输。现在网络拓扑图类似于A--R1---R2---B,数据包由A发向B端,这时R1和R2间是可以通过2层交换实现,即设置A、R1、R2、B属于同一广播域(VLAN)。

路由器是3层设备,转发时不会理会2层的MAC,只靠数据包中包含的源和目的IP进行包转发。但是,他可以封装2层MAC地址,因为每次转发时的源和目的的MAC地址分别会变成路由器自身发送端口的MAC和对方接受端口的MAC,对方也只接受符合自身端口MAC的数据包。

具体流程大概如下:
1.A收到一个源MAC为某设备,目标MAC为自身端口的数据桢,端口会去掉2层数据,还原为3层的包交给路由器
2.路由器A在3层察看这个包的目的IP,并在自己路由表中的表项中查找能到目的的端口,将包转发到该端口
3.A的发送端口收到包,将自己的MAC作为源MAC,目标端口的MAC作为目的MAC,将包封装成桢发送出去
4.B的接收端口收到该数据桢,首先比较目的MAC察看是否是给自己的,符合的话就去掉封装转给B的3层做路由,然后处理流程同A

所以,即使是两台电脑直接插到路由器上,路由的核心也不会进行2层转发的,只会在端口将目标MAC符合的包去封装转到3层处理,不符合的丢掉。

你似乎从根上就弄错了,会处理2层MAC的路由器是家用的,因为家用的实际上就是单口路由加N口交换机。这也可以解释为什么家用路由器的所有端口都在一个IP段上,而纯粹的路由每个端口要在不同的IP段上。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-14
是你没理解他的意思。
第2个回答  2010-03-04
楼主 不知道我的理解对不?
你的意思是路由器R1下有设备A 路由器设备R2下有设备B!你的意思是设备A与设备B之间实现通讯,必须要加专门的设备!
相似回答