华科-计算机网络实验报告-javasocket编程-网络组建实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程实验报告
课程名称:
专业班级:计算机科学与技术1003班
学号:
姓名:鲁辰
指导教师:
报告日期:
计算机科学与技术学院
目录
1实验二 Socket 编程(E-Mail)................... 错误!未定义书签。

实验目的....................................... 错误!未定义书签。

实验要求....................................... 错误!未定义书签。

实验内容....................................... 错误!未定义书签。

实验过程....................................... 错误!未定义书签。

需求分析................................... 错误!未定义书签。

界面....................................... 错误!未定义书签。

写信....................................... 错误!未定义书签。

收信....................................... 错误!未定义书签。

实验体会....................................... 错误!未定义书签。

2 实验2 网络组建与实施............................. 错误!未定义书签。

实验目的....................................... 错误!未定义书签。

实验环境、要求................................. 错误!未定义书签。

实验实验环境............................... 错误!未定义书签。

实验要求.................................... 错误!未定义书签。

实验内容........................................ 错误!未定义书签。

实验1 组网实验............................. 错误!未定义书签。

实验2 路由配置实验........................ 错误!未定义书签。

实验3 VLAN划分实验........................ 错误!未定义书签。

实验4 访问控制配置实验.................... 错误!未定义书签。

实验过程....................................... 错误!未定义书签。

系统的安装与配置........................... 错误!未定义书签。

实验1 组网实验............................ 错误!未定义书签。

实验2 路由配置实验........................ 错误!未定义书签。

实验3 VLAN划分实验........................ 错误!未定义书签。

实验4 访问控制配置实验................... 错误!未定义书签。

实验体会....................................... 错误!未定义书签。

1实验二 Socket 编程(E-Mail)
实验目的
了解应用层和运输层的作用及相关协议的工作原理和机制。

掌握SOCKET 编程的基本方法。

实验要求
必须基于Socket 编程,不能直接借用任何现成的组件。

提交实验设计报告和源代码;实验设计报告必须包括程序流程,源代码必须加详细注释。

基于自己的实验设计报告,通过实验课的上机试验,在TurboC (或者Visual C++ 或者Java)编程环境下将源代码
编译成功,运行演示给实验指导教师检查。

实验内容
题目二:
编写邮件客户端,要求如下:
第一级:
实现一个基本的文本编辑器,能支持邮件的撰写和保存为草稿。

支持目录结构,能对邮件进行分类,并提供基本的收件箱、发件箱、草稿箱、垃圾箱等文件夹。

支持邮件帐号的配置与存储。

具备完成所需功能的基本图形用户界面(GUI),并具友好性。

第二级:
支持将邮件服务器上的邮件完全下载到本地并显示。

支持邮件下载时选择帐号管理器中的邮件服务器。

支持接收进度指示和接收完成指示。

具备完成所需功能的基本图形用户界面(GUI),并具友好性。

第三级:
支持邮件下载仅下载邮件头,并能根据需要实时下载邮件全部内容。

支持服务器上邮件下载完成后对邮件是否删除的操作。

具备完成所需功能的基本图形用户界面(GUI),并具友好性。

第四级:
支持普通文本邮件的发送。

可选择发送用帐号并可编辑发送用帐号。

支持发送进度指示和发送完成指示。

具备完成所需功能的基本图形用户界面(GUI),并具友好性。

第五级:
支持HTML、RTF 格式邮件的撰写和发送。

支持邮件发送时添加附件。

支持抄写和密送功能。

支持邮件的回复/转发功能。

具备完成所需功能的基本图形用户界面(GUI),并具友好性。

说明:额外功能的实现,将视具体情况予以一定加分。

实验过程
需求分析
对应检查表确定需要编写代码的模块
序号检查内容
基1具备GUI界面界面:包括登录界面、收件夹、写信等
本内容2具有基本的邮件编辑器,可以撰写邮件
3能够配置邮件服务器帐号并存储
4支持POP3邮件完全下载收信:基于POP3协议
5
支持POP3邮件按需下载
(先下载邮件头,根据需要全文下载)
6支持下载保存/下载删除两种模式
7支持纯文本邮件发送写信:基于SMTP协议
8支持邮件发送/接收进度显示未完成
9支持邮件本地分门别类存储未完成
10支持邮件的回复和转发写信(将相应内容当作参数传给对应函数)
高级内容1支持MIME格式邮件的撰写和发送未完成2支持附件
3支持邮件的抄写和密送
4
支持多邮件服务器,并可在发送和接收
时选择邮件服务器
本次的实验使用Java编写,环境为Eclipse SDK。

界面
由于直接使用Eclipse编写界面的代码太过复杂,所以我使用了Eclipse的插件Window Builder,可直接将控件拖拽到窗体中,并生成相应的代码,双击按钮时也会生成按钮的动作相关函数。

1)登录界面:
按钮Login:单击Login之后,弹出主窗口,在调用主窗口的class时,将Mail Address和 Password的内容作为参数传给主窗口的类,并交由主窗口进行验证。

2)主界面:
单击菜单,选择选项卡,会弹出相应的对话框。

3)写信:
填写收件人、题目、内容后
可发送。

4)收信:
得到邮件的部分信息,单击Show,会弹出选中的邮件的完全显示,Download All 会将邮件全部下载到本地。

5)显示邮件
单击Download&Save会将邮件保存
至本地
单击Download&Delete会将邮件保
存到本地并从服务器上删除
单击Reply会把寄件人地址、标题
作为参数传给Reply类,并弹出Send
Mail 对话框。

单击Reply会把内容、标题作为参
数传给Forward类,并弹出Send
Mail 对话框。

写信
1) 声明需要使用的库文件
由于Eclipse很智能,不需要手动添加,当调用了某个函数时,如果没有添加相应的库文件,Eclipse会报错,提供修改方案,在前面添加相应的库文件。

首先定义类包含的数据结构,名称和用途如表中所示:
在这个函数中,主要将界面架构起来,邮件的发送并不是在这个函数中完成的。

当Send按钮被单击后,消息被函数接收到,此时通过调用SendAction函数完成邮件的发送。

使用了《计算机网络实验SOCKET编程指导手册》中的代码,收件人、内容、被当作参数传如,并赋值SendAction中的变量to、mailConstent
而发件人地址、smtp服务器地址、用户名、密码从类的数据结构里面读取。

实验体会
通过编写邮件客户端,我掌握了TCP、SMTP、POP3的相关知识,并加深了自己对java语言的熟练程度。

在编写程序的过程中,经常遇到不懂的地方,通过仔细阅读老师给出的和网上的例子程序的代码,我理清了思路,更快的写好了程序。

2 实验2 网络组建与实施
实验目的
了解IP协议、网络层协议和数据链路层协议的工作原理及机制;
掌握IP地址的规划方法;
掌握路由协议的配置方法。

掌握路由器及二/三层交换机的配置方法。

了解VLAN的划分原理;
掌握访问控制的配置方法。

实验环境、要求
实验实验环境
Boson Netsin仿真软件(实验所用版本号为)
实验要求
熟悉Boson Netsim仿真软件
利用Boson Netsim仿真软件完成实验内容
提交实验设计报告
基于自己的实验设计报告,通过实验课的上机实验,演示给实验指导老师检查实验内容
实验1 组网实验
1)使用仿真软件描述网络拓扑图
2)按如下要求进行IP地址规划
将PC1、PC2设置在同一个网段,子网地址是:设置在同一个网段,子网地址是:同时为路由器配置端口地址,使得两个子网内部的各PC机之间可以自由通信。

3)按如下要求重新设置各PC机IP地址
将PC1、PC2设置在同一个网段,子网地址是:将PC3、PC5、PC7设置在同一个网段,子网地址是:将PC4、PC6、PC8设置在同一个网段,子网地址是:为路由器配置端口地址
4)分析测试连通性
分析各PC机之间的连通性并对分析结果进行测试,同时使用所学理论知识对测试结果进行再分析
实验2 路由配置实验
1)使用仿真软件描述网络拓扑图
2)按如下要求配置RIP协议
按如下要求设置各PC机IP地址
PC1处于网段
PC2处于网段
PC3处于网段
PC4处于网段
设置路由器端口的IP地址
在路由器上配置RIP协议,使各PC机能互相访问
3)思考
如果不设置时钟频率,会出现什么现象
在路由器上重新配置OSPF协议,使PC机能互相访问
实验3 VLAN划分实验
1)在第一项实验的最终配置结果上进行VLAN划分
2)划分VLAN,并按照如下所述配置各VLAN的访问权限
将交换机2、交换机3、交换机4组成的部分网络(路由器A右部网络)划分成两个VLAN:
PC3、PC5、PC7处于一个VLAN;
PC4、PC6、PC8处于一个VLAN;
测试上述PC机之间的连通性。

连通性没有变化,同网段连通,不同网段不通,改PC机IP地址到同一网段就连通
4) 思考
对路由器进行配置,使得划分的两个VLAN中的所有PC 可以互相访问
将PC1和PC2 划入VLAN1
实验4 访问控制配置实验
1) 对路由配置实验结果按如下要求进行访问控制配置(ACL)实验
对路由器1进行访问控制配置,使得PC1 无法访问其他PC,也不能被其他PC 访问。

2) 思考
进行访问控制配置,使得PC1不能访问PC2,但能访问其他PC机。

实验过程
系统的安装与配置
1、系统的安装
安装boson netsim 。

系统:Windows7
安装方法:
1)将文件拷入硬盘
2)右键以管理员身份运行进行安装
2、系统的运行
任务菜单选择软件,右键以管理员身份运行:
实验1 组网实验
1、使用仿真软件描述网络拓扑图
1)打开软件:
2)加入PC机
使用缺省名称
3)加入交换机
选择交换机1912
4)加入路由器
选择路由器 805 有两个以太网口
5)加入网络连线
各设备分别连线,选择源和目的端口
可以从设备工具栏拖出连接线分别设置源和目的的设备和端口
也可以选择设备右键加入连接线选择源端口和目的设备和端口
最后组成设备图
保存文件
2、按如下要求进行IP地址规划
1)打开软件
2)选择设备 PC1-PC2 设置IP地址子网掩码网关
可以用命令行设置命令ipconfig /ip <ip地址> <子网掩码>设置ip地址和子网掩码
可以用命令行设置命令ipconfig /dg <网关ip地址>
设置网关ip地址
网关ip地址暂设为本网段地址最后字节为254的地址
也可以通过在命令行键入命令 winipcfg 在图形界面设置ip地址子网掩码网关
设置PC1 计算机的IP地址为子网掩码网关设置PC2 计算机的IP地址为
子网掩码网关互相可以连通
3) PC3-PC8设置在同一个网段,子网地址是:设置PC3 计算机的IP地址为子网掩码网关设置PC4 计算机的IP地址为子网掩码网关设置PC5 计算机的IP地址为子网掩码网关设置PC6 计算机的IP地址为子网掩码网关设置PC7 计算机的IP地址为子网掩码网关设置PC8 计算机的IP地址为子网掩码网关本网段可以连通不同网段不通
4)同时为路由器配置端口地址,使得两个子网内部的各PC机之间可以自由通信
选择设备。

Router# write
路由器配置后不同网段连通
3、按如下要求重新设置各PC机IP地址
将PC1、PC2设置在同一个网段,子网地址是:将PC3、PC5、PC7设置在同一个网段,子网地址是:以上设置可在原实验基础上不做改变
设置PC1 计算机的IP地址为子网掩码网关设置PC2 计算机的IP地址为子网掩码网关设置PC3 计算机的IP地址为子网掩码网关设置PC5 计算机的IP地址为子网掩码网关设置PC7 计算机的IP地址为子网掩码网关将PC4、PC6、PC8设置在同一个网段,子网地址是:用ipconfig /ip 命令设置PC4 计算机的IP地址为子网掩码网关设置PC6 计算机的IP地址为子网掩码网关设置PC8 计算机的IP地址为子网掩码网关为路由器配置端口地址
4、分析测试连通性
分析各PC机之间的连通性并对分析结果进行测试,同时使用所学理论知识对测试结果进行再分析
设置多网段后本网段通跨网段不通
VLAN未设置交换机truck 未设置
实验2 路由配置实验
1、使用仿真软件描述网络拓扑图
2、按如下要求配置RIP协议
按如下要求设置各PC机IP地址
PC1处于网段
PC2处于网段
PC3处于网段
PC4处于网段
3、设置路由器端口的IP地址
路由器1
:路由器2
路由器3
路由器4
4、设置路由器RIP协议配置路由器1:
路由器2
路由器3
路由器4
其中路由查看两次,一次是其他路由器配置完成之前,一次是其他路由器配置完成之后,可以看到路由显示的变化
gateway of last resort is not set
5、检查各PC机互相访问情况
PC4与PC1不能互相访问:PC4与PC2能互相访问:
PC4与PC3能互相访问查看路径
Gateway of last resort is not set就是默认网关没有设置
gateway of last resort 就是默认网关(default gateway)
"gateway of last resort" 是show ip route后显示出来的
"default gateway" 是配置的时候的说法
总体上来说就是gateway of last resort已经写入路由表,所以是生效的。

default gateway是配置时候的,因此可能下一跳失效的时候,就不生效。

如果默认网关没有设置那么同一个路由器上的2个网段可能ping不通因为数据不知道出去的大门在哪
6、思考
去掉重复支路所有PC连通
重新设置重复支路网络连通未发现故障原因路由器1 设置
路由器3 设置
测试结果
重复的短接支路开通前跃点5 开通后跃点4
如果不设置时钟频率,会出现什么现象
采用以太网接口不设置时钟频率
第一次的项目192..11 无法访问未查明原因,完全重新做一遍后,通信正常。

在路由器上重新配置OSPF协议,使PC机能互相访问:
暂未进行。

实验3 VLAN划分实验
1、在第一项实验的最终配置结果上进行VLAN划分
在第一项实验的最终配置结果上进行VLAN划分,本想直接使用原存盘文件,但第一项实验选择交换机端口设置功能不足,更换交换机重新配置
2、划分VLAN,并按照如下所述配置各VLAN的访问权限
将交换机2、交换机3、交换机4组成的部分网络(路由器A右部网络)划分成两个VLAN:
Enable
Vlan database
Vlan 2 name vlan2
End
Show vtp status
先划分vlan 几个交换机相似,在此只举例说明
下面再进行交换机端口的vlan划分,几个交换机的划分也相似,在此只举例说明
PC3、PC5、PC7处于一个VLAN;
PC4、PC6、PC8处于一个VLAN;
如:
Conf t
Int fa 0/2
Switchport mode access
Switchport access vlan 1
Int fa 0/3
Switchport mode access
Switchport access vlan 2
End
3、测试上述PC机之间的连通性
测试上述PC机之间的连通性。

连通性没有变化,同网段连通,不同网段不通,改PC机IP地址到同一网段就连通
发现问题,PC3 PC5 PC7 的端口配置为VLAN1 所以不同交换机之间通信连通,将各交换机增加VLAN 3 name vlan1 各交换机之间不通
使用下面的步骤启动交换机之间的Trunking功能:
Switch(config)#int f0/4
switch(config-if)#switchport (设定端口为交换端口而不路由端口)
Switch(config-if)#switchport trunk encapsulation dot1q (设定此端口的封装为dot1q而不是isl & negotiate)
Switch(config-if)#switchport mode trunk (设定此交换端口为trunk即中继端口)
&Switch(config-if)#switchport trunk allowed vlan add all (所有vlan使用Trunk链路)
4、思考
对路由器进行配置,使得划分的两个VLAN中的所有PC 可以互相访问
未完成 trunk 和 access端口配置有问题。

将PC1和PC2 划入VLAN1,同一个交换机内同一个子网是连通的。

实验4 访问控制配置实验
1、对路由配置实验结果按如下要求进行访问控制配置(ACL)实验
对路由器1进行访问控制配置,使得PC1 无法访问其他PC,
先建访问控制列表,再将访问控制列表装入交换机、路由器相关端口,就可以实现访问控制。

如:
先输入conf t 获得权限,再使用以下命令处理
Access-list 10 deny any
Int e 0/0
Ip access-group 10 in
也不能被其他PC访问。

2、进行访问控制配置,使得PC1不能访问PC2,但能访问其他PC机
进行访问控制配置,使得PC1不能访问PC2,但能访问其他PC机。

实验体会
在本次的课程设计中,我有很多收获。

首先,通过做题目,我对网络交换机、路由器的功能和设置有了更深入的了解,并熟悉了中小型的网络设计工作。

在做实验及调试的过程中,细心很重要,一点输入的小错误就带来严重的问题,我浪费了大量时间。

同时,应该在事前尽量熟悉软件,选择器件要注意,不光要按要求选简单的,同时要注意器件应该要能够满足实验的功能需求。

总之,这次的课程设计我有很多收获。

相关文档
最新文档