模拟网桥功能实验报告

模拟网桥功能实验报告

ID:10874690

大小:153.50 KB

页数:6页

时间:2018-07-08

模拟网桥功能实验报告_第1页
模拟网桥功能实验报告_第2页
模拟网桥功能实验报告_第3页
模拟网桥功能实验报告_第4页
模拟网桥功能实验报告_第5页
资源描述:

《模拟网桥功能实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、实验目的写一个程序来模拟网桥功能。二、实验环境PC机Windows7操作系统三、实验内容模拟实现网桥的转发功能,以从文件中读取帧模拟网桥从网络中收到一帧,即从两个文件中读入一系列帧,从第一个文件中读入一帧然后从第二个文件中再读入一帧,如此下去。对每一帧,显示网桥是否会转发。3.1程序演示建立两个名为net1和net2的txt文档,输入以下值,每两个字母作为一个帧,每个帧中首字母表示源地址,末字母表示目的地址.程序运行效果如下:3.2项目设计报告程序设计思路及实现交替读取两个文件内的数据,然后查找转发表。如果找不到则提示并将源地址和接口信息加入转发表中,如果找到

2、则提示转发到哪个接口,如果数据中源地址和目的地址都来自同一接口则提示不转发。程序流程图开始打开net1.txt和net2.txt顺序交替读取两个文件内容查找转发表判断返回值情况否文件读取结束查找失败,无法转发源和目的数据在同一接口,不转发转发至相应接口是程序结束开发中遇到的问题及解决办法开发中碰到了转发表和数据帧的数据结构设置问题、查找转发表问题以及源和目的地址在同个接口不需要转发问题。解决方法:转发表和数据帧使用结构体,在查找转发表函数中设置两个临时变量,分别存放源地址和目的地址对应的接口,最后将两个临时变量比对。程序中待解决的问题及改进的方向(1)等解决的问题

3、:只能模拟两个接口的网桥,界面不友好没有用到面向对象,程序没有封装性和可复用性对于转发表的查找没有高效算法。(2)改进:使用面向对象技术和相关设计模式,使用图形用户界面,使用二分查找、哈希查找等高效算法。四、实验总结通过本次实验加深理解了网桥的工作原理以及转发表的自学习方法,提高了用编程方法分析解决问题的能力。附:程序源代码#include#includeusingnamespacestd;#defineINTERCOUNT2//接口数量#defineTABLEMAXCOUNT255//转发表最大数量inttablecount

4、=0;//全局变量,转发表数量inti;structtrantable//转发表结构体{charinter;//接口chardest;//目的地址}table[TABLEMAXCOUNT]={0,0,0,0};structdataframe//数据帧结构体{charsource;//源地址chardest;//目的地址};voidupdateTable(structdataframedata,intinter)//更新转发表{table[tablecount].dest=data.source;table[tablecount].inter=inter;table

5、count++;//转发表数量+1}intsearchTable(structdataframedata)//查找转发表{inttemp1=0,temp2=0;for(i=0;i

6、/交替读取文件//查找网桥转发表//查找成功则输出接口目的,失败则学习intmain(){intflag;//标志变量,0表示查找失败,1和2分别表示接口1和2structdataframedata;//数据帧,有源地址和目的地址,分别用一个字母表示fstreamnet1fin("net1.txt"),net2fin("net2.txt");while(!net1fin.eof()&&!net2fin.eof()){net1fin>>data.source>>data.dest;//读取一个帧flag=searchTable(data);//查找转发表switch

7、(flag){case0:{cout<<"帧(源地址:"<

8、>data

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。