目录
[1.1 交换机定义](#1.1 交换机定义)
[1.1.1 交换机](#1.1.1 交换机)
[1.2 工作原理](#1.2 工作原理)
[1.2.1 数据帧的转发](#1.2.1 数据帧的转发)
[1.2.2 交换机处理数据帧的三种行为](#1.2.2 交换机处理数据帧的三种行为)
[1.2.3 交换机通信](#1.2.3 交换机通信)
[2.1 虚拟局域网简介](#2.1 虚拟局域网简介)
[2.1.1 为什么需要VLAN](#2.1.1 为什么需要VLAN)
[2.1.2 广播域的分割与VLAN的必要性](#2.1.2 广播域的分割与VLAN的必要性)
[2.1.3 VLAN使用场景](#2.1.3 VLAN使用场景)
[2.2 VLAN机制详解](#2.2 VLAN机制详解)
[2.2.1 实现VLAN的机制](#2.2.1 实现VLAN的机制)
[2.2.2 直观描述VLAN](#2.2.2 直观描述VLAN)
[2.2.3 需要VLAN间通信时应该怎么办](#2.2.3 需要VLAN间通信时应该怎么办)
[2.3 VLAN的访问链接](#2.3 VLAN的访问链接)
[2.3.1 交换机的端口类型](#2.3.1 交换机的端口类型)
[2.3.2 访问链接(Access Link)](#2.3.2 访问链接(Access Link))
[2.4 VLAN的汇聚链接(Trunk Link)](#2.4 VLAN的汇聚链接(Trunk Link))
[2.4.1 汇聚链接定义](#2.4.1 汇聚链接定义)
[3.1 VLAN间路由](#3.1 VLAN间路由)
[3.1.1 使用路由器进行VLAN间路由](#3.1.1 使用路由器进行VLAN间路由)
[3.1.2 同一VLAN及不同VLAN内通信](#3.1.2 同一VLAN及不同VLAN内通信)
[3.2 三层交换机](#3.2 三层交换机)
[3.2.1 三层交换机(Layer 3 Switch)](#3.2.1 三层交换机(Layer 3 Switch))
[3.2.2 使用三层交换机进行VLAN间路由](#3.2.2 使用三层交换机进行VLAN间路由)
[4.1 VLAN间通信](#4.1 VLAN间通信)
[4.2 单臂路由](#4.2 单臂路由)
[4.3 三层交换机](#4.3 三层交换机)
一、交换机
1.1 交换机定义
交换机(Switch)是一种基于帧的目的地址过滤、转发或泛洪的网络设备,也被称为多端口网桥。它工作在OSI模型的第二层(数据链路层),主要处理以太网帧的转发。
想象一下,你在一个繁忙的邮局工作。邮局里有很多信箱,每个信箱都有一个特定的编号,就像网络中的每个设备都有一个独一无二的MAC地址。你的工作是确保每封信都能准确无误地送到正确的信箱。
- 分拣信件:当一封信寄到邮局时,你会查看信封上的地址(在网络中就是MAC地址),然后决定把它放到哪个信箱里。这就是交换机的"帧转发"功能。
- 记住地址:每当你把信放到一个信箱,你就会记住这个地址对应的是哪个信箱。这样,下次再有同样地址的信来时,你就能直接把它放到正确的信箱,而不用每次都检查。这就像是交换机的"地址学习"。
- 检查错误:如果信封破损或者地址模糊不清,你可能会把它放到一个特殊的"问题信件"区域,等待进一步的处理。交换机也会检查数据包是否有错误,并进行相应的处理。
- 控制广播:有时候,一封信需要被送到邮局里的每个信箱,这就是广播。但是,如果每封信都这样处理,邮局就会非常混乱。所以,你会控制这种广播信件的数量,确保邮局的秩序。交换机也会控制广播流量,避免网络拥堵。
- 创建子邮局:邮局里可能会有专门的区域,比如"国际邮件区"或"本地邮件区",这样可以让邮件处理更有效率。交换机的VLAN功能就像是在一个大邮局里创建了多个小邮局,每个小邮局都有自己的信箱和规则。
- 堆叠信箱:如果你有很多信箱,可能会把它们堆叠起来,这样看起来更整洁,管理起来也更方便。交换机的堆叠功能就是把多个交换机组合起来,像一个单一的设备一样管理。
- 信箱安全:你可能会限制每个信箱可以接收的信件数量,以防止某个信箱被过多的信件塞满,或者防止不相关的信件进入。交换机的端口安全功能也是类似的,它限制了连接到每个端口的设备数量,以保护网络的安全。
总的来说,交换机就像是网络中的邮局,它确保数据(信件)能够快速、准确地被送到正确的目的地(信箱)
1.1.1 交换机
交换机的核心作用是:隔离冲突域,交换机每个接口都有一个网卡(计算机或交换机通过网卡交换数据)一块网卡的MAC地址(48位)是全球唯一的,故能唯一确定一台交换机。
在计算机网络中,数据传输可以通过不同的方式进行,其中最常见的三种是单播、组播和广播。这些术语描述了数据包在网络中的传输方式。在实际的网络设备,如交换机中,这些传输方式是这样工作的:
- 单播帧:交换机会查看数据包的目的地MAC地址,并根据其内部的MAC地址表将数据包转发到正确的端口。如果地址表中没有这个MAC地址,交换机可能会将数据包发送到所有端口(泛洪),直到学习到正确的端口。
- 广播帧:全F,组播数据包的目的地是一个组播地址。交换机会识别这个地址,并根据其组播配置将数据包转发到所有订阅了该组播地址的端口。
- 组播帧:默认第8位组播位为1,广播数据包的目的地是一个特殊的广播地址,这意味着网络上的所有设备都应该接收这个数据包。交换机会将这些数据包转发到所有端口,不管设备是否需要这些数据。
交换机启动后先学再转发 ,将接口和从该接口收到的源mac地址做一个记录,生成MAC表,正常300秒超时,如果被覆盖立即更新。
1.2 工作原理
1.2.1 数据帧的转发
帧的接收:交换机从端口接收数据帧
地址表查找:交换机查看帧目录的MAC地址,并在其MAC地址表中查找对应的端口,MAC地址表记录了MAC地址与交换机端口的映射关系
- 查找成功:如果找到匹配的条目,交换机将帧转发到响应的端口(排除源端口)
- 查找失败:如果未找到匹配的条目,交换机将帧泛洪到除了接收端口之外的所有端口
1.2.2 交换机处理数据帧的三种行为
在计算机网络中,交换机处理数据包的三种基本方式是泛洪(Flooding)、转发(Forwarding)和丢弃(Dropping)。这些操作帮助交换机决定如何处理进入的数据包。
- 泛洪:广播、组播和未知单播帧。在网络中,泛洪是当交换机收到一个数据包,但是它的MAC地址表中没有目标MAC地址的记录时,交换机会将这个数据包复制并发送到所有端口,除了接收数据包的那个端口。这样做是为了确保数据包能够到达目的地,尽管效率不高。
- 转发:已知单播帧。转发是交换机根据其MAC地址表中已有的信息,将数据包直接发送到目标设备所在的端口。这是最理想的情况,因为数据包能够以最直接的路径到达目的地,没有不必要的复制和传输。
- 丢弃:丢弃是交换机决定不处理某些数据包,可能是因为它们是错误格式的数据包、目的地不可达、或者网络策略不允许它们通过。丢弃数据包可以防止网络资源被不必要的流量占用。
1.2.3 交换机通信
以上图为例,在计算机A处ping 1.2:
ping 包是icmp协议(应用层协议),封装数据包+网络层+数据链路层,无需封装传输层
- 首先,主机A会根据目的IP判断是否在同一网段:如在,查看主机A自己的arp缓存表是否有1.2对应的mac,没有的话发送arp广播请求报文找目的ip对应的目的mac;如不在,找网关;
- 其次,arp广播请求报文(数据包会写明自己的ip和目的ip+源mac为A,目的mac为FF,不封装网络层)发送至交换机,交换机先学习(记录0口对应的mac为A)后泛洪;
- 然后,主机B收到arp广播请求,先记录arp缓存(1.1对应的mac为A)后返回arp单播应答(没有网络层);
- 之后,交换机收到arp单播应答,先学习(记录1口对应的mac为B)后转发(查表通过0口发送出去);
- 最后,主机A收到arp单播应答先记录arp缓存(1.2对应的mac为B)
二、虚拟局域网(VLAN)
2.1 虚拟局域网简介
虚拟局域网(VLAN)是一种在物理局域网内部划分逻辑上独立的虚拟网络的方法。它通过在网络交换机上配置,将不同的设备分组到不同的虚拟网络中,实现了逻辑上分隔的网络通信。每个VLAN都是一个独立的广播域,VLAN内的设备可以直接通信,而不同VLAN之间的设备默认情况下无法直接通信,需要通过网络设备(如交换机或路由器)进行数据转发。
VLAN的主要优点包括限制广播范围、提高网络安全性、增强网络的健壮性以及灵活构建虚拟工作组。通过VLAN技术,网络管理员可以根据功能、部门或应用需求将设备和用户划分到不同的逻辑网络中,而不受物理位置的限制。这样,即使物理位置相邻的设备也可以属于不同的VLAN,无法直接通信,从而增强了网络的安全性和组织性。
VLAN的划分可以基于不同的标准,如端口、MAC地址、网络层、IP组播或基于策略等。在企业网络中,VLAN可以用来分隔不同部门的网络,提高安全性和网络管理效率。例如,可以将财务部门和研发部门的网络设备划分到不同的VLAN中,以确保敏感数据的安全。此外,VLAN还可以用于控制广播风暴,通过将大型网络划分为多个较小的VLAN来降低网络拥塞,提高整体性能。
在实际应用中,VLAN技术广泛应用于企业网络、数据中心、云计算等领域。通过合理地划分VLAN,可以实现精细化的网络管理和安全控制,提高网络的性能和安全性。随着网络技术的不断发展,VLAN技术将继续发挥其重要作用,为现代企业提供更加可靠和高效的网络解决方案。
2.1.1 为什么需要VLAN
VLAN(Virtual LAN),翻译成中文是"虚拟局域网"。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络------也就是广播域。
在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。
本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。
未分割广播域时:
仅有一个广播域,有可能会影响到网络整体的传输性能
图中,是一个由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运算能力的大量无谓消耗。
2.1.2 广播域的分割与VLAN的必要性
- 控制广播流量:在大型网络中,广播流量(如ARP请求、网络公告等)会在网络中不断扩散,如果所有设备都在同一个广播域内,会导致不必要的带宽消耗和潜在的安全风险。通过VLAN,可以将大型广播域分割成多个小型的广播域,每个VLAN作为一个独立的广播域,限制了广播流量的传播范围,从而提高了网络效率和安全性。
- 提高网络性能:当网络中的设备数量增加时,广播和多播流量也会增加,这会导致网络拥塞和性能下降。使用VLAN可以减少每个广播域内的设备数量,从而减少广播流量,提高网络的整体性能。
- 增强网络安全:在一个大型的广播域中,数据包可能会被未授权的用户截获,增加了数据泄露的风险。VLAN提供了一种逻辑上的隔离,使得不同VLAN之间的通信必须通过受控的路径(如路由器或三层交换机),这样可以增强网络的安全性。
VLAN技术提供了一种有效的方法来分割广播域,它不仅提高了网络的性能和安全性,还增加了网络设计的灵活性和成本效益,使得网络管理更加高效和简单。
2.1.3 VLAN使用场景
VLAN主要用于隔离,例如以下场景:
- 在一家公司中,可能需要将财务部门、人力资源部门和销售部门的网络流量分开,以确保数据安全和部门之间的隐私
- 学校可能需要为不同的教学楼、实验室或学生宿舍设置不同的VLAN,以便于管理和控制访问权限
- 酒店可能需要为客人提供公共Wi-Fi网络,同时保留一个内部网络用于酒店管理
- ......
2.2 VLAN机制详解
2.2.1 实现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"来区分的。
2.2.2 直观描述VLAN
如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。
在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。
但是,VLAN生成的逻辑 上的交换机是互不相通 的。因此,在交换机上设置VLAN后,++如果未做其他处理,++ ++VLAN间是无法通信的++。
明明接在同一台交换机上,但却偏偏无法通信------这个事实也许让人难以接受。但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。
2.2.3 需要VLAN间通信时应该怎么办
那么,当我们需要在不同的VLAN间通信时又该如何是好呢?
请大家再次回忆一下:VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继 的。因此,VLAN间的通信也需要路由器提供中继服务,这被称作"VLAN间路由"。
VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。具体内容我们在下面依次阐述
2.3 VLAN的访问链接
2.3.1 交换机的端口类型
交换机的端口类型主要分为以下几种:
- Access端口:用于连接终端设备,如电脑、打印机等。通常配置为属于单一的VLAN。从Access端口发送出去的数据包不会携带VLAN信息,因为终端设备通常不支持VLAN;
- Trunk端口:用于连接交换机之间或交换机与路由器之间。可以携带多个VLAN的数据流量。配置时可以允许多个VLAN通过,需要配置允许通过的VLAN列表。Trunk端口在数据包中添加或剥离VLAN标签,以确保在数据包在不同VLAN间正确传递;
- Hybird:混杂模式,一般情况下都可以相连,既能加标签,又能解多条标签
2.3.2 访问链接(Access Link)
访问链接是"只属于一个VLAN,且仅向该VLAN转发数据帧"的端口。在大多数情况下,访问链接所连的是客户机。
通常设置VLAN的顺序是:
- 生成VLAN
- 设定访问链接(决定各端口属于哪一个VLAN)
设定访问链接的手法,可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为"静态VLAN"、后者自然就是"动态VLAN"了。
1.静态VLAN------基于端口
静态VLAN又被称为基于端口的VLAN,也就是明确指定各个端口属于哪个VLAN的设定方法
由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定------这显然不适合那些需要频繁改变拓补结构的网络。
2.动态VLAN
另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类:
- 基于MAC地址的VLAN(MAC Based VLAN)
- 基于子网的VLAN(Subnet Based VLAN)
- 基于用户的VLAN(User Based VLAN)
2.4 VLAN的汇聚链接(Trunk Link)
到此为止,我们学习的都是使用单台交换机设置VLAN时的情况。那么,如果需要设置跨越多台交换机的VLAN时又如何呢?
例如,在规划企业级网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。假设有如下图所示的网络,且需要将不同楼层的A、C和B、D设置为同一个VLAN。
这时,最关键的问题就是"交换机1和交换机2如何连接才好?"
最简单的方法,自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联了
但是,这个办法从扩展性和管理效率来看都不好。例如,在现有网络基础上再新建VLAN时,为了让这个VLAN能够互通,就需要在交换机间连接新的网线。建筑物楼层间的纵向布线是比较麻烦的,一般不能由基层管理人员随意进行。并且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口也越来越多,交换机端口的利用效率低是对资源的一种浪费、也限制了网络的扩展。
为了避免这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)
2.4.1 汇聚链接定义
汇聚链接(Trunk Link)指的是能够转发多个不同VLAN的通信的端口。
汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。
对于上面说的情况,如果采用汇聚链路是什么样的?用户只需要简单的将交换机间互联的端口设定为汇聚链接即可。
A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加 了表示属于红色VLAN的标记。
交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除 标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。这时的转送,是指经过确认目标MAC地址并与MAC地址列表 比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。
蓝色VLAN发送数据帧时的情形也与此相同。
另外,默认条件下,汇聚链接会转发交换机上存在的所有VLAN的数据。换一个角度看,可以认为汇聚链接(端口)同时属于 交换机上所有的VLAN。由于实际应用中很可能并不需要转发所有VLAN的数据,因此为了减轻交换机的负载、也为了减少对带宽的浪费,我们可以通过用户设定限制能够经由汇聚链路互联的VLAN。
三、VLAN间通信
3.1 VLAN间路由
到目前为止,我们已知两台计算机即使连接在同一台交换机上,只要所属的VLAN不同就无法直接通信。接下来我们将要学习的就是如何在不同的VLAN间进行路由,使分属不同VLAN的主机能够相互通信。
来复习一下为什么不同VLAN间不通过路由就无法通信:
在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARP。ARP解析MAC地址的方法,则是通过广播。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信。
计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文。因此,属于不同VLAN的计算机之间无法直接互相通信。
路由功能,一般主要由路由器提供。但在今天的局域网里,我们也经常利用带有路由功能的交换机------三层交换机(Layer 3 Switch)来实现。接下来就让我们分别看看使用路由器和三层交换机进行VLAN间路由时的情况。
3.1.1 使用路由器进行VLAN间路由
路由器和交换机的接线方式,大致有以下两种:
- 将路由器与交换机上的每个VLAN分别连接
- 不论VLAN有多少个,路由器与交换机都只用一条网线连接
3.1.2 同一VLAN及不同VLAN内通信
同一VLAN间通信:
在同一VLAN内的设备可以直接通信,因为它们处于同一个广播域中。当一台设备发送数据帧时,交换机会检查数据帧的目的MAC地址,并将其与MAC地址表进行比较。如果目的MAC地址在MAC地址表中,交换机会将数据帧直接转发到相应的端口。如果目的MAC地址不在MAC地址表中,交换机会将数据帧广播到同一VLAN的所有其他端口,除了发送端口。
不同VLAN间通信:
不同VLAN间的通信需要通过路由器或三层交换机来实现,因为它们之间的数据帧无法直接传递。以下是通信过程的步骤:
-
数据帧的发送:
- 当一个设备(假设在红色VLAN)需要发送数据到另一个VLAN(假设蓝色VLAN)的设备时,它将数据帧发送到其默认网关(通常是路由器或三层交换机的接口)。
-
数据帧的接收:
- 路由器或三层交换机的接口接收到来自红色VLAN的数据帧。
-
数据帧的处理:
- 路由器或三层交换机会检查数据帧的目的MAC地址,并确定它是否属于蓝色VLAN。
-
路由决策:
- 如果目的MAC地址属于蓝色VLAN,路由器或三层交换机会根据其路由表或VLAN间的路由配置,将数据帧转发到蓝色VLAN。
-
数据帧的转发:
- 路由器或三层交换机会将数据帧发送到蓝色VLAN的接口。
-
数据帧的到达:
- 蓝色VLAN中的交换机接收到数据帧,并根据MAC地址表将数据帧转发到最终目的地。
3.2 三层交换机
现在,我们知道只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。
交换机使用被称为ASIC (ApplicationSpecified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中 到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。
3.2.1 三层交换机(Layer 3 Switch)
为了解决上述问题,三层交换机应运而生。
三层交换机是一种网络设备,它结合了二层交换机的高速交换能力和路由器的三层路由功能。三层交换机可以在数据链路层(第二层)和网络层(第三层)上进行操作,因此得名"三层"交换机。
三层交换机本质上就是"带有路由功能的(二层)交换机"。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为"三层交换机"。
3.2.2 使用三层交换机进行VLAN间路由
三层交换机和使用汇聚链路连接路由器与交换机时的情形相同。假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成"VLAN接口"(VLAN Interface)
四、路由实验
4.1 VLAN间通信
- 实现VLAN 10和VLAN 30之间的通信。
- 确保同一VLAN内的设备能够相互通信。
步骤1:创建VLAN
首先,需要在所有交换机上创建VLAN 10和VLAN 30。这通常通过进入交换机的配置模式并使用VLAN创建命令来完成。例如:
Switch(config)# vlan 10
Switch(config-vlan)# name VLAN10
Switch(config)# vlan 30
Switch(config-vlan)# name VLAN30
步骤2:配置端口类型和VLAN成员
接下来,需要根据实验要求配置每个端口的类型(access、trunk或hybrid)和将端口分配给相应的VLAN。
- Access端口:通常连接到单个终端设备,如PC。在本实验中,PC1、PC2、PC4和PC5的连接端口应该被配置为access模式,并分配给相应的VLAN。
例如,PC1属于VLAN 10,所以它的连接端口应该配置为:
Switch(config)# interface Ethernet 0/0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
- Trunk端口:用于连接交换机之间或连接到支持多个VLAN的设备。在本实验中,LSW1、LSW2和LSW3之间的连接端口应该被配置为trunk模式,并允许VLAN 10和VLAN 30通过。
例如,LSW1和LSW3之间的连接端口应该配置为:
Switch(config)# interface Ethernet 0/0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,30
- Hybrid端口:可以同时连接到多个VLAN,并且可以对某些VLAN的流量进行标记或不标记。在本实验中,可能需要配置hybrid端口以允许VLAN 10和VLAN 30的流量。
例如,如果PC3连接到一个hybrid端口,并且该端口需要同时处理VLAN 20和VLAN 30,配置可能如下:
Switch(config)# interface Ethernet 0/0/1
Switch(config-if)# switchport mode hybrid
Switch(config-if)# switchport hybrid vlan 20,30
步骤3:配置路由
为了使不同VLAN间的设备能够通信,需要在三层交换机上配置VLAN接口(SVI)或使用路由器进行路由。在本实验中,如果使用三层交换机,可以为每个VLAN配置一个SVI。
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.1.1 255.255.255.0
Switch(config)# interface vlan 30
Switch(config-if)# ip address 192.168.1.2 255.255.255.0
抓包查看打上的标签流量
4.2 单臂路由
单臂路由是指在路由器的一个接口上通过配置子接口(或"逻辑接口",并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。这种方法常用于需要跨VLAN通信的场景,但存在单点故障和流量瓶颈的潜在问题。
想象一下,你是一家大型公司的前台接待员,公司有很多部门,它们分布在不同的办公室里。每个办公室都有自己的门,但是这些门都是锁着的,部门之间的员工不能随意进入其他部门的办公室。这时,如果你想要从销售部门递送文件到财务部门,你需要走出自己的办公室,穿过大厅,走到财务部门的门前,敲门,然后将文件交给财务部门的同事。
在这个比喻中,你就是那台路由器,而你的办公室就是路由器的一个接口(单臂)。你需要处理来自不同部门(VLAN)的文件(数据包),并将它们传递到正确的目的地。虽然你只有一扇门(一个接口),但你可以通过这扇门来协调不同部门之间的通信。
在网络中,单臂路由的工作原理如下:
- 当一个VLAN内的设备需要发送数据到另一个VLAN的设备时,数据包首先被发送到连接该VLAN的交换机端口。
- 交换机识别出这个数据包是发往另一个VLAN的,但由于它不能直接在VLAN之间转发数据,所以它将数据包发送到连接路由器的端口。
- 路由器接收到数据包后,查看数据包的目的MAC地址和VLAN信息,然后决定将数据包转发到正确的VLAN。
- 路由器使用它的路由表和VLAN配置信息,将数据包发送到连接目标VLAN的交换机端口。
- 最终,目标VLAN内的设备接收到数据包。
首先配置如下网络拓扑
接下来进行实验配置:
R1配置:
<Huawei>system-view
[Huawei]sysname R1
// 创建虚拟接口
[R1]interface GigabitEthernet 0/0/1.10
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/1.10]arp broadcast enable
[R1-GigabitEthernet0/0/1.10]interface GigabitEthernet 0/0/1.20
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 20
[R1-GigabitEthernet0/0/1.20]ip address 192.168.2.254 24
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
SW1配置:
<Huawei>system-view
[Huawei]sysname SW1
[SW1]vlan batch 10 20
[SW1]interface Ethernet0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1]port default vlan 10
[SW1-Ethernet0/0/1]interface Ethernet0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 20
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
连通测试
4.3 三层交换机
二层交换机和路由器在功能上的集成构成了三层交换机,三层交换机在功能上实现了VLAN的划分、VLAN内部的二层交换和VLAN间路由的功能。
配置要点:
[SWA]interface vlanif 100
[SWA-Vlanif1]ip add 192.168.10.1 255.255.255.0
[SWA]interface vlanif 200
[SWA-Vlanif200]ip add 192.168.20.1 255.255.255.0
VLANIF是三层交换机上用于实现VLAN间路由的逻辑接口。通过为不同的VLAN配置VLANIF接口,并分配相应的IP地址,可以实现VLAN间的通信。
VLANIF接口的主要功能是作为VLAN的网关,负责VLAN内设备与外部网络或不同VLAN之间的数据转发。
创建VLANIF的时候,需要先创建对应的vlan,如创建vlan100,才能进入vlanif 100
配置步骤:
SW1
[SW1]int e0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 100
[SW1-Ethernet0/0/2]int e0/0/1
[SW1-Ethernet0/0/1]port link-type trunk
[SW1-Ethernet0/0/1]port trunk allow-pass vlan 100 200
SW3
[SW3]int e0/0/2
[SW3-Ethernet0/0/2]port link-type access
[SW3-Ethernet0/0/2]port default vlan 200
[SW3-Ethernet0/0/2]int e0/0/1
[SW3-Ethernet0/0/1]port link-type trunk
[SW3-Ethernet0/0/1]port trunk allow-pass vlan 100 200
SW2
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 200
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port default vlan 1
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]p t a v 100 200