《计算机网络课程设计》.docx
- 文档编号:3418666
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:10
- 大小:194.32KB
《计算机网络课程设计》.docx
《《计算机网络课程设计》.docx》由会员分享,可在线阅读,更多相关《《计算机网络课程设计》.docx(10页珍藏版)》请在冰豆网上搜索。
《计算机网络课程设计》
计算机网络课程设计报告
题目:
Web服务器的搭建及HTTP协议和底层协议运行分析
学生姓名:
xxxxxxx
学号:
xxxxxxx
班级:
xxxxxxxx
教师:
xxxxxxx
完成日期:
2017年6月22日
《计算机网络课程设计》成绩评定表
班级:
xxxxx姓名:
xxxxx学号:
xxxxxxx阅卷教师签名:
设计任务
评分项
分值
子项评分标准及分值
得分
课程设计及实现部分
题目说明
20
题目分析(5)
技术原理阐述(10)
该技术的应用及发展(5)
应用设计
20
网络环境设计(5)
网络应用方案设计(10)
重点测试目标(5)
应用实现
20
抓包过滤(5)
应用过程实施(10)
显示过滤(5)
运行分析
20
应用过程抓包结果说明(5)
协议机制分析说明(10)
关键数据包协议栈说明(5)
课程设计报告部分
设计报告
20
排版规范、合理(5)
内容详实具体(5)
图表及数据展示明确(5)
设计总结条理清晰(5)
总成绩
Web服务器的搭建及HTTP协议和底层协议运行分析
一、题目说明
1、课程设计题目分析5
本题是要在Window操作系统上进行web服务器的搭建,之后在另一台电脑上运行该服务器,同时在该电脑上抓来往的数据包,并观察该数据包中的HTTP协议的结构。
2、题目涉及的技术原理10
本题通过对操作系统中的IIS(Internet信息服务器)的安装,再通过编辑自己的编写的服务器代码设置自己的默认网页,进行Web服务器的配置。
在另一台电脑上,将这台电脑用作客户端,运行自己刚配置好的Web服务器。
同时,打开wireshark应用程序进行数据包抓包,抓取http包,对抓到的http包进行结构分析。
当前对于Web页面的访问应用都是基于Http应用协议的,而在下层则使用TCP(传输控制协议);但TCP并不适合于短会话(少量的数据交换的情况),当期用于短对话时会增加额外开销,而建立、撤销TCP链接的开销却又是必需的。
因此,提出了一种混合TCP与UDP的动态选择传输层协议来实现Http协议的方法,若在短对话时使用UDP(用户数据报协议)作为传输层协议,而当有大量数据需要传输时则使用TCP作为传输层协议,这样,对于短对话可以避免TCP的额外开销,而对于长会话又可以得到有TCP提供的可靠传输并减少网络拥塞。
3、该技术的应用及发展5
ProgressiveDownload(渐进式下载方式)也可以认为是HTTPStreaming的前身,其通过HTTP协议来传输文件。
目前,国内外比较主流的视频网站(如YouTube,优酷,土豆,六间房等)一般都用ProgressiveDownload的方式播放视频节目。
ProgressiveDownload在用户点击播放视频节目时,会给用户发送视频文件,用户可以边下载、边播放,而不是等到文件下载完毕才可以播放视频。
在用户暂停播放时,服务器依然会给客户端发送视频文件,直至整个文件下载完毕或者用户关闭视频。
基于此特性产生一个问题:
如当一个文件为3min,用户观看前1min后就不想再观看而关闭视频播放时,而此时文件可能已经全部下载完毕,这样就会造成后2min资源传输的浪费。
ProgressiveDownload客户端与服务器的交互过程参见下图,由客户端发起HTTP请求,服务器受到请求后回复给客户端其请求的媒体内容。
图1HTTP请求/响应
目前,支持HTTPStreaming的客户端有有AdobeFlashPlayer10.1,微软的Sivelight以及APPLE的Safari等。
以IISSmoothStreaming客户端为例可以通过直播以及点播的SmoothStreaming功能为用户提供丰富多彩的Siverlight用户体验。
现有的客户端功能的例子包括诸如播放、暂停和停止简单的控制,以及更复杂的功能,如即时回放、现场广告插入、多镜头角度和快进/快退。
IISSmoothStreaming客户端包括SmoothStream-ing媒体元素(SSME)SDK。
它使开发人员和设计人员利用基于具有完全的XAML支持的SilverlightSDK的NET框架设计出丰富的IISSmoothStreaming播放体验。
这是一个更广泛的开放源码的Silverlight媒体框架的核心组成部分。
IISSmoothStreaming客户端API为开发人员和设计人员提供了一个方便的界面供其在Silverlight平台创建丰富的SmoothStreaming经验。
MSDN上可以找SmoothStreamingClientAPIs文件。
大多数情况下,Silverlight媒体框架是最简单、最可靠的方式来建立一个新的Silverlight流媒体播放器,支持SmoothStreaming,分析,现场广告插播等。
SmoothStreaming客户端支持功能:
(1)基本的播放控制
●APIs(如播放、暂停、停止)。
●回放和诊断。
●属性跟踪定位等。
(2)先进的播放支持
●DVR支持LiveSmoothStreaming。
●在DVR中支持跟踪直播事件。
●Trickplay———慢动作,快进,快退。
●多音频语言支持(新)。
●文字的标题和字幕(新流支持)。
(3)支持离线播放的方案(新)
(4)H.264/AAC支持
(5)价值化
●广告播放集成—调度能力,跟踪广告的进展。
●现场直播与IIS平滑流广告插播。
●丰富的分析与IIS高级的日志记录。
●分析的API(新)。
●支持指定标志和广告摄取点以外的主要表现。
●内容保护———VC-1/H.264内容PlayReady一体化。
●支持的综合表现等情况下的粗切编辑(RCE条件下)。
●选择曲目进行播放(如限制可用比特率,支持在一个单一的流等多个摄像机角度)。
●支持渐进式下载的广告和内容。
二、应用设计
1、网络环境设计5
两台电脑,通过对Web服务器的搭建,来进行Http协议的抓包。
(1)搭建web服务器需安装应用程序IIS
(2)在IIS程序中编辑已写好的服务器文本,先打开window操作系统中的控制面板,之后再在控制面板中找到“打开或关闭window功能”选项中选中管理工具,找到IIS(Internet信息服务器),将其安装。
(3)打开IIS,会存在一个默认网页,如下图:
(4)选择该网页,单击右键中会有一个基本路径选项,选择某个路径为自己显示的网页内容,如下图:
(5)启用IIS中的目录浏览,如下图:
如下图网络拓扑图所示,表示该服务器与客户端的连接:
2、网络应用方案设计10
HTTP(超文本传输协议)是目前通过Internet进行信息交换最主要的方式。
HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。
一个客户机与服务器建立一条TCP链接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应信息。
许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。
最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。
当前Web页面的访问大多都是通过HTTP协议,并使用TCP作为下层的传输控制协议。
本文提出了一种混合TCP与UDP的动态选择传输层协议来实现HTTP协议的方法,它不同于现在采用的使用单一TCP传输协议来进行数据传输的方式。
它不仅可以改善取回页面的延迟、网络拥塞以及服务器的负荷,还能使TCP与UDP得以充分利用。
在客户端发起HTTPGET请求后,在客户端和服务器之间进行数据包交换的示意。
图中只有两个数据包是有用的(即携带了数据):
一个是HTTPGET请求,另一个是HTTP的响应。
其它的都是TCP用来进行握手操作的数据包。
为了减轻Web服务器的负荷,经常采用重定向机制。
这样从服务器发来的重定向响应报文是很短的数据包。
使用TCP作为传输协议需要至少7个数据包,而使用UDP则只需要2个数据包就足够了。
本实验采用软件wireshark进行数据抓包,主要观察http协议的请求包和响应包。
3、重点测试目标5
如下图所示,本实验主要通过观察在用户端抓到的http协议的数据包主要包括请求包以及响应包
三、应用实现
1、抓包过滤5
本实验通过在window操作系统同一网段下的Browser中抓取http数据包如下图所示:
2、应过程实施10
(1)打开另一台电脑的应用程序Wireshark,并开始抓包
(2)配置好服务器之后,在用作客户端的另一台电脑中浏览器中打开已配置好浏览器的网址,如下图:
输入已配置服务器的网址
打开网址之后的页面
(3)打开wirshark会显示在服务器与客户端正在往来的数据包
(4)在wireshark中过滤器进行过滤,如下图:
3、显示过滤5
通过过滤器筛选的符合要求的数据包,如下图:
四、运行分析
1、应用过程抓包结果说明5
这部分说明你在这个应用过程中捕获的有关数据包,结合网络应用的过程分阶段展示捕获数据包的总体情况,并进行说明。
需要展示批量抓包的截图。
2、协议机制分析说明10
1.HTTP的请求消息(Requestmessage)
HTTP请求的第一行必须是请求行,用来说明请求类型、要访问的资源和使用的HTTP版本。
之后是头部,用来说明服务器使用的附加消息。
头部之后是一个空行,空行后可以添加任意的其它数据,称为主体。
(1)请求行的第一个词是请求服务器发送页面,该页面被适当编码成MIME。
大部分发给Web服务器的请求都是GET方法。
GET的通用形式是:
GETfilenameHTTP/1.1
其中filename是预取的页面名字,1.1是协议版本号。
(2)POST方法用于提交表单。
它不是简单地检索一个页面,而是上载数据到服务器,然后服务器利用这些数据做某些事,具体取决于URL,概念上是将数据附加到对象上,最后方法返回一个指向结果的页面。
(3)PUT方法不是读取页面,而是写入页面。
通过这个方法可以在远程服务器上建立起一组Web页面。
这个请求的主体包含了页面。
页面可以利用MIME编码,这种情况下,跟在PUT后面的行可能包含了认证头,以便证明调用者的确有权执行所请求的操作。
2、HTTP的响应消息
HTTP响应由一个状态行及可能的头部和主题组成。
状态行包括一个3位数字的状态码,该状态码指明了这个请求是否被满足;如果没满足,则原因是什么。
状态码的第一个数字把响应分成5大组。
1XX码实际上很少使用。
如100表示服务器同意处理客户请求。
2XX码表示这个请求被成功处理,并且如果有的话,返回了相应的内容。
如:
200表示请求成功,204表示没有内容。
3XX码告诉客户应该检查其他地方。
使用另一个不同的URL,或在它自己的缓存中查找。
如301表示移动页面,304缓存的页面仍然有效。
4XX码表示由于客户错误导致请求失败。
如403表示禁止页面,404页面没找到。
5XX表示服务器自身出现内部问题,有可能是服务器代码中有错误,也可能是临时负载过重。
如500表示服务器内部错误,503表示稍后再试。
3、关键数据包协议栈说明5
http请求报文和响应报文都是由三个部分组成的。
但这两种报文的格式的区别就是开始行不同。
(1)开始行,用于区分是请求报文还是响应报文。
在请求报文中的开始行叫做请求行,而在响应报文中的开始行叫做状态行。
在开始行的三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。
(2)首部行,用来说明浏览器、服务器或报文主体的一些信息。
首部可以有好几行,但也可以不使用。
在每一个首部行中都有首部字段名和它的值,每一行在结束的地方都要有“回车”和“换行”。
整个首部行结束时,还有一空行将首部行和后面的实体主体分开。
(3)实体主体,在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。
http请求报文:
http响应报文:
五、课程设计总结
通过本次大作业,我了解了http程序的运行过程以及http协议的格式,明白两种http报文的区别。
参考文献
[1]康亮HTTPStreaming技术发展趋势电信网技术2011.6[6]
[2]
[3]谢希仁计算机网络第七版电子工业出版社
[3]任兴田,杨建红,王勇计算机网络课程设计清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络课程设计 计算机网络 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)