计算机的网络实验五
- 格式:doc
- 大小:209.50 KB
- 文档页数:12
实验5-4 常用网络命令实践一、实验目的(1)熟悉常用网络测试命令的语法功能(2)掌握常用的网络故障分析及排除的方法二、实验内容运行常用网络测试命令,学习网络故障排除的方法,对运行结果进行分析,加深对网络层协议的理解;(1)ipconfig命令(2)ping命令(3)tracert命令(4)nslookup命令(5)netstat命令四、实验步骤1.ipconfig命令ipconfig是调试计算机网络的常用命令,通常大家使用它显示网络适配器的物理地址、IP地址、子网掩码以及默认网关,还可以查看主机的相关信息如:主机名、DNS服务器、DHCP 服务器等。
在CMD命令行模式下输入“ipconfig /?”可以显示ipconfig的格式和参数说明。
(1)显示网络配置详细信息命令格式:ipconfig /all,可以显示网络适配器完整的TCP/IP配置信息。
如图5-81所示,我们得知该网卡MAC地址为_____________________,IP地址为__________________________,DNS服务器地址为__________________________________。
(2)备份网络设置命令格式:ipconfig /batch bak-netcfg说明:将有关网络配置的信息备份到文件bak-netcfg中。
(3)为网卡动态分配新地址命令格式:ipconfig /release说明:去除网卡(适配器1)的动态IP地址。
命令格式:ipconfig /renew说明:为网卡重新动态分配IP地址。
2.ping命令利用ping命令测试网络联通性。
主要功能:用来测试一帧数据从一台主机传输到另一台主机所需的时间,从而判断主响应时间。
(1)图5-82中是使用ping命令测试可达性返回的信息。
总共返回了________个测试数据包,其中bytes=32表示测试中发送的数据包大小是_________字节;time<1ms表示________________________________;TTL=63表示_________________________,其中系统默认值为_________。
北航计算机网络实验实验5.6OSPF协议的路由计算OSPF协议的路由计算⏹SPF算法和COST值⏹区域内路由的计算⏹区域间路由的计算--骨干区域和虚连接⏹区域外路由的计算--与自治系统外部通信SPF算法LSDBLSA 的RTA LSA 的RTBLSA 的RTCLSA 的RTD(二)每台路由器的链路状态数据库(一)网络的拓朴结构CABD123CAB D 123CAB D 123CABD123(四)每台路由器分别以自己为根节点计算最短路径树(三)由链路状态数据库得到的带权有向图CABD1235RTCRTD3215RTBRTASPF算法和COST值⏹SPF算法也被称为Dijkstra算法,是OSPF路由协议的基础。
☐SPF算法将每一个路由器作为根(Root)来计算到每一个目的地路由器之间的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。
⏹在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost值。
☐Cost值应用于每一个启动了OSPF的链路,它是一个16bit的整数,范围是1~65535。
Cost值的计算方法⏹计算方法108/bandwidth☐56-kbps serial link = 1785☐10M Ethernet = 10☐64-kbps serial link = 1562☐T1 (1.544-Mbps serial link) = 64⏹用户可以手动调节链路Cost,缺省情况下,接口按照当前的波特率自动计算开销区域内路由的计算S1Vlan2:10.1.1.2/24Vlan2:30.1.1.2/24E1:30.1.1.1/24Vlan3:40.1.1.1/24E0:40.1.1.2/24R1R2AREA 0E0:10.1.1.1/24S0:20.1.1.1/24S0:20.1.1.2/24E0/1E0/24E0/1S2100200300500。
计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。
二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。
4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。
二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。
三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。
实验五 FTP客户端程序1.实验目的文件传送协议FTP是Internet中广泛使用的服务协议之一,FTP协议是客户/服务器之间进行文件传递的协议。
●理解FTP协议的工作原理●掌握FTP客户程序的编程方法●理解在FTP传输过程中建立的两个连接2.实验内容利用WinSock编程接口编写FTP客户程序,在用户界面中给出必要的FTP 服务器信息:FTP服务器的IP地址、用户名、口令等,通过FTP协议实现指定文件的上载和下载操作。
3.实验环境程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。
程序开发环境为vs2012。
4.实验步骤步骤1 需求分析FTP客户程序功能为:(1) FTP客户程序首先显示用户界面,可以指定FTP服务器的地址、用户名和口令等信息(2)通过FTP协议接收FTP服务器的当前目录列表,并显示本地和远程目录列表信息(3)可以实现本地和远程目录的切换(4)可以实现文件的上载和下载操作步骤2 FTP客户程序开发用Visual C++编写FTP客户程序,利用WinSock编程接口实现FTP协议通信。
FTP客户程序首先显示用户界面,使用户可以指定FTP服务器和用户、口令信息(可以采用匿名方式),点击连接按钮后,向FTP服务器的TCP 21号端口建立TCP连接,在控制连接上发送FTP命令,首先获得本地和远程系统的目录列表并显示,可以进行目录切换等操作,指定上、下载的文件建立数据连接进行文件传送。
步骤3 编译和执行程序将FTP客户程序编译、连接成执行程序,运行FTP客户程序。
填写校园网的FTP服务器IP和用户、口令信息,进行各种FTP操作(文件上载、下载)。
5.具体实现(1)数据结构分析定义FileItem结构来保存文件信息typedef struct FileItem{int nItem; // 在列表框中的索引BOOL bDir; // 判断是否为文件夹CString strFileName; // 文件名}FILEITEM;主对话框类完成FTP的大部分功能其中:ID_control成员变量:CListCtrl m_ctrlRemoteFiles; // IDC_LIST_REMOTE 映射的列表型变量CListCtrl m_ctrlLocalFiles; // IDC_LIST_LOCAL 映射的列表型变量CString m_strPassword; // IDC_PASSWORD 映射的CString型变量CString m_strServer; // IDC_SERVER 映射的CString型变量CString m_strUserName; // IDC_USER 映射的CString型变量其他添加功能所需成员变量:CInternetSession* m_pInetSession; // 会话对象CFtpConnection* m_pFtpConnection; // 连接对象CFtpFileFind* m_pRemoteFinder; // 远程查找文件对象CFileFind m_LocalFinder; // 本地查找文件对象CString m_strLocalParentRoot; // 本地文件目录的上上一层目录CString m_strRemoteParentRoot; // 远程文件目录的上上一层目录CArray<FILEITEM,FILEITEM&>m_arrLocalFiles; // 保存本地文件信息CArray<FILEITEM,FILEITEM&>m_arrRemoteFiles; // 保存远程文件信息 成员函数:/* 初始化程序 */BOOL CMyFtpDlg::OnInitDialog()/* 给列表控件CListCtrl增加标题头 */void CMyFtpDlg::AddHeaders(CListCtrl* pLstCtrl)/* 给列表框增加一条记录 */void CMyFtpDlg::AddItem(CListCtrl* pLstCtrl,int nIndex,BOOL bDir,CString strText)/* 响应“download”按钮 */void CMyFtpDlg::OnDownload()/* 响应“Upload”按钮 */void CMyFtpDlg::OnUpload()/* 下载单个文件 */void CMyFtpDlg::DownFile(FILEITEM fileItem)/* 上传单个文件 */void CMyFtpDlg::UpFile(FILEITEM fileItem)/* 连接ftp服务器 */void CMyFtpDlg::OnConnect()/* 获得指定目录下的所有文件,并在列表框中显示 */void CMyFtpDlg::BrowseDir(CString strDir,CListCtrl* pLstCtrl,CFileFind* pFinder,CArray<FILEITEM,FILEITEM&>* pFilesArr)/* 本地文件目录中向上一层 */void CMyFtpDlg::OnLocalUp()/* 远程文件目录中向上一层 */void CMyFtpDlg::OnRemoteUp()主要函数1.在OnInitDialog()函数中进行对话框、列表的初始化,并且设定本地文件目录的默认路径为C盘为根目录。
《计算机网络实践实验报告》实验一:传输介质的实验实验思考题:1.左右两侧线序完全一致,但不是标准线序。
问:能否当正线使用?2.8根线中有4根是实际用于数据传输。
问:是哪4根?3.直通线和交叉线实际的应用环境是什么?4.列出3中功能不同的测线仪,并简述其功能。
实验二:常用网络命令介绍实验思考题:1.如何通过常用网络命令判断目标主机的操作系统?2.作为一名网管,应对于网络拓扑有详尽的了解。
如何通过网络命令判断故障点。
3.分析网关的作用。
实验三:在Windows Server 2003 环境下配置WWW服务实验思考题:1.WWW服务的支撑组件事ISS,最新的IIS版本是什么?支撑WWW所必须的IIS组件事什么?(internet信息服务管理器公用文件万维网服务)2.同一IP能否搭配两个或多个WWW服务器?能3.如何设计非80端口访问服务器?默认网站右键属性tcp端口浏览器输入http://10.0.56.77:80804.Windows 默认的站点主目录是什么?C:\Inetpub\wwwroot5.描述hTTP协议工作的过称及原理。
实验四:在Windows Server 2003 下搭建DNS 服务器实验思考题:1.把本机搭成DNS服务器,能否为主机某一网站分配两个或多个域名?能2.在同一DNS服务器内,能否为不同的网站(不同的IP)分配相同的域名?不能3.在实验实内为本机安装了DNS组件,但没有添加任何记录。
在TCP/IP 属性里,将本机的IP设成唯一的DNS 服务器。
在外网连通的情况下,你能否通过域名访问百度网站?不能4.在TCP/IP属性里面,将本机IP设成唯一DNS服务器,在外网连通的情况下,能否通过域名访问百度网站。
不能5.某主机IP掩码网关配置正常,未设DNS服务器,该主机能否访问某一网站,如可以,通过什么来访问?能通过代理访问6.反向搜索区域的作用实验五:搭建DHCP实验思考题:1. 能否通过交换机充当DHCP服务器?如可以,用二层交换机还是三层交换机?2. DHCP服务器的IP是否必须要和IP值在同一子网,说明原因,如果在同一子网,该IP是否需要做排除?如果不做排除,地址租约中会出现什么样的效果?3. 设计一个实验,使租约生效。
计算机网络课程实验报告实验5:利用Ethereal分析TCP、UDP、ICMP协议实验过程:使用Ethereal分析TCP协议: (15分)得分:抓取本机与http://gaia。
/ethereal—labs/alice。
txt通信过程中的网络数据包.根据操作思考以下问题:●客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的?Seq=0Flags中的syn位为1,ack位为0,说明是syn报文段●服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?Gaia.cs。
umass。
edu服务器是如何决定此值的?在该报文段中,是用什么来标示该报文段是SYNACK报文段的?Seq=0Ack=1,服务器根据客户端发送的SYN报文的Seq值加一后得到此值Flags中的Ack和Syn位都为1,所以是SYNACK报文●如果将包含HTTP POST命令的TCP报文段看作是TCP连接上的第一个报文段,那么该TCP连接上客户机向服务器发送的第六个报文段的序号是多少?是何时发送的?该报文段所对应的ACK是何时接收的?第六个报文段:对应的ack报文段:23号报文时第六个报文,seq=6310,发送时间:Jun 1,2013 13:32:56.587941000 对应的ack报文段接收时间Jun 1,2013 13:32:56.993379000●前六个TCP报文段的长度各是多少?在整个文件发送过程中,接受方公示的窗口大小是否变化?窗口大小代表什么含义?(可参考教科书“流量控制”一节)首个报文段长度为555,其余都为1506,接收方窗口长度是变化的.它代表接收方端口上缓冲区空闲空间的大小,显示其接受能力●TCP连接的throughput (bytes transferred per unit time)是多少?请写出你的计算过程.(不必给出计算结果,表达出计算的思路即可)TCP连接发送报文的数据字节总数÷发送数据报总时间●实验结论,以及实验中遇到的其他问题是如何解决的?结论:tcp协议在建立连接时要经历三次握手过程;当tcp连接需要发送比较大块的数据时,会将其分割成若干份数据报发送.Tcp协议利用窗口大小来实现端到端的流量控制问题:实验课后到四楼机房重做实验发现那里的网络不适合做这次实验(在那研究了一个小时),后来用自己电脑回到寝室做实验比较顺利。
计算机网络实验报告1计算机网络实验报告1实验一认识PacketTracer软件与路由的访问一、实验目的作为配置网络设备的最基础的实验,通过本实验的学习,掌握以下技能:(1)通过安装,运行PacketTracer软件,掌握PacketTracer软件的使用和设置;(2)通过反转电缆实现PC机与路由器的连接;(3)正确配置PC机仿真终端程序的串口参数;(4)熟悉Console端与Telnet访问路由器;二、设备要求Cisco路由器,PC机(操作系统WindowsXP,装有终端软件)三、实验配置和结果1.安装PacketTracer5.3版本软件2.汉化PacketTracer5.33.启动PacketTracer5.3软件,熟悉软件界面。
4.通过Console端口访问路由器1)把PC机的一串口通过反转线缆与路由器的Console端相连,记录默认情况下路由器Console端口的参数。
2)记录表明路由器已经启动正常时的提示符。
5.通过Telnet访问路由器1)配置路由器以太网接口IP地址Router>enRouter#//以上是进入路由器特权模式Router#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)# //以上是进入路由器配置模式Router(config-if)#interfaceFastEthernet0/0Router(config-if)#//以上是进入路由器的以太网口F0/0接口Router(config-if)#ipaddress172.16.0.1255.255.0.0//以上是配置接口的IP地址Router(config-if)#noshutdown//以上是打开接口,默认路由器的所有接口都是关闭的,这一点和交换机有很大差别Router(config-if)#end//退出配置模式2)配置路由器密码Router#confterminalRouter(config)#linevty04//以上是进入路由器的VTY虚拟终端下5个虚拟终端Router(config-line)#passwordciscoRouter(config-line)#login//以上是配置vty的密码,即Telnet密码Router(config-line)#exitRouter(config)#enablepasswordcisco//以上是配置进入到路由器特权模式的密码Router(config)#end3)通过Telnet访问路由器在计算机上配置网卡的IP地址为172.16.0.100/255.255.0.0,打开DOS命令窗口,首先测试计算机和路由器的IP连通性,再Telnet远程登录,如下所述PC>ping172.16.0.1Pinging172.16.0.1with32bytesofdata:Replyfrom172.16.0.1:bytes=32time=130msTTL=255Replyfrom172.16.0.1:byte s=32time=40msTTL=255Replyfrom172.16.0.1:bytes=32time=63msTTL=255Reply from172.16.0.1:bytes=32time=62msTTL=255Pingstatisticsfor172.16.0.1:Packets:Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinm illi-seconds:Minimum=40ms,Maximum=130ms,Average=73ms//表明计算机能Ping通路由器PC>telnet172.16.0.1//Telnet路由器以太网卡上的IP地址Trying172.16.0.1...OpenUserAccessVerificationPassword:(输入密码cisco)Router>enablePassword:(输入密码cisco)Router#exit//输入VTY的密码cisco、输入enable的密码cisco,能正常进入路由器的特权模式按以上方法是否正常进入路由器的特权模式?四、思考与分析以Cisco为例,什么是VTY,一般情况下,路由器支持几个虚拟终端,分别是什么?交换机支持几个虚拟终端,为别是什么?实验成绩评定表序号实验名称:123456实验方法:□有创新□有改进□有缺陷□合理实验步骤:□掌握□理解,不熟练□未掌握实验结果:□正确□部分正确□错误文字表述:□简明通顺□重复冗长□逻辑性差□有语病实验态度:□严谨认真□循规蹈矩□敷衍应付综合评价:□优秀□良好□中□及格□不及格指导教师签名指导教师:年月日扩展阅读:计算机网络操作系统实验报告1辽宁工程技术大学上机实验报告课程名称实验题目院系姓名实验目的实验准备实验进度实验内容成绩计算机网络操作系统实验WindowsServer20xx的安装及环境设置软件学院王玉专业学号软件工程1220980122班级实验日期软升本12-120xx.5.251.能够独立的安装windowsserver20xx网络操作系统。
计算机网络实验总结计算机网络实验总结(通用8篇)计算机网络实验总结篇1一学期的计算机网络课结束了,通过这一学期的学习,我们对计算机网络的各方面知识都有了初步的了解。
这一学期计算机网络实验课总共进行了5次:第一次是关于网线制作以及相关设备的了解;第二次是关于交换机的配置问题;第三次是关于vlan的配置问题;第四次是关于路由器的配置和协议问题;最后一次是了解RIP协议和OSPF协议,以及相关的配置。
5次实验课从简单到困难,考察了计算机网络一些重要的基本知识,为我们以后详细学习计算机网络奠定了坚实的基础。
第一次试验是制作网线。
首先是了解网线连接设备时的规则问题,我们了解到同态设备使用交叉线,异态设备使用直通线。
直通线两头都按照T568B线序标准连接,交叉线一头按照T568A线序标准连接,另一头按照T568B线序标准连接。
我们所要做的就是制作交叉线和直通线。
制作网线的过程分为这几部分:剥线排序理直剪齐插入压线检测。
每一步都很重要,稍有差错网线就不能制作成功。
组员内有人制作失败,原因是网线没有剪齐,有的线无法接触到顶端的簧片。
这个错误是不应该的,只要仔细就可以完全避免的。
然后我们又了解了制作网线所用到的一些工具,包括各种网线钳和网线,这让我们受益匪浅。
第二次实验是进行交换机的配置。
学习到有关全局模式和特权模式转换的方法、交换机的工作原理、交换机的基本配置和vlan的配置问题,还有在dos命令框中输入代码进行配置的各种方法。
我们进行了划分vlan操作,删除vlan操作等,详细了解了设备各种端口的设置,还有IP住址以及住址掩码等的设置。
在这一次实验中,问题主要是在全局模式和特权模式中,有人在设置的时候没分清计算机是处于那种模式下,导致设置出现错误。
不过大家互相帮助,在接下来的实验中这个问题没有再出现过。
第三次实验是vlan的配置。
主要内容有创建vlan,划分端口,以及各个端口的设置。
实验错误主要是出现在拓扑图连线的时候,没有注意到端口的问题,在设置的时候,没有分清端口的位置,导致出错,最后拓扑图无法连通。
广州大学学生实验报告开课学院及实验室:计算机学院,电子信息楼416A室2014年12 月10日学院计算机科学与教育软件学院年级/专业/班计科122姓名庞彬学号1206100022实验课程名称计算机网络实验成绩实验项目名称实验五:网络程序设计指导老师刘淼一、实验目的通过编程理解网桥的功能及计算机如何处理一个文件的16位校验和。
二、实验环境装有JDK环境和Eclipse的电脑一台。
三、实验内容写一个程序来模拟网桥功能。
模拟实现网桥的转发功能,以从文件中读取帧模拟网桥从网络中收到一帧,即从两个文件中读入一系列帧,从第一个文件中读入一帧然后从第二个文件中再读入一帧,如此下去。
对每一帧,显示网桥是否会转发。
要求:Windows或Linux环境下运行,程序应在单机上运行。
分析:用程序模拟网桥功能,可以假定用两个文件分别代表两个网段上的网络帧数据。
而两个文件中的数据应具有帧的特征,即有目的地址,源地址和帧内数据。
程序交替读入帧的数据,就相当于网桥从网段中得到帧数据,当然如果模拟的数据量比较少,也可以用两个数组代替两个文件存放帧数据,同样达到代表两个网段上的帧数据的效果。
对于网桥来说,能否转发帧在于把接收到的帧与网桥中的转发表相比较。
判断目的地址后才决定是否转发。
由此可见转发的关键在于构造转发表。
这里转发表可通过动态生成。
四、实验步骤、记录和结果(一)写一个程序来模拟网桥功能。
1、实验程序如下。
import java.util.*;public class Bridge {public static void main(String args[]) {//接口1中存在ABCDEFString str1[] = { "AB", "CA", "DB", "DA", "AH", "CB", "DN", "DC", "BC","AC", "EF", "FE" };//接口2中存在GHIMNOString str2[] = { "GF", "HA", "NB", "OH", "NG", "GN", "HF", "GC", "HA","GE", "OC", " " };//将字符串str1与str2交替存放在字符串s1中String s1[] = new String[100];int q = 0, p = 0;for (int a = 0; a < 100; a++) {//在字符串中偶数的存放str1if (a % 2 == 0 && q < str1.length) {s1[a] = str1[q];q++;}//在字符串中奇数的存放str2if (a % 2 != 0 && q < str2.length) {s1[a] = str2[p];p++;}}String bridge[] = new String[100];//建立网桥,数组可以存储100个地址bridge[0] = new String("as");//首先建立第一任意的地址形式,以便以后调用复制int m = 0;int flag2 = 0;//循环调用字符串数组s1的地址for (int i = 0; s1[i] != null; i++){char k[] = s1[i].toCharArray();//将字符串s1[i]转换为字符,以便调用源地址和目的地址//循环调用网桥数组中的地址,判断源地址是否在网桥转发表中for (int j = 0; bridge[j] != null; j++){char bridge2[] = bridge[j].toCharArray();//初始化源地址if (k[0] == bridge2[0])//检查第一个发送地址是否在网桥的转换表上{flag2 = 0;for (int b = 0; bridge[b] != null; b++){char bridge3[] = bridge[b].toCharArray();//初始化目的地址//比较目的地址是否在转换表bridge中if (k[1] == bridge3[0]){flag2 = 0;//目的地址存在转换表标志//判断源地址是否与目的地址相同,相同不转发if (bridge2[1] == bridge3[1]) {System.out.println(s1[i] + " 不转发");break;//跳出第一个for循环}else{if (bridge2[1] == '1'){System.out.println(s1[i] + " 由接口2 转发");break;}else{System.out.println(s1[i] + " 由接口1 转发");break;}}}else{flag2=1;//目的地址不存在转换表标志}}if (flag2 == 1) {flag2 = 0;if (bridge2[1] == '1') {System.out.println(s1[i] + " 由接口2 转发");//源地址与目的地址不相同,转发break;} else {System.out.println(s1[i] + " 由接口1 转发");//源地址与目的地址不相同,转发break;}}}}StringBuffer str = new StringBuffer(s1[i]);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; bridge[j] != null; j++) {if (ss.equals(bridge[j])) { //判断是否使地址添加到网桥到flag = 1; //判断使地址添加到网桥到标志}}if (flag != 1) {bridge[m] = ss;//地址转换表中不存在,加进发地址和接口号char new_ss[] = ss.toCharArray();if (m < 99) {m++;bridge[m] = new String("33");//动态增加网桥数组,加1int j1 = 0;String mude_ss = "33";for (j1 = 0; bridge[j1] != null; j1++) {//判断目的地址是否存在地址中char wangqiao5[] = bridge[j1].toCharArray();if (k[1] == wangqiao5[0]) {flag3 = 1; //判断目的地址存在地址中标志,在即使flag3=1mude_ss = bridge[j1]; //复制目的地址和接口}}char new_mude[] = mude_ss.toCharArray();if (flag3 == 1) {//判断目的地址与源地址中接口是否相同,相同不转发。
不相同转发,目的地址不在一样转发if (new_ss[1] == new_mude[1]){System.out.println(s1[i] + " 不转发");}else {System.out.println(s1[i] + " 由接口" + new_mude[1]+ " 转发");}}else {//判断目的地址由哪个接口转发if (new_ss[1] == '1') {System.out.println(s1[i] + " 由接口" + " 2 转发");//由接口2转发}else {System.out.println(s1[i] + " 由接口" + " 1 转发");//由接口1转发}}}}}}}2、实验结果如图1所示。
图1 3、程序流程图如图2所示。
图24、实验程序分析如下。
模拟网桥实验首先设置两个数组存放数据,数据具有帧的特征,即有目的地址,源地址和帧内数据。
然后程序交替读入帧的数据,即网桥先读网段1发来的第一帧,再读入网段2的第一帧。
对读进来的帧进行分析,先判别源地址是否存在于网桥转发表中,若果在则进入第一个循环模块,再判别目标地址是否在转发表中,最后输出数据由哪个接口转发。
如果源地址不在转发表中,要把这个源地址和所对应接口写入网桥的转发表中,在进行其他判别。
由此可见转发的关键在于构造转发表,这里转发表是动态生成的。
5、实验过程中的难点和待解决问题。
该实验难点在于编写调用网桥数组中的地址的那个循环里,其实质是判断源地址是否在网桥转放表中,在实验过程中,没有注意到将源地址和目的地址是否存在在转发表中打下标记,导致程序无法运行。
经过思考,在程序中加上了flag2和flag3两个变量,解决了这个问题。
此程序使用静态字符串数组存放网桥转发的信息,如果将程序修改成使用动态集合ArrayList完成的话,会更加符合现实网桥的转发。
若能做成GUI界面,实验会更加直观。
六、实验总结1.本次实验是由C平台来编写的,在实验过程中,对网桥的工作原理和16位校验和的计算方法有了更深一步的理解,同时也锻炼了自己的编码能力。
2.此实验与前面四个验证性实验有所不同,此实验更注重我们的编程能力。
把学到的知识用编程语言进行实现,是一个非常好的学习方法。
在下学期实验中,我会继续努力,把编程能力提高,以适应社会的要求。
3.在企业中,网络线路的部署事关重要,对公司的运营效率有着很重要的作用,所以我们一定要好好学习相关知识,并且应用到实际中去,这样子才可以学以致用。