关于三层交换机原理
到处都充斥着这个理论,真是无语啊, 大家可以百度一下 三层交换机原理。
我来答复一下,一是错误的,二的描述基本正确,只是没有说清楚硬件转发(ASIC),CPU软转。你在11楼的说法也是糊涂的,A发给Switch的时候报文的DMAC已经是Switch的三层接口MAC了(即网关MAC),你让Switch广播给B,你希望报文用什么DMAC? 继续使用Switch的三层接口MAC?还是把报文改成广播?另外关于Ping包缓存,那也只是首包缓存并软转,后续的都是硬件转发了,这也是所谓的一次路由、多次转发,对CPU冲击不大。你根本的问题在于网络层次不清楚,当然上面也有些TX也是半吊子。
A在发送ARP请求时,不应该是请求下一跳的MAC吗,为什么会请求B的MAC? 求教: 最终的结论是什么?
第一种是错误的,三层交换机三层转发就是一次软转发多次硬转发哎,而二三层转发硬件怎么区分呢,就是通过判断收到的数据报文的目的MAC地址是否是自身的虚MAC地址吧,最简单就是这工作流程
=========================
是的,A在发生ARP请求时,对应IP其实是下一跳的,第一种的说法却偷换成了B的IP,其错误就在这里。
多谢指点,请帮忙看看我的后续分析,错对:
1. 关于在11楼的说法补充,我说的广播就是DMAC换成广播MAC,然后广播出去,好处就是没有缓存(二层交换机我记得就是这样工作吧? 记得曾经抓过包验证过,时间太长记不得了,只是有个印象)。
2. 我知道缓存仅是第一个包,但是多个主机并发出现,会不会出现问题?(当然可以通过各种方式保护并发情况)
3. 当然这种广播处理方式只是我对三层交换机的推测,因为我并不知道真正如何实现的。不过现在想想,应该确实是缓存方式更好些。 因为广播方式无法通过ARP学习IP/MAC,这样只能通过检查每个包的MAC/IP,如果交换机表内不存在,则学习。 这样性能是一个问题,而且如果有伪造的IP/MAC,对内存表也是一个冲击。
我不是搞这块的,但是不想成为半吊子,所以。大侠继续。
多谢回复