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