设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1315|回复: 13
收起左侧

[求助] 问一个VLAN访问的问题,求原理

[复制链接]
发表于 2017-9-13 17:14:27 | 显示全部楼层 |阅读模式
5鸿鹄币
valn.png 图一
我想问下我这里画了个简单的VLAN图,三台PC分别设置为      192.168.1.2(VLAN 20)     192.168.1.6(vlan 1)      192.168.1.3(vlan 30  
这里用的都是二层交换机SWITCH 1   0/1-2 划分的是VLAN 20  0/6 端口用的是默认VLAN 1  SWITCH 2 0/1-2 划分的是VLAN30 。
S1.png
(S1)

S2.png

(S2)
现在情况是两个不同VLAN接口用线连接(连线链路方式不是TRUNK方式),192.168.1.2与192.168.1.3之间可以通,192.168.1.6与两者不通。
这里我想问下两个交换机分别为VLAN 20 与VLAN 30为什么可以通呢(S1端口0/2 VALN 20------连线-------S2端口0/1 vlan 30),这里想问下大神这样的方式为什么会通呢,能用数据的流转方式及原理解释下吗?谢谢大神

最佳答案

查看完整内容

上图是我的拓扑图 R1和R2用的主干链路,更改本地vlan为vlan2 R1的F1/0端口设置为vlan2,access端口;f1/3为默认vlan1,没设置端口模式;f1/2为vlan3,access端口 截图如下 R2的f1/0端口设置为vlan3,access端口;f1/3为默认vlan1,没设置端口模式;f1/2为vlan2,access端口 截图如下 开启wireshark抓R2的f1/1流量包,现在我们来设置R3到R7的ip地址 并分别用R7pingR8,即192.168.1.1 ping 192.168.1.2; R3pingR6,即192 ...
发表于 2017-9-13 17:14:28 | 显示全部楼层

拓扑

拓扑
上图是我的拓扑图
R1和R2用的主干链路,更改本地vlan为vlan2

R1的F1/0端口设置为vlan2,access端口;f1/3为默认vlan1,没设置端口模式;f1/2为vlan3,access端口
截图如下

R1的vlan配置

R1的vlan配置

R2的f1/0端口设置为vlan3,access端口;f1/3为默认vlan1,没设置端口模式;f1/2为vlan2,access端口
截图如下

R2的vlan配置

R2的vlan配置

开启wireshark抓R2的f1/1流量包,现在我们来设置R3到R7的ip地址
并分别用R7pingR8,即192.168.1.1 ping 192.168.1.2;

r7Pr8

r7Pr8

r8

r8

R3pingR6,即192.168.2.1 ping 192.168.2.2;

r3pr6

r3pr6

r6

r6

R5pingR4,即192.168.3.2 ping 192.168.3.1;

r5pr4

r5pr4

r4

r4


从上图看,相同vlan之间都可正常PING通,然后我们去wireshark看抓到的包(因为各种类型的包太多,我们只看其中的arp包)
1.JPG
这个包是R7pingR8,即192.168.1.1 ping 192.168.1.2(连接它们的端口都在默认vlan1里面)。能看出数据包在主干链路上是打了vlan1的标签的,根据trunk口转发机制,交换机内部都是带有标签的数据帧,trunk口除了剥离和本地vlan相同的数据帧以外,其他数据帧都是原封不动的直接转发。所以vlan1的标签应该是R7进入端口的时候打的标签。
2.JPG
这个包是R3pingR6,即192.168.2.1 ping 192.168.2.2(连接它们的端口都在vlan2里面);能看出在主干链路上数据包并没有任何标签。为何呢?因为数据包从access端口进来是打了vlan2标签的,当交换机把这个包交给trunk口准备转发时,trunk口发现vlan标签和本地vlan相同,根据转发机制,trunk口把vlan标签剥离然后转发。这就是上面看到的在主干链路里数据包没有vlan标签的原因。
3.JPG
R5pingR4,即192.168.3.2 ping 192.168.3.1(连接它们的端口都在vlan3里面);能看出数据包在主干链路上是打了vlan3的标签的,根据trunk口转发机制,vlan3并不是本地vlan,所以vlan3的标签应该是在R5进入端口时打的标签,trunk口直接转发该帧。
从实验可以看出,所有数据进入交换机内部时,都会打标签,方便交换机处理。至于本地vlan的作用主要是解决以前交换机主干链路和hub相连时,hub下的PC识别不了带标签的数据帧的办法,交换机收到hub发过来的数据帧打上本地vlan标签实现和远端通信,交换机转发和本地vlan标签的帧时,剥离头部让hub下的PC能识别。
沙发 2017-9-13 17:14:28 回复 收起回复
回复

使用道具 举报

发表于 2017-9-13 18:04:29 | 显示全部楼层
因为你sw1和sw2都是配置的access模式。

当192.168.1.2 第一次ping 192.168.1.3的时候,会发送arp请求,这个broadcast arp会被sw1转发到所有配置了vlan 20或者允许此vlan 20的trunk接口(源接口除外),这样arp包就到达了sw2。sw2和sw1做同样的事,转发此arp包到所有access vlan 30的接口,192.168.1.3就能reply arp request了。至此pc0和pc1都知道了对方的mac,发送数据包能完成数据封装了,ping也就能成功了。

ping不通pc2是因为别人发给它的arp request包它根本收不到,或者他发出去的arp request sw1由于vlan不匹配不转发出去。

当然你在真机上sw1和sw2都会收到native vlan mismatch的错误信息的,如果你开启cdp的话。

点评

感謝費心解答。  发表于 2017-9-13 19:43
板凳 2017-9-13 18:04:29 回复 收起回复
回复

使用道具 举报

发表于 2017-9-13 18:55:29 | 显示全部楼层
acc口入数据加VLAN标记,出数据只允许打该VLAN的出去且同时掉VLAN标记,你1.6入打了VLAN1进了SW1,我想问根据前面的原则,数据怎么出去?能通才怪。1.2入的时候打VLAN20,出SW1时标记被去掉变成普通包,入SW2被打上VLAN30,能从0/2口出去且被去掉VLAN30标记,当然能通了。多VLAN交换机之间不配TR口你配置VLAN有什么意义?

点评

觉得你的分析是正确的。  详情 回复 发表于 2017-9-14 11:52
觉得你的分析是正确的。  详情 回复 发表于 2017-9-14 11:52
咳,也不知道你是不是看了国内哪些出版社翻译的书,到底是谁在祸害人。自己好好查查去吧  发表于 2017-9-13 22:44
仔细看看书吧,打标原则都搞不清楚,你确定你不是来祸害别人的?  发表于 2017-9-13 22:14
access入口是不打vlan标记的,switch内部使用bridge domain来决定到底数据包往哪转发。只有当一个数据包要从trunk口发出去的时候,才会加上802.1q  发表于 2017-9-13 19:27
地板 2017-9-13 18:55:29 回复 收起回复
回复

使用道具 举报

发表于 2017-9-13 21:35:23 | 显示全部楼层
(1)vlan的标记是个本地有效的,也就是说switch1上vlan 20和vlan 1之间是不通的。所以192.168.1.2(vlan20标记)和192.168.1.6(vlan 1标记)之间相互不能访问。
(2)基于上面的原理,都是access口,那就是看一下access的打标记的问题了,switch1的fa0/1口是vlan 20,那192.168.1.2在进入fa0/1时,打上vlan 20标记,而到192.168.1.3时,是从switch1的fa0/2口出去,因为fa0/2口也是vlan 20,出去的流量就是拿掉vlan20的标记,所以switch1和switch2之间的链路是标准的二层帧,是不打任何标记的。当包从switch2的fa0/1进入时,打上vlan 30的标记,从fa0/2出去时,拿掉vlan30的标记,这样,192.168.1.2和192.168.1.3之间就可能通信了。
5# 2017-9-13 21:35:23 回复 收起回复
回复

使用道具 举报

发表于 2017-9-13 22:06:18 | 显示全部楼层
可以用实时模式抓包看看
6# 2017-9-13 22:06:18 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2017-9-14 09:38:31 | 显示全部楼层
谢谢,各位
7# 2017-9-14 09:38:31 回复 收起回复
回复

使用道具 举报

发表于 2017-9-14 11:52:29 | 显示全部楼层
btlass 发表于 2017-9-13 18:55
acc口入数据加VLAN标记,出数据只允许打该VLAN的出去且同时掉VLAN标记,你1.6入打了VLAN1进了SW1,我想问根 ...

觉得你的分析是正确的。
8# 2017-9-14 11:52:29 回复 收起回复
回复

使用道具 举报

发表于 2017-9-14 11:52:33 | 显示全部楼层
btlass 发表于 2017-9-13 18:55
acc口入数据加VLAN标记,出数据只允许打该VLAN的出去且同时掉VLAN标记,你1.6入打了VLAN1进了SW1,我想问根 ...

觉得你的分析是正确的。
9# 2017-9-14 11:52:33 回复 收起回复
回复

使用道具 举报

发表于 2018-1-11 11:32:51 | 显示全部楼层
学习
10# 2018-1-11 11:32:51 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-3-28 18:36 , Processed in 0.068059 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表