目录
实验006软件二层交换机的实现
一.实验目的
1、熟悉基于NetMagic08的Fast架构编程;
2、了解在linux环境下的c程序的编写、编译与调试;
3、了解软件实现交换功能的代码设计;
4、理解自学习二层交换机的工作原理;
二.实验内容
1、基础要求:虚拟机环境下编写一个基于fast架构工作的软件自学习二层交换机。
三.实验环境
- 1台管理节点主机;3台主机A、B以及C;(分别连接到2口和3口)
- 4根网线;
- NetMagic08开发平台;
- 软件Quartus 16。
- NetEXP虚拟机运行环境
主机及网络详细配置参照附带的实验环境拓扑及软件配置文档。
四.实验步骤
- 将netmagic08_top.sof 文件加载到NetMagic08板子上
- 打开virtual box管理器,将我们的netesp.ova文件导入并等待。
- 配置网络,在设置中将网络连接方式修改为桥接网卡,选择有线网卡接口。
- 启动虚拟环境,打开终端,输入命令:
sudo su
输入用户密码123123,即可进入root账户模式
- 随后输入命令:
ifconfig
查看当前的以太网接口名称,如图为“eth0”
- 配置以太网接口的IP地址以及子网掩码
ifconfig eth0 136.136.136.137/24 up
- 将eth0的IP地址设置为136.136.136.137之后,输入如下命令、切换至驱动程序目录:
cd fast-l2switch-08/fast/driver/netmagic08
- 按下回车执行命令,切换至netmagic08目录下,然后输入并执行命令开始编译驱动程序:
make clean && make
- 编译完成之后,输入并执行命令(其中ctlif_name=后接的参数为以太网接口的名称):
insmod nm08.ko ctlif_name=eth0
- 加载驱动之后,确保已经连接了netmagic08,并将两台主机Ping通,输入执行如下命令:
cd ../../l2switch
- 输入如下命令执行基本io输出功能:
./fastio
- 或者输入如下命令执行2层交换功能
./l2switch
五、实验感想
这次实验比较困难,是第一次在Ubuntu的Linux系统上配置相应的IP地址进行实验。实验本身难度并不高,难点是环境的配置以及相应步骤的实现。一定要把主机和从机的IP地址设置为同一子网掩码以及同一IP地址,即IP地址的前三位需要一致。
通过这次实验我了解了路由交换表,和计算机网络课程中所学的关于路由器的知识结合起来,对路由转发和路由表路由器等相关概念更加清晰,自己也可以明显区分网络层在数据平面和控制平面的区别和统一。
六、实验思考
在实验报告中回答本实验环境的ubuntu系统内核修改了什么部分,为什么要做修改?
答:
ubuntu系统内核配置了以太网接口的IP地址和子网掩码。因为只有把主机和虚拟机的IP地址设置为同一个子网掩码和同一个IP地址,才能使得主机和虚拟机属于同一个局域网,这样才能最终ping通。