native vlan(本征vlan)----vlan 1 与一般vlan的区别详细解答、tag字段简介、二层异vlan通信、双vlan tag跳跃攻击(附图,建议电脑观看)

目录

一、一般vlan

二、tag字段简介: 

 三、本征vlan(默认vlan 1)

概述:

注:本征vlan没有tag字段,一般用来传输一些系统级别的流量,一般默认数据在本征vlan中传输

案列一:实现二层交换异vlan 访问

过程解析:

 案列二:双vlan tag跳跃攻击

过程解析:

如何防御:



一、一般vlan

一般vlan ,例如图中 vlan 10 ,当pc1访问pc2时,pc1发送数据帧:

smac:0.......Asip:10.1.1.1IcmpEcho
dmac:0.......Bdip:10.1.1.2
type:0800

到达sw1的f0/1 接口封装tag字段,在tag字段中 VID:10 

dmac        smac          tag        typeipICMPECHO

当到达sw2的f0/2 时又把tag字段拿掉,并依据tag字段中VID判断该交换机有哪些接口属于这个vlan,之后转发这个数据包

------------------------------------------------------------------------------------------------------------------------------- 

二、tag字段简介: 

tag 字段由4个字节组成,前两个字节为TPID(TAG Protocol Identifier),其值固定为0x8100,表示是dot1q标准的TAG。后两个字节为TCI(TAG Control Information),它又分为三个部分,

(1)user_priority:用户优先级,占3个比特,可以表示8种不同的优先级,不同优先级的报文可以得到不同级别的服务;

(2)CFI:规范格式指示符(Canonical Format Indicator),占一个比特,它通常设置为0,表示报文中的MAC地址格式为规范格式(遵循IEEE 802标准,即字节中的比特位顺序与标准一致),如果该位设置为1,则根据网络类型的不同具有不同的意义,具体可以参考dot1q标准文档。

(3)VID:即VLAN的标志符,占12个比特,表示一个无符号整数,范围从0~4095,其中0表示报文没有指定的VID(priority tagged),4095按规定是保留的,不能使用,交换机收到这样的报文不会进行转发,因此可用的VID范围为1~4094,这其中VID 1又规定为默认VLAN,在用户没有配置的情况下,设备的出厂配置是所有端口属于VLAN 1,端口的默认VID也是VLAN 1。

(转载(50条消息) (转)802.1Q标准中TAG字段简单说明_weixin_33932129的博客-CSDN博客

 ----------------------------------------------------------------------------------------------------------------------------

 三、本征vlan(默认vlan 1)

概述:

所有的帧在trunk中都是打上标记的,也就是tag,不同点在于,如果帧在进入trunk以前已经打上标记了,比如vlan2的标记,并且trunk又允许vlan2通过的话,该vlan 2的帧就通过,反之丢弃。 另外如果帧在进入trunk时是没有标记的,那么trunk就会给他打上nativevlan的标记,该帧在trunk中就以native vlan的身份传输,native vlan 是用于trunk链路的, 在access链路没有native vlan的念。

在一些协议中,如STP,交换机之间是要互相协商通讯的, 如果对STP的数据包打了tag的话, 会导致一些不支持VLAN的在交换机不能相互协商。为了解决这个问题, 提出native vlan的概念。在trunk中, 对于没有带tag的流入数据, 在交换机中打下native vlan id, 流出时, 当发现tag是该端口的native vlan ID,去掉tag转发。

对于支持pvlan的交换机,每个端口都有一个pvid(PVID是不分trunk 口或access口), 缺省跟该端口的VLAN ID一样,对设置成trunk口的端口, pvid 等于 native vlan ID。

trunk链路上,如果switchport trunk allowed vlan all,那么所有带有vlan信息的帧都允许通过,如果不加switchport trunk allowed vlan all,那么只有native vlan 这个vlan的帧才能通过,默认native vlan 是vlan 1,有些情况下trunk出问题了,只能vlan 1的信息才能通过,vlan 1是管理vlan, 当然你也可以通过命令修改native vlan为vlan 2或者vlan 3,命令:switchport trunk native vlan vlanID。 验证命令:show interfaces f0/24 switchport 。

--------------------------------------------------------------------------------------------------------(转自百度百科)

注:本征vlan没有tag字段,一般用来传输一些系统级别的流量,一般默认数据在本征vlan中传输

----------------------------------------------------------------------------------------------------------------------------------------------------------------

案列一:实现二层交换异vlan 访问

需求:使pc2和pc3通信

方法:把0/5接口native vlan的ID改为5,0/6接口的native vlan的ID改为6

注:1、 如果把0/2接口划进vlan 5,则0/2接口只能收到两种数据帧:1、没有tag字段的;2、tag字段中VID为5的。如果0/6接口收到一个没有tag字段的数据帧,则sw2接口会向自己的native vlan 泛洪。2、trunk接口可以修改native vlan的ID(并不影响流量的传输)

过程解析:

pc2访问pc3的数据帧到达0/5接口时,是不需要标记tag字段的,因为vlan 5在0/5接口是作为native vlan,到达0/6时没有tag字段的数据帧,则sw2接口会向自己的native vlan 泛洪。(此时vlan 6是作为native vlan)

 案列二:双vlan tag跳跃攻击

过程解析:

pc1伪造数据帧(两层tag):0/1接口默认属于vlan1的,能收到tag字段VID为1的数据帧, 当0/1接口收到带有双tag的数据帧时,只关心第一个tag,同时把第一个tag字段拆开,并朝自己的0/5接口转发,此时并没有封装新的tag(因为前面tag中VID为1,本征vlan),然后sw2收到以后,发现tag字段中VID为96,朝向pc4转发。(单向)(可以跳过ACL等实现访问)

如何防御:

1、修改交换机上的native vlan(由默认的1修改为其他)

2、针对native vlan标记tag字段

3、在交换机所有没有使用的接口置为ACCESS模式(许多厂商的交换机默认开启DTP协商),防止产生恶意的trunk链路(相当于关闭DTP,trunk协商),关闭没有用的接口(进入接口shutdown),把所有关闭的接口划进一个特定的VLAN。实际的项目里面,常用的是ON模式,要求双方模式必须匹配!否则可能会造成光口无法UP!

---------------------------------------------------------------------------------------------------------------------------------------------------

以上仅代表个人观点,如有错误还请指出,感谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值