网络初级篇之VLAN(原理)
一、早期网络的问题
1、若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低。
2、从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费大量带宽。
3、所有主机共用同一链路,无法保证信息的安全。
二、VLAN的产生
VLAN技术可以将一个物理局域网在逻辑上划分成多个广播域(多个VLAN)。VLAN技术部署在数据链路层,可以隔离二层流量。同一个VLAN内的主机共享一个广播域,它们之间可以直接进行数据交换;不同VLAN内的主机属于不同的广播域,不能直接进行数据的交换。从而提高了网络的安全性。
三、VLAN标签的格式
四、VLAN的链路类型
VLAN的链路类型有两种:Access链路与Trunk链路
接入链路(Access Link):终端设备与交换机所连接的链路。
干道链路(Trunk Link):交换机与交换机所连接的链路,是一条中继链路。
五、端口类型
1、Access端口
①当它收到一个帧的时候,如果这个帧没有Tag标记,它就用自己的PVID给他打上标记。
②它在发出一个帧时如果VID=PVID就去掉标记以保证传送给终端设备的帧没有被变动过。
③Access端口发出的以太网数据帧中不带有VLAN标记。Access端口的特点是 只允许符合PVID(或者VID)的流量通过。
2、Trunk端口
①特殊情况下,当它收到一个没有VID标记的帧的时候,它就用自己的PVID给他打上标记。之后查询允许通过的VLAN ID的列表,允许通过则接收,否则丢弃。
②当它收到一个有VID标记的帧的时候,查询允许通过的VLAN ID的列表,允许通过则接收,否则丢弃。
③当它发送一个与自己PVID相等且在允许通过的VLAN ID的列表中的帧的时候,会将帧中的Tag去掉,发送报文。
④当它发送一个与自己PVID不相等且在允许通过的VLAN ID的列表中的帧的时候,会将帧中的Tag保持不变,发送报文。
3、Hybrid端口
Access端口一般发送的都是没有Tag的数据帧,而Trunk一般发送的都是带有Tag的数据帧。而Hybrid这个模式的端口集合了Access端口与Trunk端口两者的属性。既可以连接接入链路,也可以连接干道链路。
①当它收到一个没有VID标记的帧的时候,它就用自己的PVID给他打上标记。之后查询允许通过的VLAN ID的列表,允许通过则接收,否则丢弃。
②当它收到一个有VID标记的帧的时候,查询允许通过的VLAN ID的列表,允许通过则接收,否则丢弃。
③转发是数据帧可以通过命令配置发送时是否携带Tag,携带Tag则原Tag不变;不携带Tag则将Tag剥离。
六、PVID
PVID是在划分vlan时候每个端口都有且只有一个,默认情况下每个端口初始PVID是1,表示它是vlan1的成员。在Access中,如果给他划分了其他VLAN,那么PVID相应会发生更改;在Trunk与Hybrid中,可以修改PVID。
七、VLAN的划分
VLAN的划分可以根据以下几点进行划分
①基于端口的划分:根据网络设备上不同的端口编号进行VLAN的划分。通过每个端口配置不同的PVID,来将端口划分到不同的VLAN中。若主机连接移位,则需要重新进行配置。
②基于MAC的划分:根据主机上的MAC进行VLAN的划分。此方法需要提前配置MAC与VLAN ID的映射关系,网络设备收到不带有Tag的数据帧时,会根据MAC来打上相对应的VLAN标记。若主机连接移位,无需进行重新配置。
③基于IP段的划分:根据不同IP地址进行VLAN的划分。
④基于协议的划分:根据不同的协议类型进行VLAN的划分。需要提前定义协议与VLAN ID的映射关系。
⑤基于策略的划分:使用不同条件组合进行VLAN的划分。只有当所有条件都匹配时,网络设备才会为数据帧打上VLAN标签。每一条策略都需要进行手动配置。
八、Voice-Vlan
1、Voice-Vlan的产生及特点
①产生
由于语音数据在传输时需要具有比其他业务数据更高的优先级,以减少数据传输过程中可能会产生的延时,从而保证通话质量。
②特点
高优先级、Voice-Vlan ID(2-4094)
2、工作模式
①手动模式
手动将连接语音设备的端口加入Voice-Vlan中,该端口下连接的语音设备所发出的带有Voice VLAN标签的语音流便能够通过该端口进行传输,并享有较高的传输优先级。
②自动模式
使能Voice-Vlan的接口根据进入端口的数据流中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址符合系统设置的语音设备OUI。
3、扩展
OUI地址为MAC地址的前24位,是IEEE为不同设备供应商分配的一个全球唯一的标识符,从OUI地址可以判断出该设备是哪一个厂商的产品。
网络初级篇之VLAN(原理)的更多相关文章
- 网络初级篇之VLAN间路由(原理与配置)
一.VLAN间的路由 由于VLAN隔离了二层广播域,也间接的隔离了各个VLAN之间的其他二层流量交换,这样导致属于不同VLAN之间的用户不能进行二层的通信.只能经过三层的路由转发才能将报文从一个VLA ...
- 网络初级篇之DHCP原理与配置(原理与实验)
一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...
- 网络初级篇之网络设备的FTP(原理与实验)
一.什么是FTP FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用 控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...
- 网络初级篇之RSTP(原理与配置)
一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...
- 网络初级篇之STP(概念原理)
一.什么是STP 生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太 ...
- 网络初级篇之OSPF(一)原理
一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...
- 网络初级篇之STP(BPDU详解与STP故障恢复)
一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...
- 网络初级篇之配置telnet登录网络设备(实验)
一.作用 在日常工作中,登录网络设备,对其进行配置主要有几种方式:console.Telnet与ssh.这样可以实现远程(只要网络可达)控制,极大的方便了工作.今天主要讲解一下配置Telnet ...
- 网络初级篇之STP(实验验证)
一.根桥的选举. 1.优先级相等时. (图1-1) (图1-2) 在上面1-1图中,已经标出桥的mac地址,桥的优先级为默认优先级(缺省:32768).任意一端口抓包,查看STP数据包内包含的信息,根 ...
随机推荐
- vue3.x版本安装vue-cli建项目
vue-cli版本在3以上 全局安装vue-cli npm install -g @vue/cli 建立项目工程,假设项目建在e:\vueProject\vue-cli3.0+目录下: 先进入此目录: ...
- Python实现的计算马氏距离算法示例
Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码: # encod ...
- 使用throw和throws 引发异常
1.throw 用在方法内抛出异常,通常可以自行使用try catch进行异常处理 如果不自行处理的话,需要在方法上使用throws抛出异常 public static void testAge(){ ...
- python #!/usr/bin/python作用
#!/usr/bin/python指定用什么解释器运行脚本以及解释器所在的位置 # -*- coding: utf-8 -*-用来指定文件编码为utf-8的PEP 0263 -- Defining P ...
- Java 8 新特性之 Stream 流基础体验
Java 8 新特性之 Stream 流基础体验 package com.company; import java.util.ArrayList; import java.util.List; imp ...
- HashPump用法
做哈希长度扩展攻击的时候用到这个工具,但是没找到这个工具详解办法 我这篇不算是详解,只是收集例子做出的一个用法 HashPump一种在各种散列算法中利用散列长度扩展攻击的工具.目前支持的算法:MD5, ...
- 【机器学习】ICA算法简介
ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性.基于信息论的方法研究中,各国学者从最大熵.最小互信息.最大似然和负 ...
- PAT B1046.猜拳
课本AC #include <cstdio> int main() { int n, failA = 0, failB = 0; scanf("%d", &n) ...
- Annotation Type ManyToMany->>>>>Oracle
Example 1: // In Customer class: @ManyToMany @JoinTable(name="CUST_PHONES") public Set< ...
- 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
如题,最近使用spring boot集成shiro,在shiroFilter要使用数据库动态给URL赋权限的时候,发现 @Autowired 注入的bean都是null,无法注入mapper.搜了半天 ...