• eNSP实验


    前言

    本文记录了使用eNSP进行组网,学习、巩固一些之前学的网络基础知识和协议。实验中用到的eNSP工程源文件在下方仓库中。

    门牙会稍息 / eNSP · GitCode

    一:同网段、网关互通

    网络拓扑如下:

    1. AR1的配置:
    2. interface G0/0/0
    3. ip address 192.168.10.1 24

    PC1和PC2的配置(IP地址和网关设置)

    最终实现PC1、PC2、网关之间相互ping通

     二:以太网VLAN实验

    PC1、PC3(vlan3000),PC2、PC4(vlan3200)。交换机和PC直接相连的口设置成access,交换机之间相连的口设置成trunk。最终实现PC1和PC3之间通信,PC2、PC4之间通信。

    网络拓扑如下:

    1. 交换机配置如下
    2. 批量创建vlan:vlan batch 3000 3200
    3. 修改端口类型access
    4. int GigabitEthernet 0/0/1
    5. port link-type access
    6. port default vlan 3000
    7. int GigabitEthernet 0/0/2
    8. port link-type access
    9. port default vlan 3200
    10. 修改端口类型trunk:(注意,s3700只有两个千兆口,用完之后只能有Eth来进入端口进行配置)
    11. int Eth0/0/3
    12. port link-type trunk
    13. port trunk allow-pass vlan all

    使用display current-configuration来查看当前交换机的配置情况

    给PC设置拓扑中对应的IP

    最终实现相同vlan下的PC之间可以ping通,不同vlan之间的PC不能相互ping通。

    三:静态路由

    使用交换机为了实现不同网段之间的通信,可以设置静态路由,指明要到达的网络和到达该网络的下一跳IP地址(next hop)。在交换机中,静态路由通常用于配置简单的网络,其中网络拓扑相对稳定,不经常发生变化。

    网络拓扑如下:

    1. 1、路由器给端口配置IP(AR3)
    2. int GigabitEthernet 0/0/0
    3. ip address 192.168.1.254 255.255.255.0
    4. interface GigabitEthernet0/0/1
    5. ip address 192.168.2.1 255.255.255.0
    6. 2、路由器给端口配置IP(AR4)
    7. interface GigabitEthernet0/0/0
    8. ip address 192.168.3.254 255.255.255.0
    9. interface GigabitEthernet0/0/1
    10. ip address 192.168.2.2 255.255.255.0
    11. 3、路由器设置静态路由的方式
    12. 针对右边那个路由器(AR4)
    13. ip route-static 192.168.1.0 24 192.168.2.1
    14. 针对左边那个路由器(AR3)
    15. ip route-static 192.168.3.0 24 192.168.2.2
    16. 为了实现pc1(1网段)和pc2(3网段)可以通信,要给两个路由器分别配一条静态路由
    17. 主要是要到达的网络和下一条的ip地址

    使用display ip routing-table命令来查看路由器的路由表信息

    左侧路由器AR3的route-table

    右侧路由器(AR4)的route-table 

    PC1和PC2的设置

    PC1 ping PC3可以正常ping通

    选择一个路由器端口进行抓包查看

    四: OSPF动态路由

    基本协议分析

    1. 链路发现:OSPF路由器通过发送Hello消息来发现相邻的OSPF路由器,建立邻居关系。

    2. 建立邻居关系:一旦两个OSPF路由器之间建立了邻居关系,它们将开始交换链路状态信息。

    3. 构建链路状态数据库(LSDB):每个OSPF路由器将收集到的链路状态信息存储在本地的LSDB中,以反映整个网络的拓扑。

    4. 计算最短路径树:OSPF路由器使用Dijkstra算法基于LSDB中的信息计算出最短路径树,以确定最佳的路由。

    5. 更新路由表:根据最短路径树计算结果,每个OSPF路由器将更新其路由表,以决定如何将数据包传输到目标地址。

    6. 定期更新:OSPF路由器定期发送LSA(Link State Advertisement)来更新链路状态信息,以适应网络拓扑的变化。

    7. 故障检测与恢复:OSPF能够检测到链路或路由器的故障,并迅速调整路由表以适应故障的发生,从而保持网络的可靠性。

    基本网络拓扑:

    1. 路由器OSPF添加单区域
    2. ospf
    3. area 0
    4. network 192.168.1.0 0.0.0.255
    5. network 192.168.2.0 0.0.0.255

    两路由器之间OSPF hello信息交互

    查看路由器中路由表信息,会多出一条OSPF的路由信息

    左侧路由器AR3:

    右侧路由器AR4:

    两PC IP和网关的设置

    两PC间可以相互ping通 

    五:RIP协议

    RIP协议基本流程

    1. 路由器交换路由信息

      • RIP路由器周期性地广播其路由表给相邻的路由器。
      • 路由器将自己的路由表发送到邻居,并接收邻居路由表的更新。
    2. 计算最佳路径

      • 使用距离向量算法(Distance Vector Algorithm),RIP依靠跳数(hop count)来衡量到达目的地的距离。
      • 路由器将接收到的路由信息与自己的路由表进行比较,更新路由表并选择最佳路径。
    3. 定期更新

      • 路由器定期广播自己的路由表,以确保网络中其他路由器了解到最新的路由信息。
      • 默认更新时间为30秒。

    网络拓扑图如下:

    1. 路由器RIP配置过程(左侧AR1
    2. rip
    3. network 192.168.1.0
    4. network 10.0.0.0
    5. 路由器RIP配置过程(右侧AR2
    6. rip
    7. network 192.168.2.0
    8. network 10.0.0.0

    两路由器交换相应的路由表信息,分别知道了到达另一网段的下一跳地址(next hop)是多少

    两PC IP和网关的设置

     两PC之间也可以成功ping通

    六:DHCP动态分配

    DHCP协议基本流程

    1. 客户端发起请求:当一个设备希望加入网络时,它向局域网中的DHCP服务器发送一个DHCP请求,请求获取一个可用的IP地址和其他网络配置信息。

    2. DHCP服务器分配地址:DHCP服务器接收到客户端的请求后,会从预先配置的可用IP地址池中分配一个IP地址给客户端。此外,DHCP服务器还会分配子网掩码、网关和DNS等网络配置信息。

    3. 客户端应答:DHCP服务器向客户端发送一个DHCP应答,包含分配的IP地址和其他网络配置信息。

    网络拓扑如下:

    要实现的效果就是在路由器充当DHCP服务器,在路由器中中配置一个IP地址池,然后两台PC设置成动态IP模式从地址池中获取IP

    1. PC选择DHCP模式(global
    2. 1、配置路由器一个端口作为网关
    3. int G0/0/0
    4. ip address 192.168.1.254 24
    5. 2、创建地址池相关
    6. ip pool pool_lgeme
    7. gateway-list 192.168.1.254
    8. network 192.168.1.0 mask 24
    9. 3、路由器使能dhcp: dhcp enable
    10. 4、端口选择global模式
    11. dhcp select global
    12. 5、删除一个地址池对应的network
    13. (确保当前地址池对应的地址没有被任何PC使用才可以成功删除)
    14. undo network

    地址池相关配置结果

    PC设置成DHCP模式后,使用Wireshark进行抓包可以看到有Discover、Offer、Request、Ack这四种类型的包

     使用命令可以查看PC获得的IP的地址是路由器所创建地址池中的IP

    两PC之间也可以相互ping通

    七: 三层交换机

    三层交换机是一种网络设备,具有路由功能,可以在网络层(第三层)进行数据包交换和路由转发。

    1. 路由功能:三层交换机可以基于目标IP地址进行路由转发,实现不同网络之间的数据包交换。
    2. 内置路由表:三层交换机内置有路由表,可以通过识别目标IP地址来确定数据包的转发路径。
    3. 网络分割:通过VLAN技术,三层交换机可以将网络划分成多个虚拟LAN,实现网络分割和隔离。

    三层交换机和路由器功能比较

    1. 路由功能:三层交换机和路由器都可以实现路由转发功能,不同之处在于路由器通常更适合连接不同网络之间进行路由转发,而三层交换机通常用于内部网络的分割和数据包交换。

    2. 端口类型:路由器通常具有较多的WAN口和LAN口,适合于连接外部网络和内部网络;而三层交换机通常具有大量的以太网端口,适合于内部网络的连接和数据交换。

    3. 转发性能:通常情况下,三层交换机在内部数据包交换方面具有更高的转发性能,而路由器在连接不同网络之间进行路由转发时更为适用。

    SVI是一种和VLAN相对应的3层口,你只需要给VLAN配置一个IP地址就成了SVI接口。 

    网络拓扑如下:

     左侧三层交换机的配置项,右侧三层交换机同理

    1. 1、交换机批量创建vlan
    2. vlan batch 10 20
    3. 2、先配置物理端口然后再配置vlan ip
    4. interface G0/0/1
    5. port link-type access
    6. port default vlan 10
    7. interface G0/0/2
    8. port link-type access
    9. port default vlan 20
    10. 3、vlan ip相关(左侧交换机svi接口配置)
    11. interface Vlanif 10
    12. ip address 192.168.1.254 24
    13. interface Vlanif 20
    14. ip address 192.168.2.1 24

     配置值完成之后SVI接口信息

    查看左侧三层交换机的路由表

    同理配置完右侧三层交换机后查看交换机信息

    使用OSPF让两三层交换机进行路由表的学习,学习完成之后查看两三层交换机的路由表信息

    1. 4、设置路由ospf
    2. ospf
    3. area 0
    4. network 0.0.0.0 0.0.0.0

     给PC设置静态IP如下

    两PC之间可以相互PING通

     八:单臂路由

    路由器的一个端口下实现两个网段之间的通信

    基本网络拓扑如下:

    1. 交换机端口vlan相关配置
    2. vlan batch 10 20
    3. int GigabitEthernet 0/0/1
    4. port link-type access
    5. port default vlan 10
    6. int GigabitEthernet 0/0/4
    7. port link-type trunk
    8. port trunk allow-pass vlan 10 20

    配置完成之后查看VLAN信息

    配置到这就可以实现同网段、通VLAN之间的PC之间进行通信

    PC1 PING PC3

     PC2 PING PC4

    单臂路由器的相关配置

    1. 路由器相关配置
    2. interface g0/0/0.1
    3. dot1q termination vid 10
    4. ip address 192.168.1.254 24
    5. arp broadcast enable(不开启的话无法找到网关对的MAC地址)
    6. interface g0/0/0.2
    7. dot1q termination vid 20
    8. ip address 192.168.2.254 24
    9. arp broadcast enable(不开启的话无法找到网关对的MAC地址)

    配置完成之后查看路由器的路由表信息

     不同VLAN、不同网段之间的PC之间进行通信

    然后通过抓取路由器的端口数据包,PC1的数据会打上VLAN10的标签,PC2发送的数据会打上VLAN20的标签

    九:NAT网络地址转换

    基本网络拓扑如下:

    1:静态NAT

    一些路由器端口IP配置和PC静态IP配置如下

    1. 1、静态NAT:(将PC1对的ip地址转化成172.16.1.1,在AR2的G0/0/0端口进行抓包可以看得到地址转成了B类地址)
    2. interface G0/0/1
    3. nat static global 172.16.1.1 inside 192.168.1.1
    4. 删除NAT:undo nat static global 172.16.1.1 inside 192.168.1.1

    用PC1去PING AR2的GE0/0/0端口(现在是PING不通的,没有添加路由信息,但是数据包可以到达AR2),可以抓包查看PC1和外部通信使用的IP地址发生变化

    2:动态NAT

    首先要删除AR1端口配置的NAT配置,否则会新创建失败。相比静态NAT,动态NAT需要地址池和ACL规则

    1. 2、动态NAT:先创建一个ip地址组,创建一条acl规则
    2. nat address-group 1 172.16.1.1 172.16.1.10
    3. 创建:
    4. acl 2000
    5. rule 5 permit source 192.168.1.0 0.0.0.255
    6. interface g0/0/1
    7. nat outbound 2000 address-group 1 no-pat
    8. 在AR2路由器创建静态路由进行通信:ip route-static 172.16.1.0 24 10.0.0.1

    AR1配置动态NAT的流程

    AR2创建静态路由的配置信息

     此时再用PC1去PING10.0.02,这时使用的IP就是地址池中的IP且可以PING通

    1. 3、NAP(port)T:(多个PC共用一个ip地址)
    2. 和动态nat的区别就是去掉了no-pat这个参数:nat outbound 2000 address-group 1
    3. 4、Easy IP:需要ACL规则,但是不需要地址池,会使用接口的ip地址进行通信(10.0.0.1 <-> 10.0.0.2
    4. nat outbound 2000

     十:ACL访问控制

    ACL基本介绍

    ACL基本范例和说明
    1、ACL有两个动作,permit和deny
    2、ACL根据编号可以分为一下几类:

    基本ACL:编号范围2000-2999,可以通过匹配源IP进行过滤。

    高级ACL:编号范围3000-3999,可以通过匹配源目IP、源目端口、协议等进行匹配。

    二层ACL:编号范围4000-4999,可以通过匹配源目MAC等进行匹配。

    用户自定义ACL:编号范围5000-5999

    用户ACL:编号范围6000-6999
    3、rule是规则关键字,默认是5,以5作为一个递增
    4、acl 2000
        rule 5 permit source 192.168.1.0 0.0.0.255
        rule 10 deny source 192.168.2.0 0.0.0.255

    基本的网络拓扑如下:

     路由器端口配置

    1. 路由器G0/0/0口配置
    2. (PC1无法ping通PC2,PC2的icmp包可以到达PC1但是到路由器G0/0/0口会被过滤)
    3. acl 3000
    4. rule 5 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
    5. interface G0/0/0
    6. traffic-filter inbound acl 3000
    7. 路由器G0/0/1口配置(icmp包直接到达不了PC1
    8. acl 3001
    9. rule 5 deny ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
    10. interface GigabitEthernet 0/0/1
    11. traffic-filter inbound acl 3001
    12. 路由器G0/0/2端口配置
    13. interface G0/0/2
    14. ip address 10.0.0.254 24

    路由表的信息如下

    最终实现的效果 :PC1、PC2均可访问Server,但是PC1、PC2之间不能相互访问

    十一:组播

    在实际网络中,组播需要使用相关的组播协议和组播路由协议来进行控制和管理,以确保数据能够在网络中正确地传输和分发。常见的组播协议包括 IGMP(Internet Group Management Protocol)、PIM(Protocol Independent Multicast)和MPLS Multicast等。

    通过使用组播技术,网络管理员可以提高网络的效率和性能,同时满足多个接收者对同一数据流的需求,从而实现更加灵活和高效的数据传输。

    网络拓扑如下:

    路由器相关配置:

    1. 先打开组播路由功能
    2. multicast routing-enable
    3. 路由器两个端口的配置
    4. undo terminal trapping
    5. interface G0/0/0
    6. ip address 192.168.10.1 24
    7. interface G0/0/1
    8. ip address 192.168.20.1 24
    9. interface G0/0/0
    10. pim dm
    11. igmp enable
    12. interface G0/0/1
    13. pim dm
    14. igmp enable

    其中eNSP的VLC播放器设置位置:

    组播源配置(基础+组播):

    其中组播组的默认MAC地址是00-00-00-00-00-00,建议修改一下。我之前一直不能成组播放组播源视频,检查其他配置和接线都没有效果,最后发现更换一下MAC就好了

    两PC IP配置和组播配置 :

    先播放组播源然后再让PC加入组播组,通过Wireshark抓取PC1的数据包,下面是PC加入组播组的流程和组播数据

    VLC播放效果(左侧是PC播放、右侧是组播源):

    总结

    以上就是本文的全部内容了,希望可以帮助到你。 

  • 相关阅读:
    数据结构(3.9_1)——特殊矩阵的压缩存储
    使用自定义lua解析管理器调用lua脚本中的table
    红杉投资的这家公司押注AI面试
    深拷贝和浅拷贝的区别
    visualsvn server提示系统找不到指定文件
    python类接口和抽象超类
    新增动态排序图、桑基图、AntV组合图,DataEase开源数据可视化分析平台v1.18.10发布
    模型部署入门教程(七):TensorRT 模型构建与推理
    C:宏定义中使用do{...}while(0)
    C++回顾从入门开始
  • 原文地址:https://blog.csdn.net/weixin_56646002/article/details/134655766