用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口
上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析。其实那天我在写的时候也有做过模拟,只是后来没有保存。今天重新模拟一次,并附上详细配置命令,希望能够帮助到大家。
首先回忆下VLAN间数据传输的三种端口模式各自代表的含义:
Access 类型的端口只能属于1个VLAN,一般用于连接计算机的端口,也可以连接交换机和交换机。
Trunk 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,trunk口一般用于连接两台交换机,这样可以只用一条trunk连接实现多个vlan的扩展。对于trunk口发送出去的报文,只有默认vlan的报文不带vlan ID,其它vlan的报文都要带vlan ID(要不然,对端的交换机不知道该报文属于哪个vlan,无法处理,也就不能实现vlan跨交换机扩展了)。简而言之,trunk端口的设计目的就是通过一条连接实现多个vlan的跨交换机扩展。
Hybrid 类型的端口可以实现比trunk端口更多的功能,trunk端口是hybrid端口的真子集。可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。hybrid端口可以加入多个vlan,并可以设置该vlan的报文通过该端口发送是否带vlan ID(trunk端口不能设置,只有默认vlan的报文不带vlan ID进行发送)。
以下配合每个端口模式在eNSP模拟器上模拟的实验:
一、Trunk+Access链路端口混合模式案例

由于Access链路类型端口是单一VLAN,而且连接计算机的,所以跟Trunk链路类型端口合并成一个案例,节约大家学习时间。
通过配置使都在vlan2的PC1和PC2互通,同vlan3的PC3和PC4互通。
SwitchA配置命令:
<Huawei>system-view
[Huawei]sysname SwitchA
[SwitchA]vlan batch 2 3 //批量创建VLAN,也可以分两次创建VLAN 2 VLAN 3
[SwitchA]int vlanif 2
[SwitchA-Vlanif2]ip address 192.168.100.1 255.255.255.0
[SwitchA-Vlanif2]quit
[SwitchA]int vlanif 3
[SwitchA-Vlanif3]ip address 192.168.200.1 255.255.255.0
[SwitchA-Vlanif3]quit
[SwitchA] int G0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type access //与连接PC1的端口链路类型设置为access
[SwitchA-GigabitEthernet0/0/1]port default vlan 2 //将端口G0/0/1加入vlan 2
[SwitchA-GigabitEthernet0/0/1]int G0/0/2 // 可以直接跳入G0/0/2 ,新手可以先quit到系统视图
[SwitchA-GigabitEthernet0/0/2] port link-type access //与连接PC2端口链路类型设置为access
[SwitchA-GigabitEthernet0/0/2] port default vlan 3 //将端口GE1/0/2加入vlan3
[SwitchA] int G0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type trunk //因为有vlan2 vlan3两个vlan,将交换机互联的端口链路类型设置为trunk
[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 2 3 //将端口G0/0/3加入vlan2和vlan 3
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置文件。
将PC1和PC2配置在一个网段,比如192.168.100.2/24和192.168.100.3/24,网关皆为192.168.100.1;
将PC3和PC4配置在一个网段,比如192.168.200.2/24和192.168.200.3/24,网关皆为192.168.200.1;
测试结果:PC1可以与PC2ping通,PC3可以与PC4ping通。

PC1 ping通 PC2

PC3 ping通 PC4
二、Hybrid链路类型端口案例
上篇文章有朋友提到Hybrid链路类型端口模式功能非常强大而且相当复杂,今天下午复习了下,确实在很多方面变现出它的先进性。
使用Hybrid链路类型配置让PC3与PC1、PC2互通,PC1与PC2之间不通。

LSW1配置命令:
<Huawei>system-view
[Huawei]sysname LSW1
[LSW1]vlan batch 2 3 99
[LSW1]int g0/0/1
[LSW1-GigabitEthernet0/0/1]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/1]port hybrid tagged vlan 99
[LSW1-GigabitEthernet0/0/1]port hybird untagged vlan 2 3
[LSW1-GigabitEthernet0/0/1]int g0/0/2
[LSW1-GigabitEthernet0/0/2]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[LSW1-GigabitEthernet0/0/2]port hybird untagged vlan 2 99
[LSW1-GigabitEthernet0/0/2]int g0/0/3
[LSW1-GigabitEthernet0/0/3]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[LSW1-GigabitEthernet0/0/3]port hybird untagged vlan 3 99
[LSW1-GigabitEthernet0/0/3]quit
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置,再次不再累赘。
PC1、PC2和PC3的IP地址分别顺序设置为192.168.1.1/24、192.168.1.2/24、192.168.1.3/24,网关不填。
测试结果为:

这里有必要对Hybrid原理解释一下:
1、pvid这个属性只针对进入该端口的!没有标签的!普通的!数据包有效,作用是将没有标签的普通数据包打上pvid中配置的标签号;
2、hybrid属性中,tag是针对于端口的接收方向的(从该端口进来的流量允许带有这些vlan标签的通过),untag是针对端口的发送方向的(从该端口出去的流量去除这些vlan标签);
Hybird实例配置分析(非常有必要解释):
1、为了让我们更加简洁的理解hydrid的属性,首先在所有的端口上移除了vlan1这个默认有的vlan,假设为所有端口初始不属于任何vlan,都不能相互之间通信;
2、pvid是当普通的主机数据帧进入交换机端口后被打上的vlan-tag的属性,在途中可以看出PC1、PC2、PC3的流量在进入交换机的时候分别会被打上vlan2、vlan3、vlan99的vlan标签;
3、untag后面的vlan就是该端口属于的vlan,那么不难看出LSW1的G0/0/1属于vlan2、3,G0/0/2属于vlan2、99,G0/0/3属于vlan3、99,而untag的动作是在流量出端口去往主机的时候把vlan-tag全部去除,那么不难看出LSW1的G0/0/1将去除vlan2、3的标签,G0/0/2去除vlan2、1099的标签,G0/0/3去除vlan3、99的标签(还原成普通帧)。
LSW2的G0/0/1属于vlan99,G0/0/2属于vlan99,在流量出端口的时候会去除vlan99的标签(还原成普通帧)。
PC1与PC2之间的通信分析:当PC1发送arp去请求PC2的MAC地址的时候,PC1会将数据包广播发往LSW1的G0/0/2接口,LSW1收到后发现是个普通的不带标签的数据帧,于是根据接口的pvid给该帧打上vlan2的tag,然后往vlan2中进行泛洪,无奈G0/0/3端口只属于vlan3、99所以无法收到vlan2中的泛洪,故PC1与PC2通信失败。
PC1与PC3之间的通信分析:PC1把帧给LSW1后在G0/0/2打上pvid vlan2的tag,从G0/0/1转发出去,同时untag掉这个帧vlan2的标签,LSW2从G0/0/1收到普通的帧后打上vlan99的tag后从G0/0/2转发给PC3(去掉vlan99的tag后转发给PC3),PC3回包给PC1过程:PC3把帧丢给LSW2的G0/0/2后被pvid打上vlan99的tag后,LSW2根据mac表和vlan信息将帧从G0/0/1口转发出去,!这里因为并没有untag属性所以转发的帧并不会去除任何vlan,而是以vlan99的帧从G0/0/1转发出去!(G0/0/1配置的tag vlan 99是为了让这个端口能转发vlan99的数据帧)当LSW1拿到LSW2发来的带有vlan99的tag的数据帧后,根据G0/0/1上配置的tag vlan99属性,放行vlan99的数据帧,然后根据mac表和vlan信息把帧丢给G0/0/2,由G0/0/2端口将vlan99的tag去除后转发给PC1,完成了PC1与PC3的整个通信过程。
PC2与PC3的通信过程同理PC1与PC3。
Hybrid确实有点复杂,不过它的功能非常强大,集合了Access和Trunk的优点,还能适合基于汇聚层设备做网关、MAC地址划分、IP子网划分地的配置。欢迎在下方留言提问,看下哪里不大了解的?
用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口的更多相关文章
- 华为eNSP模拟器— telnet实验
华为eNSP模拟器-telnet实验 一.实验一 路由交换之间实现telnet登陆 实验拓扑 实验目的: 路由器作为 telnet 服务器 交换机作为客户端去连接路由器 实验步骤: 路由器配置 < ...
- 在ensp上配置Hybrid接口
Hybrid接口是华为特有的一种接口 Hybrid接口是既可以连接普通终端的接入链路,又可以连接交换机间的干道链路. 简单说就是Hybrid接口既能实现Access的功能又能实现Trunk接口的功能. ...
- 利用华为eNSP模拟器实现vlan之间的通信
eNSP交换机配置VLAN 1. 搭建网络拓扑结构 运行eNSP>新建拓扑>搭建如下图的拓扑结构>启动设备.利用调色板将划分的vlan进行区分. 2. pc机IP地址配置 pc1的I ...
- .NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- 一个奇怪的方法解决华为ENSP模拟器路由器启动后命令行一直“#”的问题
今天打开ensp准备练习一下,设备启动以后发现端口一直是红色.于是打开路由器命令行,发现一直输出“#”号.百度后几乎试了所有方法,什么删除网卡再新建.重启计时器.配置ip地址..都不行. 可是我昨天用 ...
- 华为-eNSP模拟器路由器无法正常启动一直显示“#”
问题项如截图: 解决方案: 1. 打开自己电脑的控制面板 -->> 系统和安全 -->> Windows Defender防火墙 (运行应用通过Windows防火墙) 2 .找 ...
- 在华为eNSP中配置简单的DHCP
拓扑图,如图1 图1 在AR1中的配置过程如图2 图2 通过PC1查看是否分配了地址,如图3 图3
- 实验三:在eNSP上进行Hybrid链路类型端口实验
1.配置图 2.配置命令 LSW1的命令配置如下: <Huawei>system-view 进入特权模式 [Huawei]vlan batch 2 3 99 创建vlan2.vlan3.v ...
- Code First03---CodeFirst根据配置同步到数据库的三种方式
上一节我们说到使用Fluent API对实体的配置,但是有一个问题了,在业务中我们可以用到的实体很多,那是不是每个都需要这样去配置,这样就造成我们重写的OnModelCreating方法很庞大了.所以 ...
随机推荐
- glide 解决 golang.org/x/net 等依赖包无法获取
知道glide有设置镜像功能,可以把某个依赖包的源地址切换为另一个地址,相当于切换到镜像地址,用于某些依赖包被墙的原因 之前碰到 golang.org/x/net,设置镜像: glide mirror ...
- Beta阶段——Scrum 冲刺博客第四天
一.当天站立式会议照片一张 二.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中 昨天已完成的工作 完成对question界面的制作,完善随机出题界面,能够流畅的切换下一题与 ...
- Spring中使用两种Aware接口自定义获取bean
在使用spring编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单: @Servicepublic clas ...
- Golang 并发Groutine实例解读(一)
Go语言的并发和并行 不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话: var quit chan int = make(chan int) func loop ...
- vs2015 活动解决方案或项目由选择的源代码管理插件以外的插件管理
1.vs2015切换源代码管理插件,svn无法切换到git,点击是将关闭项目 解决方案: 找到项目中.sln 文件,使用编辑器打开,将Svn-Managed = true 设置为false
- C# 从Excel 批量导入数据库
最近遇到了关于 C# MVC 批量添加数据的问题,解决后就自己写了一个未完成的小Demo 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel 说 ...
- 啰里吧嗦式讲解java静态代理动态代理模式
一.为啥写这个 文章写的比较啰嗦,有些东西可以不看,因为想看懂框架, 想了解SSH或者SSM框架的设计原理和设计思路, 又去重新看了一遍反射和注解, 然后看别人的博客说想要看懂框架得先看懂设计模式,于 ...
- ActiveMQ 报错 Temporary Store limit is 51200 mb
ERROR | Temporary Store limit is 51200 mb, whilst the temporary data directory: D:\tool\apache-actil ...
- Javascript实现图片翻转
使用Js的对象属性能实现简单的翻转效果.通过onMouseover事件和onMouseOut事件就能实现鼠标移到链接上和移开链接发生反应.给两个图片加上链接实现都能翻转的效果. reverse.htm ...
- [Clojure] 包管理器leiningen配置国内镜像仓库
clojure用到的包管理站主要有两个,一个是解决java类库依赖的maven,一个是clojar 很多人都知道maven有阿里云提供的镜像站,可是clojar呢?幸运的是中科大为我们提供了cloja ...