路由与交换实验——交换计数器实现

一、 实验目的

1、学会硬件实现交换机的端口计数器;
2、进一步熟练捕获数据的方法
3、掌握多种计数方式的设计和实现
4、了解掌握网络接口性能测量的基本方法

二、 实验内容

1、基础要求:在2口进3口出(或者n2n)的基本功能UM_my/UM.v模块中设计端口计数器,能统计某一个(自选)端口进入1、报文数量和2、数据链路层帧的数量
2、第二要求:设计计数器能统计交换机通过的有效报文字节数量。
3、设计STP信号量并监视
设计完网络接口接收计数器模块的代码,初步掌握接收计数器模块的工作原理;使用接收计数器更新状态机的状态设置触发条件;在主机A上发送ping主机B的命令;使用抓包软件统计接口收发报文的计数接收计数器状态机的变化情况;对比软硬件计数器的统计结果。

三、 实验环境

在这里插入图片描述

  1. 1台管理节点主机;1台主机A;(分别连接到2口和3口)
  2. 2根网线;
  3. NetMagic08开发平台;
  4. 软件Quartus 16。主机及网络详细配置参照附带的实验环境拓扑及软件配置文档。

四、 实验步骤

  1. 使用Quartus 打开 上次实验完成好的in2out3目录下的硬件工程项目;
    在这里插入图片描述

  2. 在工程项目中,打开文件列表对UM.v文件进行编写(用户模块文件);

  3. 新建信号量完成通过交换机某端口数据报文数量、数据帧数量和字节数的数据统计,设计信号拉出观测:
    在这里插入图片描述

    其中counter为报文计数、auto_signaltap为有效字节数。
    在这里插入图片描述

    以上部分是帧数计数器,帧的计数是只要判断是不是报文头,如果是报文头则计数加一,由于要判断帧的来源,所有增加端口判断,判断到来自端口2的,才累加。
    在这里插入图片描述

    以上部分是有效字节和报文计数,报文来自的端口只会在报文头的时候才会标识,其他报文不包括端口标识,所以需要判断输入端口是不是端口2(这个unput_port_reg在2进3出的代码里会存储输入端口)。
    当端口判断完之后,报文数加一,有效字节数保存在cdp2um_data[135:132],有效字节为1-16,但是这四位只够显示0-15,所以最终需要再加一,到此,有效字节和报文数统计完毕。

  4. 点击编译命令,对代码进行编译,软件会完成硬件电路的设计和优化,生成和工程名同名的sof文件
    在这里插入图片描述

  5. 将sof文件下载到NetMagic08中进行硬件调试
    在这里插入图片描述

  6. 观察正确的计数信息
    ① 在工具栏的“TOOL”中打开SignalTap II Logic Analyzer。
    在这里插入图片描述

    ② 插入节点
    在这里插入图片描述

    ③ 添加时钟
    在这里插入图片描述

    ④ 将两台千兆网卡PC与NetMagic设备相连接,使用命令行名ping命令。
    主机A:
    在这里插入图片描述

    ⑤ 观察结果
    在这里插入图片描述

    从图中的数据中显示:
    报文数2A7EB89h,十进制为44,559,241,
    帧数72D51h,十进制为470,353,
    有效字节为2A530476h,十进制为710,083,702
    结论:帧数是最少的,然后有效字节数应该大约是报文数的16倍左右。

五、 实验思考

在真实的交换机设备中这类信息都可以称为管理信息。一般会有管理信息库(MIB,Management Information Base)来综合管理。作为交换设备,还有那些性能数据是关键的数据。硬件中如何获取、保存、刷新?
答:
管理信息库(MIB,Management Information Base)是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在MIB中。
所谓“管理信息”就是指在因特网的网管框架中被管对象的集合。被管对象必须维持可供管理程序读写的若干控制和状态信息。这些被管对象构成了一个虚拟的信息存储器,所以才称为管理信息库 MIB。
根据以上信息,我们可以进行总结,关键性能数据:硬件之间通信的速度,信息交换的分组格式,对于信息的存储能力等等。
硬件中如何获取:可以通过与本实验的“抓包”类似的流程进行信息的截取,使一些指令在硬件层面执行从而使硬件中的信息可视化。
硬件中如何保存:只要做到了硬件中信息的可视化,硬件信息的保存无疑也不成问题,把硬件中信息传播的电信号转化为波形图输出是一种经典操作。
硬件中如何刷新:在代码实现功能的过程中可以适当添加时序电路,利用系统时钟来对信息进行周期性的获取然后将旧的信息覆盖,实现信息的刷新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值