当前位置: 首页 > news >正文

虚拟局域网VLAN的实现机制

虚拟局域网VLAN的实现机制

  • 1.IEEE 802.1Q帧
  • 2.交换的端口类型
    • Access
    • Trunk
    • Hybrid(华为特有)

1.IEEE 802.1Q帧

IEEE802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记。

在这里插入图片描述
在这里插入图片描述


2.交换的端口类型

  • Access
  • Trunk
  • Hybrid

Access

  • Access端口一般用于连接用户计算机
  • Access端口只能属于一个VLAN
  • Access端口的PVID值与端口所属VLAN的ID相同(默认为1)

Access端口接收处理方法:

一般只接受“未打标签”的普通以太网MAC帧。根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。

在这里插入图片描述

Accessi端口发送处理方法:

若帧中的VID与端口的PVID相等,则“去标签”并转发该帧;否则不转发。

在这里插入图片描述

Trunk

  • Trunk端口一般用于交换机之间或交换机与路由器之间的互连
  • Trunk端口可以属于多个VLAN
  • 用户可以设置Trunk端口的PVID值。默认情况下,Trunk端口的PVID值为1。

Trunk端口发送处理方法:

对VID等于PVID的帧,“去标签”再转发:

在这里插入图片描述

对VID不等于PVID的帧,直接转发;

在这里插入图片描述

Trunk端口接收处理方法:

  • 接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等
  • 若转发的该帧已经打上了标签,则直接接收“已打标签的帧”

Hybrid(华为特有)

  1. Hybrid端口既可用于交换机之间或交换机与路由器之间的互连(同Trunk端口),也可用于交换机与用户计算机之间的互连(同Access端口)
  2. Hybrid端口可以属于多个VLAN(同Trunk端口)
  3. 用户可以设置Hybrid端口的PVID值。默认情况下,Hybrid端口的PVID值为1(同Trunk端口)

Hybrid端口接收处理方法(同Trunk端口)

  • 接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等
  • 接收“已打标签的帧”

Hybrid端口发送处理方法(与Trunk端口不同)

查看帧的VID是否在端口的**“去标签”列表**中:

  • 若存在,则“去标签”后再转发
  • 若不存在,则直接转发

【应用举例】主机A、B、C连接在同一个交换机的不同接口上。利用Hybrid端口的功能,实现以下应用需求:A和B都能与C相互通信,但A与B不能相互通信

AB都能和C进行通信:

在这里插入图片描述

A和B不能进行通信:

在这里插入图片描述

http://www.lryc.cn/news/24929.html

相关文章:

  • Mask R-CNN 算法学习总结
  • Gorm -- 添加记录
  • go提高升阶(四) I/O流学习
  • 【代码随想录训练营】【Day28】第七章|回溯算法|93.复原IP地址|78.子集|90.子集II
  • Get请求和Post请求区别
  • static关键字
  • A Comprehensive Tool for Modeling CMOS Image-Sensor-Noise Performance论文总结及翻译
  • 嘀嗒出行再闯IPO:千军万马我无懈
  • MATLAB算法实战应用案例精讲-【优化算法】增强型鲸鱼优化算法(EWOA)(附matlab代码实现)
  • 登录Oracle数据库遇到ORA-01017密码错误的解决办法
  • 10个黑客基础教程!简单有效
  • JPA之实体之间的关系
  • 如何在 C++ 中调用 python 解析器来执行 python 代码(三)?
  • 【Linux】gcc/g++/gdb的使用
  • 浅浅谈一谈B树和B+树
  • Keil新建一个国民32位MCU工程
  • webpack.config.js与package.json文件的配置
  • 超详细Eclipse配置JDK
  • 成功解决numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares
  • Allegro如何设置铜皮避让的优先级操作指导
  • (Trie Tree)字典树
  • MQTT的学习之Mosquitto集群搭建
  • TS面向对象
  • Python进阶-----高阶函数map() 简介和使用
  • GPU会变得更便宜吗?GPU 定价更新
  • IDEA如何创建一个springboot项目
  • Netty核心功能以及线程模型
  • 【并发编程二十】协程(coroutine)_协程库
  • c语言入门-5-字符串
  • [Ansible系列]ansible roles