网络性能是影响的效率的重要因素。

大的广播域分割方法,旨在提高网络性能。一个接口上,可是,路由器的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的更多相关文章

  1. Java 网络编程(一) 网络基础知识

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...

  2. C# 基础知识系列- 14 IO篇 文件的操作 (3)

    本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...

  3. iOS网络基础知识

    iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...

  4. 基础知识系列☞C#中→属性和字段的区别

    "好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···" 其实本来准备叫"面试系列"... 字段.属性.你先知道的哪个概念? ***我 ...

  5. 基础知识系列☞Abstract和Virtual→及相关知识

    转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...

  6. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  7. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  8. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  9. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

随机推荐

  1. ByteBuffer和String的互相转换

    import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java ...

  2. hdu4289(最小割)

    传送门:Control 题意:有n个城市,有个小偷想从其中一个城市逃到另一个城市,警察想要堵截这个小偷,知道了在每个城市堵截的成本,问如何安排在哪些城市堵截可以使得小偷一定会被抓住,而且成本最低. 分 ...

  3. vim配置(vimplus)

    vim配置(vimplus) vimplus vimplus是vim的超级配置安装程序 github地址:https://github.com/chxuan/vimplus.git,欢迎star和fo ...

  4. 为什么使用 React? Edit on GitHub

    为什么使用 React? React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库.很人多认为 React 是 MVC 中的 V(视图). 我们创造 ...

  5. ORA-00210 ORA-15001 ORA-15055 ORA-01031: insufficient privileges

    ORA-00210: cannot open the specified control file ORA-00202: control file: &apos;+DATA/posdb/con ...

  6. sar使用说明

     sar这东西,一开始还以为是内部有的,原来是外部的工具,可以到 http://pagesperso-orange.fr/sebastien.godard/download.html 去下载 1 安装 ...

  7. 辛星分析html中间name和id 差额

    朋友们可以新手也能很容易区分id和class,但不一定很容易区分id和name,以下说一下二者的差别和联系. 首先是联系,它们都能够用来标记一个元素,并且能够用JavaScript来操作,可是操作方法 ...

  8. IOS应用程序生命周期详解

    第一. IOS应用程序的五种状态: 1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止. 2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行 ...

  9. .NET/C# RabbitMQ

    本系列文章均来自官网原文,属于个人翻译,如有雷同,权当个人归档,忽喷. RabitMQ 是一个消息中间件,其实就是从消息生产者那里接受消息,然后发送给消息消费者.在这个传输过程中,可以定义一些缓存,持 ...

  10. hihocoder第42周 k*N骨牌覆盖(状态dp+矩阵快速幂)

    上周的3*N的骨牌,因为状态只有8中,所以我们可以手算出状态转移的矩阵 但是这周是k*N,状态矩阵不好手算,都是我们改成用程序自动生成一个状态转移的矩阵就行了,然后用这个矩阵进行快速幂即可 枚举枚举上 ...