应用层(第五层)
不同网络应用的应用进程之间需要有不同的通信规则,故而在传输层之上,还要有应用层来精确定义这些通信规则;
应用层许多协议都是基于 客户服务器方式,客户(Client) 和 服务器(Server) 都是指通信中所涉及的两个 应用进程;客户是服务请求方,服务器是服务提供方。
1. DNS
1.1. 概述
域名系统 DNS(Domain Name System) 是互联网使用的命名系统,IP 地址可以标志一台主机,域名也可以代表一台主机,域名系统就是把难记的 IP 地址 转换为方便记忆的 域名;
DNS 是分布式系统,即使单个系统出现故障,也不会影响整个 DNS 系统的运行,DNS 使用的大多数名字都在本地进行 解析(resolve),因此效率很高;
1.2. 域名结构
域名由 标号(label)序列 组成,各标号之间用 .
隔开;例如域名:www.xbai-hang.com;
每一个标号不超过 63 字符,不区分大小写字母,由多个标号组成的完整域名总共不超过 255 个字符;
顶级域名:
- 国家顶级域名 nTLD,又常记 ccTLD
- 通用顶级域名 gTLD,
- 基础结构域名(infrastructure domain),只有一个 arpa,用于反向域名解析,因此又称 反向域名
二级域名:
- 类别域名
- 行政区域名
根据域名服务器的作用,可以分为四种类型:
- 根域名服务器
- 顶级域名服务器(即 TLD 服务器)
- 权限域名服务器
- 本地域名服务器
主机向本地域名服务器的查询一般都采用 递归查询(recursive query),即查询结果要么是要查询的 IP 地址,要么报错;
本地域名服务器向根域名服务器的查询通常采用 迭代查询(itreative query),即查询结果要么是要查询的 IP 地址,要么是下一步应当向下一个权限域名服务器查询;
同时,为了提高查询效率,减少查询时的网络开销,在每级域名服务器中都采用的高速缓存来存储经常或最近被查询的到的域名对应的IP地址
2. 文本传送协议
2.1. FTP
文本传送协议 FTP(File Transfer Protocol)是基于 TCP 的;
-
主要功能:减少或消除在不同操作系统下处理文件的不兼容性(包括文件的控制方式,命名方式等)
-
特点:属于文件共享协议;联机访问;
-
基本原理:
- 使用客户服务启动方式;
- 服务器中分为两大进程:
- 主进程用来接收请求消息;接收到文件传送消息之后启动
- 若干从属进程处理消息;主进程仍然处于等待状态;
-
主进程和从属进程并发进行的;
-
在数据传送过程中,启动两个从属进程:控制进程 和 数据传送进程;其中控制进程用来传送数据传送过程中产生的控制信息;数据传送进程传送数据;同时建立两条连接:控制连接(21 号端口)和数据传送连接(20 号端口);
2.2. TFTP
简单文件传送