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

这篇具有很好参考价值的文章主要介绍了网络以太网之(2)VLAN协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络以太网之(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帧格式

网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,VLAN

  • 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,则此报文需要被丢弃。

  1. 对输的帧的VID进行检查,如果VID==0xFFF,报文将会被丢弃。
  2. 帧的VID属性是否与设置一致,即端口可以使能只接收含有VLAN-TAG的帧,此时收到VID==0x0的报文则直接丢弃。
  3. 在使能VLAN检查的情况下:端口不在所收到的帧的VID对应的VLAN中,则丢弃此报文。
1.5 VLAN的输出规则检查

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

  1. 输出端口不在帧VID对应的VLAN当中,报文被丢弃。
  2. 如果端口要求输出UNTAG帧,但TAG中的CFI位为1,此时报文被丢弃。
  3. 当报文通过输出规则检查确定可以在此端口输出时,还需要确定是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,一般用于连接计算机的端口。

网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,VLAN

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

网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,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。

网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,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帧。

网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,VLAN

  • 端口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帧。






网络以太网之(2)VLAN协议,# 通信网络技术,网络,计算机网络,以太网,VLAN

Once Day

也信美人终作土,不堪幽梦太匆匆......

如果这篇文章为您带来了帮助或启发,不妨点个赞👍和关注,再加上一个小小的收藏⭐!

(。◕‿◕。)感谢您的阅读与支持~~~文章来源地址https://www.toymoban.com/news/detail-853180.html

到了这里,关于网络以太网之(2)VLAN协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络【IP协议与以太网】

    ● 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4 ●4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节 ●8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TO

    2024年02月02日
    浏览(59)
  • [计算机通信网络]以太网的帧格式详解

    目录 一、前言 二、以太网的帧格式 Preamble(前导码): SFD(帧开始定界符): Destination Address,Source Address: Type/Len(类型/长度): Data(数据): FCS(Frame Check Sequence)(帧校验码): 以太网的帧格式对于我们理解mac地址与局域网间通信有着很大的帮助。 这篇博客主要记录

    2024年02月06日
    浏览(51)
  • 【计算机网络】 IP协议格式以及以太网帧结构

    IP工作在网络层 IP头分为两部分,固定部分和可变部分,固定部分就是一定要带这些数据,正常存储应该是连续的,并不是像图中这样会换行,图中只是为了方便观察。 首先是一个版本号,也就是看是ipv4还是ipv6,然后是首部长度,就是我们ip头的首部长度,是为了能将首部和

    2024年02月09日
    浏览(60)
  • 【网络编程·数据链路层】MAC帧/以太网协议/ARP协议/RARP协议

     需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。 目录 一、MAC帧 1、IP地址和MAC地址的区别 2、MAC帧协议 3、MTU对IP协议的影响 4、MTU对UDP协议的影响 5、MTU对TCP协议的影响 二、

    2024年02月07日
    浏览(52)
  • xilinx rdma实现100G以太网开发笔记,支持标准ROCE V2协议,与PC大带宽通信,支持麦乐斯全系列网卡

    背景 随着现代存储需求越来越快,对数据的传输要求也越来越高,万兆网还未普及,100G以太网需求就已经出现了,实现这种方案主要还是通过FPGA或者ASIC的方式。 RDMA作为100G以太网解决方案的一个重要选择,关于RDMA的概念可参考博客https://blog.csdn.net/bandaoyu/article/details/11285

    2024年02月12日
    浏览(49)
  • 网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。 专栏:《网络编程》 传输层及其以下的机制由内

    2024年01月16日
    浏览(69)
  • 【以太网通信】RS232 串口转以太网

    最近和 RK 研发同事在调试通信接口,排查与定位 RK3399 接收数据出错的问题。FPGA 与 RK3399 之间使用一路 RS232 串口进行通信,由于串口数据没有分包,不方便排查问题,想到可以开发一个 RS232 串口转以太网的工具,将串口接收到的数据封装为 UDP 数据报文,并通过网线传输到

    2024年02月11日
    浏览(60)
  • TCP/IP网络参考模型(端口号、TCP滑动窗口、TCP拥塞控制、IP协议号、以太网帧)

    目录 TCP/IP四/五层模型 应用层常见协议——传输数据PDU 传输层协议——传输数据段 端口号 TCP面向连接服务CONS  TCP报文格式 TCP数据传输——ACK确认机制 TCP会话建立——三次握手 TCP会话结束——四次握手 TCP流量控制——滑动窗口协议 TCP可靠传输机制 TCP拥塞控制 UDP无面向连

    2024年02月03日
    浏览(60)
  • 数据链路层协议 ——— 以太网协议

    IP拥有将数据跨网络从一台主机送到另一台主机的能力,但IP并不能保证每次都能够将数据可靠的送到对端主机,因此IP需要上层TCP为其提供可靠性保证,比如数据丢包后TCP可以让IP重新发送数据,最终在TCP提供的可靠性机制下IP就能够保证将数据可靠的发送到对端主机。 TCP除

    2024年02月01日
    浏览(68)
  • 以太网协议学习笔记

    以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY两大部分构成。 PHY在发送数据时,接收MAC发过来的数据,把并行的数据转化为串行流数据,按照物理层的编码规则把数据编码转化为模拟信号发送出去,接收数据时的流程反之。 MAC和PHY芯片有一个配置接口,

    2024年02月14日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包