精华内容
下载资源
问答
  • VLAN详解

    2019-05-09 19:41:17
    图文并茂VLAN详解,让你看一遍就理解VLAN
    展开全文
  • vlan详解

    千次阅读 2020-03-11 18:14:56
    vlan详解 VLAN(Vitual Local Area Network,虚拟局域网)是将物理网络划分成多个逻辑局域网的技术。一个VLAN就是一个广播域,亦即一个逻辑子网,在其内的站点可位于不同物理LAN上,但站点间像在同一个普通局域网上...

    vlan详解

    VLAN(Vitual Local Area Network,虚拟局域网)是将物理网络划分成多个逻辑局域网的技术。一个VLAN就是一个广播域,亦即一个逻辑子网,在其内的站点可位于不同物理LAN上,但站点间像在同一个普通局域网上那样自由通信而不受物理位置的限制。利用VLAN技术,网络管理者可根据实际应用需要,在二层交换机上把同一物理局域网中的用户逻辑划分成不同广播域,使具有相同需求或业务的用户处于同一广播域,不同需求或业务的用户处于不同的广播域。

    在未设置任何Vlan的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口。配置Vlan后,当交换机属于某Vlan的一个端口收到广播帧后,为保证同属一个Vlan的所有主机都收到该广播帧,交换机必须按照如下原则转发:

    1) 发送给本交换机中同一个Vlan中的其它端口;

    2) 发送给本交换机的包含该Vlan的所有汇聚链路,以便其它交换机上同一Vlan的端口也发送该帧。

    图5给出交换机上创建两个Vlan后,主机发出的广播帧被转发的示例。为便于说明,以红、蓝两色识别不同Vlan(实际使用中以Vlan ID来区分)。其中端口1、2属于红色Vlan,端口3、4属于蓝色Vlan。

    Vlan分割广播域

    可见,从PC1发出的广播帧仅被转发给同一Vlan内的其他端口,即同属于红色Vlan的端口2,而不会再转发给属于蓝色Vlan的端口。就这样,Vlan通过限制广播帧转发的范围分割广播域,进而改善网络效率和安全性。

    Vlan可理解为在逻辑上将一台交换机分割成数台虚拟交换机,且这些虚拟交换机互不相通。Vlan是广播域,而通常两个广播域间由路由器连接,广播域间来往的数据帧由路由器中继。因此,Vlan间的通信也需要路由器(或三层交换机)提供中继服务,即“Vlan间路由”。在Vlan之间配置路由器,使Vlan内部流量仍通过原来Vlan的内部二层网络进行,从一个Vlan到另一Vlan的通信流量通过路由进行三层转发,转发到目的网络后再通过二层交换网络把数据帧最终发送给目的主机。路由器不转发以太网广播帧,故Vlan间配置的路由器不会改变划分Vlan所达到的隔离广播的目的。

    VLAN帧格式

    * 以太网V2 MAC帧格式

    以太网MAC帧格式有两种标准,即DIX(DEC,Intel,Xerox) Ethernet V2标准(RFC894)和IEEE 802.3标准。图6所示的是常用的以太网V2的MAC帧格式(事实标准):

    以太网V2的MAC帧格式

    以太网帧在链路层传输,故源和目的MAC地址又称链路层地址(link layer address),也称L2地址、二层地址或硬件地址。

    类型(Type)字段表明上层使用什么协议。常用协议类型值如表1所示:

    表1 常用协议类型值

    表1 常用协议类型值

    数据(Data)字段为帧承载的数据内容,由一个上层协议的协议数据单元PDU构成。数据长度在46~1500之间,若上层协议数据单元长度少于46 字节,则必须填充该字段的其余部分,以保证MAC帧长度不小于64字节。

    可见,一个以太网帧长范围为64~1518字节。

    注意:发包工具如Testcenter设置发包长度时会将CRC考虑在内,即帧长包含CRC的4字节;而抓包工具如Wireshark显示的帧长不包括CRC字段。

    * 带VLAN的以太网帧格式

    IEEE 802.1Q(俗称Dot One Q)标准在以太网数据帧中“发送源MAC地址”与“类别域(Type Field)”之间附加4字节的Vlan识别信息(标签),如图7所示:

    插入Vlan后的以太网帧格式

    TPID(Tag Protocol Identifier,标签协议标识)值规定为0x8100。设备缺省采用协议规定的TPID值,交换机通过TPID来确定数据帧是否附加基于IEEE802.1Q的VLAN信息。

    TCI(Tag Control Information,标签控制信息)字段分为Pri、CFI和VLAN三部分。Pri表示报文优先级(也称1p优先级、COS或1q优先级),CFI(Canonical Format Indicator)标识MAC地址在不同传输介质中是否以标准格式进行封装,通常为0(标准格式)。Vlan ID标识该报文所属的VLAN编号,取值范围为 0~4095,一般0和4095保留(中兴设备Vid=0表示priority-tagged帧)。

    在交换网络环境中,以太网帧有两种格式:有些帧未附加四字节标签,称为未标记帧(ungtagged frame),有些帧附加四字节标签,称为带标记帧(tagged frame)。

    在基于端口划分的Vlan中,每个802.1Q端口都会分配一个默认的Vlan ID,称为PVID(Port Vlan ID)或端口默认Vlan ID(default Vid),CISCO称之为native Vlan。端口接收到的所有untagged帧都认为属于端口默认Vlan ID,并在端口默认Vlan ID内转发。

    注意,插入或剥除Vlan标签时均会对数据帧重新计算CRC。

    VLAN链路与端口

    * VLAN链路类型

    Vlan内的链路可分为:

    接入链路(Access Link,或称访问链路):将没有也无法识别Vlan标签的设备(如用户主机)连接到配置Vlan的交换机端口。它只能传送不带标签(untagged)的以太网帧,且只与一个Vlan关联。

    汇聚链路(Trunk Link,或称干道链路、中继链路) :连接两个能够识别Vlan标签的设备(如交换机),可传输发往多个Vlan的带标签(tagged)帧,可与多个Vlan相关联。

    混合链路(Hybrid Link):既可传送不带标签的帧,也可传送带标签的帧。但对于一个特定Vlan,传送的所有帧必须类型相同,即对于一个Vlan,传送的帧要么不带标签,要么携带相同标签。

    显示三种链路的区别:

    Vlan链路类型

    规划企业级网络时,很有可能会遇到隶属同一部门的用户分散在同一座建筑中不同楼层的情况,此时可能需要考虑如何跨越多台交换机设置Vlan。如在下图所示网络中,通过汇聚链路将不同楼层的四台主机设置为同一Vlan。

    汇聚链路

    如图所示,PC1发送的数据帧从SW1经过汇聚链路到达SW2时,帧内附加了表示属于红色Vlan的标签。SW2收到数据帧后,检查Vlan标签发现该帧属于红色Vlan,故剥除标签后根据需要(单播、广播或组播)将复原的数据帧转发给其他属于红色Vlan的端口。

    若不使用汇聚链路,则需在两台交换机上各设一个红、蓝Vlan专用接口并用网线互联(接入链路)。但建筑楼层间的纵向布线比较麻烦,一般不能由基层管理人员随意进行。而且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口越多,端口利用率低,也限制网络的扩展。

    汇聚链路承载多个Vlan的数据,负载较重,故汇聚链路必须支持100Mbps以上的传输速度。

    默认情况下,汇聚链路会转发交换机上所有Vlan的数据,亦即汇聚链路同时属于交换机上所有的Vlan。实际应用中可能并不需要转发所有Vlan数据,因此为减轻交换机负载并减少带宽浪费,用户可设定限制能经由汇聚链路互联的Vlan。

    VLAN端口类型

    根据对Vlan帧的识别情况,交换机端口的类型(模式)分为Access端口、Trunk端口及Hybrid端口。

    Access端口:交换机上连接用户主机的端口,只能连接接入链路。Access端口只属于一个Vlan,且仅向该Vlan转发数据帧。该Vlan的Vid = 端口PVid,故Vlan内所有端口都处于untagged状态。Access端口在从主机接收帧时,给帧加上Tag标签;在向主机发送帧时,将帧中的Tag标签剥掉。

    Trunk端口:交换机上与其他交换机或路由器连接的端口,只能连接汇聚链路。Trunk端口允许多个Vlan的带标签帧通过,在收发帧时保留Tag标签。在它所属的这些Vlan中,对于Vid = 端口PVid的Vlan,它处于Untagged port状态;对于Vid ≠ 端口PVid的Vlan,它处于Tagged port状态。

    Hybrid端口:交换机上既可连接用户主机又可连接其他交换机的端口,它既可连接接入链路又可连接汇聚链路。Hybrid 端口允许多个Vlan的帧通过,并可在出端口方向将某些Vlan帧的Tag标签剥掉。

    注意,Access、Trunk和Hybrid端口是厂家对某种端口的称谓,并非IEEE802.1Q协议标准定义。

    Access端口只属于一个Vlan,PVid就是其所在Vlan,故不用设置;Trunk和Hybrid端口属于多个Vlan,故需要设置PVid(缺省为1)。若设置端口PVid,则当端口收到不带Vlan Tag的数据帧时,对该帧加上Tag标记(Vid设置为端口所属的默认Vlan编号)并转发到属于PVid的端口;当端口发送Vlan Tag的数据帧时,若收帧的Vlan Tag和端口PVid相同,剥除Vlan Tag后再发送该帧。

    Hybrid端口与Trunk端口在接收数据时处理方法相同,区别在于发送数据时:Hybrid端口允许多个Vlan的数据帧发送时不带标签,而Trunk端口只允许默认Vlan的数据帧发送时不带标签。在同一交换机上Hybrid端口和Trunk端口不能并存,实际使用中可用Hybrid代替Trunk。

    本Hybrid端口的PVid和相连的对端交换机Hybrid端口的PVid必须一致。

    由于端口类型不同,交换机对帧的处理过程也不同。下表根据不同的端口类型分别介绍。

    表2 不同端口类型的Vlan帧处理方式

    表2 不同端口类型的Vlan帧处理方式

    VLAN端口状态

    交换机端口可配置为属于某个或某几个Vlan。端口状态指其在某个Vlan中的状态,该状态决定端口接收到tagged或untagged帧时对该帧的处理方式。针对每个Vlan,端口有两种状态,即Tagged port和Untagged port。同一端口可根据不同Vlan ID设置Tagged或Untagged。

    当为该端口配置其所属的Vlan时,若该Vlan的Vid = 端口PVid时,则端口在此Vlan中处于Untagged port状态;若Vid ≠ 端口PVid,则端口在此Vlan中处于Tagged port状态。

    PVid只与报文的入口方向有关,对于进入交换机的无标签帧会打上进入端口的PVid标签;交换机内每个数据帧都带标签。Tagged/Untagged只与帧的出口方向有关,对于出端口为Untagged port的,转发帧时要剥除帧中的标签,否则保留标签。

    VLAN划分方式

    接入链路可事先设定,称为“静态Vlan”;也可根据所连主机而动态设定,称为“动态Vlan”。

    * 静态VLAN

    静态Vlan又称基于端口的Vlan (Port Based Vlan),即明确指定各端口属于哪个Vlan,如下图所示。

    基于端口划分Vlan

    根据端口划分Vlan因其简单而最为常用。但由于需要逐个端口地指定Vlan,因此当网络中主机数目较多时,操作就变得非常烦杂。并且,主机每次变更所连端口时,必须同时更改该端口所属Vlan的设定——这显然不适合那些需要频繁改变拓扑结构的网络。

    * 动态VLAN

    动态Vlan主要有:

    基于MAC地址的Vlan (MAC Based Vlan)

    基于子网的Vlan (Subnet Based Vlan)

    基于用户的Vlan(User Based Vlan)

    ……

    其差异主要在于根据OSI参照模型哪一层的信息决定端口所属的Vlan。决定端口所属Vlan时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。

    网络设备厂商可能使用私有协议实现基于子网和基于用户的Vlan,因此不同厂商的设备间互联时可能出现兼容性问题。

    * 基于MAC地址的VLAN

    基于MAC地址的Vlan,就是通过查询并记录端口所连主机网卡的MAC地址来决定端口所属Vlan。假定MAC-A地址被交换机设定为属于Vlan10,则不论MAC-A地址的主机连在交换机哪个端口,该端口都会被划分到Vlan10内,如下图所示。

    基于MAC地址划分Vlan

    基于MAC地址划分Vlan,在初始设定时必须调查所连接的所有主机MAC地址并加以记录,工作量很大。而且这种划分方法会降低交换机执行效率,因为交换机每个端口都可能存在很多个Vlan组的成员,这样就无法限制广播包。此外,若主机(如笔记本电脑)经常更换网卡,则不得不经常更改Vlan设定。

    * 基于子网的VLAN

    基于子网的Vlan,就是通过所连主机的IP地址来决定端口所属Vlan。同一子网的所有数据帧属于同一Vlan,从而将同一子网内的用户划分在一个Vlan内(与路由器相似)。即使主机MAC地址改变,只要其IP地址不变,就仍可加入原先设定的Vlan,如下图所示。

    基于子网划分Vlan

    基于IP子网划分Vlan可按传输协议划分网段,有利于针对具体应用的服务来组织用户。再者,用户可在网络内部自由移动而不用重新配置主机,尤其是使用TCP/IP的用户。

    这种方法的缺点是效率,因为检查每个数据包的网络层地址比较费时。同时由于一个端口也可能存在多个Vlan的成员,对广播报文也无法有效抑制。

    * 基于用户的VLAN

    基于用户的Vlan,则是根据交换机各端口所连的主机上当前登录的用户,来决定该端口属于哪个Vlan。用户识别信息一般是主机操作系统登录的用户,如Windows域中使用的用户名。

    * 基于协议的VLAN

    基于协议的Vlan将物理网络划分为基于协议的逻辑Vlan。在端口接收帧时,它的Vlan由帧中的协议类型决定。例如,IP、IPX和Appletalk可能有各自独立的Vlan,IP 广播帧只被送到IP Vlan中的所有端口。

    * 基于组播地址的VLAN

    基于组播地址的Vlan由组播分组动态创建的。如每个组播分组对应一个不同Vlan,保证组播数据帧只被那些连接到相应组播分组成员的端口接收到。这种划分方式效率不高,不适合局域网。但因其将Vlan扩大至广域网,故灵活性更高,且易于通过路由器进行扩展。

    * 基于策略的VLAN

    基于策略的Vlan是Vlan的最基本的定义。每个输入(无标签)帧都在策略数据库查看,该数据库决定该帧所属的Vlan。如建立公司管理人员之间往来电子邮件的特别Vlan策略,以便不在其他地方被看见。

    这种划分方式最为灵活,具有自动配置能力,能够把相关用户连成一体,在逻辑划分上称为“关系网络”。网络管理员只需在网管软件中确定划分Vlan的规则(或属性),则站点加入网络时将会被“感知”,并被自动包含进正确的Vlan中。同时,也可自动识别和跟踪站点的移动和改变。

    基于VLAN的转发与路由

    Vlan内通信的主机同属一个广播域,主机之间的流量通过二层网络直接转发;Vlan间通信的主机位于不同广播域,主机无法直接通过ARP广播请求到对方的地址,此时必须借助三层路由器来完成通信。

    路由器可视为各个Vlan的网关,因此通过路由器来互相通信的主机必须知道路由器的存在及其在本Vlan上的接口地址(默认网关)。在主机上配置默认网关后,对于跨Vlan的通信,主机会自动寻找默认网关,并把报文交给默认网关转发而不是直接发给目的主机。

    可见,当报文的目的MAC地址是网关地址(路由器或三层交换机MAC地址)时,该报文为三层报文。

    VLAN扩展

    * VLAN Translation

    Vlan转换又称Vlan翻译或Vlan映射,它允许用于边缘接入的不同以太网交换机的Vlan ID设置互相重叠,通过以太网交换机的Vlan转换功能,将不同交换机的重复Vlan ID修改为不同的Vlan ID,并从上联端口发送出去,从而在二层核心交换机中也实现用户的隔离,以简化边缘接入交换机的设置。

    例如PON系统中,通过Vlan转换模式,OLT或ONU设备将上行以太网帧中用户自行添加的Vlan标签(Vid可能不是其独用的,可能在同一个系统内有其他用户使用相同的Vid)转换为唯一的网络侧Vlan标签;并在下行方向执行相反的操作。

    * QinQ

    随着以太网技术在运营商网络中的大量部署(城域以太网),利用IEEE 802.1Q Vlan对用户进行隔离和标识受到很大限制。因为802.1Q定义的Vlan标签域仅能表示4096个Vlan(12比特),对于城域网中需要标识的大量用户捉襟见肘,于是QinQ技术应运而生。

    QinQ(也称Stacked Vlan即Vlan堆叠或Double Vlan)技术出自IEEE 802.1ad标准,是对基于IEEE 802.1Q封装的隧道协议的形象称呼。QinQ实现在原有802.1Q Vlan标签(内层标签,也称Customer Vlan,CVlan)之外再增加一个Vlan标签(外层标签,也称Service Provider Vlan,SVlan),外层公网标签将内层用户私网标签屏蔽起来,使报文携带两层Vlan标签穿越运营商骨干网络(公网),到达用户另一端网络边缘交换机时再剥除外层公网Vlan标签,还原出内层用户标签便于用户进行下一步的通信。可见,QinQ技术不仅可有效拓展Vlan的数量空间(多达4096×4096个),而且可提供简单的二层VPN(虚拟专用网)隧道,特别适合以三层交换机为骨干的小型企业网或小型局域网。

    * QinQ报文格式

    QinQ报文封装格式如下图所示。公网传输时内层Vlan标签为用户私网Vlan标签,外层Vlan标签由运营商分配给用户。私网Vlan标签被透明传输,故不同的用户Vlan标签可重复使用,只需外层Vlan标签在公网上唯一即可。

    QinQ报文封装格式

    某些厂商将QinQ报文外层标签的TPID值设置为0x9100或其他数值。为和这些设备互通,用户应可自行配置TPID值,使发送到公网中的QinQ帧携带的TPID值与其他厂商相同。由于TPID字段在以太网帧中所处位置与不带Vlan标签的帧中协议类型(Type)字段所处位置相同,为避免造成网络中数据帧转发和接收混乱,不允许用户将TPID值配置为常用协议类型值。

    * QinQ封装方式

    QinQ封装是指如何把单层Q报文转换为双层Q报文, 封装主要发生在城域网面向用户的UPE设备,一般在交换式的端口上进行。根据不同的封装依据,QinQ可分为基于端口的QinQ、基于流的QinQ和路由子接口上进行的特殊QinQ封装。

    * 基于端口的QinQ封装

    基于端口封装指进入一个端口的所有流量全部封装一个外层Vlan。当端口收到报文时,无论报文是否带有Vlan标签,交换机都会为该报文附加本端口缺省Vlan的标签。若接收报文已带标签,则该报文成为双标签报文;若接收报文不带标签(untagged),则该报文将携带本端口缺省Vlan标签。基于端口的QinQ封装容易实现,故业界主流厂家的三层交换机都支持。其缺点是外层Vlan标签封装方式死板,当多个不同用户或用户网络以不同的Vlan接入到同一个端口时无法区分用户,即无法在一个端口上根据业务种类选择多个外层标签,从而很难有效支持单端口多业务的灵活运营。

    此外,基于端口封装需增加链路,组网复杂,不利于扩展维护。

    * 基于流的QinQ封装

    基于流的QinQ封装先对进入端口的数据进行流分类,然后对于不同的数据流选择是否插入外层标签以及插入何种外层标签,因此也称灵活QinQ(Smart QinQ或Selective QinQ)。当一些数据流(如组播)出口不添加外层标签,或单个端口根据内层Vlan添加不同的外层标签时,就需要用到灵活QinQ。

    灵活QinQ根据流分类方法又可细分如下:

    1) 根据报文中的Vlan区间分流

    当同一用户的不同业务使用不同Vlan时,可根据Vlan区间进行分流,如PC上网Vlan范围是101~200,IPTV的Vlan范围是201~300,VoIP的Vlan范围是301~400。面向用户的设备收到用户数据后,根据Vlan范围,对上网业务插入100的外层标签,对IPTV插入300的外层标签,对VoIP插入500的外层标签。

    2) 根据报文中的Vid+Priority分流

    不同业务有不同优先级,当同一用户的多种业务使用相同Vlan时,可根据不同业务的优先级进行区分,然后插入不同的外层标签。

    3) 根据报文的目的IP地址分流

    当同一台PC既包括上网业务又包括语音业务时,不同业务目的IP不同,可利用ACL对目的IP地址进行分流,然后插入不同的外层标签。

    4) 根据ETYPE进行QinQ封装

    当同一用户既包括PPPOE的上网业务,又包括IPOE的IPTV业务时,这些终端都通过一个Vlan上行,可根据PPPoE(0x8863/8864)和IPoE(0x0800)报文不同的ETYPE协议号作为QinQ的分流依据。

    当前灵活QinQ主要应用于运营商接入网络。在运营商网络中给接入用户分配一个Vlan,以便于追踪问题和防止不同用户间互访,用外层标签区分用户应用;或在接入环境中用外层标签区分不同的接入地点,用内外两层标签唯一标识一个接入用户。

    * 路由子接口QinQ封装

    QinQ封装一般在交换式端口上直接进行,但特殊情况下QinQ也可在路由子接口上进行封装。

    当核心网采用VLL/PWE3透传用户数据时,NPE设备上的路由子接口可根据用户Vlan ID封装外层Vlan,通过外层Vlan接入VLL/PWE3。可通过一个QinQ Stacking子接口来透传多个标识用户的Vlan ID。

    该方式也是基于流的QinQ封装,但QinQ Stacking子接口只能与L2VPN(PWE3/VLL/VPLS)结合起来才有意义,不支持三层转发功能。

    * QinQ报文转发

    三层交换机连接用户网络的端口称为Customer端口,连接骨干网的端口称为Uplink端口,骨干网的边缘接入设备称为PE(Provider Edge)。一般用户侧网络通过Trunk方式接入骨干边缘交换机,骨干网络内Uplink端口通过Trunk方式对称连接。

    在通过QinQ实现简单二层VPN的过程中,报文按如下方式转发:

    QinQ报文转发过程

    当报文从用户侧网络1到达运营商骨干网边缘交换机Switch A的Customer端口时,无论该报文是否携带标签,Switch A都基于端口PVid对其强行插入外层标签(Vid=10)。在骨干网络内部,报文沿着Vlan10的Trunk端口传播,用户私网标签在骨干网络中保持透明状态,直至到达边缘交换机Switch B。

    Switch B发现与用户网络2相连的端口为Customer端口,按照传统的802.1Q协议剥离外层标签,恢复成用户的原始报文,转发到用户侧网络2,从而实现一个简单二层VPN功能。PE接入点用外层SVlan隔离,安全且节省Vlan。对用户的管理可基于外层SVlan和内层CVlan唯一定位。

    易知,若Vlan映射为C→S+C,则为Vlan堆叠;若Vlan映射为C→S,则为Vlan转换。

    注意,MAC地址学习、生成树等均基于外层SVlan。

    * QinQ优缺点

    利用QinQ提供接入业务时具有以下优点:

    Ÿ可解决日益紧缺的公网Vlan资源问题;

    Ÿ用户可规划自己的私网Vlan ID,不会与公网Vlan ID冲突;

    Ÿ提供一种较为简单的二层VPN解决方案;

    Ÿ使用户网络具有较高的独立性,在服务提供商升级网络时,用户网络不必更改原有配置;

    Ÿ可按不同层次的Vlan ID区分不同的业务,以区别提供不同的管道、QoS策略;

    ŸQinQ技术上可多层嵌套,仅受以太网帧长度的限制,具有很好的扩充性。

    但随着用户数量的增加,QinQ模型也会带来可扩展性问题。某些用户可能希望在分支机构间传输数据时可携带自己的Vlan ID,这就使采用QinQ技术的管理服务提供商面临以下两个问题:第一个客户的Vlan标识可能与其他客户冲突;服务提供商将受到客户可使用标识数量的严重限制。若允许用户按他们自己的方式使用各自的Vlan ID空间,则核心网络仍存在4096个Vlan的限制。

    * PVlan(Cisco)

    PVLAN(Private VLAN,私有VLAN)即所有工作站在同一个子网中,但工作站只能与自己的默认网关通信。PVlan采用两层Vlan隔离技术,只有上层Vlan全局可见,下层Vlan互相隔离。若将交换机的每个端口划为一个(下层)Vlan,则实现所有端口的隔离。

    每个Private Vlan包含两种Vlan:主Vlan(Primary Vlan)和辅助Vlan(Secondary Vlan),后者又分为隔离Vlan(Isolated Vlan)和团体Vlan(Community Vlan)。

    PVlan通信范围:

    主Vlan可与所有与之关联的隔离Vlan、团体Vlan通信。不同主Vlan之间的任何端口都不能互相通信(此处“互相通信”指二层连通性)。

    团体Vlan可与处于相同团体Vlan内的团体端口通信,也可与PVlan中的混杂端口通信。 每个PVlan可有多个团体Vlan。

    隔离Vlan不可与处于相同隔离Vlan内的其它隔离端口通信,只可与混杂端口通信。每个PVlan中只能有一个隔离Vlan。

    相应地,交换机物理端口有三种类型:

    隔离端口(Isolated port),与用户相连,属于隔离Vlan。只可与混杂端口通信,彼此不能通信。

    团体端口(Community port),属于团体Vlan。不仅可与混杂端口通信,也可与同一团体中的其它物理端口进行通信。

    混杂端口(Promiscuous port),与路由器或三层交换机接口相连,属于主Vlan。它收到的流量可发往隔离端口和团体端口。

    PVlan端口类型

    如图,port1、port2和port3三者之间互相隔离,不允许通信,只能与port6通信;port4和port5间可以通信,也可以与port6通信。所有端口只需分配共享一个IP地址。

    PVlan的应用对于保证接入网络的数据通信安全性非常有效。所有用户都接入PVlan,每个用户一个Vlan,用户间二层互相隔离。用户只需与自己的默认网关连接,一个PVlan不需要多个Vlan和IP子网就可提供具备二层数据通信安全性的连接。PVlan功能可保证同一个Vlan中的各个端口相互之间不能通信,但可穿过Trunk端口。这样即使同一Vlan中的用户,相互之间也不会受到广播的影响。

    对于上层交换机来说,可认为下层交换机中只有几个主Vlan,而不必关心主Vlan 中的端口实际所属的Vlan,从而简化配置并节省Vlan 资源。一个主Vlan中包含的所有Private Vlan处于同一个子网中,可节省子网数目和IP 地址资源。

    PVlan通常用于企业内部网,用来阻断连接到某些接口或接口组的网络设备间的相互通信,但却允许与默认网关进行通信。尽管各设备处于不同的PVlan中,但可使用相同的IP子网。

    * SuperVlan

    不同Vlan间通信需要通过三层路由进行转发,而每个子网(Vlan)都需要设置一个路由地址。每分配一个子网,就有三个IP地址(子网的网络号、广播地址和默认网关)被占用。同时,这种地址分配的固有约束也严重降低编址的灵活性,使许多闲置地址被浪费。为提高IP地址的利用率,Super VLAN超网应运而生。

    SuperVlan(又称VLAN Aggregation,即Vlan聚合)把多个子Vlan(SubVlan)聚合成一个SuperVlan,这些SubVlan共同使用一个IP子网和默认网关。通过VLAN聚合可使所有在同一子网上的终端用户通过统一的路由(同一子网网段地址)而使用不同的广播域。

    利用SuperVlan技术,只需为SuperVlan分配一个子网地址,并为每个用户或子网建立一个SubVlan。所有SubVlan可灵活分配SuperVlan子网中的IP地址,使用SuperVlan的默认网关。每个SubVlan都是一个独立的广播域,保证不同用户之间的隔离;SubVlan间通信需要通过SuperVlan进行路由。由于各个SubVlan不需要真正的子网网段,可有效提高IP利用率。这样的子网可分配足够小且扩展方便,无需重新定义子网大小。

    SuperVlan内的主机使用同一个网段的地址,共用同一个上行网关。即使是属于不同SubVlan的主机,由于其地址同属一个子网,设备会认为它们是二层互通的,会做二层转发,而不会送网关进行三层转发。而实际上SubVlan间在二层互相隔离,因此需要采用ARP代理(Proxy)来实现SubVlan间的互通。Subvlan之间以及和外部通信通过ARP代理,所有Subvlan内主机发送的ARP请求都由SuperVlan的MAC地址作为ARP应答。

    注意,SuperVlan并不包含物理端口,可将其视作逻辑的三层概念——若干SubVlan的集合。对交换芯片来说SuperVlan是透明的,仍按芯片中的Vlan进行转发。在基于端口的Vlan中,二层通信时,无论收发都不会有针对SuperVlan的报文。即进入SubVlan设备的数据帧会附加该SubVlan的标签,从Trunk端口发出时也不会改为SuperVlan的标签。

    * ARP Proxy原理

    一个物理网络子网(Subnet)中的源主机向另一个物理网络子网中的目的主机发送ARP request请求,和源主机直连的网关用自己接口的MAC地址代替目的主机回复ARP reply应答,该过程称为ARP代理。

    ARP代理的基本过程如下:

    源主机向另一物理网络的子网中的目的主机发ARP请求;

    与源主机网络相连的网关已使能ARP代理功能,若存在到达目的主机的正常路由,则代替目的主机应答自己接口的MAC地址;

    源主机向目的主机发送的IP报文都发给路由器;

    路由器对报文做正常的IP路由转发;

    发往目的主机的IP报文通过网络,最终到达目的主机。

    *  SubVlan间的三层互通

    【例】SuperVlan 2包含SubVlan 21和SubVlan 22,分析PC1与PC2的互通过程(假设PC1的ARP表中无PC2对应表项)。IP地址和MAC地址如下图所示。

    用ARP代理实现不同SubVlan间的三层互通

    PC1要发送报文给PC2,则将PC2的IP地址(1.1.1.3)与自己所在网段1.1.1.0 /24进行比较。由于SubVlan 21和SubVlan 22同属一个SuperVlan所在子网,于是发广播ARP请求PC2的MAC地址;而PC2并不在SubVlan 21的广播域内,无法接收到该ARP请求。当PC1在二层发出的ARP请求在其广播域内没有回应时,交换机网关运行ARP代理,查找路由表并发现下一跳为直连路由接口(SubVlan 22),则在该接口发送一个ARP请求PC2的MAC地址;得到PC2回应后,就把网关自己的MAC地址GwMac当作PC2的MAC地址(实际是Mac2 )回给PC1 (不同设备实现略有不同)。之后,主机PC1要发给PC2的报文都发给交换机,由三层交换机做正常的三层转发。

    PC2回送给PC1的报文转发过程和上述的PC1到PC2的报文流程类似。

    * SuperVlan与外部的三层通信

    【例】交换机1上配置SuperVlan 2、SubVlan 21和22,并有一个正常的Vlan 10。交换机2上配置两个正常的Vlan 10和20。假设SuperVlan 2下SubVlan 21中的PC1想访问交换机2下连的PC3,分析其上下行报文的转发流程。

    Super VLAN与外部的三层通信图例

    * 报文上行流程

    PC1 (1.1.1.2/24)要访问PC3(1.1.3.2/24),因为IP地址不在一个网段,故PC1发送ARP请求给自己的网关,请求网关的MAC地址。SubVlan21收到ARP报文后,将其上送CPU。CPU查找SubVlan和SuperVlan的对应关系,知道应回应SuperVlan2的MAC地址(不同设备实现可能略有不同),且知道回应报文应从SubVlan21发送给PC1。

    PC1学到网关MAC地址后,开始发送目的MAC为SuperVlan2、目的IP为1.1.3.2的报文。SubVlan21收到报文后,检测目的MAC后得知应进行三层转发,于是查找转发路由表,发现下一跳地址为1.1.2.2,出接口为Vlan10,并通过ARP表项和MAC表项确定出端口,把报文发送给交换机2,交换机2根据正常的转发流程把报文发送给PC3。

    * 报文下行流程

    PC3回应的报文,在交换机2上按正常的转发流程到达交换机1,此时交换机1查找转发路由表表项,发现目的地址为PC1(1.1.1.2),对应的出接口为SuperVlan2。但SuperVlan2未包含任何端口,那么如何确定报文的出端口呢?

    仔细查看可发现,尽管转发路由表中1.1.1.2/24网段的出接口为SuperVlan2,但在ARP表中IP地址1.1.1.2对应的出接口却为SubVlan 21。而芯片真正用来构建转发表时所用的出接口应是ARP表中对应的SubVlan接口,通过在SubVlan下查找目的MAC地址即可找到正确的出端口。于是,PC3的回应报文就可正常到达PC1。

    注意,若位于一个SuperVlan内的计算机运行基于广播或组播的高层应用,则这些应用被限制在SubVlan内。因此,应仔细分析高层应用,在没有基于组播或广播的应用时才可使用SuperVlan。

    展开全文
  • vlan详解.doc

    2019-07-18 14:29:52
    vlan详解.doc
  • VLAN详解系列

    2015-12-05 16:01:58
    VLAN详解系列 实现VLAN的机制
  • VLAN详解系列:(1)为什么需要VLAN
  • VLAN 详解 资料

    2009-07-05 19:40:03
    VLAN 详解 资料 有需要的下来看看 如果不好。。请包含
  • cisco vlan详解

    2017-11-08 17:44:00
    Vlan 详解 一.作用 将同一网段的物理网络分隔为多个逻辑网络,限制广播泛洪范围 二.实现机制 1.交换机端口类型 访问链接(Access link)接口 只属于一个vlan,且仅向该vlan转发数据帧的端口。 接收数据:接收到...

    Vlan 详解


    一.作用

    将同一网段的物理网络分隔为多个逻辑网络,限制广播泛洪范围


    二.实现机制

    1.交换机端口类型

      访问链接(Access link)接口

    只属于一个vlan,且仅向该vlan转发数据帧的端口。

    接收数据:接收到报文时,如果有带有vlan tag,判断该tag与接收端口的pvid是否相同,相同则进入  vlan.不相同则直接丢弃。不tag的报文直接打上tag,进入交换机。

    发送数据:带有vlan tag的报文,去掉报文vlan tag信息发送。不带vlan tag的情况不可能出现。


    访问链接实现方式:

    静态vlan:基于端口的vlan,指定相应端口属于哪个Vlan

    动态vlan: 根据每个端口所连的客户端改变端口所属的vlan

    基于mac的vlan(MAC based vlan):通过查询并记录客户端mac地址来确定端口所属vlan

    基于子网的vlan(Subnet based vlan):通过查询客户端的IP来确定端口所属vlan

    基于用户的vlan(User based vlan): 通过查询客户端登录的用户账户来确定端口所属vlan

      汇聚链接(trunk link) 接口

    能够转发多个不同vlan数据帧的端口。

    接收数据:接收到报文时,如果带有vlan tag则直接进入交换机,如果不带vlan tag则打上缺省vlan  tag(native vlan),后进入交换机。

    发送数据:带有vlan tag的报文判断是否与该端口的pvid相同,如果相同则去掉tag后发送,如果不同且该 接口允许该vlan pvid通过时,直接发送。不带vlan tag的情况不可能出

    汇聚方式

      a.802.1q 经过IEEE认证的对数据帧添加vlan识别信息的协议

     在数据帧的源mac与类型之间添加4Bytes的vlan标识,具体内容为2字节的TPID(Tag Protocol IDentifier)和2字节的TCI(Tag Control Information),并重新生成CRC校验码,原CRC校验码删除.

     TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中协议类型字段所处位置相同。TPID的值固定为0x8100,它标示网络帧承载的802.1Q类型,交换机通过它来确定数据帧内附加了基于IEEE 802.1Q的VLAN信息。而实质上的VLAN ID,是TCI中的12位元。由于总共有12位,因此最多可供识别4096个VLAN。


    wKioL1jLsvXziU4pAABEDusOzWA147.jpg


      b.ISL,是Cisco产品私有的一种与IEEE 802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。

     ISL协议使用ISL包头(ISL Header)与重新计算的CRC校验码将原数据帧封装起来,因此也被称为封装型vlan。使用ISL后数据帧问部会新增26字节的ISL包头,数据帧尾部新增将ISL包头与原数据帧一起计算的4字节CRC校验码,原CRC校验码保留在源数据帧中。


    wKiom1jLsyHTk8TEAABMiyNINPY891.jpg


    三.vlan通信

      1.同一vlan内部通信

    下图交换机中1口和4口属于同一vlan, pcA发送arp请求pcB的MAC地址,数据帧在交换机1口打上vlan2的标签,并且在vlan2内转发arp广播,数据帧拆掉vlan2标签,通过4口找到B的mac地址为B,并将与pcA和pcB相连的端口、MAC地址、所属vlan关联起来存放在交换机MAC地址列表中。

    wKioL1jLtDbRCCwEAABXsRkNYUA799.jpg


      2.不同vlan之间通信

    下图交换机中1口和4口属于vlan2和vlan3, 12口为trunk接口。pcA用目的IP与自己子网掩码匹配,确认与pcB不在同一网段。pcA发送arp请求routerC的MAC地址.交换机1口接收到arp后将数据帧打上vlan2标签,并将arp转发到vlan2所有接口和trunk口,通过trunk口获取routerC的MAC地址(路由器可以拆分vlan tag)。routerC检查路由表发现目的IP属于vlan3所在网段,将数据信息重新封装打上vlan3标签信息后,通过trunk口发送arp到vlan3网段查询,交换机12口转发arp到vlan3中所有接口,4口拆掉数据帧vlan标签发给pcB,通过与数据报文中目的IP比较找到B的mac地址为B,并将与pcA和pcB相连的端口、MAC地址、所属vlan关联起来存放在交换机MAC地址列表中。


    注:此时路由器需要与两个vlan通信,必需配置单臂路由承载多vlan通信。(或使用多个接口与交换机相应vlan接口相连)


    wKioL1jLtJPSEJhPAABzmuGb8Jw862.jpg


      3.三层交换机vlan通信

    三层交换机在交换模块的基础上增加了路由模块,同一Vlan通信时只使用交换模块。不同vlan通信时,和使用汇聚链路连接路由器与交换机时的情形相同。

    为了加快vlan的数据交换速度,三层交换机中使用被称为ASIC(ApplicationSpecified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。

    对于大量相同目的地址的数据传送,三层交换机提供一次路由、后续交换(CEF)的交换方式。即第一次传输数据通过路由条目找到目的主机后,构建一个高速交换缓存,后续数据通过高速缓存中转发端口号直接转发给目标所连接的端口。这样一来,就不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等。

        高速缓存存储信息包括:

    (1)目标IP地址

    (2)源IP地址

    (3)目标TCP/UDP端口号

    (4)源TCP/UDP端口号

    (5)接收端口号(交换机)

    (6)转发端口号(交换机)

    (7)转发目标MAC地址


    wKioL1jLtO3SCmftAADDanuVFlE881.jpg




















    本文转自wanglm51051CTO博客,原文链接:http://blog.51cto.com/studyit2016/1907709 ,如需转载请自行联系原作者


    展开全文
  • VLAN详解文档说明

    2010-03-15 13:17:25
    VLAN详解文档,摘自某论坛 什么是VLAN? 实现VLAN的机制 VLAN的访问链接 。。。。
  • 图文并茂VLAN详解

    2019-03-29 12:46:42
    深入浅出图解VLAN,本文对于VLAN 初学者,使用者都有很大帮助,通读本文会觉得豁然开朗
  • 讲解了VLAN的应用系列,包括多种方式的划分、VLAN间路由、端口隔离、MUX-VLAN、PVLAN等。史上最详细VLAN详解(原理篇)
  • 交换机之vlan详解

    万次阅读 多人点赞 2019-05-23 22:34:32
    一、为什么需要VLAN 1.1、什么是VLANVLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割...

    一、为什么需要VLAN

    1.1、什么是VLAN? 

    VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。

     

    在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。

     

    本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。

     

     

    1.2、未分割广播域时将会发生什么?

    那么,为什么需要分割广播域呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。

     

    VLAN1.png

     

    图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARP Request)信息”,来尝试获取计算机B的MAC地址。

     

    交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。

    VLAN2.png

    请大家注意一下,这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。

     

     

     

    1.3、广播信息是那么经常发出的吗?

    读到这里,你也许会问:广播信息真是那么频繁出现的吗?

    答案是:是的!实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。

     

    ARP广播,是在需要与其他主机通信时发出的。当客户机请求DHCP服务器分配IP地址时,就必须发出DHCP的广播。而使用RIP作为路由协议时,每隔30秒路由器都会对邻近的其他路由器广播一次路由信息。RIP以外的其他路由协议使用多播传输路由信息,这也会被交换机转发(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等协议也经常需要用到广播。例如在Windows下双击打开“网络计算机”时就会发出广播(多播)信息。(Windows XP除外……)

     

    总之,广播就在我们身边。下面是一些常见的广播通信:

     

     ■ ARP请求:建立IP地址和MAC地址的映射关系。

     ■ RIP:一种路由协议。

     ■ DHCP:用于自动设定IP地址的协议。

     ■ NetBEUI:Windows下使用的网络协议。

     ■ IPX:Novell Netware使用的网络协议。

     ■ Apple Talk:苹果公司的Macintosh计算机使用的网络协议。

     

    如果整个网络只有一个广播域,那么一旦发出广播信息,就会传遍整个网络,并且对网络中的主机带来额外的负担。因此,在设计LAN时,需要注意如何才能有效地分割广播域。

     

     

    1.4、广播域的分割与VLAN的必要性

    分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。

     

    但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。

     

    况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。

     

    与路由器相比,二层交换机一般带有多个网络接口。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。

     

    用于在二层交换机上分割广播域的技术,就是VLAN。通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。

     

     

     

    二、实现VLAN的机制

    2.1、实现VLAN的机制

    在理解了“为什么需要VLAN”之后,接下来让我们来了解一下交换机是如何使用VLAN分割广播域的。

    首先,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。例如,计算机A发送广播信息后,会被转发给端口2、3、4。

    VLAN3.png

    这时,如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。

    同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。

    VLAN4.png

     

    就这样,VLAN通过限制广播帧转发的范围分割了广播域。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的。

     

     

    2.2、直观地描述VLAN

    如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。

    VLAN5.png

    在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。

    但是,VLAN生成的逻辑上的交换机是互不相通的。因此,在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。

    明明接在同一台交换机上,但却偏偏无法通信——这个事实也许让人难以接受。但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。

     

     

    2.3、需要VLAN间通信时怎么办?

    那么,当我们需要在不同的VLAN间通信时又该如何是好呢?

    请大家再次回忆一下:VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。

     

    VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。其中的具体内容,等有机会再细说吧。在这里希望大家先记住不同VLAN间互相通信时需要用到路由功能。

     

     

     

     

    三、VLAN的访问链接

    3.1、交换机的端口

    交换机的端口,可以分为以下两种:

    ■ 访问链接(Access Link)

    ■ 汇聚链接(Trunk Link)

    接下来就让我们来依次学习这两种不同端口的特征。这一讲,首先学习“访问链接”。

    3.2、访问链接

    访问链接,指的是“只属于一个VLAN,且仅向该VLAN转发数据帧”的端口。在大多数情况下,访问链接所连的是客户机。

    通常设置VLAN的顺序是:

    ●生成VLAN

    ●设定访问链接(决定各端口属于哪一个VLAN)

     

    设定访问链接的手法,可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为“静态VLAN”、后者自然就是“动态VLAN”了。

     

    3.2.1、静态VLAN

    静态VLAN又被称为基于端口的VLAN(Port Based VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。

    VLAN6.png

    由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然静态VLAN不适合那些需要频繁改变拓补结构的网络。

     

    3.2.2、动态VLAN

    另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类:

     

    ● 基于MAC地址的VLAN(MAC Based VLAN)

    ● 基于子网的VLAN(Subnet Based VLAN)

    ● 基于用户的VLAN(User Based VLAN)

     

    其间的差异,主要在于根据OSI参照模型哪一层的信息决定端口所属的VLAN。

     

    ①、基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN“10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。

    VLAN7.png

    ②、基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。

     

    因此,与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。

     

    ③、基于用户的VLAN,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。

     

    总的来说,决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。

     

     

    3.2.3、访问链接的总结

    综上所述,设定访问链接的手法有静态VLAN和动态VLAN两种,其中动态VLAN又可以继续细分成几个小类。

    其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的,不同厂商的设备之间互联有可能出现兼容性问题;因此在选择交换机时,一定要注意事先确认。

     

    下表总结了静态VLAN和动态VLAN的相关信息。

     

     

    种类

    解说

    静态VLAN(基于端口的VLAN)

     将交换机的各端口固定指派给VLAN

    动态VLAN

     基于MAC地址的VLAN

     根据各端口所连计算机的MAC地址设定

     基于子网的VLAN

     根据各端口所连计算机的IP地址设定

     基于用户的VLAN

     根据端口所连计算机上登录用户设定

     

     

     

    四、VLAN的汇聚链接

    4.1、设置跨越多台交换机的VLAN

    到此为止,我们学习的都是使用单台交换机设置VLAN时的情况。那么,如果需要设置跨越多台交换机的VLAN时又如何呢?

     

    在规划企业级网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。假设有如下图所示的网络,且需要将不同楼层的A、C和B、D设置为同一个VLAN。

    VLAN8.png

    这时最关键的就是“交换机1和交换机2该如何连接才好呢?”

    最简单的方法,自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联了。

    VLAN9.png

    但是,这个办法从扩展性和管理效率来看都不好。例如,在现有网络基础上再新建VLAN时,为了让这个VLAN能够互通,就需要在交换机间连接新的网线。建筑物楼层间的纵向布线是比较麻烦的,一般不能由基层管理人员随意进行。并且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口也越来越多,交换机端口的利用效率低是对资源的一种浪费、也限制了网络的扩展。

     

    为了避免这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)。

     

     

    4.2、何谓汇聚链接?

    汇聚链接(Trunk Link)指的是能够转发多个不同VLAN的通信的端口。

    汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。

     

    现在再让我们回过头来考虑一下刚才那个网络如果采用汇聚链路又会如何呢?用户只需要简单地将交换机间互联的端口设定为汇聚链接就可以了。这时使用的网线还是普通的UTP线,而不是什么其他的特殊布线。图例中是交换机间互联,因此需要用交叉线来连接。

     

    接下来,让我们具体看看汇聚链接是如何实现跨越交换机间的VLAN的。

    ①、A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。

     

    ②、交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的。

     

    ③、因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。

     

    这时的转送,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。

     

    只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。

     

    同理,蓝色VLAN发送数据帧时的情形也与此相同。

     

    VLAN10.png

     

     

    通过汇聚链路时附加的VLAN识别信息,有可能支持标准的“IEEE 802.1Q”协议,也可能是Cisco产品独有的“ISL(Inter Switch Link)”。如果交换机支持这些规格,那么用户就能够高效率地构筑横跨多台交换机的VLAN。

     

    另外,汇聚链路上流通着多个VLAN的数据,自然负载较重。因此,在设定汇聚链接时,有一个前提就是必须支持100Mbps以上的传输速度。

     

    另外,默认条件下,汇聚链接会转发交换机上存在的所有VLAN的数据。换一个角度看,可以认为汇聚链接(端口)同时属于交换机上所有的VLAN。由于实际应用中很可能并不需要转发所有VLAN的数据,因此为了减轻交换机的负载、也为了减少对带宽的浪费,我们可以通过用户设定限制能够经由汇聚链路互联的VLAN。

     

    关于IEEE802.1Q和ISL的具体内容,将在下一讲中提到。


     

     

    五、VLAN的汇聚方式(IEEE802.1Q与ISL

    5.1、汇聚方式

    在交换机的汇聚链接上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN。

    附加VLAN信息的方法,最具有代表性的有:

    ● IEEE802.1Q

    ● ISL

     

    现在就让我们看看这两种协议分别如何对数据帧附加VLAN信息。

     

     

    5.2、IEEE802.1Q

    IEEE802.1Q,俗称“Dot One Q”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。

     

    在此,请大家先回忆一下以太网数据帧的标准格式。

    IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。

     

    在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。

    VLAN11.png

     

    而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。

     

    TPID的值,固定为0x8100。交换机通过TPID,来确定数据帧内附加了基于IEEE802.1Q的VLAN信息。而实质上的VLAN ID,是TCI中的12位元。由于总共有12位,因此最多可供识别4096个VLAN。

     

    基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。因此,它也被称作“标签型VLAN(Tagging VLAN)”。

     

     

    5.3、ISL(Inter Switch Link)

    ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。

     

    使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。换而言之,就是总共增加了30字节的信息。

     

    在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了。由于原先的数据帧及其CRC都被完整保留,因此无需重新计算CRC。

    VLAN12.png

     

    ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated VLAN)”。

     

    需要注意的是,不论是IEEE802.1Q的“Tagging VLAN”,还是ISL的“Encapsulated VLAN”,都不是很严密的称谓。不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意。

     

    并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联。

     

     

     

    六、VLAN间路由

    6.1、VLAN间路由的必要性

    根据目前为止学习的知识,我们已经知道两台计算机即使连接在同一台交换机上,只要所属的VLAN不同就无法直接通信。

     

    接下来我们将要学习的就是如何在不同的VLAN间进行路由,使分属不同VLAN的主机能够互相通信。

     

    首先,先来复习一下为什么不同VLAN间不通过路由就无法通信。在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARP。ARP解析MAC地址的方法,则是通过广播。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信。

     

    计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文。因此,属于不同VLAN的计算机之间无法直接互相通信。为了能够在VLAN间通信,需要利用OSI参照模型中更高一层——网络层的信息(IP地址)来进行路由。关于路由的具体内容,以后有机会再详细解说吧。

     

    路由功能,一般主要由路由器提供。但在今天的局域网里,我们也经常利用带有路由功能的交换机——三层交换机(Layer 3 Switch)来实现。接下来就让我们分别看看使用路由器和三层交换机进行VLAN间路由时的情况。

     

     

     

    6.2、使用路由器进行VLAN间路由

    在使用路由器进行VLAN间路由时,与构建横跨多台交换机的VLAN时的情况类似,我们还是会遇到“该如何连接路由器与交换机”这个问题。路由器和交换机的接线方式,大致有以下两种:

    ● 将路由器与交换机上的每个VLAN分别连接

    ● 不论VLAN有多少个,路由器与交换机都只用一条网线连接

     

    ①、最容易想到的,当然还是“把路由器和交换机以VLAN为单位分别用网线连接”了。将交换机上用于和路由器互联的每个端口设为访问链接,然后分别用网线与路由器上的独立端口互联。如下图所示,交换机上有2个VLAN,那么就需要在交换机上预留2个端口用于与路由器互联;路由器上同样需要有2个端口;两者之间用2条网线分别连接。

    VLAN13.png

    如果采用这个办法,大家应该不难想象它的扩展性很成问题。每增加一个新的VLAN,都需要消耗路由器的端口和交换机上的访问链接,而且还需要重新布设一条网线。而路由器,通常不会带有太多LAN接口的。新建VLAN时,为了对应增加的VLAN所需的端口,就必须将路由器升级成带有多个LAN接口的高端产品,这部分成本、还有重新布线所带来的开销,都使得这种接线法成为一种不受欢迎的办法。

     

    ②、那么,第二种办法“不论VLAN数目多少,都只用一条网线连接路由器与交换机”呢?当使用一条网线连接路由器与交换机、进行VLAN间路由时,需要用到汇聚链接。

     

    具体实现过程为:首先将用于连接路由器的交换机端口设为汇聚链接,而路由器上的端口也必须支持汇聚链路。双方用于汇聚链路的协议自然也必须相同。接着在路由器上定义对应各个VLAN的“子接口(Sub Interface)”。尽管实际与交换机连接的物理端口只有一个,但在理论上我们可以把它分割为多个虚拟端口。

    VLAN14.png

    VLAN将交换机从逻辑上分割成了多台,因而用于VLAN间路由的路由器,也必须拥有分别对应各个VLAN的虚拟接口。

     

    采用这种方法的话,即使之后在交换机上新建VLAN,仍只需要一条网线连接交换机和路由器。用户只需要在路由器上新设一个对应新VLAN的子接口就可以了。

    与前面的方法相比,这种方法扩展性要强得多,也不用担心需要升级LAN接口数不足的路由器或是重新布线。

     

     

    6.3、同一VLAN内的通信时数据的流程

    接下来,我们继续学习使用汇聚链路连接交换机与路由器时,VLAN间路由是如何进行的。如下图所示,为各台计算机以及路由器的子接口设定IP地址。

    VLAN15.png

    红色VLAN(VLAN ID=1)的网络地址为192.168.1.0/24,蓝色VLAN(VLAN ID=2)的网络地址为192.168.2.0/24。各计算机的MAC地址分别为A/B/C/D,路由器汇聚链接端口的MAC地址为R。交换机通过对各端口所连计算机MAC地址的学习,生成如下的MAC地址列表。

     

     

    端口

    MAC地址

    VLAN

    1

    A

    1

    2

    B

    1

    3

    C

    2

    4

    D

    2

    5

    6

    R

    汇聚

     

    首先考虑计算机A与同一VLAN内的计算机B之间通信时的情形。

    (1)、计算机A发出ARP请求信息,请求解析B的MAC地址。

    (2)、交换机收到数据帧后,检索MAC地址列表中与收信端口同属一个VLAN的表项。

    (3)、结果发现,计算机B连接在端口2上,于是交换机将数据帧转发给端口2,最终计算机B收到该帧。

    收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成。

    VLAN16.png

     

     

    6.4、不同VLAN间通信时数据的流程

    接下来是这一讲的核心内容,不同VLAN间的通信。让我们来考虑一下计算机A与计算机C之间通信时的情况。

    VLAN17.png

    (1)、计算机A从通信目标的IP地址(192.168.2.1)得出C与本机不属于同一个网段。因此会向设定的默认网关(Default Gateway,GW)转发数据帧。在发送数据帧之前,需要先用ARP获取路由器的MAC地址。

     

    (2)、得到路由器的MAC地址R后,接下来就是按图中所示的步骤发送往C去的数据帧。①的数据帧中,目标MAC地址是路由器的地址R、但内含的目标IP地址仍是最终要通信的对象C的地址。这一部分的内容,涉及到局域网内经过路由器转发时的通信步骤,有机会再详细解说吧。

     

    (3)、交换机在端口1上收到①的数据帧后,检索MAC地址列表中与端口1同属一个VLAN的表项。由于汇聚链路会被看作属于所有的VLAN,因此这时交换机的端口6也属于被参照对象。这样交换机就知道往MAC地址R发送数据帧,需要经过端口6转发。

     

    从端口6发送数据帧时,由于它是汇聚链接,因此会被附加上VLAN识别信息。由于原先是来自红色VLAN的数据帧,因此如图中②所示,会被加上红色VLAN的识别信息后进入汇聚链路。

     

    (4)、路由器收到②的数据帧后,确认其VLAN识别信息,由于它是属于红色VLAN的数据帧,因此交由负责红色VLAN的子接口接收。

     

    接着,根据路由器内部的路由表,判断该向哪里中继。

    由于目标网络192.168.2.0/24是蓝色VLAN,且该网络通过子接口与路由器直连,因此只要从负责蓝色VLAN的子接口转发就可以了。这时,数据帧的目标MAC地址被改写成计算机C的目标地址;并且由于需要经过汇聚链路转发,因此被附加了属于蓝色VLAN的识别信息。这就是图中③的数据帧。

     

    (5)、交换机收到③的数据帧后,根据VLAN标识信息从MAC地址列表中检索属于蓝色VLAN的表项。由于通信目标——计算机C连接在端口3上、且端口3为普通的访问链接,因此交换机会将数据帧除去VLAN识别信息后(数据帧④)转发给端口3,最终计算机C才能成功地收到这个数据帧。

     

    进行VLAN间通信时,即使通信双方都连接在同一台交换机上,也必须经过:“发送方——交换机——路由器——交换机——接收方”这样一个流程。

     

     

     

    七、三层交换机

    7.1、使用路由器进行VLAN间路由时的问题

    现在,我们知道只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。

    但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。

     

    交换机使用被称为ASIC(Application Specified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。

     

    即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。

     

    并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。

     

     

    7.2、三层交换机(Layer 3 Switch)

    为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。

    关于三层交换机的内部结构,可以参照下面的简图。

    VLAN18.png

    在一台本体内,分别设置了交换机模块和路由器模块;而内置的路由模块与交换模块相同,使用ASIC硬件处理路由。因此,与传统的路由器相比,可以实现高速路由。并且,路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。

     

     

    7.3、使用三层交换机进行VLAN间路由(VLAN内通信)

    在三层交换机内部数据究竟是怎样传播的呢?基本上,它和使用汇聚链路连接路由器与交换机时的情形相同。

     

    假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。

     

    注:在Cisco的Catalyst系列交换机上,VLAN Interface被称为SVI——Switched Virtual Interface

    VLAN19.png

    为了与使用路由器进行VLAN间路由对比,让我们同样来考虑一下计算机A与计算机B之间通信时的情况。首先是目标地址为B的数据帧被发到交换机;通过检索同一VLAN的MAC地址列表发现计算机B连在交换机的端口2上;因此将数据帧转发给端口2。

     

     

    7.4、使用三层交换机进行VLAN间路由(VLAN间通信)

    接下来设想一下计算机A与计算机C间通信时的情形。针对目标IP地址,计算机A可以判断出通信对象不属于同一个网络,因此向默认网关发送数据(Frame 1)。

     

    交换机通过检索MAC地址列表后,经由内部汇聚链接,将数据帧转发给路由模块。在通过内部汇聚链路时,数据帧被附加了属于红色VLAN的VLAN识别信息(Frame 2)。

     

    路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息分辨出它属于红色VLAN,据此判断由红色VLAN接口负责接收并进行路由处理。因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN;

     

    因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换模块。在通过汇聚链路时,这次数据帧被附加上属于蓝色VLAN的识别信息(Frame 3)。

     

    交换机收到这个帧后,检索蓝色VLAN的MAC地址列表,确认需要将它转发给端口3。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息除去(Frame 4)。最终,计算机C成功地收到交换机转发来的数据帧。

    VLAN20.png

    整体的流程,与使用外部路由器时的情况十分相似——都需要经过“发送方→交换模块→路由模块→交换模块→接收方”这样的流程。


     

     

    八、加速VLAN间通信的手段

    8.1、流(Flow)

    根据到此为止的学习,我们已经知道VLAN间路由,必须经过外部的路由器或是三层交换机的内置路由模块。但是,有时并不是所有的数据都需要经过路由器(或路由模块)。

     

    例如,使用FTP(File Transfer Protocol)传输容量为数MB以上的较大的文件时,由于MTU的限制,IP协议会将数据分割成小块后传输、并在接收方重新组合。这些被分割的数据,“发送的目标”是完全相同的。发送目标相同,也就意味着同样的目标IP地址、目标端口号(注:特别强调一下,这里指的是TCP/UDP端口)。自然,源IP地址、源端口号也应该相同。这样一连串的数据流被称为“流(Flow)”。

    VLAN21.png

    只要将流最初的数据正确地路由以后,后继的数据理应也会被同样地路由。

    据此,后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作,可以进一步提高VLAN间路由的速度。

     

     

    8.2、加速VLAN间路由的机制

     

    接下来,让我们具体考虑一下该如何使用三层交换机进行高速VLAN间路由。

     

    首先,整个流的第一块数据,照常由交换机转发→路由器路由→再次由交换机转发到目标所连端口。这时,将第一块数据路由的结果记录到缓存里保存下来。需要记录的信息有:

    ● 目标IP地址

    ● 源IP地址

    ● 目标TCP/UDP端口号

    ● 源TCP/UDP端口号

    ● 接收端口号(交换机)

    ● 转发端口号(交换机)

    ● 转发目标MAC地址

    ...

    等等。

     

    同一个流的第二块以后的数据到达交换机后,直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发给目标所连端口了。

     

    这样一来,就不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。

     

    这时,交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等。

    VLAN22.png

    通过在交换机上缓存路由结果,实现了以缆线速度(Wired Speed)接收发送方传输来数据的数据、并且能够全速路由、转发给接收方。

     

    需要注意的是,类似的加速VLAN间路由的手法多由各厂商独有的技术所实现,并且该功能的称谓也因厂商而异。例如,在Cisco的Catalyst系列交换机上,这种功能被称为“多层交换(Multi Layer Switching)”。

     

    另外,除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速VLAN间路由机制。

     

     

     

    九、传统型路由器存在的意义

    9.1、路由器的必要性

    三层交换机的价格,在问世之初非常昂贵,但是现在它们的价格已经下降了许多。目前国外一些廉价机型的售价,折合成人民币后仅为一万多元,而且还在继续下降中。

     

    既然三层交换机能够提供比传统型路由器更为高速的路由处理,那么网络中还有使用路由器的必要吗?

    答案是:“是”。

     

    使用路由器的必要性,主要表现在以下几个方面:

    ■ 用于与WAN连接

    三层交换机终究是“交换机”。也就是说,绝大多数机型只配有LAN(以太网)接口。在少数高端交换机上也有用于连接WAN的串行接口或是ATM接口,但在大多数情况下,连接WAN还是需要用到路由器。

     

    ■ 保证网络安全

    在三层交换机上,通过数据包过滤也能确保一定程度的网络安全。但是使用路由器所提供的各种网络安全功能,用户可以构建更为安全可靠的网络。

     

    路由器提供的网络安全功能中,除了最基本的数据包过滤功能外,还能基于IPSec构建×××(Virtual Private Network)、利用RADIUS进行用户认证等等。

     

    ■ 支持除TCP/IP以外的网络架构

    尽管TCP/IP已经成为当前网络协议架构的主流,但还有不少网络利用Novell Netware下的IPX/SPX或Macintosh下的Appletalk等网络协议。三层交换机中,除了部分高端机型外基本上还只支持TCP/IP。因此,在需要使用除TCP/IP之外其他网络协议的环境下,路由器还是必不可少的。

     

    注:在少数高端交换机上,也能支持上述路由器的功能。例如Cisco的Catalyst6500系列,就可以选择与WAN连接的接口模块;还有可选的基于IPSec实现×××的模块;并且也能支持TCP/IP以外的其他网络协议。

     

     

    9.2、路由器和交换机配合构建LAN的实例

    下面让我们来看一个路由器和交换机搭配构建LAN的实例。

    VLAN23.png

    利用在各楼层配置的二层交换机定义VLAN,连接TCP/IP客户计算机。各楼层间的VLAN间通信,利用三层交换机的高速路由加以实现。如果网络环境要求高可靠性,还可以考虑冗余配置三层交换机。

     

    与WAN的连接,则通过带有各种网络接口的路由器进行。并且,通过路由器的数据包过滤和×××等功能实现网络安全。此外,使用路由器还能支持Novell Netware等TCP/IP之外的网络。

     

    只有在充分掌握了二层、三层交换机以及传统路由器的基础上,才能做到物竞其用,构筑出高效率、高性价比的网络。

     

     

     

     

    十、使用VLAN设计局域网

    10.1、使用VLAN设计局域网的特点

    通过使用VLAN构建局域网,用户能够不受物理链路的限制而自由地分割广播域。

    另外,通过先前提到的路由器与三层交换机提供的VLAN间路由,能够适应灵活多变的网络构成。

    但是,由于利用VLAN容易导致网络构成复杂化,因此也会造成整个网络的组成难以把握。

     

    可以这样说,在利用VLAN时,除了有:

    ●网络构成灵活多变

    这个优点外,还搭配着:

    ●网络构成复杂化

    这个缺点。

    下面,就让我们来看看具体的实例。

     

     

    10.2、不使用VLAN的局域网中网络构成的改变

    假设有如图所示的由1台路由器、2台交换机构成的“不使用VLAN构建”的网络。

     VLAN24.png

    图中的路由器,带有2个LAN接口。左侧的网络是192.168.1.0/24,右侧是192.168.2.0/24。

    现在如果想将192.168.1.0/24这个网络上的计算机A转移到192.168.2.0/24上去,就需要改变物理连接、将A接到右侧的交换机上。

     

    并且,当需要新增一个地址为192.168.3.0/24的网络时,还要在路由器上再占用一个LAN接口并添置一台交换机。而由于这台路由器上只带了2个LAN接口,因此为了新增网络还必须将路由器升级为带有3个以上LAN接口的产品。

     

     

    10.3、使用VLAN的局域网中网络构成的改变

    接下来再假设有一个由1台路由器、2台交换机构成的“使用VLAN”的局域网。交换机与交换机、交换机与路由器之间均为汇聚链路;并且假设192.168.1.0/24对应红色VLAN、192.168.2.0/24对应蓝色VLAN。

    VLAN25.png

    需要将连接在交换机1上192.168.1.0/24这个网段的计算机A转属192.168.2.0/24时,无需更改物理布线。只要在交换机上生成蓝色VLAN,然后将计算机A所连的端口1加入到蓝色VLAN中去,使它成为访问链接即可。

     

    然后,根据需要设定计算机A的IP地址、默认网关等信息就可以了。如果IP地址相关的设定是由DHCP获取的,那么在客户机方面无需进行任何设定修改,就可以在不同网段间移动。

     

    利用VLAN后,我们可以在免于改动任何物理布线的前提下,自由进行网络的逻辑设计。如果所处的工作环境恰恰需要经常改变网络布局,那么利用VLAN的优势就非常明显了。

     

    并且,当需要新增一个地址为192.168.3.0/24的网段时,也只需要在交换机上新建一个对应192.168.3.0/24的VLAN,并将所需的端口加入它的访问链路就可以了。

     

    如果网络环境中还需要利用外部路由器,则只要在路由器的汇聚端口上新增一个子接口的设定就可以完成全部操作,而不需要消耗更多的物理接口(LAN接口)。要使用的是三层交换机内部的路由模块,则只需要新设一个VLAN接口即可。

     

    网络环境的成长,往往是难以预测的,很可能经常会出现需要分割现有网络或是增加新网络的情况。而充分活用VLAN后,就可以轻易地解决这些问题。

     

     

    10.4、利用VLAN而导致的网络结构复杂化

    虽然利用VLAN可以灵活地构建网络,但是同时,它也带来了网络结构复杂化的问题。

    特别是由于数据流纵横交错,一旦发生故障时,准确定位并排除故障会比较困难。

     

    为了便于理解数据流向的复杂化,假设有下图所示的网络。计算机A向计算机C发送数据时,数据流的整体走向如下:

    计算机A→交换机1→路由器→交换机1→交换机2→计算机C

     

    VLAN26.png

    (1)、首先计算机A向交换机1送出数据(①)

    (2)、其后数据被转发给路由器(②)进行VLAN间路由。

    (3)、路由后的数据,再从汇聚链路返回交换机1(③)。

    (4)、由于通信目标计算机C并不直连在交换机1上,因此还需要经过汇聚链路转发到交换机2(④)。

    (5)、在交换机2上,数据最终被转发到C所连的端口2上,这才完成整个流程(⑤)。

     

    在这个例子中,仅由2台交换机构成网络,其数据流已经如此复杂,如果构建横跨多台交换机的VLAN的话,每个数据流的流向显然会更加难以把握。

     

     

    10.5、网络的逻辑结构与物理结构

    为了对应日渐复杂化的数据流,管理员需要从“逻辑结构”与“物理结构”两方面入手,把握好网络的现状。

    物理结构,指的是从物理层和数据链路层观察到的网络的现状,表示了网络的物理布线形态和VLAN的设定等等。

     

    而逻辑结构,则表示从网络层以上的层面观察到的网络结构。下面我们就试着以路由器为中心分析一个IP网络的逻辑结构。

     

    还是先前的那个例子,描绘了布线形态和VLAN设定的“物理结构”如下图所示。

     VLAN27.png

    分析这个物理结构并转换成以路由器为中心的逻辑结构后,会得到如下的逻辑结构图。当我们需要进行路由或是数据包过滤的设定时,都必须在逻辑结构的基础上进行。

     VLAN28.png

    把握这两种网络结构图的区别是十分重要的,特别是在VLAN和三层交换机大行其道的现代企业级网络当中。

    展开全文
  • macvlan 详解

    万次阅读 2019-09-01 13:51:57
    01 macvlan 简介 前面的文章讲过了几种 Linux 虚拟网络设备:tap/tun、veth-pair、bridge,它们本质上是 Linux 系统 提供的网络虚拟化解决方案,今天要讲的 macvlan 也是其中的一种,准确说这是一种网卡虚拟化的解决...
  • VLAN详解

    2021-04-09 00:48:59
    VLANVLAN1.VLAN的概念2.VLAN 的好处3.VLAN的种类4.交换机接口模式 VLAN 1.VLAN的概念 为了解决广播的无限制转发,避免广播风暴的产生,节约网络资源,限制广播的传输范围,VLAN就出现了。VLAN,是虚拟局域网, VLAN是...
  • 图文并茂VLAN详解,让你看一遍就理解VLAN 一、为什么需要VLAN 1.1、什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业...
  • Vlan详解,很好理解的一篇1.为什么需要Vlan?1.1什么是Vlan?1.2未分割广播域时将会发生什么?1.3广播信息是那么经常发出的吗?1.4广播域的分割与VLAN的必要性2.实现Vlan2.1实现Vlan机制2.2直观描述Vlan2.3Vlan间通信3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,499
精华内容 2,199
关键字:

vlan详解