资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
交换机的报文转发机制方科星关键词:IVL SVL摘 要:由一个奇怪的故障现象说起,通过这个现象介绍了交换机的转发机制,解释了这种 现象的产生的原因并提供了解决方案1.1 一个奇怪的故障现象1.1.1 组网情况服务器组网说明:1.S3026上配置PVLAN, primary vlan 是vlan 100,包含端口e0/3; second vian是vlan 101 和vlan 102,分别包含e0/1和e0/2端口;服务器接在e0/3端口下。2.S2403H上,端口e0/1 和e0/3属于vlan 101,端口e0/2和e0/4属于vlan 102; PC1 接在e0/3下,PC2接在e0/4下。3.PC1、PC2和服务器在同一网段。该组网的要求是:PC1和PC2能正常访问服务器,同时PC1和PC2之间的访问隔离。1.1.2 故障现象理论上上面的组网及配置就可以满足需求。因为在S3026上做的PVLAN可以保证e0/3下的服 务器和e0/1和e0/2下的机器互访,同时e0/1和e0/2下的机器被相互隔离,而S2403H上PC 1和 PC2接的端口由于属于不同的V LAN,所以无法互访。但是实际的问题是:当PC1能PING通 服务器的时候,PC2无法PING通服务器,这时如果 把左边的这根网线拔掉,则PC2能PING通服务器。同样,当PC2能PING通服务器的时候, PC1却又无法PING通服务器,将右边的网线拔掉则PC1能PING通服务器了。换句话说,同 一时刻只能有一台PC可以PING通服务器。用S2403F取代S2403H,贝JPC1和PC2都能同时PING通服务器。在解释这个奇怪的故障现象之前,先要介绍一个重要的概念:交换机的报文转发机制。第2章 交换机的报文转发机制2.1 概述交换机的报文转发机制分两种:SVL和IVL。SVL: Shared vlan learning,共享式vlan学习。在这种方式下,MAC地址在整张表中是唯一 的,一个MAC地址在地址表中只能有一条记录,一个MAC只能被学习到一个端口上。IVL: Independent vlan learning,独立式vlan学习。在这种方式下,MAC地址表在逻辑上可 以被看成根据V LAN信息分成了很多张表,一个MAC地址可学习到不同VLAN寸应的“地址 表”上。MAC地址在不同方式的地址表中的存在可以形象的表示为:VL AM二:VAC2YLAN2 PC73VLAK3PC KT 3VAClYALNlP0RT1VAC 2FORT 2VAC3VLAN 3PORTSSVLIVL在IVL方式下,MAC2可以学习在VLAN1的“地址表”上,也可以学习在VLAN2的“地址表”上。而在SVL方式下,MAC2只能有一条记录,只能对应某个VLAN和端口。2.2 两种转发机制的转发报文的流程对于SVL方式而言:交换机先根据目的MAC地址查MAC地址表,找到端口之后,然后判断 这个端口所属的V LAN是否和报文携带的VLAN信息对应的VLAN相等,如果相等就转发, 否则就丢弃。如果根据目的MAC没有找到对应的端口,贝I在报文所属的VLAN内进行广播。 而对于IVL而言:交换机根据MAC地址和VLAN信息一起查MAC地址表,如果找到对应的端 口则转发,否则在报文所属的VLAN内进行广播。第3章 故障分析和解决3.1 故障分析在进行故障分析前,先说明一点:S2403H是基于SVL转发机制的,S2403F是基于IVL转发机 制的。假设服务器的MAC地址是MACA,PC1的MAC地址是MAC1,PC2的MAC地址是MAC2。在使用S2403H的情况下刚开始PC1的发ARP广播报文,进入到S2403H后, S2403H根据源地址学习规则学习到PC1 的记录:MACVLAN端口MAC11013然后该报文从V LAN101的端口广播出去。服务器收到这个ARP报文后回一个单播报文,这个报文从S2403H的端口 eO/1进来,于是S2403H又把服务器的MAC地址学习在端口 eO/1上:MACVLAN端口MAC11013MACA1011这时PC1和服务器通信正常。 现在PC2开始PING服务器,ARP广播报文进入S2403H, S2403H先学习PC2的MAC地址,然 后将报文从VLAN 102广播出去。服务器响应PC2的ARP青求,回应的报文从eO/2进来,由于 S2403H只能把一个MAC地址学习到一个端口上,所以它会把原来学习到的MACA的记录清 除,而把MACA学习到端口 eO/2上:MACVLAN端口MAC11013MAC21024MACA1022这时PC2和服务器通信正常。但是PC 1的数据报进入到S2403H后,根据MAC找到对应的端口 是eO/2,而端口 eO/2对应的V LAN是 102,与该报文所属的VLAN 101不符,所以被丢弃,不 转发。这就是为什么PC2能PING通服务器而PC1却PING不通服务器的原因。如果这时把对应的网线拔掉,交换机会把与这个端口相关的记录删除,即把MACA1022这条记录删除,那么PC1进来的数据报由于在MAC地址表里找不到对应的记录而进行广播, 报文从e0/1出去,最后服务器回应的报文又从e0/1进来,对应的MAC地址表项也学习在e0/1 上,所以PC1又能和服务器正常通信了。在使用S2403F的情况下再看一下为什么在使用S2403F的情况下通信正常。由于S2403F是基于IVL的,我们可以抽象的认为MAC地址是学习到每个VLAN属于的地址表 上的。开始的时候PC1 PING服务器,服务器的响应报文从1端口进来,这时在VLAN101的“地址表” 上有两条记录:MACVLAN端口MAC11013MACA1011这两条记录保证了 PC1和服务器之间的正常通信。现在PC2开始PING服务器,服务器的响应报文从2端口进来,这时在V LAN 102的“地址表” 上也有两条记录:MACVLAN端口MAC21024MACA1022这两条记录也同样保证了 PC2和服务器之间的正常通信。而在实际的MAC地址表里一共是有四条记录:MACVLAN端口MAC11013MACA101IMAC21024MACA10223.2 故障解决这种故障是由于交换机本身的转发机制导致的,所以无法从软件上加以改善进行规避,唯一 可以做的就是进行设备的更换或是组网的重新规划。如果采用更换设备的方法,那么可以采取更换为S2403F这样的基于IVL转发机制的设备。如果是进行组网的改造,那么可以让S3026和S2403H只用一根网线互连,然后把互连的两个 端口设成trunk端 口,把VLAN 101、102透传过去。这样服务器的MAC就只会学习在这一个端口上,也可以保证组网的需求。第4章 总结表面上这只是一个普通的应用,只用到了交换机的最基本的功能,同时也规避了广播风暴的 问题,理论上不会有任何问题。结果却是交换机的转发机制这一个最最基本的东西给我们的 组网造成了麻烦。随着各种系列的交换机大规模的应用,各式各样的组网也越来越多,越来越复杂。在实际组 网的时候我们可能经常被许多表面现象所迷惑,只考虑到了交换机是否支持某种功能,可以 采用什么样的方式规避某些问题,而忽略了交换机自身特别是底层的一些东西。这也就要求 我们不仅仅是了解交换机能实现哪些功能,哪些参数是多少,还要更深入的了解交换机本身 的工作原理等东西,这样我们在进行组网规划的时候才会更少犯错误。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号