计算机网络课程设计
更新时间:2023-04-18 11:29:01 阅读量: 实用文档 文档下载
计算机网络课程设计报告题目:Web服务器的搭建及HTTP协议和底层协议运行分析
学生姓名: xxxxxxx
学号: xxxxxxx
班级: xxxxxxxx
教师: xxxxxxx
完成日期:2017年 6月 22 日
《计算机网络课程设计》成绩评定表
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 请求,服务器受到请求后回复给客户端其请求
HTTP请求
的媒体内容。
图1 HTTP请求/响应
目前,支持HTTPStreaming 的客户端有有AdobeFlash Player ,微软的 Sivelight 以及 APPLE 的Safari 等。
以 IISSmoothStreaming 客户端为例可以通过直播以及点播的SmoothStreaming 功能为用户提供丰富多彩的 Siverlight 用户体验。
现有的客户端功能的例子包括诸如播放、暂停和停止简单的控制,以及更复杂的功能,如即时回放、现场广告插入、多镜头角度和快进 / 快退。
IISSmoothStreaming 客户端包括 Smooth Stream-ing 媒体元素( SSME ) SDK 。它使开发人员和设计人员利用基于具有完全的XAML 支持的SilverlightSDK 的NET 框架设计出丰富的IISSmoothStreaming 播放体验。这是一个更广泛的开放源码的Silverlight 媒体框架的核心组成部分。 IISSmoothStreaming 客户端 API 为开发人员和设计人员提供了一个方便的界面供其在Silverlight 平台创建丰富的 Smooth Streaming 经验。
MSDN 上可以找 SmoothStreamingClientAPIs 文件。大多数情况下, Silverlight 媒体框架是最简单、最可靠的方式来建立一个新的 Silverlight 流媒体播放器,支持 SmoothStreaming ,分析,
现场广告插播等。SmoothStreaming 客户端支持功能:
(1) 基本的播放控制
●APIs (如播放、暂停、停止)。
●回放和诊断。
●属性跟踪定位等。
(2) 先进的播放支持
●DVR 支持 LiveSmoothStreaming 。
●在 DVR 中支持跟踪直播事件。
●Trickplay ———慢动作,快进,快退。
●多音频语言支持(新)。
●文字的标题和字幕(新流支持)。
(3) 支持离线播放的方案(新)
(4) AAC 支持
(5) 价值化
●广告播放集成—调度能力,跟踪广告的进展。
●现场直播与 IIS 平滑流广告插播。
●丰富的分析与 IIS 高级的日志记录。
●分析的 API (新)。
●支持指定标志和广告摄取点以外的主要表现。
●内容保护——— VC-1/ 内容 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得以充分利用。在客户端发起HTTP GET请求后,在客户端和服务器之间进行数据包交换的示意。图中只有两个数据包是有用的(即携带了数据):一个是HTTP GET请求,另一个是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
的请求消息(Request message)
HTTP请求的第一行必须是请求行,用来说明请求类型、要访问的资源和使用的HTTP版本。之后是头部,用来说明服务器使用的附加消息。头部之后是一个空行,空行后可以添加任意的其它数据,称为主体。
(1)请求行的第一个词是请求服务器发送页面,该页面被适当编码成MIME。大部分发给Web服务器的请求都是GET方法。
GET的通用形式是:GET filename HTTP/
其中filename是预取的页面名字,是协议版本号。
(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响应报文:五、课程设计总结
Request lines
Status
lines
Header
Header lines
Data(Enitity body)
通过本次大作业,我了解了http程序的运行过程以及http协议的格式,明白两种http报文的区别。
参考文献
[1]康亮 HTTP Streaming技术发展趋势电信网技术 [6]
[2]谢希仁计算机网络第七版电子工业出版社
[3]任兴田,杨建红,王勇计算机网络课程设计清华大学出版社
正在阅读:
计算机网络课程设计04-18
基于单片机的相位差在线检测01-12
母亲节活动通知04-04
GCP法规题库--判断题06-01
(江苏专版)2019年高考物理总复习 课时作业三十四 实验九 练习使用多用电表04-27
世界大学权威排行榜单,我还是只信这四家01-02
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 网络课程
- 计算机
- 设计
- 九年级(上)第一次阶段测试数学试卷
- 计算机等级考试试题及答案(三级网络技术)
- 钢结构漆的种类和应用
- 企业法律顾问考试过关高招每日一练(2022.6.4)
- 2022年属鼠人的运程
- 四年级英语上册活页作业试题听力资料
- 2005年9月全国计算机等级考试三级数据库笔试试题及答案
- 鲁苏省界收费站重大节假日期间应对突发事件应急预案
- ★试卷3套精选★衡水市达标名校2022年考前冲刺必刷卷数学试题一
- 广西出入境检验检疫局2013 年度考试录用公务员面试公告
- 临床药物治疗学试题及答案(三)
- 2022年最新双色球开奖结果历史数据
- 11标总体施工组织设计(改)
- 2022招警考试申论技巧:公文写作功底之工作计划
- 【19】Heterophilious dynamics enhances consensus
- 中共党史上的重要会议概况综述
- 六年级数学第二学期期末测试模拟试卷(一)
- 2014年民主生活个人剖析材料
- 【经典电影学英语】阿甘正传
- 2013-2022年中国家用清洁卫生电器具行业投资风险预测报告