经典 VLAN 学习笔记 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

为什么需要 VLAN 

什么是 VLAN  

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

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

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

 

未分割广播域时 ……

那么,为什么需要分割广播域呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图中,是一个由 5 台二层交换机(交换机 1 5 )连接了大量客户机构成的网络。假设这时,计算机 A 需要与计算机 B 通信。在基于以太网的通信中,必须在数据帧中指定目标 MAC 地址才能正常通信,因此计算机 A 必须先广播 “ARP 请求( ARP Request )信息 ,来尝试获取计算机 B MAC 地址。

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

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


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

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

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

ARP
广播,是在需要与其他主机通信时发出的。当客户机请求 DHCP 服务器分配 IP 地址时

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

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

 

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

l         RIP
:一种路由协议。

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

l         NetBEUI
Windows 下使用的网络协议。

l         IPX
Novell Netware 使用的网络协议。

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

 

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

 

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

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

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

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

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

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


实现 VLAN 的机制

实现 VLAN 的机制

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

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

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

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

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

 

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

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

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

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

 

需要 VLAN 间通信时怎么办

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

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

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

VLAN 的访问链接

交换机的端口

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

 

l         
访问链接( Access Link

l         
汇聚链接( Trunk Link

 

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

 

访问链接

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

通常设置 VLAN 的顺序是:

 

l         
生成 VLAN

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

 

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

 

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

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

 

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

 

l         
基于 MAC 地址的 VLAN MAC Based VLAN

l         
基于子网的 VLAN Subnet Based VLAN

l         
基于用户的 VLAN User Based VLAN

 

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

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

由于是基于 MAC 地址决定所属 VLAN 的,因此可以理解为这是一种在 OSI 的第二层设定访问链接的办法。

但是,基于 MAC 地址的 VLAN ,在设定时必须调查所连接的所有计算机的 MAC 地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。

 

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

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

 

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

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

 

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

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

 

下表总结了静态 VLAN 和动态 VLAN 的相关信息。
种类                                            解说
静态 VLAN   基于端口的 VLAN                       将交换机的各端口固定指派给 VLAN

动态 VLAN   基于 MAC 地址的 VLAN                    根据各端口所连计算机的 MAC 地址设定
          
基于子网的 VLAN                       根据各端口所连计算机的 IP 地址设定
          
基于用户的 VLAN                       根据端口所连计算机上登录用户设定


VLAN 的汇聚链接

需要设置跨越多台交换机的 VLAN ……

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

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

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

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

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

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

 

何谓汇聚链接?

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

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

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

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

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

交换机 2 收到数据帧后,经过检查 VLAN 标识发现这个数据帧是属于红色 VLAN 的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色 VLAN 的端口。这时的转送,是指经过确认目标 MAC 地址并与 MAC 地址列表比对后只转发给目标 MAC 地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色 VLAN 的端口。

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

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

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

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

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


IEEE802.1Q ISL

汇聚方式

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

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

 

l         IEEE802.1Q

l         ISL

 

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

 

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 后,对包括它们在内的整个数据帧重新计算后所得的值。

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

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

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

 

ISL
Inter Switch Link

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

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

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

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

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

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


VLAN 间路由 1
VLAN
间路由的必要性

根据目前为止学习的知识,我们已经知道两台计算机即使连接在同一台交换机上,只要所属的 VLAN 不同就无法直接通信。接下来我们将要学习的就是如何在不同的 VLAN 间进行路由,使分属不同 VLAN 的主机能够互相通信。

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

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

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

 

使用路由器进行 VLAN 间路由

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

 

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

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

 

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

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

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

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

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

采用这种方法的话,即使之后在交换机上新建 VLAN ,仍只需要一条网线连接交换机和路由器。用户只需要在路由器上新设一个对应新 VLAN 的子接口就可以了。与前面的方法相比,扩展性要强得多,也不用担心需要升级 LAN 接口数不足的路由器或是重新布线。

使用 VLAN 设计局域网

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

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

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

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

l         
网络构成灵活多变

这个优点外,还搭配着:

l         
网络构成复杂化

这个缺点。

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

 

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

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

图中的路由器,带有 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 接口的产品。

 

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

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

需要将连接在交换机 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 后,就可以轻易地解决这些问题。


使用 VLAN 设计局域网( 2

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

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

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

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

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

首先计算机 A 向交换机 1 送出数据( ),其后数据被转发给路由器( )进行 VLAN 间路由。路由后的数据,再从汇聚链路返回交换机 1 )。由于通信目标计算机 C 并不直连在交换机 1 上,因此还需要经过汇聚链路转发到交换机 2 )。在交换机 2 上,数据最终被转发到 C 所连的端口 2 上,这才完成整个流程( )。

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


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

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

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

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

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

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

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