![计算机的网络实验五_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c8685bb2-d8a6-4584-88fc-246dabcfda6e/c8685bb2-d8a6-4584-88fc-246dabcfda6e1.gif)
![计算机的网络实验五_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c8685bb2-d8a6-4584-88fc-246dabcfda6e/c8685bb2-d8a6-4584-88fc-246dabcfda6e2.gif)
![计算机的网络实验五_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c8685bb2-d8a6-4584-88fc-246dabcfda6e/c8685bb2-d8a6-4584-88fc-246dabcfda6e3.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广州大学学生实验报告开课学院及实验室:计算机学院,电子信息楼416A室 2014年12月10日学院计算机科学与教育软件学院年级/专业/班计科122姓名庞彬学号1206100022实验课程名称计算机网络实验成绩实验项目名称实验五:网络程序设计指导老师刘淼、实验目的通过编程理解网桥的功能及计算机如何处理一个文件的16位校验和、实验环境装有JDK环境和Eclipse的电脑一台、实验内容写一个程序来模拟网桥功能。模拟实现网桥的转发功能,以从文件中读取帧模拟网桥从网络中收到一帧,即从 两个文件中读入一系列帧,从第一个文件中读入一帧然后从第二个文件中再读入 一帧,如此下去。对每一帧,显示网桥是否会转发。要
2、求:Windows或Linux环境下运行,程序应在单机上运行。分析:用程序模拟网桥功能,可以假定用两个文件分别代表两个网段上的网络帧 数据。而两个文件中的数据应具有帧的特征,即有目的地址,源地址和帧内数据。 程序交替读入帧的数据,就相当于网桥从网段中得到帧数据,当然如果模拟的数 据量比较少,也可以用两个数组代替两个文件存放帧数据,同样达到代表两个网 段上的帧数据的效果。对于网桥来说,能否转发帧在于把接收到的帧与网桥中的转发表相比较。 判断目 的地址后才决定是否转发。由此可见转发的关键在于构造转发表。 这里转发表可 通过动态生成。四、实验步骤、记录和结果(一)写一个程序来模拟网桥功能1、实验程序
3、如下 import ;public class Bridge public static void main(String args) /接口 1中存在ABCDEFStri ng str1 = "AB", "CA", "DB", "DA", "AH", "CB", "DN", "DC","BC","AC", "EF","FE" ;/接口 2中存在GHIMNO
4、Stri ng str2 = "GF", "HA", "NB", "OH", "NG", "GN", "HF","GC", "HA","GE", "OC", " " ;/将字符串strl与str2交替存放在字符串si中String s1 = new String100;int q = 0, p = 0;for (int a = 0; a < 100;
5、a+) /在字符串中偶数的存放str1if (a % 2 = 0 && q < strl.le ngth) s1a = str1q;q+;/在字符串中奇数的存放str2if (a % 2 != 0 && q < str2ength) sia = str2p;p+;String bridge = new String100;/ 建立网桥,数组可以存储 100个地址bridge0 = new String("as");/首先建立第一任意的地址形式,以便以后调用复制int m = 0;int flag2 = 0;/循环调用字符串数组si
6、的地址for (int i = 0; s1i != null ; i+)char k = s1i.toCharArray();将字符串 s1i转换为字符,以便调用源地址和目的地址/循环调用网桥数组中的地址,判断源地址是否在网桥转发表中for (int j = 0; bridgej != null ; j+)char bridge2 = bridgej.toCharArray();初始化源地址if (k0 = bridge20)检查第一个发送地址是否在网桥的转换表上flag2 = 0;for (int b = 0; bridgeb != null ; b+)初始char bridge3 = br
7、idgeb.toCharArray();化目的地址/比较目的地址是否在转换表bridge中if (k1 = bridge30)flag2 = 0;/目的地址存在转换表标志/判断源地址是否与目的地址相同,相同不转发if (bridge21 = bridge31) System. out .println(s1i + " 不转发");break ;/跳出第一个for循环else if (bridge21 = '1')System. out .println(s1i + " 由接口2转发");break ;else System. out .p
8、rintln(s1i + " 由接口1转发");break ;else flag2=1;/目的地址不存在转换表标志if (flag2 = 1) flag2 = 0;if (bridge21 = '1') System. out .println(s1i + " 由接口 2 转发");/源地址与目的地址不相同,转发break ; else System. out .println(s1i + " 由接口 1 转发");/源地址与目的地址不相同,转发break ;StringBuffer str = new StringB
9、uffer(s1i);String no;if (i % 2 = 0) /i 为双数存储为接口在1上no = "1" else no = "2"/i为单数存储为接口在2上str.replace(1,2, no);String ss = str.toString();int flag = 0;/判断使地址添加到网桥到标志int flag3 = 0;/判断目的地址存在地址中标志,在即使 flag3=1for (int j = 0; bridgej != null ; j+) if (ss.equals(bridgej) /判断是否使地址添加到网桥到flag
10、= 1; /判断使地址添加到网桥到标志if (flag != 1) bridgem = ss;/地址转换表中不存在,加进发地址和接口号char new_ss = ss.toCharArray();if (m < 99) m+;bridgem = new String("33");动态增加网桥数组,加1int j1 = 0;Stri ng mude_ss = "33"for (j1 = 0; bridgej1 != null ; j1+) / 判断目的地址是否存在地址中char wangqiao5 = bridgej1.toCharArray();i
11、f (k1 = wangqiao50) flag3 = 1; /判断目的地址存在地址中标志,在即使 flag3=1发。不相同转发mude_ss = bridgej1; / 复制目的地址和接口char new_mude = mude_ss.toCharArray();if (flag3 = 1) /判断目的地址与源地址中接口是否相同,相同不转,目的地址不在一样转发if (n ew_ss1=n ew_mude1)System. out.pri ntl n( s1i + "不转发");else System. out.pri ntl n( s1i + "由接口 &quo
12、t; +n ew_mude1+ "转发");else /判断目的地址由哪个接口转发if (n ew_ss1 = '1') System. out .println(s1i + " 由接口 " + " 2转发");/由接口 2转发else System. out .println(s1i + " 由接口 " + " 1转发");/由接口 1转发2、实验结果如图1所示。:Protalerm Javadoc 住;Declairatjcn 旦 Co ns ole £3 K<
13、;"rFnninatFd B-idgp Jaua Applicatiion C!?rogrsm FiJsrvs>jrFbin-avatw.yp-(?! 3-1J-15 上二11:诃47)AB由接口 2转发GF由摟口 1CA不转发HA由摆口 1转发DB由接口 2转发NB由援匚1DA不诺岌OH不详发AH由按匚2话发IVG不转叢CB由據匚2转发GN不转发DN由撞口 2样发HF由搂匚1DC不转发GC由接厂1BC不转发HA由接口 1AC不转发6f由播口 1EF由揍匚2转发OC由接匚1Ft不转蛊图13、程序流程图如图2所示开始图24、实验程序分析如下。模拟网桥实验首先设置两个数组存放数据,
14、 数据具有帧的特征,即有目的地 址,源地址和帧内数据。然后程序交替读入帧的数据,即网桥先读网段1发来的 第一帧,再读入网段2的第一帧。对读进来的帧进行分析,先判别源地址是否存 在于网桥转发表中,若果在则进入第一个循环模块,再判别目标地址是否在转发 表中,最后输出数据由哪个接口转发。如果源地址不在转发表中,要把这个源地 址和所对应接口写入网桥的转发表中, 在进行其他判别。由此可见转发的关键在 于构造转发表,这里转发表是动态生成的。5、实验过程中的难点和待解决问题该实验难点在于编写调用网桥数组中的地址的那个循环里,其实质是判断源地址是否在网桥转放表中,在实验过程中,没有注意到将源地址和目的地址是否 存在在转发表中打下标记,导致程序无法运行。经过思考,在程序中加上了 flag2 和flag3两个变量,解决了这个问题。此程序使用静态字符串数组存放网桥转发的信息,如果将程序修改成使用动 态集合ArrayList完成的话,会更加符合现实网桥的转发。若能做成 GUI界面, 实验会更加直观。六、实验总结1本次实验是由C平台
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加工安装服务合同范本
- 别墅家具购买合同范本
- 公司旧车销售合同范例
- 乙方工地材料合同范例
- 养生馆共享店铺合同范例
- 电源防雷插座板行业深度研究报告
- 中国电动拉铆枪项目投资可行性研究报告
- led设备购买合同范本
- 制种水稻合同范本
- 公司外聘员工合同范例
- 2023年上海青浦区区管企业统一招考聘用笔试题库含答案解析
- 2023版押品考试题库必考点含答案
- 植物之歌观后感
- 空气能热泵安装示意图
- 建筑工程施工质量验收规范检验批填写全套表格示范填写与说明
- 2020年中秋国庆假日文化旅游市场安全生产检查表
- 昆明天大矿业有限公司寻甸县金源磷矿老厂箐-小凹子矿段(拟设)采矿权出让收益评估报告
- 心有榜样行有力量 -从冬奥冠军徐梦桃身上感受青春奋斗初中主题班会
- GB/T 3860-1995文献叙词标引规则
- 七年级英语下册阅读理解10篇
- 设计质量、进度保证措施
评论
0/150
提交评论