域名系统DNS
Domain Name System
Internet上主机/路由器的识别问题
IP地址:给机器看的
域名:给人看的
域名解析系统:将域名翻译为IP地址.
多层命名服务器构成的分布式数据库
DNS服务:
- 域名向IP地址的翻译
- 主机别名
- 邮件服务器别名
- 负载均衡:web服务器
分层体系:
顶级域名服务器:负责com,org,net,edu等顶级域名和国家顶级域名,例如cn,uk,fr等
权威域名服务器:组织的域名解析服务器,提供组织内部服务器的解析服务
本地域名解析服务器:不严格属于层级体系。
当主机进行DNS查询时,查询被发送到本地域名服务器
迭代查询:被查询服务器返回域名解析服务器的名字。
迭代查询实例:
还有递归查询的情况:
在这种情况下,本地域名服务器只需要向根域名服务器查询一次,后面的几次查询都是在其他几个域名服务器之间进行的。最后根域名服务器获得了所需的IP地址,然后,本地域名服务器将该IP地址返回给了主机。
域名结构
域名:domain name
域:是名字空间中一个可被管理的划分,域还可以划分为子域,子域还可以划分为子域的子域。
从语法上说,每一个域名都是由标号序列组成的,而各标点之间用
点隔开。
DNS规定:
1. 域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母,除连字符外不能使用其他标点符号。
2. 级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。
3. DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。
4. 各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。
记录缓存
为了提高DNS查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存。
高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
只要域名解析服务器获得域名-IP映射,即缓存这一映射。一段时间之后,缓存条目失效。本地域名服务器一般会缓存顶级域名服务器的映射,因此根域名服务器不经常被访问。
文件传送协议
FTP
FTP是因特网上使用的最广泛的文件传送协议。
FTP提供交互式的访问,允许客户指明文件的类型与格式并允许文件 具有存取权限。
FTP基于TCP,TFTP基于UDP,它们都是文件共享协议的一大类,即复制整个文件。
特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后将修改后的文件副本传回到原节点
联机访问:意味着允许多个程序同时对一个文件进行存取。
透明存取:优点是将原来用于处理本地文件的应用程序用来处理远地文件时,不需要对该应用程序作明显的改动。
FTP的工作原理
文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP的可靠的传输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP使用C/S结构。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两部分组成:一个主进程,负责接收新的请求。另外有若干个从属进程,负责处理单个请求。、
FTP采用两个缺省端口号:20号端口用于数据传输。21号端口用于控制信息的传输。
工作步骤如下:
- 打开熟知端口(端口号是21),使客户进程能够连接上。
- 等待客户进程发出连接请求。
- 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建一些子进程。
- 回到等待状态,继续接收其他客户进程发送来的进程。主进程与从属进程的处理是并发地进行。
TFTP
简单文件传送协议:TFTP,是一个很小且易于实现的文件传送协议。TFTP只支持文件传输而不支持交互。
TFTP的优点是两个:
TFTP可用于UDP环境。
TFTP代码所占内存小。
TFTP的主要特点是:
- 每次传送的数据报文中有512字节的数据,但最后一次可不足512字节
- 数据报文按序编号,从1开始。
- 支持ASCii码或二进制传送
- 可对文件进行读写
- 使用很简答的首部
开始工作时,TFTP客户进程发送一个读请求报文或写请求报文给TFTP服务器进程,其熟知端口号是69.TFTP服务器进程选择一个新的端口和客户进程进行通信。
若文件长度恰好是512字节的整数倍,则在文件传送完毕后,必须在最后发送一个只含头部而无数据的数据报文。
若文件长度不是512字节的整数倍,则最后传送数据报文中的数据字段一定不满512字节,正好作为文件结束的标志。
TELNET
TELNET是一个简单的远程终端协议。用户用TELNET就可在其所在地通过TCP连接注册到远地的另一个主机上。TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户。
TELNET也使用C/S结构。在本地系统允许TELNET客户进程,而在远地运行TELNET服务器进程。
由于底层操作系统的差异,因此,TELNET定义了数据和命令应怎样通过因特网。这些定义就是所谓的网络虚拟终端NVT。可以说,TELNET屏蔽了不同操作系统之间的差异。
客户软件将用户的击键和命令转换为NVT格式,并送交服务器。服务软件把收到的数据和命令,从NVT格式转换成远地主机系统所需的格式。向用户返回数据时,服务器将远地系统的格式转换为NVT格式,本地客户再从NVTGESHI 转换到本地系统所需的格式。