计算机网络复习题9

第九章 应用层9.1 应用层基本概念按照ISO 的OSI 模型,应用层是最高层,而在TCP/IP模型中应用层同样也处在最高层。随着Internet 技术的迅速发展,以TCP/IP模型为代表的应用层协

第九章 应用层

9.1 应用层基本概念

按照ISO 的OSI 模型,应用层是最高层,而在TCP/IP模型中应用层同样也处在最高层。随着Internet 技术的迅速发展,以TCP/IP模型为代表的应用层协议正在不断丰富和完善。

域名系统(Domain Name System,DNS ),用于管理和提供主机或设备的名字与IP 地址之间映射关系的服务。

文件传送协议(File Transfer Protocol,FTP ),用于在网络中实现交互式的文件传送。 简单邮件传送协议(Simple Mail Transfer Protocol,SMTP ),用于在网络中邮件的传输。 远程登录协议(Telnet ),用于在网络中实现远程登录。

超文本传送协议(Hyper-text Transfer Protocol ,HTTP ),用于在Internet 中提供WWW 服务。

应用层协议可分为三类:

依赖于面向连接的TCP :这一类包括远程登录协议TELNET ,电子邮件协议SMTP 和文件传输协议FTP 等。

依赖于无连接的UDP :这一类包括单纯文件传输协议TFTP ,远程过程调用协议RPC 等。 既依赖于TCP 又依赖于UDP 的协议:这一类有域名系统协议DNS 等。

客户机/服务器模型

Internet 中提供的应用层服务很多都使用了客户机/服务器模型为基础。

客户机/服务器模型是在分布式计算中,一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式。

客户机(Client)和服务器(Server)分别指两个应用程序。客户机向服务器发出服务请求,服务器做出响应。服务器应处于守候状态,并监测客户机的请求。客户机发出请求,该请求经互联网传送给服务器。一旦服务器接收到这个请求,就可以执行请求指定的任务,并将执行的结果经互联网回送给客户机。

一台主机上通常可以运行多个服务器程序,每个服务器程序需要并发地处理多个客户机的请求,并将处理的结果返回给客户机。

服务器程序通常比较复杂,对主机的硬件资源及软件资源都有一定的要求。

客户机程序由于功能相对较简单,通常不需要特殊的硬件和高级的网络操作系统。 客户机/服务器模型不但很好地解决了互联网应用程序之间的同步问题,而且其非对等相互作用(客户机请求服务,服务器提供服务)的特点很好地适应了互联网资源分配不均的客观事实。

由于一个主机可以运行多个服务器程序,必须提供一套机制让客户机程序无二义性地指明所希望的服务。这种机制要求赋予每个服务一个唯一的标识,同时要求服务器程序和客户机程序都使用这个标识。

当服务器程序开始时,首先在本地主机上注册自己提供服务所使用的标识。在客户机需要使用服务器提供的服务时,则利用服务器使用的标识指定所希望的服务。一旦运行服务器程序的主机接收到一个具有特定标识的服务请求,它就将该请求转交给注册该特定标定标识的服务器程序处理。

,

在TCP/IP互联网中,服务器程序通常使用TCP 协议或UDP 协议的端口号作为自己的特定标识。在服务器程序启动时,首先在本地主机注册自己使用的TCP 或UDP 端口号,这就意味着在声明该端口号已被占用的同时,通知本地主机,如果在该端口上收到信息,则需要将这些信息转交给注册该端口号的服务程序处理。在客户机程序需要访问某个服务时,可以通过与服务器程序使用的TCP 端口建立连接或直接向服务器程序使用的UDP 端口发送信息来实现。

服务器处理多个并发请求的方案:

重复服务器(Iterative Server)方案:服务器程序中包含一个请求队列,客户机清求到达后,首先进入队列中等待,服务器按照先进先出(First In, First Out)的原则顺序做出响应。重复服务器对系统资源要求不高,但一旦服务器需要较长时间才能完成一个请求,其他请求就需要等待很长时间才能得到响应。重复服务器一般用于处理可在预期时间内处理完的请求,针对于面向无连接的客户机/服务器模型。

并发服务器(Concurrent Server)方案:并发服务器是一个守护进程(Daemon ), 在没有请求到达时,它处于等待状态。一旦客户机请求到达,服务器立即为之创建一个子进程,然后回到等待状态,由子进程响应请求。当下一个请求到达时,服务器再为之创建一个新的子进程。并发服务器称为主服务器(Master) ,子进程称为从服务器(Slave) 。并发服务器方案具有实时性和灵活性的特点,但由于创建从服务器会增加系统开销,对主机的软硬件资源要求较高。一般用于处理不能在预期时间内处理完的请求,针对于面向连接的客户机/服务器模型。

9.2.1 域名系统DNS (Domain Name Server)

IP 地址虽然包含网络号和主机号,但难于记忆、无法通过IP 地址猜测主机的用途,因此必须用更友好的、便于记忆的名字来代替数字 IP 地址。

主机名字要求全局唯一的,即能在整个Internet 通用;

要便于管理,Internet 中主机名字管理工作包括名字分配、确认和名字回收等; 一致性好,不会随IP 地址的改变而改变;

第三要便于映射,即便于名字与IP 地址之间的映射。

域名系统

一种优秀的命名机制应能很好地解决:

全局唯一性:在整个互联网上是唯一的,它能在整个互联网中通用,不管用户在哪里,只要指定这个名字 就可以唯一地找到这个主机。

名字便于管理:优秀的命名机制就以助记词便地分配名字、确认名字以及回收名字。 高效地进行映射:IP 地址与名字之间存在映射。

域名系统DNS

IP 地址可以惟一标识网络上的任何一台主机或其它设备资源,但这需要使用者记忆大量冗长和无任何含义的一长串枯燥乏味的数字,这对于网络应用而言无疑增加了难度。为了向用户提供直观易记的主机标识符,TCP /IP 专门设计了一种分层的名字管理机制,即域名系统DNS (Domain Name System ),在IP 地址和域名之间自动进行映射和转换。DNS 包括字符型的分层主机命名机制(称为域名)和域名—地址映射的分布式计算机的实现。 域名服务的两个基本概念

域名注册就是将主机名和 I P地址记录在一个列表或者目录中,注册的方法可以是人工的或者自动的、静态的或者动态的。

域名解析是一个客户端过程,目的是查找已注册的主机名或者服务器名以便得到相应的I

,

P 地址。

客户机上的解析器将包含网络主机域名的路径描述转换为查询请求。解析器甚至还可以缓存已定位的主机,以加速接通的过程。

DNS 的特点

有效

多数名字可以进行本地解析,只有少数名字的解析需经过 Internet 传输。

可靠

单台名字服务器的故障不会妨碍整个DNS 系统正常工作。

通用

不仅能解析主机域名,还能解析邮箱名、网络服务名。

分布式

由分布在不同地点的一组名字服务器合作来完成名字解析。

平面型命名机制

命名机制

每一主机名简单地由一个字符串组成,没有进一步的层次结构,一般由中央管理机构负责统一命名和分配。

如 MailGFKD,

缺点 WWWGFKD

随着名字数量的增加,名字冲突的可能性越来越大

中央管理机构的工作负担越来越重

地址映射低效

层次型命名机制

在名字中引入层次型结构,其结构层次对应于名字管理机构的层次

每一级机构只负责给它的下级机构授权命名范围

如邮政地址:

优点 中国-湖南-长沙-NUDT, 中国-湖南-长沙-HNU

层次化的命名机制更能保证命名的唯一性,只要同一子树下每层结点的标识符不冲突,完整的主机名绝对不会冲突。

在Internet 中,采用层次型命名机制刚好与 Internet 结构有某种对应关系

域名层次结构

域名的书写格式是由若干分量组成,每个分量表示某级域名,自左向右以此从低级域名向顶级域名排列,分量之间用句点分隔:

. 三级域名. 二级域名. 顶级域名

域名不区分大小写,每个分量最多为63个字符长,整个域名的长度不能超过255个字符。

域名系统

1. 端口:它是应用层与传输层之间的接口,应用程序与传输层协议的接口是传输层端口,这些端口是从零开始的数字编号,每种应用程序都在属于它的固定端口上等待来自其他计算机客户的服务请求。

2. 域名系统 :(Domain Name System:DNS )是Internet 上主机名称的管理系统,它主要用途是把主机名和电子邮件地址映射为IP 地址。DNS 的核心是分级的、基于域的命名机制以

,

及为实行这个命名机制的分布式数据库系统。

3. 资源记录

Domain_name Time_to_live Type Class Value

Domain_name:资源域名。

Time_to_live:生存时间,指出本记录可被缓冲区保存的时间(以秒计),代表记录的稳定性。

Type :记录的类型。

资源记录

IPv4中最主要的DNS 资源记录类型

资源记录

一个针对 cs.vu.nl 域的DNS 数据库的可能部分

Internet 域名系统

由中央管理机构(InterNIC)将最高一级名字空间按用途、国家等划分为若干部分,并将各部分的管理权授予相应机构;

各管理机构可以将管辖内的名字空间进一步划分若干子部分,并将子部分的管理特权再授予若干子机构;

主机域名是由多个由¡°. ¡±分开的标签组成:

每个标签不能超过63个字符;

全部的标签不能超过255个字符;

DNS-国家名码

DNS-国际流行域类型

域名层次结构

域名系统和域名系统服务器

域名系统服务器只是域名系统中的工具,通过它们不停的工作来实现域名系统的各种功能;

D N S服务器为客户机提供一种方法来存储和搜索其他主机的主机名和 I P地址,这里所说的客户机可以是单独的计算机用户、应用服务器,甚至是其他 D N S服务器。 域名服务器

由于在通信时采用的是IP 地址,所以通信前必须将主机的域名转换成IP 地址; 实现域名与

DNS IP 之间互相转化的系统称之为域名服务系统(Domain Name System,,这个转换过程又称为域名解析(Name Resolution); 服务器以层次型结构分布在世界各地, 使用了分布式的数据库,每台DNS 服务器存储一部分域名数据。

主机名和域名空间及域名树

主机名就是计算机在域名系统中使用的名字,每一个主机名及其 I P地址存储在一台或多台D N S服务器中,以便I n t e r n e t中的其他用户可以通过主机名来搜索相应主机的I P地址。

域名空间是指 I n t e r n e t上所有主机唯一的和比较友好的主机名所组成的空间。 域名树是域名空间的骨架。

域名服务器的层次结构

,

一棵名字树可以划分成几个子树,每个子树分配一个管理机构。只要这个管理机构能够保证自己分配的结点名字不重复,完整的主机名就不会重复和冲突。

每个管理机构可以将自己管理的子树再次划分成若干部分,并将每一部分指定一个子部门负责管理。这样,对整个互联网名字的管理也形成了一个树状的层次化结构。

一组既独立又协作的域名服务器是域名解析系统的核心。域名服务器保存着它所管辖区域内的域名与IP 地址的对照表。请求域名解析服务的软件称为域名解析器,在TCP/IP域名系统中,一个域名解析器可以利用一个或多个域名服务器进行名字映射。

域名服务器工作过程

名字服务器

显示区域划分的部分 DNS 名字空间

名字服务器

解析器如何通过8个步骤来查找一个远程名字

在域名解析过程中,只要域名解析器软件知道如何访问任意一个域名服务器,而每一域名服务器都至少知道根服务器的IP 地址及其父结点服务器的IP 地址,域名解析就可以顺利地进行。

域名解析有两种方式:

递归解析(Recursive Resolution):要求域名服务器系统一次性完成全部名字-地址变换。 反复解析(Iterative Resolution):每次请求一个服务器,不行再请求别的服务器。 DNS 的解析过程

域名解析结果

经查询后,返回给解析器的结果可能是下列结果中的一种:

1. 给出所需数据的一个或几个资源记录。这种情况下,解析器将以适当的格式返回得到的回答。

2. 主机名错误。当所查询的名字不存在时给出这种错误。例如,可能用户在键入主机名时出错。

3. 数据未找到错误。当存在所查询的主机名,但找不到相应数据时出现这种错误。

提高域名解析的效率

解析从本地域名服务器开始

域名服务器的高速缓冲技术

保证高速缓冲区中域名-IP 地址映射关系的有效性(对高速缓冲区中的每一映射关系都有一个最大生存周期Time To Live—TTL ,它规定该映射关系在高速缓冲区中的最长保留时间。一旦映射关系的TTL 时间到,系统便将它从高速缓冲区中删除。

主机上的高速缓冲技术:在解析器进行域名解析时,先在本地主机的高速缓冲区中进行查表,如找不到,再将请求送到本地域名服务器。主机必须采用与服务器相同的技术,以保证高速缓冲区中的域名-IP 地址映射关系的有效性。

4. 域名服务器

本地域名服务器和权威域名服务器

,

管理站:管理站实际上是一台运行特殊管理软件的普通计算机。管理站包括一个或多个进程,它们在网络上与代理进行通信、发送命令以及接收应答。

用户代理UA :它是客户端的电子邮件应用程序(有时叫做邮件阅读器),它主要用于编辑、生成、发送、阅读和管理电子邮件,也管理邮箱。

报文传输代理MTA :它主要负责邮件传输,将邮件从发送端传送到接收端,其作用相当于邮局,故也称为电子化邮局。

报文存储系统MS :用于暂存转发的邮件报文。

主DNS 服务器和辅DNS 服务器

主D N S服务器(即S O A )负责域中名字的授权,关于那个域的名字的所有信息都 要从这个服务器获得。一个D N S服务器可以同时是一个或几个域的主服务器,也可以同时既是一个域的主服务器,又是另一个域的辅服务器。

域和域区不存在主或辅的问题,只有 D N S 服务器才有主或辅的概念,辅服务器以作为主服务器的备份, 主D N S服务器才是一个域的名字的授权来源。

主DNS 服务器和辅DNS 服务器

辅D N S服务器从主服务器获得数据。当一个辅 D N S服务器启动时,它首先从主服务器处获得域区数据,并将自己的版本号和主服务器的版本号进行比较。

主服务器是其他 需要输入域区文件的服务器的初始域名来源,而辅服务器则不是传递域区数据的来源。辅服务器的存在只是为了备份并提供查询服务。

域名服务器的对象类型与资源记录

域名系统中每一条目都被赋予了类型(type) 属性。

SOA :标识一个资源记录集合(称为授权区段)的开始。

A :32位二进制值的IP 地址—主机地址

MX :邮件服务器名及优先级

NS :域的授权名字服务器名

CNAME :别名

PTR :对于IP 地址的主机名

HINFO :主机描述

TXT :文本

类别(Class) 属性:标识使用该域名对象的协议类别。

IN :指出使用该对象的协议为Internet 协议。

域名与其IP 地址的映射关系都被放置在资源记录中,每一条资源记录通常由域名、有效期(TTL)、类别(class) 、类型(type)和域名的具体值(value) 组成。

DNS 服务器的安装

(1)打开“添加/删除程序”窗口。选“开始菜单→设置→控制面板→添加/删除程序”。 (2)然后单击“添加/删除 Windows 组件”,打开“Windows 组件向导”窗口,如右图所示。

DNS 服务器的安装

(3)在“组件”下,滚动列表并选中“网络服务”。 单击“详细信息”按钮,打开“网络服务”窗口。如图5-15所示。

,

(4)在“网络服务的子组件”下,单击“域名服务系统 (DNS)”,然后单击“确定”按钮。

(5)安装程序开始配置组件,在“文件复制来源”中,键入 Windows 2000 分配文件的完整路径,然后单击“确定”按钮。 所需的文件被复制到硬盘上,就可以使用服务器软件了。

DNS 的安全问题

DNS 本身从一开始设计就没有考虑到安全性,它既没有在DNS 内部对DNS 中的数据提供认证机制和完整性检查也不提倡对DNS 提供的服务进行访问控制和限制,造成了许多安全漏洞.

现有的对DNS 进行的网络攻击大概可分为以下几类:缓存中毒,拒绝服务,不安全的动态更新,信息泄漏和DNS 服务器权威数据库的入侵.

DNS 的安全问题

客户端拥塞问题:

DNS 的安全问题

缓存中毒:

DNS 的安全问题

9.2.2文件传送协议FTP

FTP 的作用是在网络上不同计算机系统间传送文件 。

FTP 使用TCP 提供的可靠服务,其主要功能是减少或消除不同操作系统对文件处理的差异,这样就能做到在文件传送过程中与主机的类型无关,文件的种类不限。由于它屏蔽了各计算机系统的细节,所以很适合在异构网络中的计算机之间传送文件。

FTP 采用了客户机/服务器模式,客户机和服务器之间利用TCP 建立双重连接,一个是控制连接,一个是数据连接。

FTP 是一个交互式会话系统,控制连接用于维持会话,负责在客户机和服务器之间传送FTP 命令和响应。利用控制连接,客户机可以向服务器发出多次数据传输请求,对于每次数据传输请求,客户机与服务器之间要建立一个独立的数据连接,进和过瘾垢数据传输。

Ftp 的基本概念

1. FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。从远程主机拷贝文件至自己的计算机上, 称之为―下载(download )‖文件。若将文件从本地主机中拷贝至远程主机上,则称之为―上载(upload )‖文件。

FTP 在RFC 959 可具体查询。

FTP 的结构

,

FTP 的连接

FTP 的访问控制:

客户在支持匿名FTP 的服务器上访问公共文件时,只需在服务器主机的账号数据库户加入一个注册名为―anonymous‖,口令为―guest‖的公认账号即可。

Ftp 基本知识

FTP 服务工作模式

Ftp 基本知识

.FTP 的传输有两种方式

(1) ASCII传输模式

用于传送ASCII 码文本文件。

(2)二进制传输模式:(逐字拷贝,不须 转译)

可传送文本和非文本

Ftp 基本知识

匿名FTP 服务

✓匿名FTP 服务的实质是:提供服务的机构在它的FTP 服务器上建立一个公开账户(一般为anonymous ),并赋予该账户访问公共目录的权限,以便提供免费服务;

✓如果用户要访问这些提供匿名服务的

✓大多数FTP 服务器,一般不需要输入用户名与用户密码; FTP 服务都是匿名服务;

✓为了保证FTP 服务器的安全,几乎所有的匿名FTP 服务器都只允许用户下载文件,而不允许用户上载文件。

Ftp 基本知识

FTP 协议有两种工作方式:

一种方式叫做Standard (也就是 PORT 方式,主动方式) ,一种是 Passive (也就是PASV ,被动方式) 。 Standard 模式 FTP 的客户端发送 PORT 命令到FTP 服务器。Passive 模式FTP 的客户端发送 PASV 命令到 FTP Server。

FTP 连接建立

FTP (File Transfer Protocol)的工作原理

FTP 工作的基本原理

FTP 工作的基本原理

(1)FTP

服务器运行FTPd 守护进程,等待用户的FTP 请求。 (2)用户运行FTP 命令, 请求FTP 服务器为其服务。 例:FTP 202.119.2.197

(3)FTPd 守护进程收到用户的FTP 请求后,派生出子进程FTP 与用户进程FTP 交互,建立文件传输控制连接,使用TCP 端口21。

,

(4)用户输入FTP 子命令,服务器接收子命令,如果命令正确,双方各派生一个数据传输进程FTP-DA TA, 建立数据连接,使用TCP 端口20, 进行数据传输。

(5)本次子命令的数据传输完,拆除数据连接,结束FTP-DA TA 进程。

(6)用户继续输入FTP 子命令,重复(4)、(5)的过程,直至用户输入quit 命令,双方拆除控制连接,结束文件传输,结束FTP 进程。

FTP 工作的基本原理

断开数据连接

当一个文件传输完成后,服务器请求结束数据连接;

断开控制连接

当客户端结束会话时,由客户端向服务器端请求关闭控制连接。

FTP 工作的基本原理

FTP 工作的基本原理

主动传输模式

客户端向服务器的FTP 端口(默认是21)发送连接请求,服务器接受连接并建立一条命令链路。当需要传送数据时,客户端在命令链路上用 PORT 命令告诉服务器:―我打开了*****端口,你过来连接我‖。于是服务器从20端口向客户端的*****端口发送连接请求,建立一条数据链路来传送数据

FTP 工作的基本原理

被动传输模式

客户端向服务器的FTP 端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用 PASV 命令告诉客户端:―我打开了*****端口,你过来连接我‖。于是客户端向服务器的*****端口发送连接请求,建立一条数据链路来传送数据。

FTP 的基本操作及应用

Ftp 基本命令举例

FTP [host]

例如: ftp ftp.nudt.edu.cn

username : 实名登录

password :******

或:

username :anonymous 匿名登录

password :FTP 的基本命令

FTP [host]

例如: ftp ftp.nudt.edu.cn

username :test 实名登录

password :

或:

username :anonymous 匿名登录

password :

,

(1)帮助命令组

列出所有的ftp 命令

ftp>?

列出某个ftp 命令的使用说明

例如:列出open 命令的使用说明

(2)连接命令组

连接远程主机

ftp>close 结束当前连接,不退出ftp

结束当前连接,不退出ftp

终止所有连接,退出ftp

ftp>quit 终止所有连接,退出ftp

(3)目录操作与列表命令组

ftp>pwd 列出当前目录名

进入下一级目录

ftp>ls [remote-dir] [local-file] 将远程目录中的文件列表存入本地文件中

(4)文件传输命令组

上传文件

若不指定远程文件名,则远程文件名同本地文件名

一次上传多个文件

下载文件

ftp>get [local-file] remote-file

若不指定本地文件名,则本地文件名同远程文件名

一次下载多个文件

(5)文件类型操作命令组

ftp>ascii 设置传输文件的类型为文本

ftp>binary 设置传输文件的类型为二进制

(6)文件属性操作命令组

ftp>chmod mode remote-file

设置文件权限,权限由mode 规定

例如:ftp>chmod 666 aa 使同组用户和其他用户都有读写权

(7)查看文件内容命令

只显示远程文件filename 的内容,-代表本地

(8)其他

rename 、delete ,mdelete ,size ,¡­¡­

Ftp 的基本操作及应用

Ftp 客户端软件举例

标签: