资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机网络应用基础,第2章 网络客户端和应用协议(),本章内容,2.1 应用层协议的工作机理 2.2 万维网(WWW) 2.2 文件传输服务(FTP) 2.3 电子邮件系统 2.4 远程登录 2.5 基于因特网的对等网应用,2.1 应用层协议的工作机理,网络应用与应用层协议简介 客户端/服务器模式及定位 因特网进程通信的基本特征 网络应用与所需要的传输服务 主机名、IP与 URL 域名服务系统(DNS),1.网络应用与应用层协议简介,应用程序:分布式的进程 运行在网络主机中的 “用户空间” 在应用程序间交换报文 e.g., email, ftp, Web 应用层协议: 应用程序的一个“组成部分” 定义应用程序需交换的报文 和所需采取的动作 使用较低层次所提供的通信服务 (TCP, UDP),网络应用程序: 一些术语,进程(Process): 主机中运行中的程序. 在某些主机中, 两个进程使用进程间通信 (由 OS管理) 而运行在不同主机上的进程则使用应用层协议进行通信,用户代理(User agent): 软件进程, 是介于用户( above )和网络( below )之间的接口 实现应用级协议 Web: 浏览器 E-mail: OE、Foxmail 流媒体: media player,2.客户端/服务器模式及定位,典型的网络应用是由两个部分组成: 客户端 和 服务器,客户端: 发起同服务器的联系 (“speaks first”) 一般都从服务器请求服务, Web: 客户端由浏览器实现; e-mail: 通过OE、Foxmial实现,服务器: 向客户端提供所请求的服务 e.g., Web 服务器发送被请求的 Web 页面, 邮件服务器传递 e-mail,3.因特网应用层进程的基本特征,应用程序接口: 定义应用层和传输层间的接口 插口(socket: Internet API) 两个进程间的通信, 将数据送入 socket, 或从socket 读出数据,Q: 某个进程如何“认定”另一个 需要与之通信的进程? IP 地址-运行另一个进程的主机所拥有的 “端口号(PORT #)” 允许接收主机来确定的一个标识,本地进程将报文发送给它,4.网络应用与所需要的传输服务,数据丢失(Data loss) 某些应用 (e.g., audio) 可以容忍某种程度上的数据丢失 其他应用 (e.g., 文件传输, telnet) 要求 100% 可靠的数据传输,实时性(Timing) 某些应用(e.g., IP 电话, 交互式游戏) 要求较低的时延,带宽(Bandwidth) 某些应用(e.g., 多媒体) 对最低带宽有要求 其他应用(“弹性应用”) 则可灵活应用所能得到的带宽,网络应用程序对传输功能的要求,应用程序 文件传输 e-mail Web 网页 实时音频/视频 存储音频/视频 交互式游戏 金融应用,数据丢失 不丢失 不丢失 不丢失 允许丢失 允许丢失 允许丢失 允许丢失 不丢失,带宽 弹性 弹性 弹性 音频: 5Kb-1Mb 视频:10Kb-5Mb 同上 几 Kb/s 以上 弹性,实时性 无 无 无 100s msec few secs 100s msec yes and no,因特网应用: 应用vs传输协议,应用 e-mail 远程终端访问 Web 文件传输 流媒体 远程文件服务器 IP电话,应用协议 smtp RFC 821 telnet RFC 854 http RFC 2068 ftp RFC 959 专有协议 (e.g. RealNetworks) NSF 专有协议 (e.g., Vocaltec),所依赖的传输协议 TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP,5.URL方案集,统一资源定位符(Uniform Resource Locator, URL)是用于完整地描述因特网信息资源的地址的一种标识方法 URL的一般格式为(带方括号的为可选项): protocol:/hostname:port/path/;parameters?query#fragment 例如: http:/netcourse.xjtu.edu.cn/modules.php?op=modload&name=News&file=article&sid=62,6.域名服务系统(DNS),因特网主机的识别方法之一是主机名(hostname),字母组成,方便记忆 如www.sina.com.cn、ctec.xjtu.edu.cn,www.yahoo.com等 在路由器上,主机必须用IP地址来识别 IP v4地址常常用类似192.9.200.21的形式表示 这两种地址通过域名系统(DNS)进行转换,域名空间(域名树),域名空间分为若干层次:根域(顶级域)和次级域,主机域名的构成,主机名是由一系列由“.”分开的标签组成: 每个标签不能超过63个字符; 全部的标签不能超过255个字符; 书写顺序是从主机开始直到域名树的根域为止。例如: netcourse.xjtu.edu.cn 域名是一个组织在域名空间中的名字: 例如,西安交大的域名为xjtu.edu.cn 该组织中已注册的主机都以组织的域名为后缀,DNS系统的组织结构,DNS是一个分布式的数据库 DNS使用了分布式的域名数据库,运行域名数据库的计算机称为DNS服务器 DNS服务器以层次型结构(和域名树相对应)分布在世界各地,每台DNS服务器只存储了一小部分DNS数据 每一个拥有域名的组织都必须要有DNS服务器,以提供自己域内的域名到IP地址的映射服务 例如,西安交大的DNS服务器为202.117.0.20,它负责进行xjtu.edu.cn域内的域名和IP之间的转换,DNS服务器分为三类 本地域名服务器(Local Name Server) 即每个组织/企业的DNS服务器 根域名服务器(Root Name Server) 为下级域名服务器提供域名解析服务; 主要分布在北美地区; 认证域名服务器(Authoritative Name Server) 提供注册的域名服务器就是该主机的认证域名服务器,DNS服务器,DNS服务器的操作,能够直接处理域内的域名解析请求。 如果本地域名服务器不能解析域名,它就向根域名服务器询问; 根域名服务器将告诉它与哪一个域名服务器联系; DNS再向该域名服务器进行查询; 一个DNS请求可能要经过多个往返,DNS应用举例,使用DOS中的nslookup指令 可以发现某个主机域名的IP地址 但是,时常可以发现,一些域名对应的IP地址远不止一个,这是为什么? 请实验一下: nslookup www.sina.com.cn,2.2 万维网(WWW),超文本传输协议 万维网的缓存机制 浏览器的选择和应用,超文本传输协议(HTTP),超文本传输协议(HTTP: hypertext transfer protocol) 万维网应用协议 客户端/服务器模式 客户端: 浏览器请求、接收、展示 Web对象( objects) 服务器: Web 服务器发送对象对请求进行响应 HTTP1.0: RFC 1945 HTTP1.1: RFC 2068,PC running Explorer,Server running NCSA Web server,Mac running Navigator,http request,http request,http response,http response,超文本传输协议(HTTP),HTTP: TCP 传输服务: 客户端启动TCP连接(创建插口) 到服务器, 端口 80 服务器接受来自客户端的 TCP 连接 http 报文(应用层协议报文) 在浏览器 (http client) 和Web服务器(http server)之间进行交换 关闭TCP 连接,HTTP是 “无状态(stateless)”的 服务器不保留任何访问过的请求信息,保留状态的协议很复杂哟! 过去的历史 (状态) 需要保留 一旦浏览器/服务器崩溃, 它们各自的状态视图就会发生分歧,还需要重新核对,小评论,HTTP举例(某网页含文本并引用了10 jpeg 图片),假设用户键入了一个 URL www.someSchool.edu/someDepartment/home.index,1. IE启动 TCP 连接到www.someSchool.edu上的Apach服务器 Port 80,time,2.在www.someSchool.edu 上的Apache在 port 80 等待 TCP 的连接请求; “接受” 连接并通知客户端.,3. IE发送 http 请求报文 (包括URL) 进入 TCP 连接插口(socket).,4. Apache接收到请求报文, 形成 响应报文( 含home.index), 将报文送入 socket,并关闭连接,5. IE接收了html文件。 分析 发现 10 个引用的 jpeg 对象,6. 对10 jpeg objects 逐个重复1-5 步,非持续和持续连接,非持续连接(Non-persistent) HTTP/1.0: 服务器分析请求、响应、关闭 TCP 连接 取对象需要2 RTTs TCP 连接 对象请求/传送 每次传送都要受到TCP连接初始化时的慢启动影响 许多浏览器同时打开多个并行的连接来改善性能,持续连接(Persistent) HTTP/1.1的默认设置 在同一TCP 连接上: 服务器分析请求、响应请求,分析新的请求、 客户端一旦下载到了基本的html文件( base HTML )马上发送对所有引用对象的请求 较少的 RTTs, 较少的慢启动,HTTP报文格式: request(请求),two types of HTTP报文: request, response HTTP请求报文: 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 命令),首部 诸行,回车、换行表示 报文结束,HTTP请求报文: 一般格式,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文件,HTTP响应状态码和短语,200 OK 请求成功, 被请求的对象在报文中 301 Moved Permanently 被请求的对象被移动过, 新的位置在报文中有说明 (Location:) 400 Bad Request 服务器不懂请求报文 404 Not Found 服务器上找不到请求的对象,位于(服务器-客户端)响应报文的第一行,客户端缓存机制(Conditional GET),目的: 如果客户端缓存了最新的请求对象,则服务器不必重复发送 客户端: 在HTTP请求报文中声明所缓存拷贝的生成日期 If-modified-since: 服务器: 如果客户端缓存的拷贝是最新的,则在响应报文中不发请求的对象: HTTP/1.0 304 Not Modified,client,ser
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号