本章介绍在Internet上提供的服务,其中包括域名、电子邮件、文件上传和下载、信息浏览等服务。这些都是互联网上给用户提供的必要服务,通过这些服务,我们可以发送电子邮件,下载图片和其他资料,服务是直接面对用户的。
【本章主要内容】
客户机/服务器模型。
域名服务。
电子邮件服务。
文件传输服务。
Web服务。
6.1 基础知识
Internet网络涵盖丰富的信息资源,存储的信息以商业、科技和娱乐信息为主。通过Internet我们可以了解来自世界各地的信息,收发电子邮件,与朋友聊天,进行网上购物,观看影片,欣赏音乐,阅读网上杂志等。
在Internet网络上传播的信息形式多种多样,世界各地用它传播信息的机构和个人越来越多,网上的信息内容也越来越广泛和繁杂。Internet已成为世界上最大的广告系统、信息网络和新闻媒体。
Internet网络中有许多专题论坛,相同专业、行业或兴趣相投的人可以在网上提出专题展开讨论,论文可长期存储在网上,供人调阅或补充。
Internet网络已经成为目前世界上资料最多、门类最全、规模最大的资料库,你可以自由在网上检索所需资料。
那么Internet是怎样提供服务的?
6.1.1 Internet的应用层主要协议
Internet使用TCP/IP体系结构,其中包括若干层协议,TCP/IP的应用层面向不同的网络应用引入了不同的应用层协议。应用层的主要协议如下。
(1)依赖面向连接的TCP服务的协议:包括虚拟终端协议(Virtual Terminal Protocol,VTP)、文件传输协议(File Transfer Protocol,FTP)、简单邮件传输协议(Simple Mail TransportProtocol,SMTP)、超文本链接协议(HyperText Transfer Protocol,HTTP)。
(2)依赖UDP服务的协议:包括简单文件传输协议(Trivial File Transfer Protocol,TFTP)、网络文件系统(Network File System,NFS)、远程进程调用(Remote ProcedureCall,RPC)、简单网络管理协议(Simple Network Management Protocol,SNMP)。
(3)依赖TCP和UDP服务的协议:包括DNS、公共管理信息服务与协议(Common Management Over TCP/IP,CMOT)。
6.1.2 客户机/服务器模型
1.认识客户机/服务器模型
客户机和服务器是参与通信的两个应用实体,客户机主动发起通信请求,服务器被动地等待通信的建立。
客户机和服务器都是连入网络的独立计算机进程。当某一台计算机的一个进程向其他计算机提供如数据、文件的共享等各种网络服务时,它就被称为服务器。而那些用于访问服务器资源的计算机进程则被称为客户机。
严格地说,客户机/服务器模型并不是从物理分布的角度来定义的,它体现的是一种网络服务模式。
客户机/服务器模型特性如下。
(1)网络中每台联网的计算机既为本地用户提供服务,也为网络中其他主机的用户提供服务。
(2)每台联网的计算机硬件、软件与数据资源应该既是本地用户可以使用的资源,也是网络的其他主机的用户可以共享的资源。
(3)每一项网络服务都对应一个“服务程序”进程。
(4)“服务程序”进程要为每一个获准的网络用户请求执行一组规定的动作,以满足用户网络资源共享的需要。
(5)网络环境中进程通信要解决的进程间相互作用的模式。
(6)客户机与服务器分别表示相互通信的两个应用程序进程;有时也称运行客户机进程的计算机为客户机,运行服务器进程的计算机为服务器。
(7)客户机向服务器发出服务请求,服务器响应客户机的请求,提供客户机所需要的网络服务。
2.使用客户机/服务器模型的原因
(1)网络资源分布的不均匀性
网络资源分布的不均匀性表现在硬件、软件和数据等方面。第一,从设计和建设应用的人员角度考虑,他们希望网络资源分布是不均匀的;第二,网络不同结点之间在硬件配置、计算能力、存储能力,以及信息分布等方面存在着差距。
所以,需要能力强、资源丰富的一方充当服务方,也就是充当服务器的角色,能力弱或需要某种资源的一方成为资源的使用者,即客户端的角色。
(2)网络环境中进程通信的异步性
分布在不同主机系统中的进程什么时间发出通信请求,希望和哪一台主机的哪一个进程通信,以及对方进程是否能接受通信请求都是不确定的,没有高度的调度和协调。
基于以上原因,应该建立一个体制,即在准备通信的进程之间建立起连接,并在进程交换数据过程中维护连接,为数据交换提供同步控制机制。
6.2 域名服务
DNS(Domain Name System)是我们常说的域名系统。为了使基于IP地址的计算机在通信时便于被用户所识别,Internet在1985年开始采用域名管理系统。互联网上的服务器是通过IP地址进行识别的,但IP地址不便记忆。所以通过域名和IP地址的对应关系实现了寻址,DNS的作用就在于将便于人们记忆的域名解析成Internet可以识别的IP(假设202.204.222.3)地址。
6.2.1 层次式主机的命名规则
在Internet上,域名具有命名的规则。一台计算机的域名表示为:计算机主机名.机构名.网络名.最高层域名。
这是一种分层的管理模式,域名用文字表达比用数字表示的IP地址容易记忆。加入Internet的各级网络依照DNS的命名规则对本网内的计算机命名管理,并在通信时负责完成域名到对应的IP地址转换。
下属于美国国防部的国防数据网络通信中心(DDNNIC)负责Internet最高层域名的注册和管理,同时它也负责IP地址的分配工作。
DNS提供目录服务,通过搜索计算机的名称实现Internet网络上该计算机对应的IP地址的查找,反之亦然。
6.2.2 Internet域名服务器的层次
一个根服务器(root server)在这个层次体系的顶部,它是顶层域的管辖者。例如,一个公司网络或校园网内可以将它所有的域名都由一个域名服务器解析,也可以同时运行几个域名服务器,那么可以称这个校园或公司网络范围为一个区域。
在一个区域内有多台域名服务器时,域名服务器分为主域名服务器和从域名服务器。
(1)主域名服务器
直接从本区数据文件(zone file)中加载本区的信息,区数据文件中包含了服务器所在区内的服务器主机名和它们对应的IP地址。
(2)从域名服务器
在启动时与负责本区的主域名服务器进行联系,经过一个“区内传输”的过程复制主服务器的数据库。此后,将周期性的查询主域名服务器的数据是否被修改,以保持自己数据库中的数据是最新版本。
6.2.3 域名解析原理
域名解析服务器的主要任务是完成域名到IP地址的解析过程,也采用客户机/服务器模式。
在域名服务器上运行一个服务进程,该进程实现域名到IP地址的解析,则称该服务器为域名解析服务器。域名服务器中存储一个区域(可以理解为DNS服务器负责解析的范围)或多个区域中主机的信息。通常在一个区域内设置多台服务器,主要目的是为了提高域名解析系统的可靠性。当其中某台域名服务器出现故障时,其负责解析的所有域名请求能够转发给其他的域名服务器;并且,可以将域名的请求平均分担给多台服务器,如此便提高了整个系统域名解析的能力和解析的效率,并且可以根据需要将多台域名服务器放置到不同的地方,为用户提供就近地理位置的解析服务。
1.解析算法
(1)递归解析
要求名字服务器系统一次性完成全部名字到地址的变换,任务主要由服务器软件承担。
(2)反复解析
每次请求一个服务器,如果解析不出来,再请求别的服务器,反复解析的任务主要由域名解析服务器软件承担。
2.解析的完整过程案例
我们以一个案例来说明域名解析的过程。
(1)用户提出域名解析请求,并将该请求发送给本地的域名服务器。
(2)当本地的域名服务器收到请求后,查询本地的缓存。如果有该纪录项,则本地的域名服务器直接把查询的结果返回。
(3)如果本地的缓存中没有该纪录,则本地域名服务器直接把请求发给根域名服务器,由根域名服务器将其返回给本地域名服务器一个所查询域(根的子域,如cn)的主域名服务器的地址。
(4)本地服务器再向步骤(3)中返回的域名服务器发送请求,收到该请求的服务器则查询其缓存,并返回与此请求所对应的记录或相关的下级域名服务器的地址,由本地域名服务器将返回的结果保存到缓存。
(5)重复第(4)步,直到找到正确的纪录。
(6)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
6.3 电子邮件服务
6.3.1 认识电子邮件系统
目前,电子邮件已经被广泛应用,在此关于电子邮件的概念不再叙述。但必须清楚电子邮件系统的以下主要功能。
(1)接收和发送邮件的电子邮件系统不但可以传输各种格式的文本信息,而且还可以传输图像、声音、视频等多种信息。
(2)邮件系统的核心邮件服务器负责接收用户送来的邮件,并根据收件人地址发送到对方的邮件服务器中;同时负责接收由其他邮件服务器发来的邮件,并根据收件人地址分发到相应的电子邮箱中。
6.3.2 工作模式
1.电子邮件系统的体系结构
(1)代理
代理也被称为邮件阅读器,是用户与电子邮件系统的接口,允许用户阅读和发送电子邮件,一般为用户进程。例如Outlook、Foxmail都是受欢迎的电子邮件用户代理。
(2)邮件服务器
邮件服务器是电子邮件系统的核心,起到邮局的作用。接收用户邮件,根据地址传输。邮件服务器是后台运行的程序,必须不断运行,否则就导致很多外来邮件丢失。
2.邮件传输协议
在一些邮件代理中需要配置协议,邮件系统需要邮件发送和接收协议,才能完成完全的服务。例如,SMTP协议负责邮件的发送工作;POP3等协议负责接收邮件。
(1)SMTP协议
其特点和功能如下。
①运行在TCP协议之上,使用公开端口号25。
②使用简单的命令传输邮件。
③规定了14条命令和21种响应信息。
④使用客户机/服务器工作模式,SMTP客户机发送邮件的SMTP进程,SMTP服务器接收邮件的SMTP进程。
(2)POP3
其特点和功能如下。
①是一个简单的邮件读取协议。
②使用客户机/服务器的工作方式。
③接收邮件的用户主机运行POP3客户程序,邮件服务器运行POP3服务器程序。
④运行在TCP协议之上,使用公开的端口号110。
⑤规定了15条命令和24种响应信息。
POP3协议的服务器是具有存储转发功能的中间服务器,该类服务器在邮件交付给用户之后,不再保存这些邮件。IMAP协议可以解决这个问题。
(3)IMAP
其特点和功能如下。
①当客户程序打开IMAP服务器的邮箱时,可以看到邮件的首部;如果用户需要打开某个邮件,可以将该邮件传送到用户的计算机;在用户未发出删除邮件的命令前,IMAP服务器邮箱中的邮件一直保存着。
②POP3协议是在脱机状态下运行的,而IMAP协议是在联机状态下运行。IMAP协议的功能优于POP3协议。
6.4 文件传输服务
6.4.1 认识文件传输协议
文件传输协议(File Transfer Protocol,FTP)提供文件传输服务。文件传输服务可以传输任何格式的数据,可以访问Internet的各种FTP服务器。访问FTP服务器的模式分为两种,一种访问是注册用户登录到服务器系统,另一种访问是匿名(anonymous)进入服务器,其中匿名服务受到广泛欢迎,成为人们获得网络资源的一种重要手段。
文件传输服务提供从一台计算机上传和下载文件功能,这台提供文件的计算机被称为FTP服务器,需要文件的计算机被称为客户机。
1.文件传输服务的主要内容
(1)可以在客户机和服务器之间传输1个或多个文件。
(2)传输多种类型、多种结构、多种格式的文件。
(3)具有本地和远程系统的目录操作功能,可以改变目录。
(4)具有改变文件名、显示内容、改变属性、删除等功能。