6.1 网络应用模型
6.1.1 客户/服务器模型(Client/Server,C/S)
在客户服务器模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他成为客户机的主机请求。其工作流程如下:
- 服务器处于接受请求状态。
- 客户激发出服务请求,并等待接收结果。
- 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。
客户程序必须知道服务器程序的地址,客户机上一般不需要特殊复杂的操作系统。而服务器上运行的软件则是专门用来提供某种服务的程序,可同时处理多个远程或本地客户的要求。系统启动后便一直不断运行被动接受来自各地客户的请求。因此服务器程序不需要知道客户的地址。
客户/服务器模型的主要特点有:
- 网络中各计算机的地位不平等,服务器可以通过对用户权限来达到管理客户机的目的,使它们不能随意存储/删除数据。整个网络的管理工作由少数服务器担当,因此网络的管理非常集中和方便。
- 客户机互相不直接通信。
- 可拓展性不佳。
6.1.2 P2P模型
在C/S模型中,服务器的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P模型的思想是整个网络中的传输内容不再被保存在中心服务器上,每个节点都同时具有下载、上传的功能,其权力和义务都是大体对等的。
在P2P模型中,任意一对计算机—称为对等方(Peer)直接相互通信。实际上P2P模型从本质上来看仍然使用CS服务方式,每个结点既作为客户访问其他解点的资源,也作为服务器提供资源給其他结点访问。与C/S模型相比,P2P的优势:
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,大大提高了系统效率和资源利用率。
- 多个用户机之间可以直接共享文档。
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
- 网络健壮性强,单个结点的失效不会影响其他部分的结点。
P2P模型也有缺点。再获取服务的同时,还要给其他节点提供服务,因此会占用较多的内存,影响整机速度。经常进行P2P下载还会对硬盘造成较大的损伤。
6.2 域名系统(Domain Name System,DNS)
DNS是因特网使用的命名系统,用来便于人们记忆的具有特定含义的主机名(www.baidu.com&#