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!

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

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

VLAN学习笔记大全<br>VLAN学习笔记大全(1):为什么需要VLAN<br>什么是VLAN? <br><br>  VLAN(Virtual LAN),翻译成中文是"虚拟局域网"。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络VLAN所指的LAN特指使用路由器分割的网络--也就是广播域。<br><br>  在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。<br><br>  本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。<br><br>  未分割广播域时……<br><br>  那么,为什么需要分割广播域呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。<br> <br><br>图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播"ARP请求(ARP Request)信息",来尝试获取计算机B的MAC地址。<br>  交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。<br><br><br> <br><br>  请大家注意一下,这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。<br><br>  广播信息是那么经常发出的吗?<br><br>  读到这里,也许会问:广播信息真是那么频繁出现的吗?<br><br>  答案是:是的!实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。<br><br>  ARP广播,是在需要与其他主机通信时发出的。当客户机请求DHCP服务器分配IP地址时,就必须发出DHCP的广播。而使用RIP作为路由协议时,每隔30秒路由器都会对邻近的其他路由器广播一次路由信息。RIP以外的其他路由协议使用多播传输路由信息,这也会被交换机转发(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等协议也经常需要用到广播。例如在Windows下击打开"网络计算机"时就会发出广播(多播)信息。(Windows XP除外……)<br><br>  总之,广播就在我们身边。下面是一些常见的广播通信:<br><br>  l ARP请求:建立IP地址和MAC地址的映射关系。<br><br>  l RIP:一种路由协议。<br><br>  l DHCP:用于自动设定IP地址的协议。<br><br>  l NetBEUI:Windows下使用的网络协议。<br><br>  l IPX:Novell Netware使用的网络协议。<br><br>  l Apple Talk:苹果公司的Macintosh计算机使用的网络协议。<br><br>  如果整个网络只有一个广播域,那么一旦发出广播信息,就会传遍整个网络,并且对网络中的主机带来额外的负担。因此,在设计LAN时,需要注意如何才能有效地分割广播域。<br><br>  广播域的分割与VLAN的必要性<br><br>  分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。<br><br>  但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。<br><br>  况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。<br><br>  与路由器相比,二层交换机一般带有多个网络接口。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。<br><br>  用于在二层交换机上分割广播域的技术,就是VLAN。通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。<br>VLAN学习笔记大全(1):为什么需要VLAN<br>什么是VLAN? <br><br>  VLAN(Virtual LAN),翻译成中文是"虚拟局域网"。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络VLAN所指的LAN特指使用路由器分割的网络--也就是广播域。<br><br>  在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。<br><br>  本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。<br><br>  未分割广播域时……<br><br>  那么,为什么需要分割广播域呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。<br><br><br>图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播"ARP请求(ARP Request)信息",来尝试获取计算机B的MAC地址。<br>  交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。<br><br><br><br><br>  请大家注意一下,这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。<br><br>  广播信息是那么经常发出的吗?<br><br>  读到这里,也许会问:广播信息真是那么频繁出现的吗?<br><br>  答案是:是的!实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。<br><br>  ARP广播,是在需要与其他主机通信时发出的。当客户机请求DHCP服务器分配IP地址时,就必须发出DHCP的广播。而使用RIP作为路由协议时,每隔30秒路由器都会对邻近的其他路由器广播一次路由信息。RIP以外的其他路由协议使用多播传输路由信息,这也会被交换机转发(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等协议也经常需要用到广播。例如在Windows下击打开"网络计算机"时就会发出广播(多播)信息。(Windows XP除外……)<br><br>  总之,广播就在我们身边。下面是一些常见的广播通信:<br><br>  l ARP请求:建立IP地址和MAC地址的映射关系。<br><br>  l RIP:一种路由协议。<br><br>  l DHCP:用于自动设定IP地址的协议。<br><br>  l NetBEUI:Windows下使用的网络协议。<br><br>  l IPX:Novell Netware使用的网络协议。<br><br>  l Apple Talk:苹果公司的Macintosh计算机使用的网络协议。<br><br>  如果整个网络只有一个广播域,那么一旦发出广播信息,就会传遍整个网络,并且对网络中的主机带来额外的负担。因此,在设计LAN时,需要注意如何才能有效地分割广播域。<br><br>  广播域的分割与VLAN的必要性<br><br>  分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。<br><br>  但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。<br><br>  况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。<br><br>  与路由器相比,二层交换机一般带有多个网络接口。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。<br><br>  用于在二层交换机上分割广播域的技术,就是VLAN。通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。<br><br>VLAN学习笔记大全(2):VLAN的访问链接<br>交换机的端口<br><br>  交换机的端口,可以分为以下两种:<br><br>  l 访问链接(Access Link)<br><br>  l 汇聚链接(Trunk Link)<br><br>  接下来就让我们来依次学习这两种不同端口的特征。这一讲,首先学习"访问链接"。<br><br>  访问链接<br><br>  访问链接,指的是"只属于一个VLAN,且仅向该VLAN转发数据帧"的端口。在大多数情况下,访问链接所连的是客户机。<br><br>  通常设置VLAN的顺序是:<br><br>  l 生成VLAN<br><br>  l 设定访问链接(决定各端口属于哪一个VLAN)<br><br>  设定访问链接的手法,可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为"静态VLAN"、后者自然就是"动态VLAN"了。<br><br>  静态VLAN<br><br>  静态VLAN又被称为基于端口的VLAN(Port Based VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。<br><br><br> <br><br><br>  由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定--这显然不适合那些需要频繁改变拓补结构的网络。<br><br>  动态VLAN<br><br>  另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类:<br><br>  l 基于MAC地址的VLAN(MAC Based VLAN)<br><br>  l 基于子网的VLAN(Subnet Based VLAN)<br><br>  l 基于用户的VLAN(User Based VLAN)<br><br>  其间的差,主要在于根据OSI参照模型哪一层的信息决定端口所属的VLAN。<br><br>  基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址"A"被交换机设定为属于VLAN"10",那么不论MAC地址为"A"的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。<br><br> <br><br>  由于是基于MAC地址决定所属VLAN的,因此可以理解为这是一种在OSI的第二层设定访问链接的办法。<br><br>  但是,基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。<br><br>  基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。<br><br> <br><br>  因此,与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。<br><br>  基于用户的VLAN,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。<br><br>  总的来说,决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。<br><br>  访问链接的总结<br><br>  综上所述,设定访问链接的手法有静态VLAN和动态VLAN两种,其中动态VLAN又可以继续细分成几个小类。<br><br>  其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的,不同厂商的设备之间互联有可能出现兼容性问题;因此在选择交换机时,一定要注意事先确认。<br>VLAN学习笔记大全(3):实现VLAN的机制<br>在理解了"为什么需要VLAN"之后,接下来让我们来了解一下交换机是如何使用VLAN分割广播域的。<br><br>  首先,在一台未设置任何VLAN二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。例如,计算机A发送广播信息后,会被转发给端口2、3、4。<br>  交换机<br><br>  广播帧<br><br>  交换机收到广播帧后,转发到除接收端口外的其他所有端口。<br><br>  这时,如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口--也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。<br><br>  同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。<br><br> <br>  就这样,VLAN通过限制广播帧转发的范围分割了广播域。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用"VLAN ID"来区分的。<br><br>  直观地描述VLAN<br>  如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。<br> <br><br><br>  在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。<br><br>  但是,VLAN生成的逻辑上的交换机是互不相通的。因此,在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。<br><br>  明明接在同一台交换机上,但却偏偏无法通信--这个事实也许让人难以接受。但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。<br><br>  需要VLAN通信时怎么办<br>  那么,当我们需要在不同的VLAN通信时又该如何是好呢?<br>  请大家再次回忆一下:VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,VLAN间的通信也需要路由器提供中继服务,这被称作"VLAN间路由"。<br>  VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。其中的具体内容,等有机会再细说吧。在这里希望大家先记住不同VLAN间互相通信时需要用到路由功能。<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值