native vlan

native vlan_第1张图片

 

1.现象描述

这是一个单臂路由,正常情况都能ping通对方

2.做点小改动

把sw-e0/2的native改成vlan2

可以知道

pc1和pc2之间无法ping通

pc1不可以ping通网关,而pc2可以

反过来,网关不可以ping通pc1,而可以ping通pc2

这是怎么回事呢?

通过在e0/2-f0/0之间抓包可以知道

DTP的id这个字段发送的是native vlanid

native vlan_第2张图片

在R1上可以看到封装的时候自动加入了native

从而可以说明路由器从某种程度上说可以是交换机

两边native不匹配

细说过程

Pc1发送报文给网关,包首先进入交换机e0/1口,打上vlan1id,交换机经过查找,只能把包从e0/0发出去(trunk),但这里native改成2了,trunk口发现要发送出去的包的vlanid不是native,也就什么都不变就发送出去

native vlan_第3张图片

路由器收到后发现是vlan1的,目的ip是本路由器的直连,发送回包

但这里我们得知道,路由器某种程度上说是交换机,还记得上面f0/0.1子接口的配置吗?

后面加上了native,所以当路由器发送的回包里面没有vlanid字段

native vlan_第4张图片

这是为什么呢,应为这是native起到的作用,当这个vlanid于native匹配,它会去除vlanid!!

也就是发包到交换机后它会打上native的vlan,也就是vlan2,所以可以知道包发到vlan2去了!!这听起来会很离谱,所以两边native vlan匹配很重要!!

问:native的作用

文心一言:

Native VLAN主要是在Trunk链路上起到重要作用。在Access链路上并不涉及Native VLAN的概念。其存在的主要原因是支持VLAN与不支持VLAN的设备相互兼容。以下是几个具体的例子:

  1. 当支持VLAN的设备与不支持VLAN的设备(如部分旧版本的交换机和计算机网卡)通信时,需要将VLAN标签去掉,这样设备才能正确识别数据帧。
  2. 如果在Trunk链路上使用STP协议,但数据帧在进入Trunk链路时未标记,那么Trunk将给这些帧打上Native VLAN的标记,使得这些帧在Trunk中以Native vlan的身份传输。

总结来说,Native vlan的存在是为了在支持与不支持VLAN的设备之间实现兼容。

问:不同设备native作用一样吗  

文心一言:

不同设备的Native VLAN具有相同的作用,即都是在Trunk链路上起到重要作用,用于在支持与不支持VLAN的设备之间实现兼容。

具体来说,Native VLAN是一种特殊的VLAN,它通常被用于处理Trunk链路上的数据帧。当数据帧在进入Trunk链路时未标记,Trunk会将给这些帧打上Native vlan的标记,使得这些帧在Trunk中以Native vlan的身份传输。这个过程中,设备能够正确识别数据帧,实现了支持与不支持VLAN的设备之间的兼容。

不同设备的Native vlan在作用上的一致性,使得无论是在哪种设备中,我们都可以使用相同的规则来处理数据帧,从而确保数据传输的稳定性和兼容性。

你可能感兴趣的:(网络,网络)