华中科技大学计算机网络ppt课件 第2章 应用层.ppt
《华中科技大学计算机网络ppt课件 第2章 应用层.ppt》由会员分享,可在线阅读,更多相关《华中科技大学计算机网络ppt课件 第2章 应用层.ppt(107页珍藏版)》请在三一办公上搜索。
1、计算机网络,第2章 应用层,2022年12月26日,2,目 录,应用层协议原理WEB应用和HTTP协议文件传输协议:FTP因特网中的电子邮件DNS:因特网的目录服务P2P应用,2022年12月26日,3,2.1 应用层协议原理,常见的网络应用上网浏览新闻IE、Maxthon、FireFox处理电子邮件Outlook Express、FoxMail聊天QQ、MSN Messenger、UC网络电话SkyPe、Net2Phone网络游戏对战CS、魔兽世界、联众资源共享FTP、BT、EMULE在线视频VOD、ppLive搜索引擎Google、百度、MSN Search,2022年12月26日,4,2
2、.1 应用层协议原理,看了这么多成功的网络应用,可能你会跃跃欲试,很想编写一个类似于Google这样的超级网络应用,期待自己有一天也能成功迈入世界级的IT风云人物之列,甚至试图问鼎一下世界首富 那么现在的你应该做些什么呢?,2022年12月26日,5,2.1 应用层协议原理,知道什么是网络应用程序可以向网络发送数据可以从网络接收数据可以对数据进行处理也许还能够将数据展现在界面上,以非常友好的方式让你知道它在做什么不时弹出一个小窗口,提示你不要太辛勤工作了,以表示对你无微不至的关怀 ,2022年12月26日,6,2.1 应用层协议原理,决定你的网络应用所采用的体系结构客户/服务器体系结构(C/S
3、):Web、FTPP2P体系结构:EMULE、BitTorrent混合体系结构:QQ,2022年12月26日,7,2.1 应用层协议原理,客户/服务器体系结构特征存在一个能够向客户机提供服务的服务器,e.g.,Web服务器存在一个或者多个主动连接服务器,试图从服务器那里获取所需服务的客户机,e.g.,IE浏览器特别注意1:客户之间不能互相通信特别注意2:为提高服务器的处理能力,通常采用服务器群集(Server Farm),2022年12月26日,8,2.1 应用层协议原理,P2P体系结构特征任何一方既提供服务又享受服务结点之间可以直接通信结点的地址以及他们之间的连接可能随时发生变化例如: Gn
4、utella特别注意:P2P体系结构非常容易扩展,但也特别难以管理,2022年12月26日,9,2.1 应用层协议原理,混合体系结构C/S体系结构和P2P体系结构的混合体 考虑第一个P2P应用Napster和即时通信(IM),2022年12月26日,10,2.1 应用层协议原理,网络应用涉及各个组成部分的交互同一台主机上的进程之间通信的规则,由操作系统制定,和计算机网络无关,本课程不讨论。如需要了解,可参阅操作系统及相关书籍不同主机上的进程之间通信的规则和网络相关,这套规则在计算机网络中,称之为“应用层协议”,也是本章重点讨论的内容,2022年12月26日,11,2.1 应用层协议原理,当你的
5、网络应用程序运行起来后,就变成了网络应用进程。产生了如下问题:当你的网络应用和其它人开发的网络应用共同运行在一台主机上时,如何对这些网络应用进行区分?通信子网只负责把数据交付到主机,并不负责把数据交付到应用进程,主机如何知道数据该交付到哪个网络应用进程?,2022年12月26日,12,2.1 应用层协议原理,一个例子你有一个信箱(非电子的),并且每天都会查看一次信箱,取走新的信件和报纸。但是家里有七口人邮局只负责根据信件上的门派号码把信送到信箱里家里的每个成员根据收信人姓名从信箱里拿到自己的信件信箱就像主机,而家里的每个成员就像主机上运行的网络进程信箱靠门派号码寻址,主机靠IP地址寻址家庭成员
6、靠姓名寻址,主机上的进程靠端口号寻址通过主机+端口号可以找到一台主机上的进程(靠门派号+收件人姓名才能找到收件人),2022年12月26日,13,2.1 应用层协议原理,类比到因特网,提供了类似的解决方法,那就是“套接字(Socket)”每个网络应用进程都有一个属于自己的套接字,该套接字在整个因特网上独一无二主机地址:标识该网络应用进程运行在因特网上哪一台主机上,通常使用32位的IP地址进行标识端口地址:在该主机上标识该网络应用进程,通常使用16位的端口号进行标识e.g.,WEB Server:80;Mail Server:25;套接字的长度为48位,2022年12月26日,14,2.1 应用
7、层协议原理,进程通过套接字来接收和发送报文套接字相当于一个通道发送进程将报文交给套接字套接字将这些报文传输到接收进程的套接字,2022年12月26日,15,2.1 应用层协议原理,因特网会给网络应用提供很多不同类型的服务,你的网络应用需要哪些服务呢?数据的可靠传输:你的网络应用是否需要可靠?带宽的自动控制:你的网络应用对带宽是否敏感?传输和反馈的实时性安全性:SSL(安全套接字层,在应用层实现),2022年12月26日,16,2.1 应用层协议原理,常见应用程序对传输服务的要求,应用程序文件传输电子邮件Web 网页实时音频/视频存储音频/视频交互式游戏即时讯息,数据丢失不能丢失不能丢失不能丢失
8、允许丢失允许丢失允许丢失允许丢失不能丢失,带宽弹性弹性弹性音频: 5Kb-1Mb视频:10Kb-5Mb同上 几 Kb/s 以上弹性,时间敏感不不不100s msecfew secs100s msecyes and no,2022年12月26日,17,2.1 应用层协议原理,因特网运输层将所提供的服务整合成两类传输服务,你需要决定你的网络应用使用哪一类传输服务。传输控制协议TCP面向连接: 在客户端和服务器进程之间需要建立连接可靠传输 : 在发送进程和接收进程之间流量控制: 发送数据的速度不能超过接收的速度 拥塞控制: 当网络超负荷时,约束发送端口,减缓发送速度不提供: 实时性, 最小带宽承诺,
9、2022年12月26日,18,2.1 应用层协议原理,UDP在客户端和服务器进程之间实现“不可靠的”数据传输不提供:连接建立, 可靠性保证,流量控制,拥塞控制,实时性, 最小带宽承诺,2022年12月26日,19,2.1 应用层协议原理,因特网常见应用采用的传输协议,应用电子邮件远程终端访问Web 文件传输流媒体IP电话,应用协议smtp RFC 821telnet RFC 854http RFC 2068ftp RFC 959HTTP(如YouTube)、RTPSIP、RTP或专用协议(如Skype),所依赖的传输协议TCPTCPTCPTCPTCP or UDP通常使用 UDP,2022年1
10、2月26日,20,2.1 应用层协议原理,至此你已经获得了构造属于你自己的网络应用所需要的最基本的知识。但是这还远远不够,你还需要继续学习:协议到底怎样工作套接字如何工作传输层的服务是如何提供的IP地址是怎么回事网卡和网线起了什么样的作用如何保证网络应用的安全性和性能 ,2022年12月26日,21,2.2 WEB应用和HTTP协议,历史的回顾19世纪70年代,电话的发明,扩展了人类通信的范围,增强了人类通信的实效性20世纪20年代,广播收音机和电视的发明,极大的丰富了人类可获取信息20世纪90年代,WEB的发明,极大的提高了人类主动获取信息的能力广播、收音机、电视和WEB的比较广播形式和按需
11、操作你不能发布电视节目,但可以发布WEB内容,2022年12月26日,22,2.2 WEB应用和HTTP协议,WEB的构成WEB服务器:IIS、Apache、TomCat浏览器:IE、Maxthon、Firefox协议信息表达的协议HTML信息传输的协议HTTP说明:WEB属于C/S模式,2022年12月26日,23,2.2 WEB应用和HTTP协议,WEB内容的表达Web 页面由一些对象组成。对象可以是HTML文件,JPEG图片,音频文件,Java AppletHTML文件是Web页面的基础,它可以包括各种各样的对象,是一个容器对象如果一个HTML文件包含5个图片,就一共有6个对象任何一个对
12、象都可以用 URL来定位URL的例子:,2022年12月26日,24,2.2 WEB应用和HTTP协议,WEB内容的传输HTTP协议客户端/服务器模式客户端: 浏览器请求、接收、展示 Web对象服务器: Web 服务器发送对象,对请求进行响应http1.0: RFC 1945http1.1: RFC 2068,运行IE浏览器的PC,运行IIS的服务器,运行FireFox浏览器的PC,http request,http request,http response,http response,2022年12月26日,25,2.2 WEB应用和HTTP协议,HTTP: TCP 传输服务:客户端启动T
13、CP连接请求(创建套接字) 到服务器, 端口 80服务器接受来自客户端的 TCP 连接请求并建立连接http 报文(应用层协议报文) 在浏览器 (http client) 和Web服务器(http server)之间进行交换关闭TCP 连接,http 是 “无状态(stateless)”的服务器不保留任何访问过的请求信息,保留状态的协议很复杂!过去的历史 (状态) 需保留一旦浏览器/服务器崩溃, 它们各自的状态视图就会发生分歧,还需要重新进行核对。,2022年12月26日,26,2.2 WEB应用和HTTP协议,HTTP1.0的传输模式非持久连接,假设用户键入了一个 URL www. ,1a.
14、 http 客户端启动 TCP 连接到上的http 服务器 (进程). Port 80 是 http 服务器的默认端口.,2. http客户端发送 http 请求报文 (包括URL) 进入 TCP 连接插口(socket),1b. 在 上的http 服务器在 port 80 等待 TCP 的连接请求. “接受” 连接并通知客户端,3. http 服务器接收到请求报文, 形成 响应报文( 包含了所请求的对象 ,cs/index.htm), 将报文送入插口( socket),time,(该网页包含文本并引用了10 jpeg 图片),2022年12月26日,27,2.2 WEB应用和HTTP协议,5
15、. http 客户端接收到了包含html文件的响应报文。分析 html 文件, 发现 10 个引用的 jpeg 对象,6. 对10 jpeg objects 逐个重复1-5 步,4. http 服务器关闭 TCP 连接.,time,2022/12/26,2.1 网络应用层原理,第2章:应用层-28,响应时间模型,RTT:一个小分组从client到server,再回到client的时间。(Round Trip Time)响应时间:1个 RTT 启动TCP连接1个 RTT :从开始发送请求到响应报文的第一个字节到达的时间文件传输时间total = 2RTT+文件传输时间,2022年12月26日,2
16、9,2.2 WEB应用和HTTP协议,非持久连接工作机制分析取对象需要2 RTTs(Round-Trip Time)TCP 连接对象请求/传送许多浏览器同时打开多个并行的连接来改善性能考虑:如果有1万台客户机访问WEB服务器的某个页面,该页面有100个对象,那就意味着需要100万个连接,1个服务器能够支持吗?,2022年12月26日,30,2.2 WEB应用和HTTP协议,HTTP1.1引入的新传输模式持久连接服务器在发送响应后,不再断开TCP连接,而是保持该连接,用于后续对象的传送,直至该连接“休息”了一个较长的时间后,才断开该连接减少了对服务器端连接数的需要,从而减少了对服务器端套接字资源
17、的占用,提高了服务器的负载能力持久连接又可以分为非流水线方式:一个对象传输完成方能传输下一个流水线方式:可以一次性发送所有请求,逐个接收,2022年12月26日,31,2.2 WEB应用和HTTP协议,HTTP报文类型HTTP请求报文HTTP响应报文,2022年12月26日,32,2.2 WEB应用和HTTP协议,HTTP请求报文一段典型的HTTP请求报文,GET /somedir/page.html HTTP/1.0 Host: www.someschool.edu Connection: close User-agent: Mozilla/4.0Accept-language:fr(额外的
18、 carriage return, line feed),回车、换行表示报文结束,2022年12月26日,33,2.2 WEB应用和HTTP协议,HTTP请求报文的一般格式,2022年12月26日,34,2.2 WEB应用和HTTP协议,请求行支持的方法HTTP1.0 定义的方法GET向服务器请求指定URL的对象主体为空POST请求一个WEB页面的同时用于向服务器提交表单数据主体部分为表单数据 注意:可以不使用POST方法,而使用GET方法发送表单数据以获取新的WEB页面。例如: ,2022年12月26日,35,2.2 WEB应用和HTTP协议,HEAD请求服务器返回一个响应报文,但是仅仅只需
19、要获得响应的协议头,该报文中并不包含请求的对象。该方法常常用来进行故障跟踪。 HTTP1.1新定义的方法PUT上传文件,文件放在实体主体字段中,目标路径由URL字段标明DELETE删除URL字段中指定的文件,2022年12月26日,36,2.2 WEB应用和HTTP协议,HTTP响应报文一段典型的HTTP响应报文,HTTP/1.0 200 OK Connection closeDate: Mon, 03 Aug 2009 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun, 7 Jun 2009 . Content-Lengt
20、h: 6821 Content-Type: text/html data data data data data .,状态行(协议状态码状态短语),数据, e.g., 被请求的html文件,2022年12月26日,37,2.2 WEB应用和HTTP协议,HTTP响应报文的一般格式,2022年12月26日,38,2.2 WEB应用和HTTP协议,常见的HTTP响应状态码和短语200 OK请求成功, 被请求的对象在报文中301 Moved Permanently被请求的对象被移动,新位置在报文中有说明 (Location:)400 Bad Request服务器不能解释请求报文404 Not Fou
21、nd服务器上找不到请求的对象505 HTTP Version Not Supported服务器不支持请求报文使用的HTTP协议版本,2022年12月26日,39,2.2 WEB应用和HTTP协议,用户服务器交互:CookieWEB站点使用Cookie的目的限制用户的访问把内容和用户身份关联起来Cookie技术的组成部分:在HTTP响应报文中有一个Cookie首部行在HTTP请求报文中也有一个Cookie首部行在用户的端系统中保留了一个Cookie文件,由用户浏览器负责管理在Web站点有一个后端数据库,2022年12月26日,40,2.2 WEB应用和HTTP协议,Cookie工作流程,客户端,
22、服务器,http请求报文,http响应报文 +Set-cookie: 1678,Cookie特定动作,Cookie特定动作,服务器为用户创建ID:1678,后端数据库的记录,访问,访问,一周以后:,2022年12月26日,41,2.2 WEB应用和HTTP协议,Cookies能为我们带来什么好处呢?身份认证“购物车”“产品推荐”用户会话状态 (Web、E-mail),Cookies和隐私性:Cookies允许网站获得相当多的用户的信息你可能会向网站提供你的姓名和E-Mail地址搜索引擎也可以使用cookie技术获得很多的信息广告公司也可以通过用户访问过的网站来获得用户的相关信息,2022年12
23、月26日,42,2.2 WEB应用和HTTP协议,WEB缓存目的加速客户端访问WEB页面的速度,减少时延减少局域网与外部因特网交换的数据量,从而在达到同等服务质量的同时,可以使用较小的网络带宽,节约费用,客户端,WEB 缓存,客户端,http request,http request,http response,http response,http request,http response,Web服务器,2.2 WEB应用和HTTP协议,WEB缓存缓存同时充当客户和服务器一般缓存由ISP来购买并安装 (大学、公司、居民区ISP),为什么要用到Web缓存?减少客户请求的响应时间减少一个机构因特
24、网链接的通信量因特网上存在大量的Web缓存以便内容提供商能更有效地分发内容,2022年12月26日,43,2022年12月26日,44,2.2 WEB应用和HTTP协议,缓存举例假设平均对象的大小 = 100,000 bits浏览器对这些对象的平均访问速率为15个/秒从因特网一侧的路由器转发HTTP请求到它收到响应报文的平均时间为 2秒,2022年12月26日,45,2.2 WEB应用和HTTP协议,结果总延迟 = 因特网延迟 + 访问链路延迟 + 局域网延迟局域网的流量强度 =0. 15接入链路的流量强度 =1当流量强度为1时,时延可能非常大,从而导致总时延可能要以分钟来计算,流量强度=La
25、/R=(15个请求/秒 x 100kb/请求)/R局域网:15*100kb/10*1000K=0.15Internet: 15*100kb/1.5 * 1000K = 1,2022年12月26日,46,2.2 WEB应用和HTTP协议,改进方案1增加出口带宽假设将访问链路带宽增加到10Mbps结果局域网的流量强度 =0. 15, 接入链路的流量强度 =0.15 这时访问延迟和局域网延迟最多数十毫秒总延迟 = Internet延迟 + 访问延迟 + 局域网延迟 2 sec,请注意:增加出口带宽的费用是非常昂贵的,2022年12月26日,47,2.2 WEB应用和HTTP协议,改进方案2 架设WE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中科技大学计算机网络ppt课件 第2章 应用层 华中科技大学 计算机网络 ppt 课件 应用
链接地址:https://www.31ppt.com/p-1926188.html