网络以太网之(2)VLAN协议

打印 上一主题 下一主题

主题 1823|帖子 1823|积分 5469

网络以太网之(1)VLAN协议

  
   Author: Once Day Date: 2024年4月1日


  一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,大概尽头只是一场白日梦…


   漫漫长路,有人对你微笑过嘛…


  全系列文档可参考专栏:通讯网络技术_Once-Day的博客-CSDN博客


  参考文章:
  

  • 《TCP/IP详解卷一》
  

  
1. VLAN虚拟局域网

1.1 VLAN协议格式

VLAN(Virtual Local Area Network)又称虚拟局域网,是一种将局域网设备从逻辑上分别成一个个网段,从而实现虚拟工作组的新兴数据交换技术。
一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,答应处于不同地理位置的网络用户加入到一个逻辑子网中。
VLAN工作在OSI参考模型的第2层和第3层,IEEE标准为 802.1Q,VLAN之间的通讯是通过第3层的路由来完成的。
Tag帧格式



  • TPID (Tag Protocol Identifier,也就是EtherType)IEEE界说的新的范例,表明这是一个加了802.1Q标签的帧。TPID包罗了一个固定的值0x8100。
  • TCI (Tag Control Information),界说了两字节的控制信息。
  • User Priority:用于界说用户优先级,共有8个优先级别。IEEE 802.1P 为3比特的用户优先级位界说了操纵。
  • 最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新。
  • 优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音。
  • 优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streaming multimedia)和关键性业务流量(business-critical traffic)。
  • 优先级0是缺省值,并在没有设置其它优先级值的环境下自动启用。
  • CFI(规范格式指示器Canonical Format Indicator):CFI值为0阐明是规范格式,1为非规范格式。它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地点的比特次序信息。规范格式指地点的十六进制表示中每一个字节的最低位,代表规范格式地点中相应字节的最低位。
  • VID:该字段为12-bit, 是对 VLAN 的识别字段,在标准 802.1Q 中常被使用。支持4096(2的12次方) VLAN 的识别。在4096大概的VID 中,VID=0 用于识别帧优先级。 4095(FFF)作为预留值,所以 VLAN 设置的最大大概值为4094。 所以有效的VLAN ID范围一般为1-4094。
1.2 VlAN的作用



  • 控制网络的广播风暴
  • 安全,由于VLAN 功能分别了多个广播域,不属于同一个VLAN的端口将不能举行通讯,加强了安全性。
  • 简化网络管理。
1.3 VLAN的分别

基于端口分别


  • 根据交换机接口分配VLAN ID。
  • 优点: 分别简单
  • 缺点: 是某个用户的端口连到新端口后,需要重新界说。
基于MAC地点分别


  • 根据报文的源MAC地点分配VLAN ID
  • 优点: 当用户物理位置移动时,VLAN不用重新设置
  • 缺点: 初始化时所有的用户都必须举行设置,假如有几百个乃至上千个用户的话,设置好坏常累的。而且这种分别的方法也导致了交换机实行效率的低落,由于在每一个交换机的端口都大概存在很多个VLAN组的成员,这样就无法限定广播包了。别的,网卡假如更换,也会导致VLAN需要重新设置。
基于子网分别


  • 根据报文的源IP地点分配VLAN ID,一般用于对同一网段的用户,举行同一管理的场景。
  • 优点: 用户的物理位置改变了,不需要重新设置所属的VLAN,而且可以根据协议范例来分别VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以镌汰网络的通讯量。
基于用户分别:


  • 基于用户界说、非用户授权来分别VLAN,是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来界说和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。
1.4 VLAN的输入规则查抄

输入规则查抄即交换机接收到一个数据报文时,需要判定端口是否在接收到的报文所分别的VLAN中,假如端口不在接收报文所分别的VLAN,则此报文需要被抛弃。

  • 对输的帧的VID举行查抄,假如VID==0xFFF,报文将会被抛弃。
  • 帧的VID属性是否与设置同等,即端口可以使能只接收含有VLAN-TAG的帧,此时收到VID==0x0的报文则直接抛弃。
  • 在使能VLAN查抄的环境下:端口不在所收到的帧的VID对应的VLAN中,则抛弃此报文。
1.5 VLAN的输出规则查抄

输出规则查抄用于在报文输出时,判定端口是否在输出报文VID所对应的VLAN中。

  • 输出端口不在帧VID对应的VLAN当中,报文被抛弃。
  • 假如端口要求输出UNTAG帧,但TAG中的CFI位为1,此时报文被抛弃。
  • 当报文通过输出规则查抄确定可以在此端口输出时,还需要确定是tag输出还是untagged输出,也即输出报文是否带有802.1q tag,此规则也由用户指定。当确定输出报文为tag报文时,其tag中的VID即为此报文所分别的VLAN ID。
2. VLAN与端口

2.1 VLAN的端口范例

PVID:Port VLAN ID,指端口的缺省VLAN ID。Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。
PVID主要有两个作用:第一对于接收到的Untag包则添加本端口的PVID再举行转发;第二是接收过滤作用,比如只接收等于PVID的VLAN TAG包。
VLAN ID:VLAN TAG包的VLAN ID号,有效范围是1-4094,0和4095都为协议保留值。


  • 0 表示不属于任何VLAN,但携带802.1Q的优先级标签,一般被称为Priority-only frame,其一般作为体系使用,用户不可使用和删除。
  • 1为体系默认VLAN,即Native VLAN。
  • 2-1001是普通的vlan。
  • 1006-1024保留仅体系使用,用户不能查看和使用
  • 1002-1005是支持fddi和令牌环的vlan
  • 1025-4095是扩展的vlan。
Tag、untag:tag是指以太网数据帧中携带有4字节802.1Q信息的VLAN标签,此中vlan id,用于指名数据包属于那个vlan,untag指数据包不属于任何vlan,没有vlan标签。
Access的端口范例:Access口只能属于1个VLAN,一般用于连接计算机的端口。

Trunk端口: Trunk口上可以同时传送多个VLAN的包,一般用于交换机之间的链接。

2.1 VLAN报文输入输出规则

接口范例接收不带Tag的报文接收带Tag的报文发送帧处置惩罚过程Access接口接收该报文,并打上缺省的VLAN ID。对比VLAN ID与缺省VLAN ID相同时,接收该报文。 不同时,抛弃该报文。先剥离帧的PVID Tag,然后再发送。Trunk接口打上缺省的VLAN ID。当缺省VLAN ID在答应通过的VLAN ID列表里时,接收该报文。当缺省VLAN ID不在答应通过的VLAN ID列表里时,抛弃该报文。当VLAN ID在接口答应通过的VLAN ID列表里时,接收该报文。 当VLAN ID不在接口答应通过的VLAN ID列表里时,抛弃该报文。当VLAN ID与缺省VLAN ID相同,且是该接口答应通过的VLAN ID时,去掉Tag,发送该报文。 当VLAN ID与缺省VLAN ID不同,且是该接口答应通过的VLAN ID时,保持原有Tag,发送该报文。 Access端口只属于1个VLAN,所以它的缺省VLAN就是它地点的VLAN,不用设置;
Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省环境下,Trunk端口的缺省VLAN为VLAN 1 假如设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,假如该报文的VLAN ID与端口缺省的VLAN ID相同,则体系将去掉报文的VLAN Tag,然后再发送该报文。
2.3 实例分析

Tag table表示是否输出Tag帧。
成员table表示是否属于该VLAN。



  • 端口1收到Untagged帧,打上默认的PVID=1。
  • 端口2不属于VLAN 1网络,因此不能转发。
  • 端口3属于VLAN 1网络,且需要转发Tag帧。
  • 端口4属于VLAN 1网络,且需要输出Untagged帧。
  • 端口1和4非Access/Trunk口,由于PVID指向的VLAN,不能输出Tag帧,都应该是Untagged帧。端口4缺省PVID为3,根据Trunk口规则,非缺省PVID都输出Tag帧。



  • 端口1输入Tagged帧,Vid=2,其属于VLAN 2成员,因此可以输入。
  • 端口2非VALN 2成员,不输出。
  • 端口3缺省PVID为2,因此不能输出Tagged帧,因此非Access/Trunk口。
  • 端口4缺省PVID为3,因此VLAN 2要输出Tagged帧,因此非Access/Trunk口。
总结


  • 默认PVID不能输出Tagged帧,非默认PVID必须输出Tagged帧。







   Once Day

  

    也信美人终作土,不堪幽梦太匆匆......
    假如这篇文章为您带来了资助或启发,不妨点个赞

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表