zoukankan      html  css  js  c++  java
  • 用华为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子网划分地的配置。欢迎在下方留言提问,看下哪里不大了解的?

  • 相关阅读:
    【SpringBoot1.x】SpringBoot1.x 安全
    WebStorm快捷键(Mac版)
    iOS 容联离线消息推送
    iOS使用TestFlight进行内部和外部人员测试
    iOS Runtime常用方法整理
    模仿斗鱼直播
    一个很好用的侧滑框架ICSDrawerController实现的 QQ 侧滑及换肤功能
    swift3.0 项目引导页
    使用 swift3.0高仿新浪微博
    swift 监听键盘弹出的高度
  • 原文地址:https://www.cnblogs.com/chenlinlab/p/9461361.html
Copyright © 2011-2022 走看看