网络基础知识系列:阐述VLAN和Trunk
网络性能是影响的效率的重要因素。
大的广播域分割方法,旨在提高网络性能。一个接口上,可是,路由器的LAN接口数量有限,它的主要功能是在网络间数据传输,而不是对终端设备提供网络接入。
訪问LAN的功能还是由接入层交换机来实现。
与三层交换机相类似,通过在二层交换机上创建VLAN来降低广播域。现代交换机就是通过VLAN来构造的,因此在某种程度上,学习交换机就是学习VLAN。
1、问题的产生:
上一节已经讲过广播域的概念:即广播帧传播覆盖的范围。例如以下图所看到的,当网络上的全部设备在广播域产生大量的广播以及多播帧,就会与数据流竞争带宽。这是由网络管理数据流组成,如:ARP,DHCP,STP等。例如以下图所看到的,如果PC 1产生ARP。Windows登录。DHCP等请求:
这些广播帧到达交换机1之后,遍历整个网络并到达全部节点直至路由器。
随着网络节点添加。开销的总数也在增长,直至影响交换机性能。
通过实施VLAN断开广播域将数据流隔离开来,可以解决这一问题。
2、什么是VLAN:
VLAN(virtual local area network)是一组与位置无关的逻辑port。VLAN就相当于一个独立的三层网络。VLAN的成员无需局限于同一交换机的顺序或偶数port。
下图显示了一个常规的部署。左边这张图节点连接到交换机,交换机连接到路由器。全部的节点都位于同一IP网络,由于他们都连接到路由器同一接口。
图中没有显示的是,缺省情况下,全部节点实际上都是同一VLAN。因此。这样的拓扑接口可看作是基于同一VLAN的,如上面右图所看到的。比如,Cisco设备默认VLAN是VLAN 1,也称为管理VLAN。默认配置下包括全部的port,体如今源地址表(source address table,SAT)中。该表用于交换机依照目的MAC地址将帧转发至合适的二层port。
引入VLAN之后。源地址表依照VLAN将port与MAC地址相相应起来。从而使得交换机可以做出很多其它高级转发决策。下图显示了show
mac address table和show vlan命令的显示输出。全部port(FA0/1 – FA0/24)都在VLAN 1。
还有一种经常使用的拓扑结构是两个交换机被一个路由器分离开来。例如以下图所看到的。这样的情况下,每台交换机各连接一组节点。每一个交换机上的各节点共享一个IP地址域,这里有两个网段:192.168.1.0和192.168.2.0。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
注意到两台交换机的VLAN同样。非本地网络数据流必须经过路由器转发。
路由器不会转发二层单播,多播以及广播帧。这样的拓扑逻辑在两个地方类似于多VLAN:同一VLAN下的节点共享一个通用地址域,非本地数据流(相应多VLAN情况不同VLAN的节点)需通过路由器转发。在一台交换机上加入一个VLAN。去掉还有一台交换机的话,结构例如以下所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="420" width="500" alt="">
每个VLAN相当于一个独立的三层IP网络,因此,192.168.1.0上的节点试图与192.168.2.0上的节点通信时。不同VLAN通信必须通过路由器。即使全部设备都连接到同一交换机。二层单播。多播和广播数据仅仅会在同一VLAN内转发及泛洪,因此VLAN 1产生的数据不会为VLAN 2节点所见。仅仅有交换机能看得到VLAN。节点和路由器都感觉不到VLAN的存在。加入了路由决策之后,能够利用3层的功能来实现很多其它的安全设定,很多其它流量以及负载均衡。
3、VLAN的作用:
安全性:每个分组的敏感数据须要与网络其它部分隔离开,降低保密信息遭到破坏的可能性。例如以下图所看到的,VLAN 10上的教职工主机全然与学生和訪客数据隔离。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
节约成本:无需昂贵的网络升级。而且带宽及上行链路利用率更加有效。
性能提高:将二层网络划分成多个逻辑工作组(广播域)降低网络间不必要的数据流并提升性能。
缩小广播域:降低一个广播域上的设备数量。
如上图所看到的:网络上有六台主机但有三个广播域:教职工,学生。訪客。
提升IT管理效率:网络需求相似的用户共享同一VLAN,从而网络管理更为简单。当加入一个新的交换机,在指定portVLAN时。全部策略和步骤已配置好。
简化项目和应用管理:VLAN将用户和网络设备汇集起来,以支持不同的业务或地理位置需求。
每个VLAN相应于一个IP网络,因此,部署VLAN的时候必须结合考虑网络地址层级的实现情况。
4、交换机间VLAN:
多交换机的情况下,VLAN是怎么工作的呢?下图所看到的的这样的情况,两个交换机VLAN同样,都是默认VLAN 1。即两个交换机之间的联系同在VLAN 1之内。路由器是全部节点的出口。
这时单播,多播和广播数据自由传输,全部节点属于同一IP地址。这时节点之间的通信不会有问题。由于交换机的SAT显示它们在同一VLAN。
而以下这样的连接方式就会有问题。
因为VLAN在连接port的主机之间创建了三层边界,它们将无法通信。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
细致看上图,这里有非常多问题。第一,全部主机都在同一IP网,虽然连接到不同的VLAN。第二,路由器在VLAN 1,因此与全部节点隔离。最后,两台交换机通过不同的VLAN互连。每一点都会造成通信阻碍,合在一起,网络各元素之间会全然无法通信。
交换机用满或同一管理单元物理上彼此分离的情形是非经常见的。
这样的情况下。VLAN须要通过trunk延伸至相邻交换机。
trunk可以连接交换机,在网络间传载VLAN信息。
例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
对之前的拓扑的改进包含:
* PC 1和PC 2分配到192.168.1.0网段以及VLAN 2。
* PC 3和PC 4分配到192.168.2.0网段以及VLAN 3。
* 路由器接口连接到VLAN 2和VLAN 3。
* 交换机间通过trunk线互连。
注意到trunkport出如今VLAN 1。他们没实用字母T来标识。
trunk在不论什么VLAN都没有成员。
如今VLAN跨越多交换机。同一VLAN下的节点能够物理上位于不论什么地方。
5、什么是Trunk:
Trunk是在两个网络设备之间承载多于一种VLAN的端到端的连接,将VLAN延伸至整个网络。没有VLAN Trunk,VLAN也不会很实用。VLAN Trunk同意VLAN数据流在交换机间传输,所以设备在同一VLAN,但连接到不同交换机。可以不通过路由器来进行通信。
一个VLAN trunk不属于某一特定VLAN,而是交换机和路由器间多个VLAN的通道。例如以下图所看到的,交换机S1和S2,以及S1和S3之间的链路,配置为传输从VLAN10,20,30以及90的数据流。
该网络没有VLAN trunk就无法工作。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
当安装好trunk线之后。帧在trunk线传输是就行使用trunk协议来改动以太网帧。
这也意味着交换机port有不止一种操作模式。
缺省情况下。全部port都称为接入port。当一个port用于交换机间互连传输VLAN信息时,这样的port模式改变为trunk,节点也路由器通常不知道VLAN的存在并使用标准以太网帧或“untagged”帧。trunk线可以使用“tagged”帧来标记VLAN或优先级。
因此,在trunkport,执行trunk协议来同意帧中包括trunk信息。
例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2JyeWFudA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
PC 1在经过路由表处理后向PC 2发送数据流。这两个节点在同一VLAN但不同交换机。过程例如以下:
* 以太网帧离开PC 1到达Switch 1。
* Switch 1的SAT表明目的地是trunk线的还有一端。
* Switch 1使用trunk协议在以太网帧中加入VLAN id。
* 新帧离开Switch 1的trunkport被Switch 2接收。
* Switch 2读取trunk id并解析trunk协议。
* 源帧依照Switch 2的SAT转发至目的地(port4)。
VLAN tag例如以下图所看到的,包括类型域,优先级域,CFI(Canonical Format Indicator)指示MAC数据域。VLAN ID。
网络基础知识系列:阐述VLAN和Trunk的更多相关文章
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- C# 基础知识系列- 14 IO篇 文件的操作 (3)
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...
- iOS网络基础知识
iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...
- 基础知识系列☞C#中→属性和字段的区别
"好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···" 其实本来准备叫"面试系列"... 字段.属性.你先知道的哪个概念? ***我 ...
- 基础知识系列☞Abstract和Virtual→及相关知识
转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- Linux运维笔记(一)网络基础知识
网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...
随机推荐
- 【 D3.js 入门系列 --- 8 】 对话操作(事件)
本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 这一节介绍怎样进行对话的操作,如鼠标单击,鼠标滑过等. 对一个被 ...
- Java跨域设置
Access-Control-Allow-Origin 为允许哪些Origin发起跨域请求. 这里设置为"*"表示允许所有,通常设置为所有并不安全,最好指定一下. Access-C ...
- hdu1151 Air Raid,DAG图的最小路径覆盖
点击打开链接 有向无环图的最小路径覆盖 = 顶点数- 最大匹配 #include <queue> #include <cstdio> #include <cstring& ...
- 安装IntelliJ IDEA JetGroovy(转)
JetGroovy是一个免费而且开源的专用于支持Groovy和Grails的IntelliJ IDEA插件.这个插件是由JetBrains公司自己开发的,对于Groovy语言和Web框架都提供了无以伦 ...
- Java EE (13) -- 常用的基础结构模式
• Replication • Load balance • Failover • Off-load shared resources • Forward cache • R ...
- 项目中那些事|ListView中嵌套ListView问题
要在一个ListView中放入另一个ListView,也即在一个ListView的每个 item 中放入另外一个ListView.但刚开始的时候,会发现放入的子ListView会显示不完全(我这里只显 ...
- Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...
- php 禁止 URL 直接访问 php文件
通过判断访问来源来实现. $fromurl="http://www.111.com/index.php"; //只能从这个地址访问 if( $_SERVER['HTTP_REFER ...
- Hibernate对象持久化框架
JDBC:(Java Data Base Connectivity)java数据库连接 java.sql包提供JDBC API,可通过它编写訪问数据库的程序代码.当中经常使用的接口和类包含以下内容: ...
- Sql SUBSTR函数
SUBSTR( ) 从一个字符表达式或备注字段中返回一个字符串.该字符串起始于字符表达式或备注字段的指定位置,到指定数目字符结束. 例如: SUBSTR(“A1”, 1 1]) 结果:A