第4章 Internet基本服务
单选题 16~20 多选题2题
4.1 客户机、服务器和对等计算模型
客户机/服务器模型
(1) 客户机/服务器模型
- 客户机服务器模型是应用软件之间最 常用、最重要的交互模型
- 应用进程之间为了能顺利地进行通信,一方通常需要处于守候状态,等待另一方请求的到来
(2) 实现中需要解决问题
- 标识一个特定的服务
- 一个主机可以运行多个服务器进程,要求每个服务一个唯一的标识, 同时要求服务器进程和客户机进程都使用这个标识
- 当服务器进程开始执行时,首先在本地主机上注册自己提供服务所使用的标识
- 在TCP/IP互联网中,服务器进程通常使用TCP协议或UDP协议的端口号作为自己的特定标识。
- 响应并发请求
- 重复服务器方案
- 该方案实现的服务器进程中包含一个请求队列,客户机请求到达后,首先进入队列中等待,服务器按照先进先出(FIFO)的原则顺序作出相应
- 并发服务器方案
- 并发服务器是一个守护进程(Daemon),在没有请求到达时它处于等待状态
- 一旦客户机请求到达,服务器立即再为之创建一个子进程,然后回到等待状态,由子进程相应请求。当下一个请求到达时,服务器再为之创建一个新的子进程并发服务器叫作主服务器(Master),子进程叫作从服务器(Slave)
- 服务器进程的安全问题
- 重复服务器方案
对等计算模型
(1) 对等计算模型的概念
- 对等计算(P2P)可以定义成通过直接交换来共享计算机资源和服务,而对等计算模型再应用形成的网络通常称为对等网络
- 资源和服务包括:信息的共享与交换、计算机资源(如CPU的共享)、存储资源(如缓存和磁盘控件的使用)等
(2) P2P网络的基本结构
- 集中式P2P网络
- 集中式网络形式有一个中心服务器来负责记 录共享信息以及回答对这些信息的查询
- 采用集中式拓扑结构的P2P系统被称为第一代P2P系统,其代表性的软件有Napster和Maze
- 分布式非结构化网络
- 采用随机图的组织方式形成一个松散的网络,这种结构对网络的动态变化有较好的容错能力,有较好的可用性
- 采有分布式非结构化拓扑的P2P即时通信软件的典型代表有Gnutella、Shareaza、 LimeWire和BearShare。
- 每个结点都具有相同的功能,既是客户机又是服务器,所以结点也被称为对等点
- 拓扑的优点是网络配置简单,不需要服务器的支持。在网络规模较小的时候具有很高的查询效率
- 网络中多采用洪泛方式查询和定位资源,但联网结点和网络规模增大,给网络带来了沉重的负载
- 采用了TTL (生存时间)、洪泛随机漫步或有选择转发算法,拓扑的网络直径不可控,可扩展性较差
- 分布式结构化网络
- 解决非结构化拓扑的P2P网络中随机搜索造成的扩展性差的问题
- 基于DHT(分布式散列表)的分布式发现和路由算法
- 通过分布式散列函数输人的关键字唯一地映射到某个结点上,然后通过一些特定的路由算法和该结点 建立连接
- 在DHT技术中,网络结点按照一定的方式分配一个唯一的结点标识符(Node ID),资源对象通过散列运算产生一个唯一的资源标识符(Object ID),且该资源将存储在结点ID与之相等或者相近的结点上
- DHT类结构能够自适应结点的动态加入退出,有着良好的可扩展性、健壮性、结点ID分配的均匀性和自组织能力
- 缺点
- DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动会极大地增加DHT的维护代价
- DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询
- 目前采用分布式结构化拓扑的P2P网络系统有Pastry、Tapestry、Chord和CAN
- 混合式P2P网络
- 混合P2P网络结合了集中式和分布式P2P网络的优点,将用户节点按能力进行分类,使某些节点担任特殊的任务
- 包含三种结点:
- 用户节点:普通的结点就是用户结点,它不具有任何特殊的功能
- 搜索结点:处理搜索请求,从其子结点中搜索文件列表,必须有较高的网络速度,采用高性能的处理器
- 索引结点:连接速度快、内存充足的结点,可以利用的搜索结点信息、搜索状态信息以及尽力维护网络的结构。默认情况下,搜索结点可以最多维护500个子结点
4.2 域名系统(DNS)的过程
互联网的命名机制
互联网提供主机名的主要目的是让用户更方便地使用互联网
- 全局唯一性:一个特定的主机名在整个互联网上是唯一的,能在整个互联网中通用
- 名字便于管理:优秀的命名机制应能方便地分配名字、确认名字,以及回收名宇
- 高效地进行映射:用户级的名字不能为使用IP地址的协议软件所接受,而IP地址也不能为一般用户所理解,二者之间存在映射需求
(1) 命名机制
- 无层次命名机制
- 主机的名字简单地由一个字符串组成而且字符串没有进一步的结构
- 名字冲突、单一管理结构的工作负担大、单一映射表效率低
- 只能适用于主机不经常变化的小型互联网
- 层次型命名机制
- 在名字中加入层次型结构
- 名字被划分成几个部分,而每一个部分之间存在层次关系
- 将名字空间划分成一个树状结构,树中的每一个结点都有一个相应的标识符
(2) Internet域名
- 在TCP/IP互联网中所实现的层次型名字管理机制叫作域名系统(DNS)
- 域名系统的命名机制叫作域名(Domain Name)
- 完整的域名由名字树的一个结点到根节点路径上结点标识符的有序序列组成,其中结点标识符之间以
.
隔开
域名解析
(1) TCP/IP域名服务器与解析过程
- 在TCP/IP互联网中,对应于域名的层次结构,域名服务器也构成一定的层次结构,域名解析的过程只需走过一条从树中根结点开始到另一结点的一条自顶向下的单向路径,无须回溯,更不用遍历整个服务器树
- 域名解析有两种方式,第一种叫递归解析,要求域名服务器系统一次性完成全部名字地址变换。第二种叫反复解析,每次请求一个服务器,不行再请求别的服务器。
(2) 提高域名解析的效率
- 解析从本地域名服务器开始
- 域名服务器的高速缓冲技术
- 域名服务器向解析器报告缓冲 信息时,需注明这是“非权威性的”的映射,并且给出获取该映射的域名服务器IP地址
- 对高速缓冲区中的每一映射关系都有一个最大生存周期,它规定该映射关系在缓冲区中保留的最长时间
- 主机上的高速缓冲技术
对象类型与资源记录
对象类型
- SOA——授权开始
- A——主机地址(32位二进制IP地址)
- MX——邮件交换机
- NS——域名服务器
- CNAME——别名
- PTR——指针
- HINFO——文件描述
- TXT——文本(ASCII)
资源记录
资源记录主要放置域名与其IP地址的映射关系。通常由域名、有效期(TTL)、类别(class)、类型(type)和域名的具体值(value) 组成。
4.3 远程登录与FTP服务
远程登录
- 远程登录是Internet最早提供的基本服务功能之一,允许任意类型的计算机之间进行通信
- 远程终端协议(Telnet) 精确地定义了本地客户机与远程服务器之间的交互过程
特点:
- 本地用户与远程计算机上运行的程序相互交互
- 用户登录到远程计算机时,可以执行远程计算机上的任何应用程序(只要该用户具有足够的权限),并且能屏蔽不同型号计算机之间的差异
- 用户可以利用个人计算机去完成许多只有大型计算机才能完成的任务
Telnet协议:
- 远程登录协议Telnet(应用层,端口号23)是TCP/IP协议族中的一个重要协议,能够解决多种不同的计算机系统之间的互操作问题
- 为了解决不同计算机系统的差异性,Telnet协议引入了网络虚拟终端(NVT)
- NVT提供了一种标准键盘定义,用来屏蔽不同计算机系统对键盘输入的差异性
FTP服务
文件传输协议FTP(应用层,端口号20/21),主要用于Internet上文件的双向传输,用户可以从一台Internet主机向另一台Internet主机拷贝文件,采用客户机/服务器模式。
(1) FTP客户机/服务器模型
- 控制连接以通常的客户机/服务器方式建立。服务器进程以被动方式在TCP的21端口上打开,等待客户机的连接。
- 数据连接用于传输数据。数据连接的建立由主动模式(默认模式)和被动模式
(2) FTP命令与响应
- 从客户机到服务器的命令和从服务器到客户机的应答都是以7位ASCII码格式经由控制连接传送的
- PASV——请求使用被动模式建立数据连接
- LIST filelist——请求服务器返回当前远程目录下的目录和文件
- TYPE type——说明文件类型:A表示ASCII码,I表示图像
- QUIT——从服务器注销
(3) 文件格式
- FTP协议支持两种文件传输方式:文本文件传输和二进制文件传输
- FTP协议支持ASCII码文件类型和EBCDIC文件类型。ASCII码文件类型是系统的默认方式,文本文件以NVT ASCII码形式以数据连接中传输。EBCDIC文本类型的文本文件传输要求两端都是采用EBCDIC编码的系统
- 文件系统不对文件格式进行任何变换,按照原始文件相同的位序以连续的比特流方式进行传输,确保拷贝文件与原始文件逐位一一对应
(4) FTP服务器
- FTP服务器利用用户账号来控制用户对服务器的访问权限
- 当用户访问提供匿名服务的FTP服务器时,用户登录时一般不需要输人账号和密码或使用匿名账号和密码。 匿名账户和密码是公开的,如果没有特殊声明,通常用**"anonymous" 作为账号,用"guest" 作为口令**
- 当FTP服务器提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处 于隐匿状态。为了保证FTP服务器的安全性。
4.4 电子邮件系统(E-Mail)
E-Mail的基本知识
电子邮件采用客户机/服务器工作模式。电子邮件服务器是邮件服务系统的核心。
简单邮件传输协议SMTP
(1) SMTP的概念
- SMTP邮件传输采用客户机/服务器模式,邮件的接收程序作为SMTP服务器在TCP的25端口守候,邮件的发送程序作为SMTP客户机在发送前需要请求一条到SMTP服务器的连接。
- SMTP的最大特点就是简单和直观,它不规定邮件的接受程序如何存储邮件,也不规定邮件发送程序多长时间发送一个邮件,它只规定发送程序和接受程序之间的命令和应答。
(2) SMTP的常见命令
- HELO<主机域名>——开始会话
- MAILFROM<发送者电子邮件地址>——开始一个邮件处理,指出邮件发送者
- RCPTTO:<接受电子邮件地址>——指出邮件接收者
- DATA——接受程序将data命令后面的数据作为邮件内容处理
- RSET——中止当前的邮件处理
- NOOP——无操作
- QUIT——结束会话
(3) SMTP的传递过程
- 建立阶段
- SMTP客户机请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和客户机就开始互相通报自己的域名,同时确认对方的域名
- 邮件传递阶段
- 利用MAIL、RCPT和DATA命令,SMTP将邮件的源地址、目的地址和邮件 的具体内容传递给SMTP服务器,SMTP服务器进行相应的响应并接收邮件
- 连接关闭阶段
- SMTP客户机发送QUIT命令,服务器在处理命令后进行响应,随后关闭TCP 连接
邮局协议POP3
(1) POP3的概念
- 用户可以通过POP3协议查看和管理邮件,POP3采用客户机/服务器模式,其客户机程序运行 在用户的PC机上,服务器程序运行在邮件服务器上。
- POP3的命令和响应采用ASCII字符串的形式,POP3的响应有两种基本类型,一种以"+OK" 开始,表示命令已成功执行或服务器准备就绪等;另一种以"-ERR" 开始,表示错误的或不可执行的命令。
(2) 常用命令
- USER<用户邮箱名>——客户机希望操作的电子邮箱
- PASS<口令 >——用户邮箱的口令
- STAT——查询报文总数和长度
- LIST[<邮件编号>]——列出报文的长度
- RETR<邮件编号>——请求服务器发送指定编号的邮件
- DELE<邮件编号>——对指定编号的邮件作删除标记
- NOOP——无操作
- RSET——复位操作,清除所有删除标记
- QUIT——删除具有“删除”标记的邮件,关闭连接
(3) POP3的传递过程
- 认证阶段
- 客户机程序利用USER和PASS命令将邮箱名和密码传送给服务器,服 务器据此判断该用户的合法性,开给出相应的应答。
- 事务处理阶段
- 客户机可以利用STAT、LIST、RETR、DELE等命令检索和管理自己的 邮箱,服务器在完成客户机请求的任务后返回响应的命令。
- 更新阶段
- 当客户机发送QUIT命令时,系统进入更新阶段。
邮件报文的基本格式
- RFC822
- RFC822将电子邮件报文分成邮件头和邮件体
- 限制只能是7位ASCII字符串(只能传输文本)
- MIME协议
- 继承了RFC822模式,增加邮件头字段,将8位的二进制信息变换成7位的ASCII文本
- 推荐的编码方式包括带引见符的可打印编码(Quoted-Printable)和基数64编码(base64)
- RFC822
4.5 浏览器(Web)服务
Web服务基本概念
- Web服务采用客户机/服务器工作模式,以HTML与HTTP为基础,为用户提供界面一致的信息浏览系统。
- 在Web服务系统中,信息资源以页面(采用超文本方式对信息进行组织)的形式存储在服务器(通常称为Web站点)中。
- 页面到页面的链接信息由统一资源定位符URL维持。
- 以超文本方式组织网络多媒体信息。
- 用户可以在世界范围内任意查找、检索、浏览及添加信息。
- 提供生动直观、易于使用、统一的图形用户界面。
- 服务器之间可以互相链接。
- 可访问图像、声音、影像和文本信息。
浏览器的组成
- 控制单元
- 客户单元
- 解释单元
Web系统的传输协议
- HTTP请求报文包括一个请求行和若干个报头行,有时还可能带有报文体。报文头和报文体以空行分隔。请求行包括请求方法、被请求的文档以及HTTP版本。
- HTTP应答报文包括一个状态行和若干个报头行,并可能在空行后带有报文体。其中,状态行包括HTTP版本、状态码、原因等内容。
Web系统的页面表示方式
- HTML是Web上用于创建超文本链接的基本语言,可以定义格式化的文本、色彩、图像与超文本链接等,主要用于Web页面的创建与制作。
- HTML是一个简单的标记语言,主要用来描述Web文档的结构。用HTML描述的文档由两种成 分组成,一种是HTML标记(tag) ,另一种是普通文本。
- HTML中最基本的元素是段落,段落可以用<p>表示,浏览器将段落的内容从左到右,从上到 下显示。
Web系统的安全性
(1) 浏览器的安全特性
- 保护自己的计算机
- 浏览器通常将Internet世界划分成几个区域,用户可以针对每个区域指定浏览器处理下载程序和文件的方式,并将要访问的Web站点按其可信度分配到不同的区域。
- 验证站点的真实性
- 在浏览该站点前要求Web站点将其从CA安全认证中心申请的数字证书发送过来。
- 避免他人假冒
- 用户可以从CA安全认证中心申请自己的证书,并将该证书装入浏览器,利用其在Internet上表明自己的身份
- 在与Web站点交互时
- 可以使用 安全通道(SSL) 访问Web站点,以避免第三方偷看或篡改
- SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持
- SSL通过互相认证、使用数字签名确保完整性、使用加密确保机密性,以实现哭护短和服务器之间的安全通讯
(2) 服务器的安全特性
- IP地址限制:限制或允许特定的计算机、计算机组或整个网络访问Web站点中的资源
- 用户验证:特殊资源则需要有效的WindowsNT登录
- Web权限:为站点、目录和文件设置权限
- Web站点与浏览器的安全交互的含义:
- Web站点验证客户机身份。要求浏览器中安装客户机证书
- 浏览器验证Web站点的真实性。要求Web站点安装站点证书
- Web站点与浏览器之间信息的加密传输
- 保护自己的计算机
预览: