扩展:N进N出端口配置
在完成了项目1中的2进3出的代码后,我们追求更进一步的配置功能。实现N进N出,即实现N号端口连通到其他所有3个端口(当然也可以是其他某几个端口)
这里建议看一下自己的Quartus配置是桥接还是NAT,这个配错可能会导致ping不通
一、实验步骤
项目2:
我们修改原来实现2进3出的代码,首先要找到其中转发信息的关键部分:
两处红字代码为关键部分,通过模仿这种写法;我们可以通过更多重的else if判断语句进行input_port的判断,然后送往其他端口;从2号端口来的数据(b0001)将会被转发至1、3、4三个端口;从3号端口来的数据(b0010)将会被转发到1、2、4端口;同理,其他端口来的数据要被转发到其他的端口去,修改后的代码如下:
我们首先和之前一样,编译程序然后将程序下载到我们的机器上。
① 连接2号口和3号口:
进行两台主机互ping命令:
② 连接2号口和1号口:
进行两台主机互ping命令:
③ 连接1号口和4号口:
进行两台主机互ping命令:
④ 连接3号口和4号口:
进行两台主机互ping命令:
二、实验思考(个人部分单独完成)
本次实验,我们在2进3出的硬件逻辑设计基础上更进一步,做出了2进n出的逻辑设计,改动了判断信息来源和转发这一部分的关键代码,能够做到2号端口和其他三个端口的互通,而其他端口之间不能通信的效果。
整个实验收获到了很多,尤其理解了泛洪的概念,也逐渐理解了in2out3文件的作用和功能,同时熟悉了netmagic的使用,利用已有的硬件完成了网络通信。