[计算机]network C2 应用层

上传人:ji****72 文档编号:54797157 上传时间:2018-09-19 格式:PPT 页数:62 大小:1,009KB
返回 下载 相关 举报
[计算机]network C2 应用层_第1页
第1页 / 共62页
[计算机]network C2 应用层_第2页
第2页 / 共62页
[计算机]network C2 应用层_第3页
第3页 / 共62页
[计算机]network C2 应用层_第4页
第4页 / 共62页
[计算机]network C2 应用层_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《[计算机]network C2 应用层》由会员分享,可在线阅读,更多相关《[计算机]network C2 应用层(62页珍藏版)》请在金锄头文库上搜索。

1、2018/9/19,第2讲:应用层,1,第2讲: 应用层,本讲目标: 网络应用层的概念和实现 客户端-服务器范式 P2P结构 服务模型 通过对常用应用层协议的探讨和分析来学习网络协议,深层次目标 特定协议: http ftp smtp pop dns,应用层协议原理(当我们想要将想法变成真实的网络应用),研发网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。 重要的是,你不需要编写在网络核心设备上运行的软件,因为网络核心并不在应用层起作用。,应用程序的体系结构明显不同于网络的体系结构。 从应用程序的研发者的角度看,网络的体系结构是固定的,并为应用程序提供了特定的服务集合。

2、,2,2018/9/19,第2讲:应用层,3,客户端/服务器体系结构,客户端: 发起同服务器的联系 ; 一般都从服务器请求服务; 可能总是打开,也可能有时; 客户机之间不直接通信 Web: 客户端由浏览器实现; e-mail: 通过OE、Foxmial实现,服务器: 向客户端提供所请求的服务 总是打开的 e.g., Web 服务器发送被请求的 Web 页面, 邮件服务器传递 e-mail,服务器场(主机群集): 通常是基础设施密集 购买安装和维护服务器场,支付大量互联和带宽费用,2018/9/19,第2讲:应用层,4,P2P体系结构,特点: 任意间断连接的主机对称为对等方; 对等方之间直接相互

3、通信; 对等方不为服务提供商所有; 某些应用具有混合的体系结构(由客户机/服务器和P2P元素结合而成); 不需要庞大的服务器基础设施和服务器带宽,降低了成本; 自扩展性 每个对等方都由请求服务而产生负载,但每个对等方都向其他对等提供服务从而为系统增加了服务能力,2018/9/19,第2讲:应用层,5,应用程序和应用层协议,应用程序:沟通, 分布式的进程 运行在网络主机中的 “用户空间” 在应用程序间交换报文 e.g., email, ftp, Web 应用层协议: 应用层的一个“组成部分” 定义应用程序需交换的报文 和所需采取的动作 使用较低层次所提供的通信服务 (TCP, UDP),2018

4、/9/19,第2讲:应用层,6,进程通信,进程(Process): 主机中运行中的程序. 当进程运行在相同的端系统之中时, 两个进程使用进程间通信机制相互通信 (由 OS管理). 而运行在不同主机上的进程则使用应用层协议进行通信. 发送进程创建并向网络发送报文,接收进程接收这些报文并可能负责回送报文.,网络应用程序由成对的进程组成,我们将这两个进程之一标示为客户机,另一个标示为服务器; 在给定的一对进程间通信会话中,发起通信(即在该会话开始时与其他进程联系)的进程称为客户机,在会话开始时等待联系的进程为服务器;,2018/9/19,第2讲:应用层,7,进程与计算机网络之间的接口,进程通过一个称

5、为套接字的软件接口在网络上发送和接收报文 套接字是一台主机内应用层和传输层间的接口 又称为应用程序和网络之间的应用程序编程接口(Application Programming Interface,API) 应用程序开发者可以控制套机贼在应用层端的所有东西,但是对该套接字的运输层端几乎没有控制 1、选择运输层协议;2、设定几个运输层参数。,Q: 某个进程如何“认定”另一个需要与之通信的进程? IP 地址-运行另一个进程的主机所拥有的 “端口号(PORT #)” 允许接收主机来确定的一个标识,本地进程将报文发送给它,2018/9/19,第2讲:应用层,8,应用进程需要怎样的传输服务?,数据丢失(D

6、ata loss) 容忍丢失的应用 (e.g., audio) 可以容忍某种程度上的数据丢失 可靠数据传输 (e.g., 文件传输, telnet) 要求100% 可靠的数据传输,安全性(Safe) 运输层能够为应用程序提供一种或多种安全服务 e.g., 数据加密、解密,完整性,端点鉴别等,带宽(Bandwidth) 带宽敏感的应用(e.g., 因特网电话等、多媒体应用) 对最低带宽有要求 如果不能提供这么种吞吐量,那么应用程序或以较低速率编码,或放弃发送(自适应编码技术) 弹性应用(e.g., 文件传输)则可灵活应用所能得到的带宽 实时性(Timing) 某些应用(e.g., IP 电话等交

7、互式实时应用程序) 要求较低的时延,2018/9/19,第2讲:应用层,9,常用应用程序对传输功能的要求,2018/9/19,第2讲:应用层,10,Internet 的传输协议服务,TCP 服务: 面向连接服务: 在客户端和服务器进程之间需要建立连接 (互相交换运输层控制信息) 可靠数据传输服务 : 无差错、按适当顺序交付发送的数据 流量控制: 发送数据的速度决不超过接收的速度 拥塞控制: 当网络超负荷时,束紧发送端口,减缓发送速度 不提供: 实时性, 最小带宽承诺,UDP服务: 不保证报文能够被接收进程接收到,接收进程接收到的报文也可能是乱序到达的。 发送端可以以任何速率向下面的网络层注入数

8、据,虽然端对端的实际吞吐量可能小于这一速率 可以容忍一定的数据丢失,同时又有最低速率要求 不提供:连接建立, 可靠性保证,流量控制,拥塞控制,实时性, 最小带宽承诺,2018/9/19,第2讲:应用层,11,Internet应用: 应用, 传输协议,应用 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 T

9、CP TCP or UDP TCP or UDP typically UDP,2018/9/19,第2讲:应用层,12,应用层协议,我们通过把报文发送到套接字中来使网络间相互通信 应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递报文,特别的是定义了: 交换的报文类型,如请求报文和响应报文 各种报文类型的语法,如报文中的各个字段及其详细描述 字段的语义,即包含在字段中的信息的含义 进程何时、如何发送报文及对报文进行响应的规则 有些应用层协议是由RFC文档定义的(公告领域),有些是专用应用层协议 应用层协议只是网络应用的一部分。 我们重点讨论:Web、文件传输、电子邮件、目录服务和P2

10、P,2018/9/19,Web应用和HTTP协议,20实际90年代初期,万维网(World Wide Web)出现,它极大改变了人们与工作环境内外交流的方式。 Web按需操作,信息发布简单,超链接和搜索引擎使得打开站点获取信息非常方便,表单和Java小程序使得用户可以和站点进行交换,越来越多的多媒体信息直接出现在页面上。 Web页面由对象组成,对象就是文件,如HTML文件、JPEG图像文件、Java小程序或视频片段文件等,这些文件通过一个URL地址寻址。 URL由存放对象的主机名和对象的路径名两部分组成。 www.someSchool.edu/someDepartment/home.index

11、 Web浏览器:IE、MYIE、FIREFOX、Netscape。 Web服务器:Apache、IIS。,2018/9/19,第2讲:应用层,14,Web: http 协议,超文本传输协议(http: hypertext transfer protocol) 万维网应用协议,定义了Web客户机是如何向Web服务器请求Web页面,以及服务器如何将Web页面传送给客户机的 客户端/服务器模式 客户端: 浏览器请求、接收、展示 Web对象( objects) 服务器: Web 服务器发送对象对请求进行响应 http1.0: RFC 1945 http1.1: RFC 2068,2018/9/19,第

12、2讲:应用层,15,http 协议,http协议使用TCP 作为它的支撑传输层协议 客户端启动TCP连接到服务器, 端口 80 服务器接受来自客户端的 TCP 连接 http 报文(应用层协议报文) 在浏览器 (http client) 和Web服务器(http server)之间进行交换 关闭TCP 连接 服务器向客户机发送被请求的文件时,并不保存任何关于客户机的状态信息(无状态协议) Web服务器总是打开的,具有固定的IP地址,它服务于数以百万计的不同浏览器。,2018/9/19,第2讲:应用层,16,http 举例(非持久连接),假设用户键入了一个 URL www.someSchool.

13、edu/someDepartment/home.index,1a. http 客户端启动 TCP 连接到www.someSchool.edu上的http 服务器 (进程). Port 80 是 http 服务器的默认端口.,2. http客户端发送 http 请求报文 (包括URL) 进入 TCP 连接插口(socket),1b. 在www.someSchool.edu 上的http 服务器在 port 80 等待 TCP 的连接请求. “接受” 连接并通知客户端,3. http 服务器接收到请求报文, 形成 响应报文( 包含了所请求的对象 ,someDepartment/home.index

14、), 将报文送入插口( socket),time,(该网页包含文本并引用了10 jpeg 图片),2018/9/19,第2讲:应用层,17,http 举例(非持久连接续.),5. http 客户端接收到了包含html文件的响应报文。 分析 html 文件, 发现 10 个引用的 jpeg 对象,6. 对10 jpeg objects 逐个重复1-5 步,4. http 服务器关闭 TCP 连接.,time,套接字 在连接过程中,客户机和服务器上分别有一个套接字与该连接相关联,它们都从套接字接口接收和发送HTTP报文,2018/9/19,第2讲:应用层,18,非持续和持续连接,(非持续连接)No

15、n-persistent http/1.0: 服务器分析请求、响应、关闭 TCP 连接 取对象需要2 RTTs TCP 连接 对象请求/传送 每次传送都要受到TCP连接初始化时的慢启动影响 许多浏览器同时打开多个并行的连接来改善性能 必须为每一个请求的对象建立和维护一个全新的连接,对服务器的负担很重,(持续连接)Persistent http/1.1的默认设置 在同一TCP 连接上: 服务器分析请求、响应请求,分析新的请求、 客户端一旦下载到了基本的html文件( base HTML )马上发送对所有引用对象的请求. 较少的 RTTs, 较少的慢启动.,往返时间RTT:一个分组从客户机到服务器

16、再回到客户机所花费的时间。,2018/9/19,第2讲:应用层,19,http 报文格式: request(请求),two types of http报文: request, response http 请求报文: ASCII (可读格式),2018/9/19,第2讲:应用层,20,http 请求报文: 一般格式,2018/9/19,方法字段的取值,GET:绝大部分的HTTP请求报文使用GET,当浏览器请求一个对象时,使用此方法; POST:在用户提交表单时使用,实体主体中的内容就是用户在表单字段输入的值; HEAD:类似于GET,但响应报文中并不返回请求对象,常用来故障跟踪; PUT:常和W

17、eb发行工具联合使用,用户利用它来讲对象上传到Web服务器上制定的路径;也被应用程序用来向Web服务器上传对象; DELETE:用户或者应用程序可以删除Web服务器上的对象,2018/9/19,第2讲:应用层,22,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 .,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号