《计算机网络系统实践》报告要点.docx
《《计算机网络系统实践》报告要点.docx》由会员分享,可在线阅读,更多相关《《计算机网络系统实践》报告要点.docx(70页珍藏版)》请在冰点文库上搜索。
《计算机网络系统实践》报告要点
一、必做部分
1.局域网组网
1)实验目的
a)根据网线制作标准,使用五类双绞线制作直通线、交叉线,并了解各种网线的应用范围;
b)网路设备的介绍;
c)IP地址;
d)IP地址寻址过程;
e)WINDOWS下常用网络命令介绍。
2)实验环境
交换机、PC机、网线、水晶头、测试仪、RJ-45钳、WindowsXP操作系统,两个同学一组共同完成本实验,并进行实验验证。
3)实验步骤
步骤1
将直通双绞线的一端接到交换机上,另一端接到PC机上的网卡上,此时交换机对应的端口指示灯应边亮。
步骤2IP地址的配置
将PC机的IP地址修改为“192.168.10.23”,子网掩码修改为255.255.255.0,默认网关修改为192.168.10.254。
在“首选DNS服务器”框中填入“202.102.192.68”。
步骤3计算机名的配置
将计算机名设定为“ks54”,工作组设为“WEBSRV”
步骤4ARP协议的测试
(1)进入MS-DOS方式
(2)在MS-DOS方式下执行如下命令arp-a
(3)在MS-DOS方式下执行如下命令ping192.168.10.1
然后再用arp-a命令查看,显示结果大致如下
结果中的MAC地址为192.168.10.1主机的地址,在192.168.10.1主机上用ipconfig/all命令可以验证,显示结果如下
步骤5在“网上邻居”里查看其它的计算机
查看工作组就能看到在同一工作组里的其他计算机。
双击“我的电脑”,在某一盘符或某一个文件夹上右击点选“属性”,再点选“共享”选项卡,点击“共享该文件夹”,这样别的主机就可以共享你的资源。
4)总结
通过此次实验,通过亲自使用arp–a、ping和ipconfig/all指令,让我了解到这三个指令的功能及使用方法。
通过这三个指令,对地址解析协议、IP协议的工作过程有了切身的体会,加深了对计算机网络的理解。
2.WWW服务器、FTP服务器的构建
5)实验目的
WWW服务器的构建
a)了解WWW的基本概念;
b)了解B/S开发模式的概念
c)熟悉HTTP协议;
d)掌握常见的WWW服务器的构建方法。
FTP服务器的构建
a)了解FTP的基本概念;
b)熟悉FTP协议;
c)掌握常见FTP服务器的构建方法。
6)实验环境
在WindowsXP平台下,基于IIS或Apache构建WWW服务器,利用IE浏览器进行测试。
在WindowsXP平台下,基于IIS或Serv-U构建FTP服务器,利用Windows自带的工作于命令方式的ftp程序进行测试。
7)实验步骤
利用Apache构建WWW服务器
步骤1安装
步骤2配置
http.Conf中常用的配置参数如下:
(1)DocumentRoot
该参数指定Apache服务器存放网页的路径。
默认值为:
“C:
//ProgramFiles/ApacheCroup/Apache2/htdocs”
(2)Listen
该参数指定Apache服务器用于监听客户端连接请求的IP地址和端口。
标准http服务器默认端口号是80。
(3)ServerName
该参数是用户自行设置主机名,以取代安装Apache服务器主机的真实名字
(4)MaxKeepAliveRequests
当使用保持连接功能时,可以用本参数决定每次连接所能发出的要求的上限
(5)MaxRequestsPerChild
该参数限制每个子进程在结束前所能处理的请求数目。
步骤3测试
启动浏览器并输入下列URL:
http//localhost/或者http:
//127.0.0.1出现下面页面,则表明Apache的安装、配置是成功的。
利用Serv-U构建FTP服务器
步骤1安装
按照屏幕上的提示操作执行安装过程。
步骤2配置
设置用户名admin,密码admin,管理域2260,根目录D:
\
步骤3测试
启动Windows的命令行方式,输入ftp127.0.0.1命令,看到如下界面
8)总结
通过此次实验,我学会了Apache和Serv-U服务器的安装与配置,通过亲自的安装,了解到了web服务器和ftp服务器的安装、配置与测试的方法,使我体会到了网络中服务层的作用,对我之后的安装配置自己的Web的服务器有了很大的帮助。
3.串口通讯
9)实验目的
a)理解串口通讯和RS-232协议的原理;
b)掌握RS-232串口的基本连接方法;
c)在Windows环境下设计完成通过串口进行计算及通讯的程序设计;
d)掌握ActiveX控件MSComm在VC编程中的使用;
e)掌握CRC编码的原理及在串口通讯中的应用
10)实验环境
PC机(两台)、串口线、WindowsXP操作系统、VC++6.0软件。
两个同学一组,其中一位做接收端,另一位做发送端。
(接收端)
11)实验步骤
步骤1硬件连接
在本实验中只要把母槽的串口连接线分别联结两台微机的九针串口公槽即可。
步骤2创建接收端的主程序
(1)创建空的MFC工程
打开VC环境,单击“文件”主菜单的“新建”菜单项,在“工程”标签中选择“MFCAppWizard”选项。
(2)添加MSComm控件
选择”Project->AddToProject->->ComponetsandControls”,双击IDD_JIESHOU_DIALOG,修改ID为ID_COMMCTRL,再把ID改为IDC_CLEAR,标题改为清屏。
(3)设计窗体及相应变量和函数设置
设计窗体如下
将ID设置成IDC_RECEIVE,在ClassName中选择类CjieShouDlg,先在ControlIDs中双击ID_COMMCTRL,再在ControlsIDs中双击IDC_RECEIVE,将此控件命名为m_Jieshou,类型为Cstring,在Messagesx下的文本框中双击BN_CLICKED,对应函数命名为OnClear,再在ObjectIDszhong选择ID_COMMCTRL,将MSComm控件的对应函数命名为OnComm。
(4)在项目工作区中选择ClassView选项卡,单击打开CjieShouDlg类,在函数OnInitDialog()中完成MSCommkong控件的初始化。
在函数CJieShoulDlg:
:
OnInitDialog()末尾添加如下程序:
BOOLCJieShoulDlg:
:
OninitDialog()
{
……
SetIcon(m_hIcon,FALSE);
m_Com.SetCommPort
(1);
m_Com.SetInBufferSize(1024);
m_Com.SetOutBufferSize(512);
if(!
m_Com.GetPortOpen())
m_Com.SetPortOpen(TRUE);
m_Com.SetInputMode
(1);
m_Com.SetSettings("9600,n,8,1");
m_Com.SetRThreshold
(1);
m_Com.SetInputLen(0);
returnTRUE;
}
(5)接收字符
编辑OnComm()函数
voidCJieShouDlg:
:
OnComm()
{
VARIANThuiying;
char*string;
char*qinchustring;
intk,nEvent,i;
nEvent=m_Com.GetCommEvent();
if(nEvent==2)
{
k=m_Com.GetInBufferCount();
if(k>0)
{
huiying=m_Com.GetInput();
string=(char*)(unsignedchar*)huiying.parray->pvData;
}
i=0;
qinchustring=string;
while(i{
i++;
qinchustring++;
}
*qinchustring='\0';
m_Jieshou=+(constchar*)string;
UpdateData(FALSE);
}
//TODO:
Addyourcontrolnotificationhandlercodehere
}
最后为“清屏”按钮的相应函数
voidCJieShouDlg:
:
OnClear()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
m_Jieshou.Empty();
UpdateData(FALSE);
}
完成接收端,截图如下:
程序运行如下:
12)总结
通过此次实验,通过自己亲自编程设计程序,让我熟悉了串口通讯和RS-232协议的原理,掌握了RS-232串口的基本连接方法,使我对计算机网络有了更深的理解。
二、选做部分
题目:
基于Web的新闻发布系统
4.设计要求
1)分析已有的基于Web的新闻发布系统,进行需求分析和功能设计;
2)在数据库中构建数据库、表或视图,熟悉数据库开发流程;
3)根据新闻发布系统的功能,条理清晰地设计各页面和脚本,掌握动态网页的制作技术;
4)在时间允许的情况下,适当考虑页面的美观;
5.开发环境
13)硬件条件
因系统运行负荷不大,使用个人计算机分别作为服务器端和客户端即可。
网络通讯设备,包括交换机、网线等
14)系统平台
采用Browser/Server体系结构,操作系统采用Windows。
Web服务器使用ApacheHTTPServer。
服务器脚本语言选用PHP。
数据库使用MySQL。
标记语言采用HTML5标准
15)开发工具
使用AdobeDreamweaverCS6进行网页的设计与编码。
使用Notepad++完成脚本语言的编写。
使用GoogleChromeDeveloperTools调试网站。
16)运行需求
客户端要求拥有一款现代浏览器,接入服务器端所在网络即可实现对本系统的访问。
6.基本原理
17)新闻发布系统
新闻发布系统(NewsReleaseSystemorContentManagementSystem)又叫做内容管理系统,是一个基于新闻和内容管理的全站管理系统,新闻发布系统是基于B/S模式的WEBMIS系统,本系统可以将杂乱无章的信息(包括文字,图片和影音)经过组织,合理有序地呈现在大家面前。
当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。
新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能。
与一般的信息系统相比较,新闻发布系统具有以下特征:
是基于B/S模式下的Web信息系统,数据库逻辑相对简单,但数据量一般比较庞大;
用户数量大,服务器压力大,是系统设计中必须考虑的问题之一,而一般的信息系统相对压力要少了很多;
是一个开放式的系统,前台浏览无须验证。
新闻发布系统的开发方式主要有以下几类:
a)前台动态显示的新闻发布系统
该类系统大约占60%的分额,其主要特点是前台采用编程语言动态读取数据库的内容,随时更新,该类系统设计简单,适合大多数中小企业建站需要,通用性不强,一般需要量身定做,不适合大型新闻站点,当用户过多时,编程语言动态读取数据库就势必消耗大量的服务器资源,造成系统运行缓慢,甚至崩溃,同时由于前台新闻是动态从数据库中读取,导致前端用户直接接触到数据库,很容易造成一些不安全的因素,例如:
SQLInjection。
b)前台静态显示的新闻发布系统
该类系统大约占有30%多的市场分额,其主要特点为:
前台新闻全部生成HTML静态文件,前台无须读取数据库,浏览器只需要直接下载HTML文件即可浏览新闻,浏览速度得到提高,同时也大大减轻了数据库服务器的压力,该系统后台设计复杂需要处理复杂的模板标签和个模板之间的逻辑,一般采用三层模式实现,该类系统灵活性大,可以通过模板自定义实现界面复杂的前台页面,一般不需要为某一个企业而定做,该系统具有良好的通用性,适合各类新闻站点,同时,系统把前端用户和数据库分割开来,系统的安全性得到大大的提高。
c)基于文本的新闻发布系统
该系统在市场上占有很少的一部分,主要是把前面的数据库换成了TXT格式的文本文件,该系统主要缺点是文本文件是无序的,管理起来非常麻烦,而且安全性不高,很容易造成数据冗余,因此,2013年还没有见到该类系统的商业版本,一般都作为个人用户使用。
d)基于XML数据岛的新闻发布系统
该系统是新闻发布系统的一个发展趋势,它用XML数据岛代替了数据库,XML是一个有序的数据文件,比数据库的读取速度更快,但操作起来没有数据库这么方便,但是由于开发技术难度大,该类系统市场很少见到。
本系统采用比较常用,开发也比较简单的第一类。
18)Web服务原理
Web信息存储于被称为网页的文档中,网页是存储于被称为Web服务器的计算机上,读取网页的计算机称为Web客户端。
Web客户端通过称为浏览器的程序来查看网页,主要的浏览器有InternetExplorer等。
浏览器可通过一个请求来读取某个服务器上的一张网页,请求是一个包含页面地址的标准HTTP请求,页面地址类似这样:
所有的网页都含有其如何被显示的结构,浏览器通过阅读这些结构来显示页面,最常用的显示结构称为HTML标签。
用于段落的HTML标签类似这样:
,在HTML中像这样定义一个段落:
ThisisaParagraph
。
通常,当浏览器请求某个HTML文件时,服务器会返回此文件,但是假如此文件含有服务器端的脚本,那么在此HTML文件作为纯HTML被返回浏览器之前,首先会执行HTML文件中的脚本。
服务器脚本能动态地向web页面编辑、改变或添加任何的内容;对由HTML表单提交的用户请求或数据进行响应;访问数据或数据库,并向浏览器返回结果;为不同的用户定制页面;提高网页安全性,使您的网页代码不会通过浏览器被查看到。
19)PHP
PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP是免费的,并且使用广泛。
对于像微软ASP这样的竞争者来说,PHP无疑是另一种高效率的选项。
PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
具备代码高亮功能的常见文本编辑器因其轻巧灵活常被选作PHP开发工具,例如:
Notepad++、Editplus等等。
本系统使用了Notepad++。
20)MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQLAdministrator,MySQLQueryBrowser和MySQLWorkbench。
phpMyAdmin是由php写成的MySQL资料库系统管理程程序,让管理者可用Web界面管理MySQL资料库。
本系统就采用了phpMyAdmin创建数据库,完成新建表等功能。
21)PHP与MySQL的连接
在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。
在PHP中,这个任务通过mysql_connect()函数完成。
22)HTML及HTML5
超文本标记语言,标准通用标记语言下的一个应用。
“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
超文本标记语言的结构包括头部分(Head)、和主体部分(Body),其中头部(head)提供关于网页的信息,主体(body)部分提供网页的具体内容。
网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:
脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。
因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。
超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
其主要特点如下:
a)简易性:
超级文本标记语言版本升级采用超集方式,从而更加灵活方便。
b)可扩展性:
超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。
c)平台无关性:
虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。
d)通用性:
另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。
它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
HTML5是用于取代1999年所制定的HTML4.01和XHTML1.0标准的HTML(标准通用标记语言下的一个应用)标准版本;现在仍处于发展阶段,但大部分浏览器已经支持某些HTML5技术。
HTML5有两大特点:
首先,强化了Web网页的表现性能。
其次,追加了本地数据库等Web应用的功能。
广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。
它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-basedrichinternetapplication,RIA),如AdobeFlash、MicrosoftSilverlight,与OracleJavaFX的需求,并且提供更多能有效增强网络应用的标准集。
7.功能模块
23)网站功能模块
网站分为前后台,分别供普通用户浏览新闻、管理员管理新闻使用。
一、前台新闻显示
根据网站的需要,在主页设置显示栏目导航,显示各个栏目的最新5条新闻等。
在每个栏目的新闻列表页中依发布时间从后到前排列,且进行分页。
每页显示20条新闻。
通过点击页面数字切换到其它页。
新闻页,用于显示具体的新闻,并提供评论功能,用户可匿名发表评论。
同时评论功能可通过后台管理来关闭。
二、后台管理
新闻的添加:
输入新闻标题,输入文章来源,选择需要的栏目。
添加新闻文章,支持一定的文本格式设置,如加粗、居中、列表等,支持HTML源代码显示,支持图片上传和管理。
发布时将记录发布时间
新闻的编辑:
修改已发布的文章,将记录最终修改时间。
新闻的删除:
删除已经发布的,但现在不想显示的文章。
新闻的评论关闭:
关闭当前文章的评论功能。
24)数据库逻辑结构
a)用户信息表we_users
#
字段名称
数据类型
说明
1
ID
bigint(20)
用户编号,自增
2
user_login
varchar(60)
用户名
3
user_pass
varchar(64)
用户密码,MD5方式加密
4
user_nicename
varchar(50)
用户昵称
5
user_email
varchar(100)
用户注册邮箱地址
6
user_registered
datetime
用户注册时间
7
user_status
int(11)
用户分组ID
b)状态表we_status
#
字段名称
数据类型
说明
1
status_id
smallint
(2)
状态编号
2
status_name
varchar(10)
状态名称
status_id
status_name
1
已发布
2
未发布
3
已删除
8
评论开放
9
评论关闭
c)栏目表we_terms
#
字段名称
数据类型
说明
1
term_id
bigint(20)
栏目编号,自增
2
name
varchar(200)
栏目名称
3
parent
bigint(20)
父栏目ID
term_id
name
parent
0
首页
0
1
资讯
0
2
公告
0
3
服务
0
4
头条新闻
1
这里的部分栏目父栏目为0,意思是栏目直接位于首页下。
而这里的头条新闻是资讯的子栏目。
d)评论表we_comments
#
字段名称
数据类型
说明
1
cm_id
bigint(20)
评论编号,自增
2
post_id
bigint(20)
评论所在文章的ID
3
cm_content
text
评论内容
4
cm_date
datetime
评论时间
e)新闻内容表we_posts
#
名字
类型
说明
1
ID
bigint(20)
新闻编号,自增
2
post_author
varchar(16)
新闻发布者用户ID
3
post_source
varchar(60)
新闻来源
4
post_date
datetime
新闻发布日期时间
5
post_content
longtext
新闻内容
6
post_title
text
新闻标题
7
post_status
int
(2)
新闻状态ID,可为we_status中的1,2,3
8
comment_status
int
(2)
新闻评论状态ID,可为we_status中的8,9
9
post_modified
datetime
新闻最后修改时间
10
menu_order
int(11)
新闻栏目ID
25)服务器端设计
a)PHPSession变量
当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。
这很像一次会话。
计算机清楚你是谁。
它知道你何时启动应用程序,并在何时终止。
但是在因特网上,存在一个问题:
服务器不知道你是谁以及你做什么,这是由于HTTP地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHPsession解决了这个问题。
Session的工作机制是:
为每个访问者创建一个唯一的id(UID),并基于这个UID来存储变量。
UID存储在cookie中,亦或通过URL进行传导。
在本系统中,需要使用Sessio