应用层HTTP协议ppt课件_第1页
应用层HTTP协议ppt课件_第2页
应用层HTTP协议ppt课件_第3页
应用层HTTP协议ppt课件_第4页
应用层HTTP协议ppt课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.:应用层,1,第2讲:应用层,本讲目标:网络应用层的概念和实现客户端-服务器范式服务模型通过对常用应用层协议的探讨和分析来学习网络协议教科书参考第9章,深层次目标特定协议:httpftpsmtppopdns,.:应用层,2,应用程序和应用层协议,应用程序:沟通,分布式的进程运行在网络主机中的“用户空间”在应用程序间交换报文e.g.,email,ftp,Web应用层协议:应用层的一个“组成部分”定义应用程序需交换的报文和所需采取的动作使用较低层次所提供的通信服务(TCP,UDP),.:应用层,3,网络应用程序:一些术语,进程(Process):主机中运行中的程序.在某些主机中,两个进程使用进程间通信(由OS管理).而运行在不同主机上的进程则使用应用层协议进行通信,用户代理(Useragent):软件进程,是介于用户(above)和网络(below)之间的接口实现应用级协议Web:浏览器E-mail:OE、Foxmail流媒体:mediaplayer,.:应用层,4,客户端-服务器范式,典型的网络应用都是由两个部分组成:客户端和服务器,客户端:发起同服务器的联系(“speaksfirst”)一般都从服务器请求服务,Web:客户端由浏览器实现;e-mail:通过OE、Foxmial实现,服务器:向客户端提供所请求的服务e.g.,Web服务器发送被请求的Web页面,邮件服务器传递e-mail,.:应用层,5,应用层协议(续),应用程序接口(API:applicationprogramminginterface)定义应用层和传输层间的接口插口(socket:InternetAPI)两个进程间的通信,将数据送入socket,或从socket读出数据,Q:某个进程如何“认定”另一个需要与之通信的进程?IP地址-运行另一个进程的主机所拥有的“端口号(PORT#)”允许接收主机来确定的一个标识,本地进程将报文发送给它教科书p232-234,.:应用层,6,应用进程需要怎样的传输服务?,数据丢失(Dataloss)某些应用(e.g.,audio)可以容忍某种程度上的数据丢失其他应用(e.g.,文件传输,telnet)要求100%可靠的数据传输,实时性(Timing)某些应用(e.g.,IP电话,交互式游戏)要求较低的时延,带宽(Bandwidth)某些应用(e.g.,多媒体)对最低带宽有要求其他应用(“弹性应用”)则可灵活应用所能得到的带宽,.:应用层,7,常用应用程序对传输功能的要求,应用程序文件传输e-mailWeb网页实时音频/视频存储音频/视频交互式游戏金融应用,数据丢失不丢失不丢失不丢失允许丢失允许丢失允许丢失允许丢失不丢失,带宽弹性弹性弹性音频:5Kb-1Mb视频:10Kb-5Mb同上几Kb/s以上弹性,实时性无无无100smsecfewsecs100smsecyesandno,.:应用层,8,Internet的传输协议服务,TCP服务:面向连接:在客户端和服务器进程之间需要建立连接(setup)可靠传输:在发送和接受进程之间流量控制:发送数据的速度决不超过接收的速度拥塞控制:当网络超负荷时,束紧发送端口,减缓发送速度不提供:实时性,最小带宽承诺,UDP服务:在客户端和服务器进程之间实现“不可靠的”数据传输不提供:连接建立,可靠性保证,流量控制,拥塞控制,实时性,最小带宽承诺Q:既生喻,何生亮?WhyisthereaUDP?,.:应用层,9,Internet应用:应用,传输协议,应用e-mail远程终端访问Web文件传输流媒体远程文件服务器IP电话,应用协议smtpRFC821telnetRFC854httpRFC2068ftpRFC959专有协议(e.g.RealNetworks)NSF专有协议(e.g.,Vocaltec),所依赖的传输协议TCPTCPTCPTCPTCPorUDPTCPorUDPtypicallyUDP,.:应用层,10,http协议,http:TCP传输服务:客户端启动TCP连接(创建插口)到服务器,端口80服务器接受来自客户端的TCP连接http报文(应用层协议报文)在浏览器(httpclient)和Web服务器(httpserver)之间进行交换关闭TCP连接,http是“无状态(stateless)”的服务器不保留任何访问过的请求信息,保留状态的协议很复杂哟!过去的历史(状态)需要保留一旦浏览器/服务器崩溃,它们各自的状态视图就会发生分歧,还需要重新核对,小评论,.:应用层,11,Web:http协议,超文本传输协议(http:hypertexttransferprotocol)万维网应用协议客户端/服务器模式客户端:浏览器请求、接收、展示Web对象(objects)服务器:Web服务器发送对象对请求进行响应http1.0:RFC1945http1.1:RFC2068,PCrunningExplorer,ServerrunningNCSAWebserver,MacrunningNavigator,httprequest,httprequest,httpresponse,httpresponse,.:应用层,12,http举例,假设用户键入了一个URLwww.someS/someDepartment/home.index,1a.http客户端启动TCP连接到www.someS上的http服务器(进程).Port80是http服务器的默认端口.,2.http客户端发送http请求报文(包括URL)进入TCP连接插口(socket),1b.在www.someS上的http服务器在port80等待TCP的连接请求.“接受”连接并通知客户端,3.http服务器接收到请求报文,形成响应报文(包含了所请求的对象,someDepartment/home.index),将报文送入插口(socket),time,(该网页包含文本并引用了10jpeg图片),.:应用层,13,http举例(续.),5.http客户端接收到了包含html文件的响应报文。分析html文件,发现10个引用的jpeg对象,6.对10jpegobjects逐个重复1-5步,4.http服务器关闭TCP连接.,time,.:应用层,14,非持续和持续连接,(非持续连接)Non-persistenthttp/1.0:服务器分析请求、响应、关闭TCP连接取对象需要2RTTsTCP连接对象请求/传送每次传送都要受到TCP连接初始化时的慢启动影响许多浏览器同时打开多个并行的连接来改善性能,(持续连接)Persistenthttp/1.1的默认设置在同一TCP连接上:服务器分析请求、响应请求,分析新的请求、.客户端一旦下载到了基本的html文件(baseHTML)马上发送对所有引用对象的请求.较少的RTTs,较少的慢启动.,.:应用层,15,http报文格式:request(请求),twotypesofhttp报文:request,responsehttp请求报文:ASCII(可读格式),.:应用层,16,http请求报文:一般格式,.:应用层,17,http报文格式:response(响应),HTTP/1.0200OKDate:Thu,06Aug199812:00:15GMTServer:Apache/1.3.0(Unix)Last-Modified:Mon,22Jun1998.Content-Length:6821Content-Type:text/htmldatadatadatadatadata.,状态行(协议状态码状态短语),首部诸行,数据,e.g.,被请求的html文件,.:应用层,18,http响应状态码和短语,200OK请求成功,被请求的对象在报文中301MovedPermanently被请求的对象被移动过,新的位置在报文中有说明(Location:)400BadRequest服务器不懂请求报文404NotFound服务器上找不到请求的对象505HTTPVersionNotSupported,位于(服务器-客户端)响应报文的第一行.样例:,.:应用层,19,自行测试http(客户端操作),1.用Telnet连接测试用的服务器(需要预先登录UNIX):,打开TCP连接到port80(默认的http服务器端口)位于0后续键入的内容将发送到0的80号端口,$telnet080,2.键入一条http请求报文:,GET/j1010/hello.htmHTTP/1.0,将该指令键入后(按两次回车键),就将此最短之(但是完整的)GET请求发到了http服务器,3.请注意观察http服务器发回的响应报文!,.:应用层,20,用户-服务器的交互:认证(authentication),认证:控制对服务器内容的访问信用认证:一般通过用户名,口令进行无状态:客户端必须在每次请求前进行认证authorization:就是要求在每个请求报文中提交认证的首部行如果客户端没有提交authorization:首部行,服务器将拒绝访问,只是在响应报文首部中发送WWWauthenticate:,client,server,普通http请求报文,401:认证要求WWWauthenticate:,.:应用层,21,Cookies:保存“状态”,服务器产生一个#,服务器认识这个#,以备不时之需:认证记忆用户的前序访问,先前的选择服务器在响应报文中发送“cookie”给客户端Set-cookie:1678453客户端可以在后继的请求中发送“cookie”cookie:1678453,client,server,普通http请求报文,普通http响应报文+Set-cookie:#,cookie-特定的,cookie-特定的,.:应用层,22,ConditionalGET:客户端缓存机制,目的:如果客户端缓存了最新的请求对象,则服务器不必重复发送客户端:在http请求报文中声明所缓存拷贝的生成日期If-modified-since:服务器:如果客户端缓存的拷贝是最新的,则在响应报文中不发请求的对象:HTTP/1.0304NotModified,client,server,http请求报文If-modified-since:,对象未经修改,http请求报文If-modified-since:,http响应报文HTTP/1.1200OK,对象已经修改,.:应用层,23,Web缓存:代理服务器(proxyserver),用户设置浏览器:Web访问经由代理服务器客户端发送所有的http请求到代理服务器代理服务器保存了请求的对象:代理服务器返回请求的对象否则代理服务器从原始服务器请求对象,再将其返回给客户端,目的:满足客户端的请求而无需烦扰原始服务器,client,Proxyserver,client,httprequest,httprequest,httpresponse,httpresponse,httprequest,httpresponse,originserver,originserver,.:应用层,24,为何Web缓存?,前提:缓存与客户端比较“接近“(e.g.,在同一网络中)响应时间较短:缓存与客户端比较“接近“减少了往来与远程服务器间的数据流量因为从学校或本地ISP通往外部的链路往往是网络瓶颈,originservers,publicInternet,institutionalnetwork,10MbpsLAN,1.5Mbpsaccesslink,institutionalcache,.:应用层,25,ftp:文件传输协议,传输文件往来与远程主机客户端/服务器模式客户端:启动传输(无论与往来远程主机)服务器:远程主机ftp:RFC959ftp服务器:端口21,.:应用层,26,ftp:分离的控制,数据连接,ftp客户端在ftp服务器的端口21进行联系,使用TCP作为传输协议打开两个并行的连接:控制:在客户端和服务器之间交换命令,响应。称为带外控制:“outofbandcontrol”数据:往来于服务器的文件ftp维持状态(state):当前目录、先前的认证信息等,.:应用层,27,ftp命令,响应,样例命令:在控制通道上传送的ASCII文本USERusername(登录)PASSpassword(登录)LIST(返回当前目录中的文件列表)RETRfilename(取(gets)文件)STORfilename(存(puts)文件到远程主机),返回码样例状态码和短语(同http)331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Cantopendataconnection452Errorwritingfile,.:应用层,28,电子邮件,四个重要组件:用户代理邮件服务器简单邮件传输协议:smtp邮局协议:pop用户代理写作,编辑,阅读邮件报文e.g.,Foxmail,OE,elm,NetscapeMessenger外发,接收的报文存储在邮件服务器中,用户邮箱,外发报文队列,.:应用层,29,电子邮件:邮件服务器,MailServers邮箱包含了收到的用户邮件(尚未被阅读)报文队列包含了外发的邮件报文smtp协议用在邮件服务器之间发送邮件客户端:将邮件发送到邮件服务器“服务器”:接收和转发邮件,.:应用层,30,电子邮件:smtpRFC821,使用tcp可靠的传送邮件报文,端口25直接传输:发送服务器到接收服务器传输的三个阶段握手(打招呼)报文传输结束命令/响应交互命令:ASCII文本响应:状态码和短语邮件报文必须使用7-bitASCII表示,.:应用层,31,smtp交互样例(在UNIX中用telnet),S:220X1NT-ESMTPSC:HELOxqchengS:C:MAILFROM:S:250okC:RCPTTO:S:250okitsforC:DATAS:354ok,sendit;endwith.C:Hi,IaminXUJInow,Whereareyou?C:.S:250MessagequeuedC:QUITS:221Goodbye,.:应用层,32,自测smtp交互:,$telnet7025见到邮件服务器的220响应后键入HELO,MAILFROM,RCPTTO,DATA,QUIT命令上述过程可以不使用用户代理,就能直接将电子邮件发送出去(因为目前大部分邮件服务器的交互过程趋于复杂,本试验不一定都能进行)。,.:应用层,33,smtp:评述,smtp使用持续连接smtp要求报文(首部parameters,Text子类型样例:plain,htmlImage子类型样例:jpeg,gifAudio子类型样例:basic(8-bitmu-lawencoded),32kadpcm(32kbpscoding),Video子类型样例:mpeg,quicktimeApplication需使用其他阅读器的数据子类型样例:msword,octet-stream,.:应用层,37,MIME多分部类型,From:alicecrepes.frTo:Subject:Pictureofyummycrepe.MIME-Version:1.0Content-Type:multipart/mixed;boundary=98766789-98766789Content-Transfer-Encoding:quoted-printableContent-Type:text/plainDearBob,Pleasefindapictureofacrepe.-98766789Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddata.base64encodeddata-98766789-,.:应用层,38,邮件访问协议,SMTP:发送/存储到接收方的服务器邮件访问协议:从服务器中取信POP:PostOfficeProtocolRFC1939认证(agentserver)和下载IMAP:InternetMailAccessProtocolRFC1730更多功能(更为复杂)在服务器中操作存储在那里的报文HTTP:Hotmail,Yahoo!Mail,etc.,SMTP,POP3orIMAP,receiversmailserver,.:应用层,39,POP3协议,认证阶段客户端命令:user:用户名pass:口令服务器响应+OK-ERR交互阶段,客户端:list:列出报文号码retr:用报文号码取信dele:用报文号码删信quit,C:listS:1498S:2912S:.C:retr1S:S:.C:dele1C:retr2S:S:.C:dele2C:quitS:+OKPOP3serversigningoff,S:+OKPOP3serverreadyC:useraliceS:+OKC:passhungryS:+OKusersuccessfullyloggedon,.:应用层,40,自测pop3交互:,$telnet0110见到+OKPOP3serverready响应后键入user,pass,list,retr,quit命令上述过程可以不使用用户代理,就能察看邮箱中的信件。,.:应用层,41,DNS:域名系统,自然人:诸多定义:身份证,姓名,护照#因特网主机,路由器:IP地址(32bit)用于数据报寻址“域名”,e.g.,帮助记忆Q:IP地址和域名之间如何映射(转换)?,DomainNameSystem:分布式数据库:由许多域名服务器按层次构成应用层协议:主机、路由器、域名服务器互相通信进行域名解析(地址/域名翻译)注意:因特网之核心功能,应用层之协议网络“边缘”上之复杂实体,.:应用层,42,DNSnameservers,没有服务器能够保存所有Name-to-IP地址的映射本地域名服务器:每个ISP,企业可拥有本地(默认)域名服务器主机的DNS查询首先发往本地域名服务器授权域名服务器:每台主机必须在授权服务器上注册登记可完成域名/地址的转换,为什么不搞集中的DNS?单点失败的问题数据的流通量远程集中式的数据库维护问题难以与时俱进,跟不上发展!,.:应用层,43,DNS:根域名服务器,当本地域名服务器不能解析时,就向根域名服务器查询根域名服务器:如果域名映射未知,则向授权域名服务器查询取得映射将映射返回本地域名服务器,遍布世界各地的13个根域名服务器,.:应用层,44,简单DNS举例,主机要求的IP地址1.联系本地域名服务器,02.如有必要0会联系根域名服务器3.如有必要根域名服务器会联系授权域名服务器,,,rootnameserver,,1,2,3,4,5,6,.:应用层,45,DNS举例,根域名服务器:可能不知道授权域名服务器的地址可能知道中介域名服务器:由它负责联系授权域名服务器,,rootnameserver,1,2,3,4,5,6,,7,8,.:应用层,46,DNS:迭代查询,递归查询:对根域名服务器造成工作负担如何减负?迭代查询:被查询的服务器直接把可查询的服务器地址报回“不懂这个域名,但可以从这个服务器查到”,requestinghos

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论