第6章 应用层
域名系统 DNS
概述
- Domain Name System,计算机用户间接而不是直接使用DNS
- 互联网采用层次结构的命名树,使用分布式的域名系统DNS
域名到IP的解析是由若干域名服务器程序完成的
- 域名服务器程序在专设的节点上运行,运行该程序的机器叫做域名服务器
域名结构
…….三级域名.二级域名.顶级域名
顶级域名TLD
- Top Level Domain
国家顶级域名nTLD
- .cn 表示中国
- .us 表示美国
通用顶级域名gTLD
- .com 公司和企业
- .net 网络服务机构
基础结构域名
- arpa,用于反向域名解析,又称为反向域名
域名服务器
一个服务器管辖的范围叫做区 zone
- 一个区中的所有结点都是连通的
每个区设置相应的权限域名服务器,用来保存区中所有主机域名到IP的映射
DNS服务器的管辖范围以区为单位
域名服务器分类
根域名服务器
- 最高层次的域名服务器,所有根域名服务器都知道所有的顶域名服务器的域名和IP
- 互联网有13个不同IP地址的根域名服务器,名字分别是a到m,域名a.rootservers.net
- 根域名服务器是13套装置,不是13个机器
- 根域名服务器并不把域名直接转换成IP
- 在使用迭代查询的时候,根域名服务器把下一步应当找到的顶级域名服务器的IP告诉本地域名服务器
顶级域名服务器
- TLD服务器负责管理在该顶级域名服务器注册的所有二级域名
- 当收到DNS查询请求时,就给出相应的回答,可能是最后结果,也可能是下一步应道找的域名服务器的IP地址
权限域名服务器
- 负责一个区的域名服务器
- 当一个权限域名服务器不能给出最后回答时,就会回答下一步应当找哪一个权限域名服务器
本地域名服务器
- 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器
- 每一个ISP(Internet Service Provider),或大学,甚至大学的一个学院,都可以有一个本地域名服务器
- 这种域名服务器有时也叫做默认域名服务器
域名服务器的可靠性
- 设置主域名服务器和辅助域名服务器
- 主域名定期把数据复制到辅助域名服务器中,更改数据只能在主域名服务器中进行
域名解析过程
递归查询
- 主机向本地域名服务器的查询
- 主机向本地域名服务器的查询
迭代查询
- 本地域名服务器向根域名服务器的查询
- 本地域名服务器向根域名服务器的查询
域名服务器的高速缓存
- 存放最近用过的名字以及从何处获得名字映射信息的记录
- 可以减轻根域名服务器的负荷
权限域名服务器回答绑定有效存在时间值
- 增加时间可以减少网络开销
- 减少时间可提高域名转换准确性
文件传送协议 FTP
概述
- File Transfer Protocol
- 交互式的访问,允许客户指明文件的类型和格式,允许文件具有存取权限
- 该协议屏蔽了各计算机系统的细节,所以适合在异构网络中任意计算机之间传输文件
复制文件的复杂性
- 计算机存储数据的格式不同
- 文件的目录结构和命名规定不同
- 操作系统使用的命令不同
- 访问控制方法不同
基本工作原理
FTP特点
- 只提供文件传送的基本服务
- 使用TCP可靠的运输服务
- 主要功能是减少不同os下文件处理的不兼容性
- 使用客户服务器方式,一个FTP服务器为多个客户进程提供服务
- 一个主进程,负责接收新请求,若干从进程,负责处理单个请求
工作步骤
- 打开21端口
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的进请求。从属进程对客户进程的请求处理完毕后立即终止,但从属进程在运行期间可能创建其他子进程。
- 回到等待状态,继续接受其他客户进程发来的请求。
- 主进程和从属进程的处理是并发运行。
远程终端协议 TELNET
万维网 WWW
统一资源定位符URL
- URL相当于一个文件名在网络范围的扩展
- URL是与互联网相连的机器上的任何可访问对象的一个指针
格式
<协议>://<主机>:<端口>/<路径>
- 主机是存放资源的主机在互联网中的域名
超文本传送协议HTTP
HTTP的操作过程
- HTTP是面向事务的 transaction-oriented 应用层协议,是万维网上可靠交换的重要基础
- 服务器程序不断监听TCP的80端口,以便发现是否有浏览器向它发出连接建立请求
- HTTP报文都是用TCP来连接传送
HTTP特点
- 使用了面向连接的TCP作为运输层协议,保证数据的可靠性
- HTTP协议本身是无连接的,虽然使用了面向连接的TCP向上提供的服务
- 是面向事务的客户服务器协议
- HTTP 1.0协议是无状态的 stateless
持续连接
- HTTP/1.1 协议使用持续连接 persistent connection
- 服务器在发送响应后一段时间内仍然保持这条链接,同一个客户可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
代理服务器
- proxy server
- 又称为万维网高速缓存 Web cache
报文结构
HTTP的两类报文
- 请求报文 — 从客户向服务器发送请求报文
- 响应报文 — 从服务器到客户的回答
- 由于HTTP是面向正文的,所以报文中的字段都是一些ASCII码串,因此每个字段的长度都是不确定的