目录
网络应用
网络应用程序体系结构
客户/服务器体系结构
P2P对等体系结构
网络应用程序体系结构
应用层协议
网络应用
网络应用是计算机网络体系结构的最上层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分
我们以一些经典的网络应用为例来学习有关网络应用的原理、协议和实现方面的知识。像云计算这样非常复杂的网络应用需要专门的课程进行介绍,在此我们不进行深入讨论
网络应用之所以能成为计算机网络中发展最快的部分,原因之一就是任何人都可以方便地开发并运行一个新的网络应用
因为网络应用程序只运行在端系统中,运输层已经为网络应用提供了端到端的进程间逻辑通信服务,网络应用开发者无需考虑各种复杂的网络核心设备(如路由器或链路层交换机)
只要你拥有几台联网的计算机就可以在上面开发并运行你自己的网络应用了
网络应用程序体系结构
网络应用程序运行在网络边缘的端系统,通过彼此间的通信来共同完成某项任务
网络应用程序在各种端系统上的组织方式和它们之间的关系,即网络应用程序体系结构
客户/服务器体系结构
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程
客户/服务器方式所描述的是进程之间服务和被服务的关系
客户是服务的请求方,服务器是服务的提供方。客户相互之间不直接进行通信
服务器具有固定的IP地址和端口号,并且总是处于运行状态,等待客户的服务请求
目前大多数网络应用采用C/S结构
P2P对等体系结构
在对等(P2P, Peer-to-Peer)方式中,没有固定的服务请求者和服务提供者,应用进程是对等的,被称为对等方(peer)
对等方相互之间直接通信,每个对等方即是服务的请求者,又是服务的提供者
P2P体系结构的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而明显降低
对等方式的应用如:BT文件下载软件
网络应用程序体系结构
要说明的是,客户和服务器本来都指的是计算机程序。但人们经常把运行客户程序的计算机也称为客户机或客户计算机,把运行服务器程序的计算机也称为服务器或服务器计算机
服务器计算机通常是高性能计算机并且全天开机,而客户计算机通常是普通计算机,它不一定总是处于开机状态
客户/服务器和P2P是网络应用程序的两种通用体系结构。许多实际的网络应用组织成客户/服务器和P2P体系结构的混合体
应用层协议
为实现某种网络应用,不论是客户进程和服务器进程之间,还是对等方之间,都需要遵循的某种通信协议——应用层协议
可以是公开的,如RFC文档定义的互联网公共领域的应用层协议,HTTP, FTP等
还有很多其他应用的应用层协议不是公开的,而是专用的,如很多P2P应用