路由器子接口与vlan数据流程分析Word文档下载推荐.docx
- 文档编号:17704213
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:14
- 大小:592.67KB
路由器子接口与vlan数据流程分析Word文档下载推荐.docx
《路由器子接口与vlan数据流程分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《路由器子接口与vlan数据流程分析Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
encapsulationframe-relay
!
interfaceSerial1/0.2point-to-point//设置S1/0的一个点到点方式的子端口S1/0.2
ipaddress10.17.0.1255.255.255.0
frame-relaylocal-dlci110
interfaceSerial1/0.3point-to-point//设置S1/0的一个点到点方式的子端口S1/0.3
ipaddress10.18.0.1255.255.255.0
frame-relaylocal-dlci120
两个子端口配置不同网段的IP地址,采用point-to-point的子端口连接方式,在逻辑上建立了两个端口分别与不同的终端连接,路由协议将通过两个逻辑端口分别广播路由信息,这样就完全避免了路由协议中水平分割在X.25/FR网络中的限制。
应用在以太网中
在路由器通过快速以太网端口连接快速以太网的不同VLAN时,需要将快速以太网端口划分为多个子端口,分别接不同的VLAN。
例子:
路由器A通过F0/0与交换机A相连,交换机A的端口1和端口2分别连接PC1和PC2,并且这两台PC分别处于VlAN1和VLAN2中,需要通过路由器实现VLAN1与VLAN2的通信。
具体的路由上的配置如下:
interfaceFastEthernet0/0//创建父端口,不需任何配置
noipdirected-broadcast
interfaceFastEthernet0/0.1 //创建子端口1
ipaddress111.1.1.1255.255.255.0//配置VLAN1的IP地址
noipdirected-broadcast
encapsulationdot1Q1//配置VLAN1标识
bandwidth100000
delay1
interfaceFastEthernet0/0.2//创建子端口2
ipaddress112.1.1.1255.255.255.0//配置VLAN2的IP地址
encapsulationdot1Q2//配置VLAN2标识
bandwidth100000
2、网络环境及试验目的
典型的路由+交换网络,在交换机上划分不同的vlan,终端用户网关指向路由器,并在交换机上启用各自的vlan虚拟接口,通过这些接口地址来管理交换机。
3、网络拓扑图
4、初始配置
交换机
interfaceFastEthernet0/1
switchportmodetrunk //上联口作trunk
interfaceFastEthernet0/2//默认使其属于vlan1
interfaceFastEthernet0/3
switchportpvid2//使f0/3口属于vlan2
interfaceVLAN1
ipaddress1.1.1.2255.255.255.0
interfaceVLAN2
ipaddress2.2.2.2255.255.255.0
vlan1-2
路由器
interfaceFastEthernet0/0
interfaceFastEthernet0/0.1//生成子接口f0/0.1
ipaddress1.1.1.1255.255.255.0
encapsulationdot1Q1 //封装802.1Q,使其标识vlan1
interfaceFastEthernet0/0.2 //生成子接口f0/0.2
ipaddress2.2.2.1255.255.255.0
encapsulationdot1Q2 //封装802.1Q,使其标识vlan2
5、问题的出现
1)pc2能ping通网关2.2.2.1,能ping通交换机vlan2的地址2.2.2.2;
PC1能ping通交换机vlan1的地址1.1.1.2,但是PC1不能ping通网关1.1.1.1。
PC2ping网关2.2.2.1:
PC2ping交换机vlan2的地址2.2.2.2:
PC1ping交换机vlan1的地址1.1.1.2:
PC1ping网关1.1.1.1:
2)交换机vlan2和路由器子接口f0/0.2可以互通,但是vlan1和子接口f0/0.1不同互通。
交换机vlan2的地址2.2.2.2ping路由器子接口f0/0.2的地址2.2.2.1:
交换机vlan1的地址1.1.1.2ping路由器子接口f0/0.1的地址1.1.1.1:
6、问题分析及解决
对于问题1
PC2既能ping通网关2.2.2.1,也能ping通交换机vlan地址2.2.2.2,首先来分析下PC2数据包在ping这两个地址时的流程:
PC2ping网关2.2.2.1
1.PC2发出一个目的地地址是2.2.2.1的数据帧进入交换机的F0/3口,交换机检查此帧是无Tag标记的帧,故根据F0/3口的PVID给进入数据帧加上Tag标记2。
2.交换机根据数据帧的Tag标记检查自己的VLAN表。
发现VLAN2包含了端口F0/1,F0/3。
3.交换机再检查VLAN2的MAC地址表。
由于2.2.2.1的数据帧进入端口F0/1时的标记是Tag2,所以2.2.2.1对应的MAC地址将被VLAN2的MAC表所共享。
故此时根据VLAN2的MAC表,将只转发此数据帧给F0/1端口。
4.当端口F0/1收到带有Tag标记2的数据帧时,检查自身端口的配置,发现F0/1口的Untag表只包含了Tag1,没有包含Tag2,所以保留数据帧的标记,从端口送出。
5.路由器收到这个包含Tag2的数据帧后,发现子接口f0/0.2正是封装的802.1Q2,因此将数据交由子接口f0/0.2处理。
经过上述的5个过程,PC2数据帧终于顺利到达了路由器子接口f0/0.2
截图:
交换机从f0/1口送出的数据桢带有tag2标记:
路由器回应PC2
1.路由器子接口f0/0.2发出一个目的地址是2.2.2.10的数据帧,根据f0/0.2的封装了802.1Q2的属性,路由器将此数据包打上tag2标记后由f0/0.2送出。
2.交换机从端口F0/1收到这个从路由器子接口f0/0.2送来的这个数据帧时,发现这个帧是带有Tag标记2的,所以不再对这个帧进行Tag方面的处理。
3.交换机根据数据帧的Tag标记检查自己的VLAN表,发现VLAN2包含了端口F0/1,F0/3。
4.交换机再检查VLAN2的MAC地址表,只将数据帧转发到F0/3接口(因为F0/3口的PVID值就是2,而进入F0/3端口的数据帧又是不带标记的,所以F0/1口学习到的MAC地址在默认情况下就被VLAN2的物理地址表包含)。
5.交换机的F0/3口接收到这个Tag标记为2的帧后,检查自身端口的配置,发现F0/3口的Untag表包含了Tag1和Tag2。
所以去处帧的标记,从端口送出。
经过上述的5个过程,路由器子接口f0/0.2的数据帧终于顺利到达了PC2
至此,PC2ping通了2.2.2.1
路由器子接口f0/0.2返回给PC2的数据桢带有tag2标记:
经交换机处理后,由f0/3口送出给PC2,已经去处了标记:
PC2ping交换机vlan2地址2.2.2.2
此过程较上面相比更为简单,在此不再阐述
熟悉了这个转发流程后,再来分析为何PC1不能ping通网关1.1.1.1?
既然PC2能ping通网关2.2.2.1,PC1在ping网关1.1.1.1时的流程应该是一样的,那么问题肯定出在上面数据流程分析的几个步骤中的一个上。
PC1发往网关1.1.1.1的数据在进交换机f0/2端口时,根据端口默认的pvid1会给数据加上tag1标记,到了这一步,仔细分析下,就能知道问题肯定出在数据出交换机f0/1口的时候。
再来看下交换机f0/1口的配置:
interfaceFastEthernet0/1
switchportmodetrunk
根据交换机的处理机制,可以知道此端口属于交换机旗下所有vlan,并且没有配置任何去标记的命令,那么默认就是如果数据桢带有vlan1的标记,那么在出端口时将去处tag1,如下所示:
Switch_config#shvlanintf0/1
InterfaceVLAN
NamePropertyPVIDVlan-MapuTagg-VLan-Map
----------------------------------------------------------------
FastEthernet0/1Trunk11-21
因此PC1发出的数据包在达到路由器时已经没有任何标记了,路由器的子接口无法识别,所以PC1ping不通网关1.1.1.1了。
解决办法:
让交换机的f0/1口在向外转发tag1标记的数据时不去标签
配置如下:
Switch_config#intf0/1
Switch_config_f0/1#switchporttrunkvlan-untaggednone
再来看f0/1的untag-vlan-map:
FastEthernet0/1Trunk11-2none
此时再在PC1上ping网关1.1.1.1,可以通了
此时PC1到网关1.1.1.1的数据流程如下:
1.PC1发出一个目的地地址是1.1.1.1的数据帧进入交换机的F0/2口,交换机检查此帧是无Tag标记的帧,F0/2口的默认PVID为1,因此给进入数据帧加上Tag标记1。
发现VLAN1包含了端口F0/1,F0/2。
3.交换机再检查VLAN1的MAC地址表。
由于1.1.1.1的数据帧进入端口F0/1时的标记是Tag1,所以1.1.1.1对应的MAC地址将被VLAN1的MAC表所共享。
故此时根据VLAN1的MAC表,将只转发此数据帧给F0/1端口。
4.当端口F0/1收到带有Tag标记1的数据帧时,检查自身端口的配置,发现F0/1口的Untag表没有包含任何内容,所以保留数据帧的标记,从端口送出。
5.路由器收到这个包含Tag1的数据帧后,发现子接口f0/0.1正是封装的802.1Q1,因此将数据交由子接口f0/0.1处理。
经过上述的5个过程,PC1数据帧终于顺利到达了路由器子接口f0/0.1
截图:
PC1发出的数据帧在出交换机时仍然保留有tag1标记:
路由器子接口f0/0.1回应给PC1的数据桢流程与上述同理
路由器发出的源地址为f0/0.1接口地址1.1.1.1的数据帧带有tag1标记:
这样PC1和PC2都能和各自的网关互通了。
其实要实现这样一个效果,还有另外一种解决方法,无需在交换机f0/1口上作switchporttrunkvlan-untaggednone的配置
即删除子接口f0/0.1,在路由器上将物理接口f0/0作为交换机下vlan1的网关:
路由器配置:
interfaceFastEthernet0/0
ipaddress1.1.1.1255.255.255.0
!
interfaceFastEthernet0/0.2
ipaddress2.2.2.1255.255.255.0
encapsulationdot1Q2
交换机配置:
switchportmodetrunk
interfaceFastEthernet0/2
interfaceFastEthernet0/3
switchportpvid2
对于问题2
问题2:
交换机vlan2和路由器子接口f0/0.2可以互通,但是vlan1和子接口f0/0.1不能互通
交换机vlan2的地址2.2.2.2可以ping通子接口f0/0.2的地址2.2.2.1,先来分析下数据流程:
1.交换机内部生成发往目的地址是2.2.2.1的数据帧
2.交换机检查VLAN2的MAC地址表。
3.当端口F0/1收到带有Tag标记2的数据帧时,检查自身端口的配置,发现F0/1口的Untag表只包含了Tag1,没有包含Tag2,所以保留数据帧的标记,从端口送出。
4.路由器收到这个包含Tag2的数据帧后,发现子接口f0/0.2正是封装的802.1Q2,因此将数据交由子接口f0/0.2处理。
截图:
交换机发往2.2.2.1的数据桢带有tag2标记:
经过上述的4个过程,源地址为交换机vlan2地址2.2.2.2的数据帧终于顺利到达了路由器子接口f0/0.2
数据返回的过程同理,此处不再阐述。
路由器子接口f0/0.2回应给交换机vlan2的数据帧同样带有tag2标记:
现在交换机vlan1地址1.1.1.2不能ping通路由器f0/0.1的地址1.1.1.1,会不会是和问题1的原因一样:
交换机在将此数据帧转发出f0/1口时去掉了tag1标记,导致f0/0.1子接口不能识别?
从逻辑分析上看,此推断完全可能,那么解决方法照旧,将交换机f0/1口设置为不去任何标记
Switch_config_f0/1#switchporttrunkvlan-untaggednone
如此配置之后,问题仍然存在。
因此又推断:
会不会是交换机vlan1虚拟接口发出的数据帧根本就没有带任何标记呢?
为了证实这个推断,抓包分析:
事实果然如此,交换机f0/1口已经设置为不去任何tag标记,但发送给路由器子接口f0/0.1的数据帧仍然没有任何vlan标记。
这会不会是我们交换机的一个bug呢?
实际上交换机的这个处理机制是正常的。
2条有用的规则:
1:
交换机发出的报文和上联端口如果属于同一个PVID,则不带TAG出去。
2:
交换机发出的报文和上联端口不属于同一个PVID,则带TAG出去。
实际上在本文所阐述的这个简单应用中,如果按照上面问题1的另外一个解决方法:
即在路由器上将物理接口f0/0作为交换机下vlan1的网关,那么问题1和问题2将都不复存在。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 路由器 接口 vlan 数据 流程 分析