互联网的边缘部分
处在互联网边缘的部分就是链接在互联网上的所有主机。这些主机又称为端系统(endsystem)。端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP(ISP不仅仅是向端系统提供服务,它也可以拥有一些端系统)。
边缘部分利用核心部分所提供的服务使众多主机之间能够互相通信并交换或共享信息。
“主机A和主机B进行通信”,实际上指“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”。由于“进程”是指“运行中的程序”,也就是说“主机A的某个进程和主机B上的另一个进程进行通信”,这种说法可以简称为“计算机之间的通信”。
在网络边缘的端系统之间的通信方式通常可以划分为两大类:客户服务器方式(C/S方式)和对等方式(P2P方式)。
C/S方式表示Client/Server方式,P2P方式表示Peer-to-Peer方式。有时还会看到另一种叫浏览器-服务器方式,即B/S方式(Browser/Server方式),这是C/S方式的一种特列。
1.客户-服务器 方式
客户(Client)和服务器(Server)都是指通信种所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。
特征:客户是服务请求方,服务器是服务提供方。
服务请求方和服务提供方都要使用网络核心部分所提供的服务。
特点:
客户程序:
- 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统。
服务器程序:
- 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
- 系统启动后即自动调用并一直不断地运行着,被动地等待来自各地的客户的通信请求。因此服务器不需要知道客户程序的地址。
- 一般需要有强大的硬件和高级的操作系统支持。
2.对等连接方式
对等连接(Peer-to-Peer,简写为P2P)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种的方式称为P2P方式。
如上图,主机C、D、E和F都运行了P2P软件,因此这几台主机都可以进行对等通信。实际上,对等连接方式从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。例如主机C,当主机C请求D的服务时,C是客户,D是服务器。但C如果有同事向F提供服务,那么C又同时起着服务器的作用。
对等连接方式可支持大量对等用户(如上百万个)同时工作。区块链技术就用要到了P2P方式。