第2章互联网应用技术与应用层协议互联网应用技术的发展互联网应用系统的工作模型C/S与P2P工作模式的异同基于C/S工作模式的网络应用类型网络应用协议分析与应用2.1互联网应用技术发展与工作模式2.2.1互联网应用技术发展的3个阶段·TELNET·E-mail·FTP·BBS·Usenet·Web·电子商务·电子政务·远程教育·远程医疗·网络电话·网络电视·搜索引擎·博客·播客·即时通信·网络游戏·网络广告·网络出版·网络地图·网络存储基本的网络服务基于Web的网络服务新的网络服务互联网应用的发展趋势2.1.2互联网端系统与核心交换的基本概念1.互联网边缘部分和核心交换部分互联网核心交换部分端系统:客户端端系统:客户端P2P端系统:服务器端C/SC/Sa)端系统:服务器端端系统:客户端端系统:客户端互联网核心交换部分互联网边缘部分P2PC/SC/Sb)2.1.2互联网端系统与核心交换的基本概念2.端系统的概念端系统(endsystem):网络边缘部分的用户设备。端系统运行FTP应用程序、E-mail应用程序、Web应用程序、或P2P文件共享程序、即时通信程序等的计算机。未来网络应用中,端系统的主机类型将从计算机扩展到所有能够接入互联网的设备(如PDA、移动电话、数码相机、电视机、无线传感器网络的传感器结点,以及各种家用电器)。2.1.2互联网端系统与核心交换的基本概念3.应用程序体系结构的概念应用层传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层端系统端系统端系统互联网核心交换部分2.1.3应用进程间的相互作用模式进程通信中的客户/服务器模式2.1.4应用层C/S工作模式与P2P工作模式互联网互联网服务器客户客户客户a)C/S工作模式客户客户客户b)P2P工作模式2.1.4应用层C/S工作模式与P2P工作模式C/S工作模式特点服务器程序在固定的IP地址和熟知的端口号上一直处于打开状态,随时准备接收客户端的服务请求。客户端程序可以根据用户需要,在访问服务器时打开。客户端之间不能够直接通信。客户请求数量比较多时,可由多个服务器组成的服务器集群构成虚拟服务器。服务器程序与服务器在应用层C/S工作模式中,作为端系统的计算机可以分为客户端与服务器端。服务器程序与客户程序是协同工作的两个部分。2.1.4应用层C/S工作模式与P2P工作模式采用C/S模式原因:网络资源分布的不均匀性①网络中计算机系统的类型、硬件结构、功能都存在着很大的差异②从软件角度来看,大型应用软件都是安装专用服务器中,合法用户需要通过互联网访问服务器,使用网络资源。③从信息资源角度来看,数据、文本、图像、音视频资源存放在服务器中,合法用户可以通过互联网访问这些信息资源。这样做对保证信息资源使用的合法性与安全性,以及保证数据的完整性与一致性2.1.4应用层C/S工作模式与P2P工作模式P2P模式特征网络结点之间采取对等方式,通过直接交换信息共享计算机资源和服务。应用于实时通信、协同工作、内容分发、分布式计算等领域。通信模式:网络中对等结点之间直接通信的能力。基本特征:互联网中由对等结点组成的一种动态的逻辑网络。实现技术:实现对等结点之间直接通信所需设计的协议、软件等。P2P网络并不是一个新的网络结构,而是一种新的网络应用模式纯P2P模式、P2P与C/S的混合模式2.1.4应用层C/S工作模式与P2P工作模式P2P模式特征纯P2P模式所有结点地位是平等的,以对等方式直接通信。没有需要一直打开的专门服务器程序。P2P与C/S的混合模式共享文件是在两个对等结点之间直接传输,但是提出共享请求的结点需要通过一个查询服务器找到当前打开的对等结点的地址2.1.4应用层C/S工作模式与P2P工作模式P2P与C/S模式区别与联系传统互联网资源共享是以服务器为中心的C/S工作模式,服务提供者与服务使用者之间的界限是清晰的。P2P网络淡化了服务提供者与服务使用者的界限,所有结点同时身兼服务提供者与服务使用者的双重身份。P2P进一步扩大网络资源共享范围和深度,提高网络资源利用率,使信息共享达到最大化。四、应用层C/S工作模式与P2P工作模式P2P网络发展的背景网络操作系统设计思想的基础是网络用户资源共享模式。网络操作系统的发展过程经历了从对等到不对等的交替发展过程,为实现网络资源共享的P2P技术的发展奠定了基础。从事物发展“螺旋式上升”规律角度去认识P2P技术的发展从信息资源存储格局变化的角度去认识P2P技术的发展在不同技术发展阶段,人们对网络应用关注的重点也不同2.1.5网络应用与应用层协议1.网络应用与应用层协议的基本概念网络应用:E-mail、FTP、TELNET、Web、IM、IPTV、VoIP基于网络的金融应用系统、电子政务、电子商务、远程医疗、远程数据存储等。应用层协议:网络应用主要组成部分。规定应用程序进程之间通信所遵循的通信规则,包括:如何构造进程通信报文、报文应包括的字段、每个字段意义、交互过程等。2.1.5网络应用与应用层协议2.应用层协议的基本内容交换报文的类型。如请求报文与应答报文。各种报文格式与包含的字段类型对每个字段意义的描述。进程在什么时间、如何发送报文,以及如何响应。3.应用层协议的类型标准网络应用:E-mail、FTP、TELNET、Web等,专用应用层协议:很多P2P共享文件的应用层协议属于专用协议。2.1.6网络应用对传输层协议的选择根据网络应用的实际需求,决定选择传输协议:TCP、UDP。TCP协议提供的服务:功能完善、面向连接、可靠传输服务支持可靠的面向连接服务支持字节流传输服务支持全双工服务UDP协议提供的服务:简单、高效传输服务无连接、不可靠的传输无提供拥塞控制机制不提供最小延时保证2.1.6网络应用对传输层协议的选择选择TCP协议时需要注意的问题(1)TCP协议的拥塞控制机制的设计思想是在网络出现拥塞之后,抑制客户或服务器的发送进程,减少发送的数据数量,以便缓解网络拥塞。(2)通过研究TCP协议发现的特点发现,TCP协议不能保证最小的传输速率,也不能保证最小传输延时。(3)TCP协议能保证数据字节按照流方式传送到目的进程,但是不能保证最小的传输速率和传输延时。应用层协议与传输层协议的关系网络应用类型应用层协议传输层协议E-mailSMTPTCPTELNETTELNETTCPWebHTTPTCPFTPFTPTCPDNSDNSUDP或TCP流媒体RealNetworkUDP或TCPVoIPNet2phoneUDP2.1.7网络应用对低层提供服务的要求传输层:为网路应用提供服务质量(QoS),传输可靠性、带宽、延时多媒体网络应用对端到端的服务质量要求:带宽、延时、抖动、误码率等2.2Web服务与HTTP协议2.2.1Web服务的基本概念1.支持Web服务的关键技术超文本传输协议HTTPWeb服务应用层协议,超文本在浏览器与Web服务器之间的传输协议。超文本标记语言HTML文档中的特殊数据格式,一个文档可以链接到另一个文档。统一资源定位符URL标识Web中的资源,以便于用户查找。超文本传输协议(HTTP)超文本标记语言(HTML)统一资源定位符(URL)Web服务器Web浏览器Web硬件与软件Web系统2.2.1Web服务的基本概念2.超文本与超媒体的基本概念在Web系统中,信息按超文本方式组织超媒体进一步扩展了超文本所链接的信息类型教育部学校目录深圳大学深圳大学深大概况院系设置深大概况学校领导校园图片院系设置计算机与软件学院学校领导计算机与软件学院师资队伍科研信息2.2.1Web服务的基本概念3.Web的工作方式Web系统C/S模式文字介绍音频介绍视频介绍校园文字介绍音频介绍音频介绍2.2.1Web服务的基本概念4.主页概念用户访问Web网站看到的第一个页面,通过主页访问网站信息。主页基本元素:文本(text):最基本元素,就是通常所说的文字。图像(image):Web浏览器通常识别GIF与JPEG图像格式。表格(table):类似Word表格,表格单元内容通常为字符类型。超链接(hyperlink):用于链接网页。2.2.2HTTP的工作机制1.URL与信息资源定位提供Internet上资源定位、访问方式的一种抽象表示方法。由3部分组成:协议类型、主机名、路径及地址。通过Web浏览器,URL不仅能漫游Web网,也能用于FTP、E-mail和TELNET等。URL格式:访问方式://服务器域名[:端口号]/路径/文件名访问Web网站要使用的HTTP协议,其形式为:http://服务器名[:端口号]/路径/文件名协议类型主机名路径及地址2.2.2HTTP的工作机制1.URL与信息资源定位URL(:冒号左边)指明了URL的访问方式:(1)http:超文本传输协议(HTTP);(2)ftp:文件传输协议(FTP);(3)telnet:交互式会话;(4)mailto:电子邮件地址。HTTP的默认端口号是80(可以省略)。路径/文件名用于直接指向服务器中的某一个文件省略路径和文件名,则URL就指向了Internet上的某个主页。2.2.2HTTP的工作机制2.无状态协议的概念HTTP使用面向连接的TCP协议,客户端Web浏览器要与Web服务器之间建立一个TCP连接。TCP连接建立后,浏览器进程发送HTTP请求报文,并接收应答报文。Web服务器接收HTTP请求报文,并发送应答报文。TCP提供可靠服务保证客户进程发送的HTTP请求正确到达服务器端。服务器进程发送HTTP应答报文也正确达到客户端。Web服务器发送HTTP应答报文时,不保存浏览器的任何请求状态信息(属于无状态协议)2.2.2HTTP的工作机制HTTP协议两种状态:非持续连接、持续连接3.非持续连接(HTTP1.0)非持续连接每次请求/响应都要建立一次TCP连接。例如:一个网页包括一个HTML文件和105个GIF图像文件(106个对象),那么浏览器工作过程为:缺点:必须为每个请求对象建立和维护一个新的TCP连接。发起TCP连接请求文件接收HTML文件发送HTML文件Web客户端Web服务器客户端时间服务器端时间建立TCP连接时间RTT访问Web文档连接时间RTT2.2.2HTTP的工作机制4.持续连接(HTTP1.1)持续连接时,服务器在发出响应后保持该TCP连接,相同的客户端进程与服务器端之间的后续报文都通过该连接传送。例如:一个网页包括一个HTML文件和8个JPEG图像文件,所有请求与应答报文都通过一个持续TCP连接来传送。工作方式:非流水线客户端只有在接收到前一个响应时才能发出新的请求流水线客户端在没有收到前一个响应时就发出新的请求2.2.3HTTP报文格式1.HTTP请求报文结构图4-27HTTP协议请求与应答的过程Web客户端键盘浏览器请求TCPIP数据链路层物理层请求行报头空白行正文方法URLHTTP版本协议类型主机名路径或地址空格空格2.HTTP应答报文结构代码短语说明100Continue请求的开始部分已经被接受,客户可以继续他的请求101Switching服务器同意客户的请求,切换到更新报头中定义的协议200Ok请求成功201Created新的URL被创建202Accepted请求被接受,但还没有马上起作用204Noaccepted报文中没有内容301Multiplechoices所请求的URL指向多个资源302Movedpermanently服务器已经不再使用所使用的URL304Movedtemporarily所请求的URL已暂时地移走400Badrequest在请求中有语法错误401Unauthorized请求缺乏适当的授权403For