主机A运行客户程序,而主机B 运行服务程序,在这中情况下,A是客户端而B是服务端,客户A向服务器B发送请求,而服务器B向客户A提供服务。这里最主要的特点是:客户是服务请求方,服务器是服务提供方。服务请求方和服务提供方都需要使用网络中的核心部分所提供的服务。在实际的应用中,客户端程序和服务端程序通常会有以下一些特点。
客户程序:被用户调用后运行,在通信时主动向远程服务器发起通信(请求服务),因此,客户程序必须要知道服务器程序的地址。不需要特殊的硬件和很复杂的操作系统。
服务器程序:是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求,,因此,服务器程序不需要知道客户程序的地址。一般需要有强大的硬件和高级操作系统支持。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。顺便要说一下,上面所说的客户和服务器本来都指的是计算机进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”( client)。但在许多国外文献中,经常也把运行客户程序的机器称为 client(在这种情况下也可把 client译为“客户机”),把运行服务器程序的机器称为 server。因此我们应当根据上下文来判断 client或 server是指软件还是硬件。在本书中,在表示机器时,我们也使用“客户端”(或“客户机”)或“服务器端”(或服务器)来表示“运行客户程序的机器”或“运行服务器程序的机器”。
对等连接(P2P)方式
对等连接( peer-to-peer,简写为P2P。这里使用数字2是因为英文的2是two,其读音与to同,因此英文的to常缩写为数字2)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P方式。在图1-8中,主机C,D,E和F都运行了P2P软件,因此这几台主机都可进行对等通信(如C和D,E和F,以及C和F)。实际上,对等连接方式从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。例如主机C,当C请求D的服务时,C是客户,D是服务器。但如果C又同时向F提供服务,那么C又同时起着服务器的作用。
对等连接工作方式可以支持大量对等用户同时工作,关于这种工作模式以后会讲到。
互联网的核心部分网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。在网络核心部分起特殊作用的是路由器 (router),它是一种专用计算机(但不叫做主机)。路由器是实现分组交换 packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。为了弄清分组交换,下面先介绍电路交换的基本概念。
电路交换的主要特点在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。图1%(a)表示两部电话只需要用一对电线就能够互相连接起来。但若有5部电话要两两相连,则需要10对电线,见图1-9(b)所示。显然,若N部电话要两两相连,就需要N(N-1)2对电线。当电话机的数量很大时,这种连接方法需要的电线数量就太大了(与电话机的数量的平方成正比)。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如图19(c)所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。电话发明后的一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换( (circuit switching)
当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。从通信资源的分配角度来看,交换( switching)就是按照某种方式动态地分配传输线路的资源。在使用电路交换通话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换°。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。