【概述】
应用层,是计算机网络体系结构的最高层,其中的每一个协议都是为了解决某一类的应用问题,应用层的具体内容就是规定应用进程在通信时所遵循的协议
应用层的协议要么基于C/S 模型,要么基于 P2P 模型,这两者被统称为网络应用模型
【C/S 模型】
在客户/服务器(Client/Server,C/S)模型中,总有一个被称为服务器(Server)的一直打开的主机,其服务于多个来自其他被称为客户机(Client)的主机请求,其工作流程如下:
- 服务器处于接收请求的状态
- 客户机发出服务请求,并等待接收结果
- 服务器收到请求,分析请求并进行必要处理,将结果发给客户机
对于服务器来说,其一直运行,永久提供服务,这就需要具有一个永久性的访问地址;对于客户机来说,其只需要间歇性接入网络发出服务请求即可,能够使用动态 IP,同时可以不与其他客户机通信
常见的使用 C/S 模型的应用有:文件传输 FTP、远程登录、电子邮件等
【P2P 模型】
在 C/S 模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就成为了系统的瓶颈
在对等式(Peer-to-Peer,P2P)模型中,没有固定的客户和服务器的划分,任意一对计算机被称为对等方(peer),可以直接相互通信
从本质上来看,P2P 模型仍然是一个 C/S 模型,只是每个结点既能作为客户访问其他结点的资源,也能作为服务器提供资源给其他结点
与 C/S 模型相比,P2P 减轻了服务器器的压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,但每个结点在获取服务的同时,还要给其他结点提供服务,这不可避免的会占据较多的内存,影响整机速度
常见的使用 P2P 模型的应用有:PPLive、Bittorrent、电驴等