带着问题找答案:网络链路上的数据包怎么看,是否携带vlan-id如何看,以及如何设计链接类型满足用户要求,请看如下解析。
第一种:链接类型access 无标记数据帧
第二种:链接类型trunk
第三种:链接类型hybrid
第一种:链接类型access,多数用于链接终端设备,如pc和交换机连接,服务器和交换机连接等,载荷数据层层封装后被发送出去,在物理链路上是不带vid的,当到达直连交换机接口时候,如果是根据接口划分的vlan,则进入交换机之前会被加上vlan的id号码,当然我们可以在交换机其他出接口查看这个报文,如下图
pc1,pc2,pc3设备ip分别是192.168.1.1,192.168.2.1,192.168.3.1,交换机E1,E2,E3接口配置的链接方式access,默认vlan分别是10,20,30,我们在G1口抓包,让各个pc互ping查看报文信息,如果让数据包能够经过g0/0/1,我们g1口连接类型设置trunk,并且允许通过这三个vlan才可以抓包,用pc1ping结果如下
查看抓包信息
可以看到采用的是802.1Q标准,其中有个字段表示就是vlan的信息,如图ID10。
此时我们看到链接类型是trunk的物理链路是可以收发带vlanid的数据帧的,我们再来看接受pc设备的E0/0/1是否带vlanid的信息,如下图,我们在lsw1的E1口抓包,理论上是不带802.1Q的tag的,看结果
可以看到,并没有802.1Q这个信息,所有access链接类型不会携带vlan的id,那么trunk类型一定会携带vlan的id吗?
其实不一定,正常trunk配置后有一个默认的vlan1,如果我们修改这个默认的vlan信息,那么发出的数据帧如果和默认vlan的id一致,则会剥离数据帧的vlan信息,加入我们把lsw1的g1口的默认vlan设置成vlan10我们查看下此接口的抓包信息,此次需要对比,所以分别用pc1和pc2测试,理论上,vlan10的数据帧从g1口发出会不带vlan-id,其他则会携带802.1Q的vlan的id信息,结果如图
修改trunk的默认id
在g1处抓包,pc1的报文如下,因为pc1报文vlan是10,和trunk的默认vlan一样,所以在发送数据帧的时候会剥离vlan-id的信息
pc2抓包信息如下
可以看到pc2的抓包信息是携带802.1Q的tag,也就是携带vlan信息的,所有说trunk物理链路是否携带vlan信息是看具体接口设置的默认vlan信息的
最后Hybrid类型,其实此链接类型算是两者的结合,可以通过名命令配置是否携带vlan信息,修改G1口类型为Hybrid,让pc2数据帧不带tag,抓包查看下结果
先不带vlan信息测试,配置和测试结果如下
pc1的ping抓包如下,可以看到并没有写到802.1Q的vlan-id信息,接下看下pc2
pc2的ping抓包结果
现在让pc1不带vlan,pc2带vlan,配置这抓包测试如下
pc2抓包结果
pc1测试抓包结果
通过以上可以看出hybrid配置的灵活性,但是常见企业校园网一般多数都是用access链接终端,trunk链接交换机之间的链接,具体看用户要求吧。