第六章 应用层

第六章 应用层6.1.1域名系统DNS 概述域名系统DNS 是因特网使用的命名系统,用来把便于人们使用的机器名字换为IP 地址。 因特网的域名系统DNS 被设计成为一个联机分布式数据库系统,并采用客户

第六章 应用层

6.1.1域名系统DNS 概述

域名系统DNS 是因特网使用的命名系统,用来把便于人们使用的机器名字换为IP 地址。 因特网的域名系统DNS 被设计成为一个联机分布式数据库系统,并采用客户—服务器方式。DNS 使大多数名字都在本地进行解析。

域名到IP 地址的解析式由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,人们通常也把运行域名服务器程序的机器也称为域名服务器。 域名到IP 地址的解析过程要的如下:当某一个应用进程需要把主机名解析为IP 地址时,该应用进程就调用解析程序,并成为DNS 的一个客户,把待解析的域名放在DNS 请求报文中,以UDP 用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP 地址放在回答报文中返回。应用进程获得主机的IP 地址后即可进行通信。

6.1.2因特网的域名结构

因特网采用了层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。 域名的结构由标号序列组成,各标号之间用点隔开:

各标号分别代表不同级别的域名。

域名只是个逻辑概念,并不代表计算机所在的物理地点。

变长的域名和使用有助记忆的字符串,是为了便于人来使用。而IP 地址是定长的32 位二进制数字则非常便于机器进行处理。

域名中的“点”和点分十进制IP 地址中的“点”并无一一对应的关系。点分十进制IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。

6.1.3域名服务器

一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。

各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。

每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP 地址的映射。

DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。

域名服务器有以下四种类型

根域名服务器

顶级域名服务器

权限域名服务器

本地域名服务器

根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP 地址。

不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。

在因特网上共有13 个不同IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从a 一直到m (前13 个字母)。

这些根域名服务器相应的域名分别是

a.rootservers.net

b.rootservers.net

,

m.rootservers.net

到2006 年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。 这样做的目的是为了方便用户,使世界上大部分DNS 域名服务器都能就近找到一个根域名服务器。

根域名服务器并不直接把域名直接转换成IP 地址。

在使用迭代查询时,根域名服务器把下一步应当找

的顶级域名服务器的 IP 地址告诉本地域名服务器。

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。

当收到DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP 地址)。

这就是前面已经讲过的负责一个区的域名服务器。

当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS 客户,下一步应当找哪一个权限域名服务器。

本地域名服务器对域名系统非常重要。

当一个主机发出DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。

每一个因特网服务提供者ISP ,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,

这种域名服务器有时也称为默认域名服务器

DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。

当主域名服务器出故障时,辅助域名服务器可以保证DNS 的查询工作不会中断。

主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

域名的解析过程:

主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

6.2.2FTP 的基本工作原理

网络环境下复制文件的复杂性:

(1) 计算机存储数据的格式不同。

(2) 文件的目录结构和文件命名的规定不同。

(3) 对于相同的文件存取功能,操作系统使用的命令不同。

(4) 访问控制方法不同。

FTP 特点:

文件传送协议FTP 只提供文件传送的一些基本的服务,它使用TCP 可靠的运输服务。 FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP 使用客户服务器方式。一个FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤如下:

,

打开熟知端口(端口号为21),使客户进程能够连接上。

等待客户进程发出连接请求。

启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

两个连接:

控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。

实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。 两个不同的端口号:

客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。

由于FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

NFS 采用另一种思路:

NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。

NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。 对于上述例子,计算机A 的NFS 客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机B 的NFS 服务器。NFS 服务器更新文件后返回应答信息。

在网络上传送的只是少量的修改数据。

6.3远程终端协议TELNET

TELNET 是一个简单的远程终端协议,也是因特网的正式标准。

用户用TELNET 就可在其所在地通过TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或IP 地址)。

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

现在由于PC 的功能越来越强,用户已较少使用TELNET 了。

TELNET 也使用客户 服务器方式。在本地系统运行TELNET 客户进程,而在远地主机则运行TELNET 服务器进程。

和FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

网络虚拟终端 NVT 格式:

客户软件把用户的击键和命令转换成NVT 格式,并送交服务器。

服务器软件把收到的数据和命令,从NVT 格式转换成远地系统所需的格式。

向用户返回数据时,服务器把远地系统的格式转换为NVT 格式,本地客户再从NVT 格式转换到本地系统所需的格式。

,

6.6动态主机配置协议DHCP

为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件参数化。这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能。

一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。

在软件协议运行之前,必须给每一个参数赋值。

协议配置:

在协议软件中给这些参数赋值的动作叫做协议配置。

一个软件协议在使用之前必须是已正确配置的。

具体的配置信息有哪些则取决于协议栈。

需要配置的项目

(1) IP 地址

(2) 子网掩码

(3) 默认路由器的 IP 地址

(4) 域名服务器的 IP 地址

这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。 动态主机配置协议DHCP :

动态主机配置协议 DHCP 提供了即插即用连网(plug-and-play networking)的机制。 这种机制允许一台计算机加入新的网络和获取IP 地址而不用手工参与。

需要IP 地址的主机在启动时就向DHCP 服务器广播发送发现报文(DHCPDISCOVER ),这时该主机就成为DHCP 客户。

本地网络上所有主机都能收到此广播报文,但只有DHCP 服务器才回答此广播报文。 DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP 地址池(address pool) 中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER )。

DHCP 中继代理:

并不是每个网络上都有DHCP 服务器,这样会使DHCP 服务器的数量太多。现在是每一个网络至少有一个DHCP 中继代理,它配置了DHCP 服务器的IP 地址信息。

当DHCP 中继代理收到主机发送的发现报文后,就以单播方式向DHCP 服务器转发此报文,并等待其回答。收到DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。

注意:DHCP 报文只是 UDP 用户数据报中的数据。

租用期:

DHCP 服务器分配给DHCP 客户的IP 地址的临时的,因此DHCP 客户只能在一段有限的时间内使用这个分配到的IP 地址。DHCP 协议称这段时间为租用期。

租用期的数值应由DHCP 服务器自己决定。

DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。 DHCP 协议的工作过程:

凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。

DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送

,

DHCP 请求报文。

被选择的 DHCP 服务器发送确认报文DHCPACK ,进入已绑定状态,并可开始使用得到的临时 IP 地址了。

DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到就要请求更新租用期。

租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期。DHCP 服务器若同意,则发回确认报文DHCPACK 。DHCP 客户得到了新的租用期,重新设置计时器。DHCP 服务器若不同意,则发回否认报文DHCPNACK 。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址DHCP 客户可随时提前终止服务器所提供租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

6.7.1 网络管理的基本概念

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。

网络管理并不是指对网络进行行政上的管理。

网络管理模型中的主要构件:

管理站也常称为网络运行中心 NOC (Network Operations Center) ,是网络管理系统的核心。

管理程序在运行时就成为管理进程。

管理站(硬件)或管理程序(软件)都可称为管理者(manager)。

Manager 不是指人而是指机器或软件。

网络管理员(administrator) 指的是人。大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

被管对象:

网络的每一个被管设备中可能有多个被管对象。

被管设备有时可称为网络元素或网元。

在被管设备中也会有一些不能被管的对象。

代理:

在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,或简称为代理。

代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

网络管理协议:

网络管理协议,简称为网管协议。

需要注意的是,并不是网管协议本身来管理网络。网管协议就是管理程序和代理程序之间进行通信的规则。

网络管理员利用网管协议通过管理站对网络中的被管设备进行管理。

标签: