VLAN讲解与三种端口模式(Acess,Trunk,Hybrid)
TAG:所有文章均为原创,可以转载但请声明,是在学校里面做的,使用不了EVE和ENSP,请各路大神嘴下留情,如文章内容有误导请及时联系博主----来自一个17岁的中专生。
1.什么是VLAN呢?
VLAN全称(Virtual Local Area Network)中文名为虚拟局域网
- 重要的事情说了三遍了。
在我的理解中,VLAN分二层和三层。当然应该官网或者其他人不是这样解释的。毕竟每个人理解不一样。
Cisco中:(因为我现在在学校用的是PT,没用EVE)在PT中是不可以批量建立VLAN的,只能一个一个建立。
HUWEI:应该是一样的,但是我没做过。
如图所示,在VLAN建立之后,会自动进入VLAN里面,在里面的命令只有NAME,在PT下无法批量建立,EVE忘记了。VLAN是基于端口的。
TAG:任何厂商默认下的本证VLAN都是VLAN1,意思就是默认都属于VLAN1,无论建不建立,每个端口默认下都是属于VLAN1,这被称为本征VLAN,可以手动修改。
TAG:如图所示我们看到,VLAN的状态变成了UP,并且配置上了一个IP,所谓三层,那就是具有IP和路由转发功能。可以理解为OSI七层模型的三层。同时这也有个名字表示交换机虚拟接口(SVI:switch virtual interface),一般我们喜欢叫SVI。也就是三层VLAN接口IP
**2.**既然说到了带有IP的VLAN,这时候应该有人问了,前面不是说本证VLAN都属于1吗,哪创造了这些VLAN有什么用呢?
可以看到,在配置完二层VLAN升三层VLAN后,配置IP后,在端口F0/1下进入了VLAN10(此步骤可以做完二层VLAN直接进入,无先后顺序)
输入命令:do show vlan 可以看到在vlan10中,命名为10,端口里面只有F0/1一个成员。而VLAN1是本证默认存在的,其他的VLAN是自带的。
在VLAN中,是保护二层的,顾名思意,同一个VLAN中的可以互相通信,不同VLAN的不能通信。
TAG:此处需要特别注意,不能通信指的是二层不能通信,而不是值升三层VLAN之后的不能通信。三层通信。
TAG:此处需要特别注意,不能通信指的是二层不能通信,而不是值升三层VLAN之后的不能通信。三层通信
TAG:此处需要特别注意,不能通信指的是二层不能通信,而不是值升三层VLAN之后的不能通信。三层通信
重要的事情说三遍。
什么是三层通信什么是二层通信呢?
通俗的解释:二层就是你的家门,三层就是你天台。你在天台跟你邻可以说话可以搞其他的,但是家门(二层)他是进不来的。除非你家人有钥匙(同VLAN)
TAG:细心的朋友看到这应该可以发现,出现了Acess这个命令,这是什么呢?
让我告诉你,标题中我们说到了有三种端口模式。
对的,在交换机中,端口可以设置成三种模式其中一种运行,这三
种模式分别是Acess,trunk,hyprid(最近有一种新出来的dynameic)
dynameic(自动协商):对面是什么我就变成什么
Acess(接入):一般来说,是连接终端使用的(PC之类的)
Trunk(干道):这个东西是干嘛用的呢,如果是说,一台二层交换机连接一台三层交换机。他们之间有一个及以上的VLAN存在,那么问题来了。他们直接连接的口需要设置成什么模式呢?
总不能一个端口划分进好几个vlan呀,如果只划分10那20.30.40就不能通了。这时候应该怎么办呢?
---------------------------------------------------------------------
答案是trunk模式或者是hybrid模式
配置:
在思科的三层交换机中是要打一条switchport trunk encapsulation dot1q 先然后才能变成trunk模式的。(封装成dot1q模式)
原因是什么,为什么要用这两个模式,让我们来看看。
把两台交换机连接的端口设置成trunk模式
此时,若PC的IP地址与对应VLAN的GW同网段并指向网关,即可访问全部资源。(需要在三层交换机上开启ip routing路由转发功能,思科是默认关闭的)
TAG:为什么trunk就可以全部互通了呢?
因为,trunk的作用,就是允许所有vlan通行,什么意思呢。就是说,既然不能一个一个的划分VLAN,那干脆我进入你们全部VLAN。
这句话怎么理解呢?
意思就是,让所有的端口和VLAN都属于他
在Cisco中:Trunk口默认下是允许所有VLAN通过的
在Huawei中:Trunk口默认下是拒绝所有VLAN通过的
如图所示,在图中可以看到,switchport trunk ? 之后 有三个选项(当然这个只是PT,eve和真机多很多其他的)
allowed:允许通过的VLAN,在生成树或者动态路由中,有些地方是不允许通过VLAN的,就是说这条路是不允许通过的,用ACL也可以但是用allowd(允许)通过的VLAN更加方便。默认下允许所有,手动放行了那个VLAN就只有放行的那个VLAN才允许通过。
encapsulation:这个讲过了在前面,在三层交换机中是需要封装dot1q模式才能设置成trunk的。
native:本征VLAN,一般是封装管理VLAN。对VLAN进行封装bai有两种协议.一种du是思科zhi有的协议dao,叫做1653ISL.
另一种是RFC公有的协议专叫做802.1Q. 两种协议都是针对TRUNK承载属不同VLAN为防止混乱而产生的.
默认情况下.交换机上所有的接口都位于VLAN1下.也就是NATIVE VLAN.
事实上,本地VLAN中不仅仅有着接口,还有STP信息,比如BPDU桥接协议数据单元,VLAN ID的信息等等都要通过native
vlan来传输.
ISL协议和802.1Q的区别在于针对native vlan是否打标.
ISL是全部都打,有几个VLAN打几个标记,而.1Q协议除了VLAN1也就是native
vlan不打标记之外其他的VLAN都打标记,作用都是一样的,都能让TRUNK识别不同的VLAN.
那为什么不对VLAN1打标记呢.就是因为VLAN1中承载着许多信息.对native vlan标记是相当不利的
**Hybrid:**混合接口(思科不支持)
这个接口是干嘛用的呢。顾名思义,混合,意思就是支持Aeccss和trunk同时使用,但是这个出入都需要打标签解标签,也就是TAG,什么是标签呢,下面我们会说到。
TAG:标签,我们知道,为什么同一个VLAN里面的数据可以通信呢,第一个,同网段是必须的吧?第二个VLAN,为什么说是VLAN内可以通信呢,是因为他们VLAN内的主机发送ping包或者其他数据包的时候,到达网关之后,会把数据包头前面加上一个属于他VLAN的标签(TAG),因为Access(连接终端接口)是不带TAG包的,所以进出就需要打标签和解标签。对面看到跟我(同VLAN)是一个TAG(标签)自然就会帮你接标签然后把数据包发送到目的地再返回去。
三种类型的端口可以共存在一台设备上,但Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
比如说我现在在接口下设置了trunk口,我想变成hybrid口的话,要先设置成Access先,然后再变hybrid,如果按照一般思路是no trunk之类的,所以这里需要注意一下。
**
**
交换机内部的对vlan tag的处理有以下几种情况:(按照数据包的转发方向)
1、从Access端口进入,然后从Access端口发出;则进入是带上vlan tag,发出时去掉vlan tag;
2、从Access端口进入,然后从Trunk端口发出;则进入时带上vlan tag,发出时保留vlan tag;
3、从Trunk端口进入,然后从Trunk端口发出;则vlan tag无变化,进来什么样出去还是什么样;
4、从Trunk端口进入,然后从Access端口发出;则进入时无变化,出去时去掉vlan tag;
其实很简单,从access口出来的都是不带tag的,从trunk口出来,都是带tag的
trunk的作用是可以让多个vlan通过,原理是对不同的vlan打上不同的标签以区分不同的vlan的数据帧
因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。
文章浏览阅读254次。HashSet保证元素唯一 HashSet 底层数据结构是哈希表. HashSet 不是线程安全的 集合元素可以是 null 哈希表:是一个元素为链表的数组,综合了数组和链表的优点 (像新华字典一样) (JDK1.7之前) 。 当向 HashSet 集合中存入一个元素时,HashSet 会调用该对象的 hashCode() 方法来得到该对象的 hashCode 值,..._演示hashset、treeset的使用方法、遍历、区别
文章浏览阅读5.3w次,点赞4次,收藏8次。制表符,又爱又恨的。因为这个东西只用一个字符却能代替一个空间。但是有的开发工具却将制表符替换成空格,这样一来,我修改的代码别人的工具编辑后,就会出现很多不符的问题。导致代码混乱难以阅读。这时候,最好的方法就是将制表符统一。更关键的是如果你在写Python代码,那么会出现很多问题,Python是以严格的缩进和对齐来标识代码段的,但是混合使用空格和tab键,就会出现诸多问题,报各种各样的格式错_sublime 替换table
文章浏览阅读7.6k次。#layout不同的比例区分大小 self.vbox.setStretchFactor(self.tableWidget1, 1) self.vbox.setStretchFactor(self.tableWidget2, 4)给tablewidget赋值 for i in range(len(valuelist)): ..._qhboxlayout分配左右大小
文章浏览阅读826次。下载安装包和破解文件链接: https://pan.baidu.com/s/1X09GAchToEqyMRol3msGAA 密码: wak6–来自百度网盘超级会员V4的分享下载完成后解压右击.iso镜像文件,选择使用其他程序打开选择磁盘映像挂载器打开后会在桌面上看到对应的磁盘,双击打开会进入下图的目录,在该目录右键在终端打开然后在终端输入pwd得到当前路径然后新开一个终端,输入sudo /media/xj/MATHWORKS_R2019A/install不同的电脑sudo后面的路径可能不一样_ubuntu matlab 缩放
文章浏览阅读1.1w次,点赞4次,收藏35次。MaxPool1dtorch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)输入size为(N,C,L),在L维进行池化参数:kernel_size – 池化窗口大小stride – 步长. Default value is kernel_sizepadding – padding的值,默认就是不paddingdilation – 控制扩_maxpooling1d和maxpooling3d的区别
文章浏览阅读3k次。Python是跻身于当代IT世界最流行和代码最高效的编程语言之一。Python框架能帮助你快速启动Web应用。1.CubicWebCubicWeb的最重要的功能是其代码的可重用性,由一个个代码单元组成。它灵活又强大,并且还有一些特别的功能,包括RQL查询语言和支持有效编码的语义视图功能。这是语义Web应用程序的最佳解决方案,并且提供理想的环境。作为一个 官方网站:http://www.cubicw..._用于web开发方向的第三方库
文章浏览阅读3.2k次。el-upload 多文件上传_el-upload上传多个文件
文章浏览阅读715次。1 服务器接口简介此处我使用的服务器接口是使用Flask编写,具体实现代码:# -*- coding: utf-8 -*-from flask import Flask, render_template, jsonify, requestimport timeimport osimport base64app = Flask(__name__)UPLOAD_FOLDER = 'E:\myuploa..._okhttp3上传视频
文章浏览阅读5.1k次,点赞3次,收藏5次。背景前台使用axios.request({url: url,params: dataList,method: 'post'})传递数组到后台。后台使用RequestParam接收(String dataList)当数组长度非常小的时候可以进入后台,当数组长度大一点的时候前台报错400,不进后台。分析使用params传递参数实际上还是通过url传..._vue传数组到springboot
文章浏览阅读53次。有谁知道ImageNet VID数据集在哪可以下载吗。_imagenet vid
文章浏览阅读4.2k次,点赞4次,收藏13次。可以使用 UnityWebRequest 访问,不过好似只能用协程的方式,并且访问只能在主线程中;所以这里使用 C# 中的 HttpWebRequest,进行网络访问,而且 HttpWebRequest,允许在子线程中访问,在一些情况下可以大大减少主线程的网络访问压力;这里使用 HttpWebRequest ,进行 Post 访问,并且Task 结合 async (await) 的进行异步访问,最后使用 Stream 流式的形式获取数据,在这里做一个简单的记录,以便后期使用的时候参考。_httpwebrequest post
文章浏览阅读647次。最近碰到了个需求,让我构建某一基因家族的进化树,并根据进化关系进行相应的分类。这让我想起了之前上课的时候,一个做进化的老师给我们讲过,如果不是纯做进化方向的课题,MEGA完全够用了。由于windows的内存等有限,做几十个基因还凑合,要是上百个基因就吃不消了,于是就想到了用Linux下的MEGA来做。1.下载链接2.获取该基因家族3.进行多序列比对上一步我得到了该基因家族的所有基因家族的蛋白序列,..._用mega建基因家族树如何分组