应用层:
- 应用层位于OSI参考模型和TCP/IP参考模型的最高层,包括所有层的协议,为具体的应用提供服务。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据
- 我们知道传输层为应用进程提供了端到端的通信服务。但不同的网络应用的应用进程之间,还需要有不同的通信规则。
- 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
一、网络的应用模型
1.1 >客户/ 服务器模型:
在客户/ 服务器模型(Client/Server,C/S)中,有一个总是打开的主机称为服务器,它服务于许多来自称为客户机的请求。客户是服务请求方,服务器是服务提供方。
客户/ 服务器模型如下图所示:
它的工作流程是:
- 服务器处于接收请求的状态
- 客户机发出服务请求,并等待接收结果
- 服务器接收到后,分析请求,进行必要的处理,得到结果并发送给客户机
客户/ 服务器模型的主要特点:
- 网络中的计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的。
- 客户机相互之间不直接通信
- 可扩展性不佳,受服务器硬件和网络带宽的限制,服务器支持的客户机数有限。
1.2 >P2P模型:
在C/S模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P模型的主要思想是整个网络的传输内容不再被保存到中心服务器上,每个结点都同时具有上传,下载的功能,即每个结点既是服务器优势客户机。
在P2P模型中,各计算机没有固定的客户和服务器的划分。任何一对计算机称为对等方,直接相互通信。每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。
P2P模型如下图所示:
与C/S模型相比,P2P模型的优点主要是:
- 减轻了服务器的压力,消除了对某个服务器的完全依赖
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求
- 网络健壮性好,单个节点的失效也不会影响其他部分的结点
P2P也有缺点,在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存&#