eNSP使用故障的解决
运行eNSP时,特别是启动路由器时如果出现错误40,可以通过卸载oracle virtual box解决,卸载后,可以安装oracle virtual box 5.2.x的最后一个版本是5.2.44,eNSP只支持5.2.x版本的virtual box。但Windows 10 22H2不支持低版本的oracle virtual box5.2.x 。因此出现问题时可以考虑安装oracle virtual box5.2.x的高版本,例如5.2.42或5.2.44。这两个版本已经上传到“资料”中。
2023年9月29日,老师给三台PC安装eNSP+eNSP Pro发现,2台PC可以正常安装eNSP,这两台PC中还有一台是windows 11,但有一台PC打开eNSP后,启动路由器提示错误40,研究了1天,徬晚发现win10 22H2+oracle virtual box 5.2.42+eNSP=Well Done。
如果希望同时运行eNSP和eNSP Pro,eNSP只能支持oracle virtual box5.2.x,但eNSP Pro需要高版本的oracle virtual box,经过测试,eNSP和eNSP Pro可以共存于oracle virtual box 5.2.44, 5.2.44是5.2.x的最后一个版本。
华为eNSP Pro
eNSP(Enterprise Network Simulation Platform),是华为公司开发的一款网络仿真软件,它可以帮助网络工程师进行网络拓扑设计、网络配置、网络测试等工作。
最早出来的时候就叫eNSP,2023年6月30日华为发布了eNSP Pro,因此网上有些地方称早期的eNSP也被称为eNSP Lite。
本课程采用eNSP进行授课,其版本是eNSP V100R003C00SPC100,3.12GB。
2023年6月30日华为发布了eNSP Pro,版本是:eNSP Pro V100R001C00。eNSP Pro文件4.75G。
截至2023年9月eNSP Lite和eNSP Pro各有优势和不同,本次课程的教学eNSP Lite已经完全可以满足,因此使用eNSP进行教学。
建议有能力的同学利用课余时间学习eNSP Pro。
eNSP已于2019年12月31日正式停止服务,eNSP软件目前仅对渠道合作伙伴开放。不面向个人用户开放下载,下图是华为官网的信息:
注:eNSP Pro对CPU和内存的要求非常高,建议最低使用intel 12代CPU,32G内存,否则开启一个交换机需要15分钟。
Virtual Local Area Network
某行业前三民营企业2021网络拓扑
VLAN, Virtual Local Area Network,直译:虚拟本地区域网络,意译:虚拟局域网。
上图为某省某行业前三的民营企业2021年网络拓扑图。该企业2021年有700人,考虑到服务器、各部门的网打印机服务器、其它PC,网络打印机,手机,也就是有大约750台PC,700台手机,整个网络接入了约1500台终端(PC、网络打印机、手机、无线路由器等)。该企业为技术密集型企业,人手一台PC,通过各种方式(合规、不合规)几乎全员上网。
该企业的网络在2021年及之前是没有划分VLAN,子网掩码为255.255.0.0,使用了192.168.0.0~192.168.15.0这15个C类地址,每个部门一个C类地址。由于该网络没有划分VLAN,且子网掩码是255.255.0.0,该网络可容纳的主机数是:65534个IPv4的终端(大数是:6.5万)。
系统及网络安全情况:企业购买了200台PC的杀毒软件,但缺乏维护和升级,个别员工安装了360杀毒软件。
连接外网的有三台路由器,其中两台是华为ASG2100,一台是普通PC安装了软路由程序当作路由器。
根据说明书,华为ASG2100支持100-200人的中小企业。软路由说明书制作的较为粗糙,不知道能支持多少PC,企业2个部门各通过一台华为ASG2100上网,其它部门通过软路由上网。
该网络没有任何监控,如流量监控,网络设备日志监控等。
运行情况:截至2021年2月,员工很少投诉,基本没有反馈网络问题,该企业网络运行稳定。
初步优化后网络拓扑图
1. 优化后网络拓扑
-
优化的第一步是将所有设备的子网掩码由255.255.0.0调整为255.255.255.0,同时调整各台PC的网关,8个人花了大约1个晚上的时间,从凌晨12点至06:00。
-
优化的第二步是划分VLAN,思路是一个部门一个VLAN,当出现某些问题(攻击)时,仅仅一个部门的业务受到影响,为了降低“舆情”。
在华为S5700系列交换机上划分VLAN,华为S6700交换机上的端口配ip address下联各S5700系列交换机。
优势:员工容易接受,只用修改PC的网关,原有的IP地址不用修改,不会影响各类服务器对内提供服务(如共性打印机服务器、共享文件服务器、多个业务服务器)。
2. 配置脚本
VLAN配置脚本:
LSW1
system-view
sysname LSW1_HeXin_S6700
vlan 20
description DaKeHu vlan 30
description LingShouYeWu vlan 40
description QuDao vlan 50
description JiShu vlan 60
description BanGongShi vlan 70
description Server
quit
interface GigabitEthernet 0/0/2
description LSW2_DaKeHu
port link-type access
port default vlan 20
quit
interface GigabitEthernet 0/0/3
description LSW3_LingShouBu
port link-type access
port default vlan 30
quit
interface GigabitEthernet 0/0/4
description LSW4_QuDaoBu
port link-type access
port default vlan 40
quit
interface GigabitEthernet 0/0/5
description LSW5_JiShuBu
port link-type access
port default vlan 50
quit
interface GigabitEthernet 0/0/6
description LSW6_BanGongShi&Server
port link-type trunk
port trunk allow-pass vlan 60 70
quit
interface vlanif 20
description LSW2_DaKeHu
ip address 192.168.20.1 24
quit
interface vlanif 30
description LSW3_LingShouBu
ip address 192.168.30.1 24
quit
interface vlanif 40
description LSW4_QuDaoBu
ip address 192.168.40.1 24
quit
interface vlanif 50
description LSW5_JiShuBu
ip address 192.168.50.1 24
quit
interface vlanif 60
description LSW6_BanGongShi
ip address 192.168.60.1 24
quit
interface vlanif 70
description LSW6_Server
ip address 192.168.70.1 24
quit
LSW2
system-view
sysname LSW2_DaKeHu
quit
save
y
LSW3
system-view
sysname LSW3_LingShouBu
vlan 30
description LingShouBu
qui
t port-group LingShouBu
group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/24
port default vlan 30
LSW4
system-view
sysname LSW4_QuDaoBu
LSW5
system-view
sysname LSW5_JiShuBu
常用小配置
-
配置流量统计时间间隔
关闭信息管理中心 undo info-center enable
使用场景:
如上图示,配置完一条命令后,系统会自动生成自行后的情况(红色框),有时这会影响继续配置设备,可以使用该命令关闭这个信息提示。
清除交换机配置
1.清空设备下次启动使用的配置。
<huawei>reset saved-configuration
y
<huawei>reboot fast
y
上图中,最后一行###表示设备正在重启中。
2.一键式清除指定接口下配置信息或将配置恢复到缺省值。
clear configuration interface interface-type interface-number
使用场景
实验过程中,配错了,一条条删除很麻烦,或者,希望重新配置,或者工作中,设备未投产时。在生产环境运行的设备一般不允许使用清空配置的命令。
查看交换机端口的link type是什么
命令:display port vlan
由上图可以看出,这个交换机默认的端口都是hybrid模式,还可以知道每个端口的PVID和允许通过的VLAN。
配置流量统计时间间隔
背景信息
通过配置接口的流量统计时间间隔功能,用户可以对感兴趣的报文进行统计与分析。同时,通过预先查看接口的流量统计,及时采取流量控制的措施,可以避免网络拥塞和业务中断。
当用户发现网络有拥塞的情况时,可以将接口的流量统计时间间隔设置为小于300秒(拥塞加剧时,设置为30秒),观察接口在短时间内的流量分布情况。对于导致拥塞的数据报文,采取流量控制措施。
当网络带宽充裕,业务运行正常时,可以将接口的流量统计时间间隔设置为大于300秒。一旦发现有流量参数异常的情况,及时修改流量统计时间间隔,便于更实时的观察该流量参数的趋势。
2.说明
在系统视图下配置的流量统计时间间隔对接口下的时间间隔为缺省值的所有接口都生效。
在接口视图下配置的流量统计时间间隔只对本接口生效,不影响其他接口。
在接口视图下配置的时间间隔的优先级高于在系统视图下配置的时间间隔。
3.操作步骤
3.1 配置全局流量统计时间间隔
1)进入系统视图。
system-view
2)配置全局流量统计时间间隔。
set flow-stat interval interval
缺省情况下,全局流量统计时间间隔为300秒。
3.2 配置接口流量统计时间间隔
1)进入系统视图。
system-view
2)进入接口视图。
interface { interface-name | interface-type interface-number }
3)配置接口流量统计时间间隔。
set flow-stat interval interval
缺省情况下,接口流量统计时间间隔为300秒。
4. eNSP中模拟
如下图示,eNSP中的S5700交换机进行模拟,流量统计时间间隔最小10秒,最大300秒,实际项目上,要看具体的设备型号,不同型号及版本的设备这个最小时间间隔可能会不一样。
4. 用途
配置流量监控时用,网络设备能提供的流量统计最小时间间隔对日常网络运维有较大的帮助。
20XX年,老师通过mrtg发现服务器管理员A,将公司核心服务器暴露在公网并利用公司核心服务器接私活。
云南师范大学呈贡校区mrtg流量监控图:https://mrtg.ynnu.edu.cn/,该网站2023.9.30可以访问,大家可以自己试试。
vlanif
基于vlan的虚拟接口,在物理上不存在,if=interface(缩写)。
三层交换机上的路由功能有两种实现方式,一种是配置vlanif,另外一种是将二层口直接配置为三层口,例如下一小结的内容:
将接口从三层模式切换到二层模式。
portswitch
将接口从二层模式切换到三层模式。
undo portswitch
将二层口变为三层口后,就可以直接在该口上配置ip address了。
一种配置模式
vlan 10
quit
interface ge 0/0/1
port link-type access
port access default vlan 10
quit
interface vlan 10
ip address 192.168.10.10 24
quit
另一种配置三层接口的方法
interface ge 0/0/1
undo portswitch
ip address 192.168.10.10 24
将端口在三层和二层间互换
1. 命令
将接口从三层模式切换到二层模式。
portswitch
将接口从二层模式切换到三层模式。
undo portswitch
2. 交换机上二层接口的MAC地址和三层接口的MAC地址的区别
在eNSP中使用display interface命令查看S5700系列交换机的mac地址会发现,所有24个物理端口(GigabitEthernet0/0/1~GigabitEthernet0/0/24)及Vlanif1的MAC地址一致。
如果把二层接口改为三层接口,那么这个三层接口有新的MAC地址,多改几个会发现,不同的三层接口有不同的MAC地址。
查看交换机mac地址的命令:display bridge mac
结论:二层交换机只有一个MAC地址,而三层交换机和路由器,每个三层口一个MAC地址。
二层交换机和未开启三层功能的三层交换机一样,都只有一个MAC地址,且所有端口的MAC地址都是这个。
路由器和开启三层功能的三层交换机本身没有自己的MAC地址,有的只是各个三层口的MAC地址。路由器中要查看mac地址只能show interface,不能像交换机那样display bridge mac。交换机可以display bridge mac也可以display interface。同学们可以在模拟器上试试。
在ensp中,将S5700的1-24口都启用三层功能后,会发现,1-24口的MAC地址都不一样,而vlanif1的MAC地址=display bridge mac所看到的mac=未开启三层功能前的24个物理端口的MAC address。
路由器&交换机SSH登录配置
1. 路由器配置SSH登录
<HUAWEI>system-view
[HUAWEI]undo info-center enable
[Huawei]rsa local-key-pair create // local-key-pair的含义:Local RSA public key pair operations,create:Create new local public key pairs
[Huawei] aaa
[Huawei-aaa] local-user huawei password cipher 123456 //创建与SSH用户同名的本地用户和对应的登录密码
[Huawei-aaa]local-user huawei priviledge level 15
[Huawei-aaa]local-user huawei service-type ssh
[Huawei-aaa]quit
[Huawei]ssh user huawei authenticaiton-type password
[Huawei]stelnet server enable //使能设备的STelnet服务器功能
[Huawei]user-interface vty 0 4 //可以同时5个用户登录,用户0到用户4
[Huawei-ui-vty0-4]authentication-mode aaa //配置VTY用户界面认证方式为AAA认证
[Huawei-ui-vty0-4]protocol inbound ssh //配置VTY用户界面支持的协议为SSH,
默认情况下即SSH [Huawei-ui-vty0-4]quit //退出vty配置模式
说明:通过STelnet登录设备需配置用户界面支持的协议是SSH,必须设置VTY用户界面认证方式为AAA认证。
[Huawei]ssh client first-time enable //第一次登录ssh需要配置该条命令。注意:这条命令是在客户端配,而且这个客户端是路由器或交换机或防火墙等设备,如果是PC则不需要。
SW1
system-view
[Huawei]undo info-center enable
[Huawei]rsa local-key-pair create
[Huawei]aaa
[Huawei-aaa]local-user huawei password cipher 123456
[Huawei-aaa]local-user huawei privilege level 15
[Huawei-aaa]local-user huawei service-type ssh
[Huawei-aaa]quit [Huawei]stelnet server enable
[Huawei]ssh user huawei
[Huawei]ssh user huawei authentication-type password
[Huawei]ssh user huawei service-type stelnet
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]authentication-mode aaa
[Huawei-ui-vty0-4]protocol inbound ssh
[Huawei-ui-vty0-4]quit
AAA原理与配置
对于任何网络,用户管理都是最基本的安全管理要求之一。
AAA(Authentication, Authorization, and Accounting)是一种管理框架,它提供了授权部分用户访问指定资源和记录这些用户操作行为的安全机制。因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。AAA可以通过多种协议来实现,在实际应用中,最常使用RADIUS (Remote Authentication Dial-In User Service)协议。
本章将介绍AAA基本概念、AAA的实现方式、AAA的基本配置以及常见AAA应。
学完本课程后,您将能够:
掌握AAA的基本原理
描述AAA的应用场景
描述RADIUS的基本原理
掌握AAA的基本配置
AAA技术为了提高企业网络的安全性,防止非法用户登录,需要对企业内部员工,外部客户等进行身份的认证,可访问资源的授权和上网为行为的监控。
认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络
。 授权(Authorization):授权用户可以使用哪些服务。
计费(Accounting):记录用户使用网络资源的情况。
AAA技术可以本地实现,也可以通过远端服务器实现。
AAA可以用多种协议来实现,最常用的是RADIUS协议。
查看数据包中的VLAN ID
1.PC 1 ping PC 9,在LSW1的GE0/0/2上抓包,看到802.1Q,VLAN ID 20
PC1属于VLAN 20,PC 9属于VLAN 60。
LSW1的GE0/0/2口是trunk口,运行VLAN 60和VLAN 70通过。
PC1 IP 192.168.20.2, PC9 IP 192.168.60.2
2.PC 3 ping PC 9,在LSW1的GE0/0/6上抓包,看到802.1Q,VLAN ID 60
PC3属于VLAN 20,PC 9属于VLAN 60。
LSW1的GE0/0/2口是trunk口,运行VLAN 60和VLAN 70通过。
PC3 IP 192.168.30.2, PC9 IP 192.168.60.2
3.PC 1 ping Server 2,在LSW1的GE0/0/2上抓包,看到802.1Q,VLAN ID 20
PC1属于VLAN 20,Server 2属于VLAN 70。
LSW1的GE0/0/2口是trunk口,运行VLAN 60和VLAN 70通过。
PC1 IP 192.168.20.2, PC9 IP 192.168.70.2
4.PC 1 ping Server 2,在LSW1的GE0/0/6上抓包,看到802.1Q,VLAN ID 70
PC1属于VLAN 20,Server 2属于VLAN 70。
LSW1的GE0/0/2口是trunk口,运行VLAN 60和VLAN 70通过。
PC1 IP 192.168.20.2, PC9 IP 192.168.70.2
VLAN简介/IEEE Std 802.1Q
1. 定义
VLAN(Virtual Bridged Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术,截至2023.10最新的版本是IEEE 802.1Q-2022。
https://ieeexplore.ieee.org/document/8403927
2. 目的
早期的以太网是为简单、小型网络而设计的局域网技术,是基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection),并采用共享介质的总线技术。随着时间的推移,局域网承载的数据类型越来越多,包括图形、语音和视频,面临的问题也更加突出。
-
产生冲突:网络中多台主机同时发送数据,造成冲突。主机越多,冲突越严重。
-
产生广播:网络中任意一台主机发送的数据都会被发送到其他所有主机,造成广播。主机越多,广播越泛滥。
-
加剧数据安全的隐患:网络中所有主机共享一台传输通道,无法有效控制数据安全。数据越复杂,数据安全的隐患越大。
虽然采用二层设备的组网架构,通过快速二层交换将数据控制在局域网范围内传输,能有效解决冲突的问题,但是广播和安全的问题依然存在。
为了减少广播,可以通过设置不同网段来实现主机之间的隔离,但是成本较高。在这种情况下,出现了VLAN(Virtual Local Area Network)技术。
VLAN技术可以把一个物理局域网划分成多个逻辑局域网,即多个VLAN。每个VLAN是一个广播域,使得VLAN内的主机可以互通,而VLAN间不能直接互通。这样,广播报文被限制在一个VLAN内,同时提高了网络安全性。
3. 受益
使用VLAN能给用户带来以下受益。
-
限制广播域:广播域被限制在一个VLAN内,既节省带宽,又提高网络处理能力。
-
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其他VLAN内的用户直接通信。
-
提高局域网的健壮性:局域网内的故障是隔离的,被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN内用户的正常工作。
-
灵活构建虚拟工作组:VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理位置,网络构建和维护更方便灵活。
VLAN标签
1.定义
当一个局域网被划分为多个VLAN时,每个VLAN都用一个唯一的VLAN标签来标识。VLAN标签也称为VLAN Tag或802.1Q Tag。
Dot1Q中的dot英 [dɒt]n.点,小圆点,因此Dot1Q=.1Q=IEEE 802.1Q。
2.格式
IEEE 802.1Q标准对传统Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag,形成了VLAN的帧格式。具体如图1所示。
802.1Q Tag包含4个字段,其含义如下:
-
TPID:Tag Protocol Identifier,用来判断本VLAN帧是否带有802.1Q Tag,长度为16比特,缺省取值为0x8100。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q协议的设备收到这样的帧,会将其丢弃。
各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 本设备为了能够识别这样的帧,实现与各厂家互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值相同。
-
PRI:Priority,表示帧的优先级,长度为3比特,取值范围为0~7,值越大优先级越高。用于当设备阻塞时,优先发送优先级高的数据帧。
-
CFI:Canonical Format Indicator,表示MAC地址是否是标准格式,长度为1比特,取值范围为0或1,缺省取值为0。取值为0表示MAC地址以标准格式封装,取值为1表示MAC地址以非标准格式封装。
-
VID:VLAN ID,表示该帧所属的VLAN,长度为12比特,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围为1~4094。
3.分类
每台支持802.1Q协议的设备利用VLAN ID来识别报文所属的VLAN,并根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。因此,数据帧根据是否携带VLAN Tag,分为以下两种形式:
-
有标记帧(Tagged帧),加入了4字节802.1Q Tag的帧。
-
无标记帧(Untagged帧),原始的、未加入4字节802.1Q Tag的帧。
各类设备对Tagged帧、Untagged帧的支持情况不尽相同,通常来说:
-
用户主机、服务器、Hub、傻瓜交换机只能收发Untagged帧。
-
交换机、路由器、防火墙和WLAN AC既能收发Tagged帧,也能收发Untagged帧。
-
语音终端可以收发一个VLAN的Tagged帧或Untagged帧。
观察trunk中数据包的VLAN ID
1.拓扑图
PC1和PC3同属于VLAN 10。
PC2和PC4同属于VLAN 20。
PC5和PC6对应的交换机上的端口没有配置VLAN ,默认情况下,属于VLAN 1。
两台交换机的trunk口允许vlan 10和vlan 20通过,其默认PVID是1。
保持PC1 ping PC3, PC2 ping PC4, PC 5 ping PC 6
目标:观察trunk口数据包是否有tag,从而更好的理解VLAN。
3.PC1 ping PC3的数据包
我们可以看到有tag信息,ID号是10
4.PC2 ping PC4的数据包
我们可以看到有tag信息,ID号是20
5.PC5 ping PC6的数据包
看不到tag信息
链路类型和接口类型
1. 链接类型
如图1所示,VLAN组网中的链路包括:
接入链路(Access Link),连接不能或不需要识别VLAN Tag的终端设备。图中,用户主机和设备之间的链路都是接入链路,接入链路上通过的帧为Untagged帧。
干道链路(Trunk Link),连接设备和设备的链路。干道链路上通过的帧为Tagged帧,所有数据帧必须都打上VLAN Tag。
2.接口类型
在802.1Q协议中定义VLAN帧后,设备的有些接口可以识别VLAN帧,有些接口则不能识别VLAN帧。根据对VLAN帧的识别情况,将接口分以下几类:
Access接口:是设备上用来连接终端设备的接口,这些设备不能或不需要识别VLAN Tag。该接口只能连接接入链路,有如下特点:
a)由于设备内部只处理Tagged帧,如果该接口收到Untagged帧,设备将强制加上该接口的PVID(缺省VLAN)。
b)如果该接口收到Tagged帧,只允许VLAN ID与接口的PVID(缺省VLAN)相同的VLAN通过该接口。
c)Access接口发送的数据帧永远是Untagged帧。
Trunk接口:是设备上用来和其他设备连接的接口,这些设备能识别VLAN Tag。该接口只能连接干道链路,有如下特点:
a)允许多个VLAN的帧(Tagged帧)通过。
b)该接口发送的帧,接口缺省VLAN内的帧是Untagged帧(VLAN ID=PVID),其他VLAN内的帧都必须是Tagged帧。
Hybrid接口:既可以连接Access接口能连接的设备,也可以连接Trunk接口能连接的设备。该接口既可以连接接入链路又可以连接干道链路,有如下特点:
a)不确定是否能识别VLAN Tag的情况下,建议使用该接口。
b)允许多个VLAN的帧(Tagged帧)通过,并且在出接口方向可根据需要设置某些VLAN内的帧带Tag,某些VLAN内的帧不带Tag。
缺省VLAN
缺省VLAN又称为PVID(Port Default VLAN ID),每个接口都有缺省VLAN。
-
Access接口只属于1个VLAN,它的缺省VLAN就是它所在的VLAN。
-
Hybrid接口和Trunk接口属于多个VLAN,但是缺省VLAN只有1个,所以需要设置缺省VLAN。
如果设置了接口的缺省VLAN,其处理数据帧的方式请参见“VLAN标签的添加和剥离”。
VLAN标签的添加和剥离
在配置了接口类型和缺省VLAN后,接口对数据帧的处理方式有几种不同情况,如表1所示。
说明:为了提高设备对数据帧的处理效率,设备内部的数据帧一律都带有VLAN Tag,以便设备对这些数据帧以统一的方式处理。
同一VLAN内的互通原理
1. 同设备VLAN内互通
用户主机Host1和Host2连接在同台设备上,属于同一VLAN2,且位于相同网段,连接接口均设置为Access接口。
当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA还未建立任何转发表项)。
1)Host1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host2的MAC地址,报文目的MAC地址填写全F,目的IP地址为Host2的IP地址10.1.1.3。
2)报文到达DeviceA的接口interface1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的“源MAC地址+VID”与接口的对应关系(00e0-fc00-1111, 2, interface1)添加进MAC表。
3)根据报文“目的MAC地址+VID”查找DeviceA的MAC表,没有找到,于是在所有允许VLAN2通过的接口(本例中接口为interface2)广播该报文。
4)DeviceA的接口interface2在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
5)Host2收到该ARP请求报文,将Host1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址00e0-fc00-2222,目的IP为Host1的IP地址10.1.1.2。
6)DeviceA的接口interface2收到ARP响应报文后,同样给报文添加VID=2的Tag。
7)DeviceA将报文的“源MAC地址+VID”与接口的对应关系(00e0-fc00-2222, 2, interface2)添加进MAC表,然后根据报文的“目的MAC地址+VID”(00e0-fc00-1111, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口interface1转发该ARP响应报文。
8)DeviceA向出接口interface1转发前,同样根据接口配置剥离VID=2的Tag。
9)Host1收到Host2的ARP响应报文,将Host2的MAC地址和IP地址对应关系记录ARP表。
2. 跨设备VLAN内互通
用户主机Host1和Host2连接在不同的设备上,属于同一个VLAN2,且位于相同网段。为了识别和发送跨越设备的数据帧,设备与设备间通过干道链路连接,且允许携带VLAN2的报文通过。
当同一VLAN的用户处于不同网段时,无法通过DeviceA与DeviceB直接进行二层互通。可借助VLANIF技术实现三层互通,其互通原理与“跨设备VLAN间互通(VLANIF接口)”原理类似,不再赘述。
当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA和DeviceB上还未建立任何转发表项)。
1)Host1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host2的MAC地址,报文目的MAC地址填写全F,目的IP地址为Host2的IP地址10.1.1.3。
2)报文到达设备的接口interface1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的“源MAC地址+VID”与接口的对应关系(00e0-fc00-1111, 2, interface1)添加进MAC表。
3)根据报文“目的MAC地址+VID”查找DeviceA的MAC表,没有找到,于是报文被广播到DeviceA的interface2接口。
4)DeviceA的interface2接口在发出ARP请求报文前,因为接口的PVID=1,与报文的VID不相同,所以直接透传该报文到DeviceB的interface2接口,不剥离报文的Tag。
5)DeviceB的interface2接口收到该报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。
6)根据报文“目的MAC地址+VID”查找DeviceB的MAC表,没有找到,于是报文被广播到DeviceB的interface1接口。
7)DeviceB的接口interface1在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
8)Host2收到该ARP请求报文,将Host1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址00e0-fc00-2222,目的IP为Host1的IP地址10.1.1.2。
9)DeviceB的接口interface1收到ARP响应报文后,同样给报文添加VID=2的Tag。
10)DeviceB向自己的出接口interface2转发Host2的ARP响应报文前,因为接口interface2为Trunk接口且PVID=1,与报文的VID不相同,所以直接透传报文到DeviceA的interface2接口,不剥离报文的Tag。
11)DeviceA的interface2接口收到Host2的ARP响应报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。
12)DeviceA将报文的“源MAC地址+VID”与接口的对应关系(00e0-fc00-2222, 2, interface2)添加进MAC表,然后根据报文的“目的MAC地址+VID”(00e0-fc00-1111, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口interface1转发该ARP响应报文。
13)DeviceA向出接口interface1转发前,同样根据接口配置,剥离VID=2的Tag。
14)Host1收到Host2的ARP响应报文,将Host2的MAC地址和IP地址对应关系记录ARP表。
由此可见,干道链路除了支持传输多个VLAN的数据帧外,还起到透传VLAN的作用,即干道链路上,数据帧只会转发,不会发生Tag的添加或剥离。
不同VLAN间的互通原理
1. 同设备VLAN间互通(VLANIF接口)
如图1所示,用户主机Host1和Host2连接在同台设备上,分别属于VLAN2和VLAN3,并位于不同的网段。在DeviceA上分别创建VLANIF2和VLANIF3并配置其IP地址,然后将用户主机的缺省网关设置为所属VLAN对应VLANIF接口的IP地址。
当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA上还未建立任何转发表项)。
1)Host1判断目的IP地址跟自己的IP地址不在同一网段,因此,它发出请求网关MAC地址的ARP请求报文,目的IP为网关IP地址10.1.1.1,目的MAC为全F。
2)报文到达DeviceA的接口interface1,DeviceA给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的“源MAC地址+VID+接口”的对应关系(00e0-fc00-1111, 2,interface1)添加进MAC表。
3)DeviceA检查报文是ARP请求报文,且目的IP是自己VLANIF2接口的IP地址,给Host1应答,并将VLANIF2接口的MAC地址00e0-fc00-3333封装在应答报文中,应答报文从interface1发出前,剥掉VID=2的Tag。同时,DeviceA会将Host1的IP地址与MAC地址的对应关系记录到ARP表。
4)Host1收到DeviceA的应答报文,将DeviceA的VLANIF2接口的IP地址与MAC地址对应关系记录到自己的ARP表中,并向DeviceA发送目的MAC为00e0-fc00-3333、目的IP为Host2的IP地址 10.2.2.2的报文。
5)报文到达DeviceA的接口interface1,同样给报文添加VID=2的Tag。
6)DeviceA根据报文的“源MAC地址+VID+接口”的对应关系更新MAC表,并比较报文的目的MAC地址与VLANIF2的MAC地址,发现两者相等,进行三层转发,根据目的IP查找三层转发表,没有找到匹配项,上送CPU查找路由表。
7)CPU根据报文的目的IP去找路由表,发现匹配了一个直连网段(VLANIF3对应的网段),于是继续查找ARP表,没有找到,DeviceA会在目的网段对应的VLAN3的所有接口发送ARP请求报文,目的IP是10.2.2.2。从接口interface2发出前,根据接口配置,剥掉VID=2的Tag。
8)Host2收到ARP请求报文,发现请求IP是自己的IP地址,就发送ARP应答报文,将自己的MAC地址包含在其中。同时,将VLANIF3的MAC地址与IP地址的对应关系记录到自己的ARP表中。
9)DeviceA的接口interface2收到Host2的ARP应答报文后,给报文添加VID=3的Tag,并将Host2的MAC和IP的对应关系记录到自己的ARP表中。然后,将Host1的报文转发给Host2,发送前,同样剥离报文中的Tag。同时,将Host2的IP地址、MAC地址、VID及出接口的对应关系记录到三层转发表中。
至此,Host1完成对Host2的单向访问。Host2访问Host1的过程与此类似。
2.跨设备VLAN间互通(VLANIF接口)
由于VLANIF接口的IP地址只能在设备上生成直连路由,当不同VLAN的用户跨多台设备互访时,除配置VLANIF接口的IP地址外,还需要配置静态路由或运行动态路由协议。
如图2所示,用户主机Host1和Host2连接在不同的设备上,分别属于VLAN2和VLAN3,并位于不同的网段。主机与设备之间使用Access接口,设备之间使用Trunk接口。在DeviceA上分别创建VLANIF2和VLANIF4,配置其IP地址为10.1.1.1和10.1.4.1;在DeviceB上分别创建VLANIF3和VLANIF4,配置其IP地址为10.1.2.1和10.1.4.2,并在DeviceA和DeviceB上分别配置静态路由。DeviceA上静态路由的目的网段是10.1.2.0/24,下一跳是10.1.4.2;DeviceB上静态路由的目的网段是10.1.1.0/24,下一跳是10.1.4.1。
当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA和DeviceB上还未建立任何转发表项)。
1)与同设备VLAN间互通(VLANIF接口)的步骤1~6一样,经过“Host1比较目的IP地址—>Host1查ARP表—>Host1获取网关MAC地址—>Host1将发给Host2的报文送到DeviceA—>DeviceA查MAC表—>DeviceA查三层转发表”的过程,DeviceA上送CPU查找路由表。
2)DeviceA的CPU根据报文的目的IP 10.1.2.2去找路由表,发现匹配了一条静态路由,目的网段是10.1.2.0/24的下一跳IP地址为10.1.4.2,于是继续查找ARP表,没有找到,DeviceA会在下一跳IP地址对应的VLAN4的所有接口发送ARP请求报文,目的IP是10.1.4.2。报文从DeviceA的接口interface2发出前,根据接口配置,直接透传该报文到DeviceB的interface2接口,不剥除报文的Tag。
3)ARP请求报文到达DeviceB后,发现目的IP为VLANIF4接口的IP地址,给DeviceA回应,填写VLANIF4接口的MAC地址。
4)DeviceB的ARP响应报文从其interface2直接透传到DeviceA,DeviceA接收后,记录VLANIF4的MAC地址与IP地址的对应关系到ARP表项。
5)DeviceA将Host1的报文转发给DeviceB,报文的目的MAC修改为DeviceB的VLANIF4接口的MAC地址,源MAC地址修改自己的VLANIF4接口的MAC地址,并将刚用到的转发信息记录在三层转发表中(10.1.2.0/24, 下一跳IP的MAC地址, 出口VLAN, 出接口)。同样,报文是直接透传到DeviceB的interface2接口。
6)DeviceB收到DeviceA转发的Host1的报文后,与同设备VLAN间互通(VLANIF接口)的步骤6~9一样,经过“查MAC表—>查三层转发表—>送CPU—>匹配直连路由—>查ARP表并获取Host2的MAC地址—>将Host1的报文转发给Host2”的过程,同时将Host2的IP地址、MAC地址、出口VLAN、出接口记录到三层转发表项。
至此,Host1完成对Host2的单向访问。Host2访问Host1的过程与此类似。
3.同设备VLAN间互通(三层子接口)
说明:该特性仅S6730H-V2、S5732H-V2系列支持。
如图3所示,用户主机属于不同的VLAN,并位于不同的网段。其中,Host1和Host2属于VLAN2,Host3和Host4属于VLAN3,DeviceA通过以太网接口interface1与DeviceB相连。在DeviceA的interface1上创建2个子接口interface1.1和interface1.2,并配置802.1Q封装与VLAN2和VLAN3分别对应。配置子接口的IP地址,保证两个子接口对应的IP地址路由可达,并将用户设备的缺省网关设置为所属VLAN对应子接口的IP地址。
当用户主机Host1发送报文给用户主机Host3时,报文的发送过程如下。(假设DeviceA上还未建立任何转发表项)。
1)Host1判断Host3的IP地址跟自己的IP地址不在同一网段,因此,它发出请求网关MAC地址的ARP请求报文,目的IP为网关IP地址10.1.1.1,目的MAC为全F。
2)报文到达DeviceA的接口interface1,DeviceA将“源MAC地址+VID+接口”的对应关系(00e0-fc00-1111,2,interface1)添加进MAC表。
3)DeviceA检查报文是ARP请求报文,且目的IP是自己interface1.1接口的IP地址,给Host1应答,并将VLAN2对应的子接口interface1.1的MAC地址00e0-fc00-3333封装在应答报文中。同时,DeviceA会将Host1的IP地址与MAC地址的对应关系记录到ARP表。
4)Host1收到DeviceA的应答报文,将DeviceA的子接口interface1.1的IP地址与MAC地址对应关系记录到自己的ARP表中,并向DeviceA发送目的MAC为00e0-fc00-3333、目的IP为Host3的IP地址10.2.2.2的报文。
5)报文到达DeviceA的接口interface1,DeviceA根据报文的“源MAC地址+VID+接口”的对应关系更新MAC表,并比较报文的目的MAC地址与子接口interface1.1的MAC地址,发现两者相等,进行三层转发。由于Host3的IP地址为直连路由,报文将通过VLAN3关联的子接口interface1.2进行转发。
6)DeviceA作为VLAN3内主机的网关,会在目的网段对应的VLAN3的所有接口发送ARP请求报文,目的IP地址是10.2.2.2。
7)Host3收到ARP请求报文,发现请求IP地址是自己的IP地址,就发送ARP应答报文,将自己的MAC地址包含在其中。同时,将VLAN3对应的子接口interface1.2的MAC地址与IP地址的对应关系记录到自己的ARP表中。
8)DeviceA收到Host3的ARP应答报文后,并将Host3的MAC和IP的对应关系记录到自己的ARP表中。然后,将Host1的报文转发给Host3。同时,将Host3的IP地址、MAC地址、VID及出接口的对应关系记录到三层转发表中。
至此,Host1完成对Host3的单向访问。Host3访问Host1的过程与此类似。
Hybrid应用
hybird英 [ˈhaɪbrɪd]n.杂种; 杂交生成的生物体; 混合物; 混合词; 混合动力
之前我们介绍的access和trunk,这两种技术实现的是不同vlan间的隔离。使用Hybrid端口实现二层交换机不同VLAN间互通。
Hybrid是华为私有技术。通常情况下划分VLAN后,在不同VLAN的设备之间是不能互通的,只能通过三层(三层交换机或路由器)实现互通,在某些场景下,不同VLAN中的设备需要在二层进行互通,这时如果这个网络使用的是华为的设备就可以使用Hybrid技术实现。
1.拓扑
2.组网需求:
某企业的交换机连接有很多用户,且不同部门的用户都需要访问公司服务器。但是为了通信的安全性,企业希望不同部门的用户不能互相访问,但都可以访问服务器,同时希望在二层实现该功能。
可以在交换机上配置基于接口划分VLAN,并配置Hybrid接口,使得不同部门的用户不能相互进行二层通信,但都可以直接访问公司服务器。
3.核心配置
4.验证配置
主机1 ping 主机2,不通。
主机1 ping 服务器,通。
主机2 ping 服务器,通。
5.缺点
划分vlan就是为了减小广播域,采用hybrid后,二层广播域变大。上图中,vlan 10和vlan 100在一个广播域,如果vlan10中有垃圾二层流量就会影响到服务器。
vlan 20和vlan 100也在一个广播域,vlan 20中的垃圾二层流量也会影响到服务器。
这种需求完全可以通过三层来通。
IEEE802 Std
了解
https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68