《因特网应用层》PPT课件.ppt
《《因特网应用层》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《因特网应用层》PPT课件.ppt(61页珍藏版)》请在三一办公上搜索。
1、1,第9章 因特网应用层,河南大学计算机与信息工程学院刘扬,2,应用层,本讲目标:网络应用层的概念和实现客户端-服务器范式服务模型通过对常用应用层协议的探讨和分析来学习网络协议教科书参考第9章,深层次目标 特定协议:httpftpsmtppop dns,3,应用程序和应用层协议,应用程序:沟通,分布式的进程运行在网络主机中的“用户空间”在应用程序间交换报文e.g.,email,ftp,Web应用层协议:应用程序的一个“组成部分”定义应用程序需交换的报文 和所需采取的动作使用较低层次所提供的通信服务(TCP,UDP),4,网络应用程序:一些术语,进程(Process):主机中运行中的程序.在某些
2、主机中,两个进程使用进程间通信(由 OS管理).而运行在不同主机上的进程则使用应用层协议进行通信,用户代理(User agent):软件进程,是介于用户(above)和网络(below)之间的接口实现应用级协议Web:浏览器E-mail:OE、Foxmail流媒体:media player,5,客户端-服务器范式,典型的网络应用都是由两个部分组成:客户端 和 服务器,客户端:发起同服务器的联系(“speaks first”)一般都从服务器请求服务,Web:客户端由浏览器实现;e-mail:通过OE、Foxmail实现,服务器:向客户端提供所请求的服务e.g.,Web 服务器发送被请求的 Web
3、 页面,邮件服务器传递 e-mail,6,应用层协议(续),应用程序接口(API:application programming interface)定义应用层和传输层间的接口套接字socket:(Internet API)两个进程间的通信,将数据送入 socket,或从socket 读出数据,Q:某个进程如何“认定”另一个 需要与之通信的进程?IP 地址-运行另一个进程的主机所拥有的“端口号(PORT#)”允许接收主机来确定的一个标识,本地进程将报文发送给它教科书p232-234,7,应用进程需要怎样的传输服务?,数据丢失(Data loss)某些应用(e.g.,audio)可以容忍某种程度
4、上的数据丢失其他应用(e.g.,文件传输,telnet)要求 100%可靠的数据传输,实时性(Timing)某些应用(e.g.,IP 电话,交互式游戏)要求较低的时延,带宽(Bandwidth)某些应用(e.g.,多媒体)对最低带宽有要求其他应用(“弹性应用”)则可灵活应用所能得到的带宽,8,常用应用程序对传输功能的要求,应用程序文件传输e-mailWeb 网页实时音频/视频存储音频/视频交互式游戏金融应用,数据丢失不丢失不丢失不丢失允许丢失允许丢失允许丢失允许丢失不丢失,带宽弹性弹性弹性音频:5Kb-1Mb视频:10Kb-5Mb同上 几 Kb/s 以上弹性,实时性无无无100s msecfe
5、w secs100s msecyes and no,9,Internet 的传输协议服务,TCP 服务:面向连接:在客户端和服务器进程之间需要建立连接(setup)可靠传输:在发送和接受进程之间流量控制:发送数据的速度决不超过接收的速度 拥塞控制:当网络超负荷时,束紧发送端口,减缓发送速度不提供:实时性,最小带宽承诺,UDP服务:在客户端和服务器进程之间实现“不可靠的”数据传输不提供:连接建立,可靠性保证,流量控制,拥塞控制,实时性,最小带宽承诺Q:既生瑜,何生亮?Why is there a UDP?,10,Internet应用:应用,传输协议,应用e-mail远程终端访问Web 文件传输流
6、媒体远程文件服务器IP电话,应用协议smtp RFC 821telnet RFC 854http RFC 2068ftp RFC 959专有协议(e.g.RealNetworks)NSF专有协议(e.g.,Vocaltec),所依赖的传输协议TCPTCPTCPTCPTCP or UDPTCP or UDPtypically UDP,11,http 协议,http:TCP 传输服务:客户端启动TCP连接(创建socket)到服务器,端口 80服务器接受来自客户端的 TCP 连接http 报文(应用层协议报文)在浏览器(http client)和Web服务器(http server)之间进行交换关
7、闭TCP 连接,http 是“无状态(stateless)”的服务器不保留任何访问过的请求信息,保留状态的协议很复杂哟!过去的历史(状态)需要保留一旦浏览器/服务器崩溃,它们各自的状态视图就会发生分歧,还需要重新核对,小评论,12,Web:http 协议,超文本传输协议(http:hypertext transfer protocol)万维网应用协议客户端/服务器模式客户端:浏览器请求、接收、展示 Web对象(objects)服务器:Web 服务器发送对象对请求进行响应http1.0:RFC 1945http1.1:RFC 2068,PC runningExplorer,Server runn
8、ingNCSA Webserver,Mac runningNavigator,http request,http request,http response,http response,13,http 举例,假设用户键入了一个 URL www.someSchool.edu/someDepartment/home.index,1a.http 客户端启动 TCP 连接到www.someSchool.edu上的http 服务器(进程).Port 80 是 http 服务器的默认端口.,2.http客户端发送 http 请求报文(包括URL)进入 TCP 连接套接字(socket),1b.在www.s
9、omeSchool.edu 上的http 服务器在 port 80 等待 TCP 的连接请求.“接受”连接并通知客户端,3.http 服务器接收到请求报文,形成 响应报文(包含了所请求的对象,someDepartment/home.index),将报文送入套接字(socket),time,(该网页包含文本并引用了10 个jpeg 图片),14,http 举例(续.),5.http 客户端接收到了包含html文件的响应报文。分析 html 文件,发现 10 个引用的 jpeg 对象,6.对10 jpeg objects 逐个重复1-5 步,4.http 服务器关闭 TCP 连接.,time,15
10、,非持续和持续连接,(非持续连接)Non-persistenthttp/1.0:服务器分析请求、响应、关闭 TCP 连接取对象需要2 RTTsTCP 连接对象请求/传送每次传送都要受到TCP连接初始化时的慢启动影响许多浏览器同时打开多个并行的连接来改善性能,(持续连接)Persistenthttp/1.1的默认设置在同一TCP 连接上:服务器分析请求、响应请求,分析新的请求、.客户端一旦下载到了基本的html文件(base HTML)马上发送对所有引用对象的请求.较少的 RTTs,较少的慢启动.,16,http 报文格式:request(请求),two types of http报文:requ
11、est,responsehttp 请求报文:ASCII(可读格式),17,http 请求报文:一般格式,18,http 报文格式:response(响应),HTTP/1.0 200 OK Date:Thu,06 Aug 1998 12:00:15 GMT Server:Apache/1.3.0(Unix)Last-Modified:Mon,22 Jun 1998.Content-Length:6821 Content-Type:text/html data data data data data.,状态行(协议状态码状态短语),首部 诸行,数据,e.g.,被请求的html文件,19,http
12、响应状态码和短语,200 OK请求成功,被请求的对象在报文中301 Moved Permanently被请求的对象被移动过,新的位置在报文中有说明(Location:)400 Bad Request服务器不懂请求报文404 Not Found服务器上找不到请求的对象505 HTTP Version Not Supported,位于(服务器-客户端)响应报文的第一行.样例:,20,自行测试 http(客户端操作),1.用Telnet 连接测试用的服务器(需要预先登录UNIX):,打开 TCP 连接到 port 80(默认的http 服务器端口)位于 后续键入的内容将发送到的 80 号端口,$te
13、lnet 80,2.键入一条 http请求报文:,GET/intl/zh-CN/about.html HTTP/1.0,将该指令键入后(按两次回车键),就将此最短之(但是完整的)GET 请求发到了 http 服务器,3.请注意观察http服务器发回的响应报文!,21,用户-服务器的交互:认证(authentication),认证:控制对服务器内容的访问信用认证:一般通过用户名,口令进行 无状态:客户端必须在每次请求前进行认证authorization:就是要求在每个请求报文中提交认证的首部行如果客户端没有提交 authorization首部行,服务器将拒绝访问,只是在响应报文首部中发送WWW
14、authenticate:,client,server,普通 http 请求报文,401:认证要求WWW authenticate:,22,Cookies:保存“状态”,服务器产生一个#,服务器认识这个#,以备不时之需:认证记忆用户的前序访问,先前的选择服务器在响应报文中发送“cookie”给客户端Set-cookie:1678453客户端可以在后继的请求中发送“cookie”cookie:1678453,client,server,普通 http 请求报文,普通 http响应报文+Set-cookie:#,cookie-特定的,cookie-特定的,23,Conditional GET:客户
15、端缓存机制,目的:如果客户端缓存了最新的请求对象,则服务器不必重复发送客户端:在http请求报文中声明所缓存拷贝的生成日期If-modified-since:服务器:如果客户端缓存的拷贝是最新的,则在响应报文中不发请求的对象:HTTP/1.0 304 Not Modified,client,server,http请求报文If-modified-since:,对象未经修改,http请求报文If-modified-since:,http响应报文HTTP/1.1 200 OK,对象已经修改,24,Web 缓存:代理服务器(proxy server),用户设置浏览器:Web 访问经由代理服务器 客户端
16、发送所有的 http 请求到代理服务器代理服务器保存了请求的对象:代理服务器返回请求的对象 否则代理服务器从原始服务器请求对象,再将其返回给客户端,目的:满足客户端的请求而无需烦扰原始服务器,client,Proxyserver,client,http request,http request,http response,http response,http request,http response,origin server,origin server,25,为何Web缓存?,前提:缓存与客户端比较“接近“(e.g.,在同一网络中)响应时间较短:缓存与客户端比较“接近“减少了往来与远程服务
17、器间的数据流量因为从学校或本地ISP 通往外部的链路往往是网络瓶颈,originservers,public Internet,institutionalnetwork,10 Mbps LAN,1.5 Mbps access link,institutionalcache,26,ftp:文件传输协议,传输文件往来与远程主机客户端/服务器模式客户端:启动传输(无论与往来远程主机)服务器:远程主机ftp:RFC 959ftp 服务器:端口 21,27,ftp:分离的控制,数据连接,ftp客户端在 ftp 服务器的 端口21进行联系,使用TCP作为传输协议打开两个并行的连接:控制:在客户端和服务器之
18、间交换命令,响应。称为带外控制:“out of band control”数据:往来于服务器的文件ftp 维持状态(state):当前目录、先前的认证信息等,28,ftp的两个TCP连接,在进行文件传输时,FTP的客户和服务器之间要建立两个TCP连接:控制连接(Control Connection):客户程序与FTP服务器的端口21建立控制连接,并在整个FTP会话过程中维持连接;控制连接用于传输请求和应答信息;由FTP客户端发起控制连接。数据连接(Data Connection):数据连接用于传输文件;每传输一个文件都要建立一个数据连接(在FTP服务器的端口20);由FTP服务器发起数据连接。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 因特网应用层 因特网 应用 PPT 课件
链接地址:https://www.31ppt.com/p-5483205.html