计算机网络自顶向下方法(第四版) 中文版ppt课件 第二章.ppt
《计算机网络自顶向下方法(第四版) 中文版ppt课件 第二章.ppt》由会员分享,可在线阅读,更多相关《计算机网络自顶向下方法(第四版) 中文版ppt课件 第二章.ppt(158页珍藏版)》请在三一办公上搜索。
1、1,第2章 应用层,网络应用是计算机网络的重要功能之一。,20世纪80年代:基于文本的电子邮件、文件传输、文本聊天等等。20世纪90年代:Web应用、IP电话、视频会议等。20世纪末:即时讯息、 P2P对等文件共享。,2,学习目标和主要内容,学习目标 网络应用的原理和实现方面的知识。主要内容应用层概念:应用层协议、客户机与服务器、进程、套接字和运输层接口。应用程序:Web、电子邮件、域名系统DNS及P2P对等文件共享。开发网络应用程序的方法:套接字API编程。,3,本章内容,2.1 应用层协议原理2.2 Web和HTTP2.3 FTP 2.4 电子邮件2.5 DNS2.6 P2P 文件共享2.
2、7 TCP的套接字 编程2.8 UDP的套接字 编程2.9 构建一个 Web 服务器2.10 小结,4,流行的网络应用程序,E-mailWeb即时讯息远程注册P2P文件共享多用户网络游戏流式存储视频片段,因特网电话实时视频会议大规模并行计算,编制应用程序,5,网络应用程序的研发要点,写出能够分别在不同端系统运行,并通过网络相互通信的程序。 如Web应用程序,由两个可以相互通信的程序组成浏览器程序:运行在用户主机上;Web服务器程序:运行在Web服务器主机上。应用程序软件只在端系统运行,不需在网络核心设备上运行。网络核心设备无应用层,只有较低层。 如图2-1。,6,本节内容,2.1.1 网络应用
3、程序体系结构2.1.2 进程通信 2.1.3 应用层协议 2.1.4 应用所需要的服务2.1.5 因特网运输协议提供的服务2.1.6 本书介绍的网络应用,Web、文件传输、电子邮件、目录服务、对等文件共享等五个。,7,2.1.1 网络应用程序体系结构,应用程序体系结构:规定如何在各种端系统上组织应用程序,由研发者设计 。 三种类型: 客户机/服务器 对等 (P2P) 客户机/服务器与P2P的混合,8,1、客户机/服务器体系结构,服务器: 总是打开为多个客户机请求提供服务永久的IP地址可扩展为服务器场(主机群集) 客户机:总是打开或间歇打开向服务器发出请求具有动态的IP地址彼此之间不直接通信,如
4、Web应用程序:总是打开的Web服务器为运行在客户机主机上的浏览器的请求提供服务(接收客户机请求,并发送响应结果)。,服务器响应,客户请求,9,2、纯P2P体系结构(peer-to-peer),无(最少)打开的服务器任意端系统(对等方)可以直接通信对等方间歇地连接,IP地址不固定例:文件分发、因特网电话等。,可扩展度高、难以管理,10,3、客户机/服务器与P2P的混合,Napster:MP3文件共享应用程序。 P2P:对等方直接交换MP3文件服务器注册/定位:对等方在中心服务器上注册内容对等方查询相同的中心服务器以定位内容即时讯息:P2P:两个用户直接聊天服务器检测/定位:用户在线时,向中心服
5、务器注册其IP地址用户联系中心服务器以找到聊天伙伴的IP地址,11,2.1.2 进程通信,进程 (process):在主机上运行的程序。进程通信:同一主机中两个进程间的通信:由操作系统控制;不同主机中进程间的通信:通过网络交换报文进行。 发送进程:产生报文并向网络发送; 接收进程:接收报文,并回送报文。如图2-1。,12,1、客户机和服务器进程,网络应用程序由成对的进程组成,并通过网络相互发送报文。如图2-1 根据功能分别标示为客户机和服务器客户机进程:发起通信的进程。 服务器进程:等待其他进程联系的进程。 如Web应用程序中,一个客户机浏览器进程向某个Web服务器进程发起联系,交换报文。,1
6、3,说明:,P2P结构的应用程序也可分别看成是客户机进程或服务器进程。 如,对等方A(客户机)请求对等方B(服务器)发送某个文件。,14,2、套接字(socket),套接字:同一台主机内应用层与运输层之间的接口。 也叫应用程序和网络之间的应用程序接口API ,是在网络上建立网络应用程序的可编程接口。,应用层,运输层,15,进程与套接字关系,进程类似房子,套接字是进程的门。进程通过套接字在网络上发送和接收报文。,具有缓存、变量的TCP,套接字,主机或服务器,具有缓存、变量的TCP,套接字,主机或服务器,因特网,由操作系统控制,由应用研发者控制,发送进程:把报文推出门(套接字)。传送报文:通过下面
7、网络把报文传送到目的进程门口。接收进程:通过其门(套接字)接收报文,16,说明,应用程序开发者可以控制套接字应用层端的全部;对套接字的运输层端几乎不能控制(只能选择运输层协议、设定几个运输层参数等)。应用程序开发者选择了一个运输层协议,则应用程序就建立在由该协议提供的运输层服务之上。如TCP协议。,17,3、进程寻址,主机上的进程可以有多个。网络中有多个主机,每个主机上有多个进程。进程识别信息:表示哪台主机上的哪一个进程。 源主机上的进程向目的主机上的进程发送报文时,应带有接收进程的识别信息(标识)。进程寻址: 根据进程识别信息找到相应进程。,如何识别进程?,确定主机,确定进程,18,进程识别
8、信息(两部分),主机名称或地址:网络中的哪一个主机。 因特网中,用IP地址标识(32位,全球惟一)。进程的标识:主机中的哪一个进程。 因特网中,采用端口号标识(port number)。常用的应用程序被指派固定的端口号(周知端口)。 如,Web服务进程(HTTP协议):80 邮件服务进程(SMTP协议):25创建一个新的网络应用程序时,必须分配一个新的端口号。不重复。,19,4、用户代理(user agent),是用户与网络应用程序之间的接口。如:Web应用的用户代理:是一些浏览器软件。 一个通过套接字收发报文,并提供用户接口的进程。电子邮件应用程序用户代理:是“邮件阅读器”。 允许用户进行邮
9、件的撰写和阅读。,20,2.1.3 应用层协议,定义了运行在不同端系统上的应用程序进程间传递报文的格式和方式。具体内容: 交换的报文类型:如请求报文和响应报文;各种报文类型的语法:报文中的各个字段及描述;字段的语义:字段包含信息的含义;进程何时、如何发送报文及对报文进行响应的规则。,21,说明,公共领域协议:由标准文档RFC定义,如HTTP。 专用层协议:如P2P使用的协议。应用层协议是网络应用的一部分。 如Web应用,客户机从Web服务器获得“文档”。组成:HTML、Web浏览器、Web服务器程序,以及一个应用层协议HTTP(超文本传输协议)等。HTTP定义了在浏览器程序和Web服务器程序间
10、传输的报文格式和序列。 其他协议:电子邮件协议SMTP等等,22,2.1.4 应用程序所需要的服务,应用程序间通信:由运输协议跨越网络将发送进程的报文传输到接收进程的门户 。需要使用运输协议所提供的服务。运输协议有多种,提供的服务不同。,23,应用程序需要什么样的运输服务?,可靠的数据传输(无数据丢失)数据不能丢失的应用:如文件传输、金融事务等。能容忍数据丢失的应用:如多媒体应用。 带宽(数据传输率)带宽敏感的应用:需要特定的带宽才能正常工作。 如,因特网电话、其他多媒体应用。弹性应用:使用的带宽多或少影响不大。 如电子邮件、文件传输以及Web传输。定时(数据传输的时间限制)交互式实时应用:对
11、时间敏感,要求时延小。如,因特网电话、视频会议以及多方游戏等。非实时应用:时延无限制,低更好。,24,典型应用的运输服务要求,应用程序文件传输电子邮件Web 文档实时音频/视频(因特网电话/视频会议)存储音频/视频交互式游戏即时讯息,数据丢失不能丢失 不能丢失 不能丢失 容忍丢失 容忍丢失 容忍丢失 不能丢失,带宽弹性弹性弹性音频: 5kbps-1Mbps视频:10kbps-5Mbps同上 几kbps以上弹性,时间敏感不不不是, 100 ms是, 几秒是, 100 ms是和不是,25,2.1.5 因特网运输协议提供的服务,两个运输层协议:用户数据报协议UDP传输控制协议TCP 每个协议为调用它
12、们的应用程序提供不同的服务模型。在创建一个新的因特网应用时,要选择其中一个。,26,1、TCP服务,两个方面:面向连接的服务:可靠的传输服务:,27,面向连接的服务,划分三阶段建立连接(握手过程): 客户机程序和服务器程序之间互相交换控制信息,在两个进程的套接字之间建立一个TCP连接。传输报文: 连接是全双工的,即连接双方的进程可以在此连接上同时进行报文收发。拆除连接: 应用程序报文发送结束。,28,可靠的传输服务,通信进程可以无差错、按适当顺序交付发送的数据。 没有数据丢失和重复。,29,拥塞控制,当发送方和接收方之间的网络出现拥塞时,会抑制发送进程速率。 对整个网络有益。,30,未提供的服
13、务,不确保最小传输速率:发送进程受拥塞控制机制制约;不提供时延保证:数据传输的时间不确定。,TCP协议能保证交付所有的数据,但并不保证这些数据传输的速率以及期待的传输时延。 TCP协议不适合实时应用。,31,2、UDP服务,提供最小服务模式运行。无连接:两个进程通信前没有握手过程;不可靠数据传输:不保证报文能够被接收,或收到的报文是乱序到达。没有拥塞控制机制:发送进程可以任何速率发送数据不提供时延保证:适于实时应用。,32,因特网应用、应用协议与运输协议,应用 应用层协议传输协议电子邮件 SMTP TCP远程终端访问 Telnet TCPWeb HTTP TCP文件传输 FTP TCP远程文件
14、服务器 NFS UDP或TCP流媒体 HTTP、RTP UDP或TCP因特网电话 SIP、RTP 典型用UDP,33,2.2 Web应用和HTTP协议,产生于20世纪90年代初期。改变了人们与工作环境内外的交流方式;提升因特网地位;生活和工作发生变化;方便、快捷得到所需要的信息(按需操作);任何人在Web上发布信息;超链接和搜索引擎帮助人们浏览Web站点。,34,本节内容,2.2.1 HTTP概况2.2.2 HTTP连接2.2.3 HTTP报文格式2.2.4 用户与服务器交互:Cookie2.2.5 HTTP内容2.2.6 Web缓存 2.2.7 条件GET方法,35,2.2.1 HTTP概况
15、,HTTP(超文本传输协议): 应用层协议,Web的核心。包括两部分:客户机程序服务器程序 分别运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP协议定义了报文的格式以及客户机和服务器交换报文的方式。,36,Web常用术语,Web页(文档):由若干对象组成。 对象:是文件。通过一个URL地址来寻址。如HTML文件、JPEG图形文件、Java小程序等。 Web页含有一个基本的HTML文件及几个引用对象。 例如,一个Web页包含HTML文本和5个JPEG图形文件(即有6个对象)。 在基本的HTML文件中,每个对象可由URL来寻址。,超文本标记语言,统一资源定位符,37,Web常用术语,U
16、RL:Uniform Resource Locator。统一资源定位符。标识万维网WWW上的各种文档,全网范围唯一。URL地址组成: 存放对象的服务器主机名和对象的路径名。如 http:/ www.someSchool.edu / somedepartment / picture.gif,主机名,路径名,38,Web常用术语,浏览器(客户机):是Web应用的用户代理,用于显示所请求的Web页,提供导航功能和配置属性。 实现了HTTP协议的客户机端。Web服务器:用于存贮Web对象(由URL寻址)。 实现HTTP协议的服务器端。,HTTP协议定义了Web客户机 (浏览器)如何向Web站点请求We
17、b页,以及服务器如何将Web页传送给客户机。,39,客户机和服务器之间交互过程,客户机: 用户请求一个Web页(如点击一个超链接),浏览器向服务器发出对该页所含对象的“HTTP请求报文”。服务器: 接受请求,回发包含请求对象的“HTTP响应报文”,40,说明,HTTP协议使用的底层运输协议是TCP。工作过程: 创建TCP连接交换报文关闭TCP连接客户机先与服务器建立TCP连接,然后,浏览器和服务器进程通过套接字访问TCP:如图2-3客户机:从其套接字接口发送“HTTP请求报文”和接收“响应报文”;服务器:从其套接字口接收“HTTP请求报文”和发送“响应报文”。,41,说明,TCP提供可靠的数据
18、传输服务:客户机进程和服务器进程发出的每个HTTP报文能完整地到达对方。HTTP是无状态协议:服务器不保存关于客户机的任何信息。,Web使用客户机/服务器结构,Web服务器总是打开,有一个固定IP地址,为多个浏览器服务。,42,2.2.2 HTTP连接,持久HTTP连接一个TCP连接上可以传送多个Web对象传送多个请求/相应对,非持久HTTP连接每个TCP连接上只传送一个Web对象只传送一个请求/相应对,默认方式下使用持久连接,43,1、非持久连接,例,客户机向服务器请求传送一个Web页:含有一个基本HTML文件和10个JPEG图形,11个对象位于同一个服务器上。HTML文件的URL为:htt
19、p:/www.someSchool.edu/someDepartment/home.index,44,工作过程,1a. HTTP客户初始化一个与服务器主机www.someSchool.edu中HTTP服务器进程的TCP连接,2. HTTP客户发送一个HTTP请求报文 (包含URL)到TCP连接套接字, 报文指明客户需要的Web对象someDepartment/home.index,1b. www.someSchool.edu服务器主机中的HTTP服务器在80端口监听来自HTTP客户的TCP连接请求,收到连接请求, 接受, 建立连接, 通知客户。,3. HTTP服务器接收请求报文, 产生一个响应
20、报文(包含被请求对象), 并发送到其TCP连接套接字,time,TCP连接,报文传输,45,5. HTTP客户机接收包含HTML文件的响应报文,显示并解析HTML文件,发现10个引用的 jpeg对象,6. 对10个jpeg对象重复步骤15,4. HTTP服务器关闭TCP 连接,time,46,说明:,每个TCP连接在服务器返回对象后关闭(非持久)。每个TCP连接只传输一个请求报文和一个响应报文; 上例中,要建立11个TCP连接。浏览器可同时打开多个连接:并行的TCP连接:并行数大于1。默认打开510个。串行的TCP连接:最大并行数为1。,47,请求一个HTML文件所需时间,即从客户机请求基本H
21、TML文件开始,到用户收到整个文件为止所花时间。往返时延RTT: 一个小分组从客户机到服务器,再回到客户机所花时间。 包括传播时延、排队时延以及处理时延。,48,TCP连接的“三次握手”过程客户机发送一个TCP连接请求报文 服务器回送一个TCP确认响应报文 客户机向服务器发送一个包含“ HTTP请求”与“TCP确认”的报文总响应时间:两个RTT时延加上服务器发送文件的时间 总计 = 2RTT+文件传输时间,传输文件的时间,发起TCP连接,RTT,请求文件,RTT,接收文件,时间,时间,三次握手,建立TCP连接 交换报文,49,非持久连接缺点,服务器负担重:每一个请求对象建立和维护一个新的连接。
22、每一个对象的传输时延长:包含两个RTT时延,一个用于TCP建立,一个用于请求和接收对象。,50,2、持久连接,服务器在发送响应后保持该TCP连接:相同客户机与服务器之间的后续请求和响应报文通过相同的连接进行传送。 如,一个Web页 的所有对象可以通过一个持久TCP连接传送。或同一服务器上的多个Web页也可以通过一个持久TCP连接传送给同一个客户机。连接经一定时间间隔(超时间隔)未被使用,服务器就关闭该连接。,51,持久连接两种方式,非流水线方式:客户机只能在前一个响应接收到之后才能发出新的请求。客户机为每一个引用对象的请求和接收都使用一个RTT时延。会浪费一些服务器资源:服务器在发送完一个对象
23、,等待下一个请求时,会出现空闲状态。,52,持久连接两种方式,流水线方式:客户机可一个接一个连续产生请求(只要有引用就产生),即在前一个请求接收到响应之前可以产生新的请求。服务器一个接一个连续发送相应对象。特点:节省RTT时延,可能所有引用对象只花费一个。TCP连接空闲时间很短。 默认方式:流水线方式的持久连接。,53,1、HTTP请求报文,客户机向服务器发送。ASCII文本形式,易读。 例:,GET /somedir/page.html HTTP/1.1Host: www.someschool.edu User-agent: Mozilla/4.0Connection: close Acce
24、pt-language:fr (另外的回车,换行),请求行(GET, POST, HEAD命令),首部行,回车,换行指示报文的结束,对象URL路径名,版本,对象主机,浏览器类型,非持久,方法(命令)GET:请求一个对象。POST:提交表单(添加信息)。HEAD:请求返回对象响应报文首部,返回对象的语言,54,HTTP请求报文通用格式,请求行,首部行,实体主体,方法,版本,首部字段名,首部字段名,值,值,55,2、HTTP 响应报文,HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT 服务器: Apache/1.
25、3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 . Content-Length: 6821 Content-Type: text/html data data data data data .,状态行(版本、状态码、状态短语),首部行,实体:数据,如请求的HTML文件,请求成功,关闭连接,发送日期,对象创建或修改日期,对象长度,服务器到客户机的回答,56,HTTP响应状态码,200 OK请求成功,请求的对象在这个报文后面301 Moved Permanently请求的对象已转移,新的URL在响应报文的Location:首部行中指定400 Bad Requ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络自顶向下方法第四版 中文版ppt课件 第二章 计算机网络 向下 方法 第四 中文版 ppt 课件 第二
链接地址:https://www.31ppt.com/p-1880785.html