网络基础知识系列:阐述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) ...
随机推荐
- ByteBuffer和String的互相转换
import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java ...
- hdu4289(最小割)
传送门:Control 题意:有n个城市,有个小偷想从其中一个城市逃到另一个城市,警察想要堵截这个小偷,知道了在每个城市堵截的成本,问如何安排在哪些城市堵截可以使得小偷一定会被抓住,而且成本最低. 分 ...
- vim配置(vimplus)
vim配置(vimplus) vimplus vimplus是vim的超级配置安装程序 github地址:https://github.com/chxuan/vimplus.git,欢迎star和fo ...
- 为什么使用 React? Edit on GitHub
为什么使用 React? React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库.很人多认为 React 是 MVC 中的 V(视图). 我们创造 ...
- ORA-00210 ORA-15001 ORA-15055 ORA-01031: insufficient privileges
ORA-00210: cannot open the specified control file ORA-00202: control file: '+DATA/posdb/con ...
- sar使用说明
sar这东西,一开始还以为是内部有的,原来是外部的工具,可以到 http://pagesperso-orange.fr/sebastien.godard/download.html 去下载 1 安装 ...
- 辛星分析html中间name和id
差额
朋友们可以新手也能很容易区分id和class,但不一定很容易区分id和name,以下说一下二者的差别和联系. 首先是联系,它们都能够用来标记一个元素,并且能够用JavaScript来操作,可是操作方法 ...
- IOS应用程序生命周期详解
第一. IOS应用程序的五种状态: 1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止. 2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行 ...
- .NET/C# RabbitMQ
本系列文章均来自官网原文,属于个人翻译,如有雷同,权当个人归档,忽喷. RabitMQ 是一个消息中间件,其实就是从消息生产者那里接受消息,然后发送给消息消费者.在这个传输过程中,可以定义一些缓存,持 ...
- hihocoder第42周 k*N骨牌覆盖(状态dp+矩阵快速幂)
上周的3*N的骨牌,因为状态只有8中,所以我们可以手算出状态转移的矩阵 但是这周是k*N,状态矩阵不好手算,都是我们改成用程序自动生成一个状态转移的矩阵就行了,然后用这个矩阵进行快速幂即可 枚举枚举上 ...