第6章 应用层

计算机网络 应用层 - 图1

域名系统 DNS

概述

  • Domain Name System,计算机用户间接而不是直接使用DNS
  • 互联网采用层次结构的命名树,使用分布式的域名系统DNS
  • 域名到IP的解析是由若干域名服务器程序完成的

    • 域名服务器程序在专设的节点上运行,运行该程序的机器叫做域名服务器

域名结构

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

顶级域名TLD

  • Top Level Domain
  • 国家顶级域名nTLD

    • .cn 表示中国
    • .us 表示美国
  • 通用顶级域名gTLD

    • .com 公司和企业
    • .net 网络服务机构
  • 基础结构域名

    • arpa,用于反向域名解析,又称为反向域名

域名服务器

  • 一个服务器管辖的范围叫做区 zone

    • 一个区中的所有结点都是连通的
  • 每个区设置相应的权限域名服务器,用来保存区中所有主机域名到IP的映射

  • DNS服务器的管辖范围以为单位
    计算机网络 应用层 - 图2
    计算机网络 应用层 - 图3

  • 域名服务器分类

    1. 根域名服务器

      • 最高层次的域名服务器,所有根域名服务器都知道所有的顶域名服务器的域名和IP
      • 互联网有13个不同IP地址的根域名服务器,名字分别是a到m,域名a.rootservers.net
      • 根域名服务器是13套装置,不是13个机器
      • 根域名服务器并不把域名直接转换成IP
      • 在使用迭代查询的时候,根域名服务器把下一步应当找到的顶级域名服务器的IP告诉本地域名服务器
    2. 顶级域名服务器

      • TLD服务器负责管理在该顶级域名服务器注册的所有二级域名
      • 当收到DNS查询请求时,就给出相应的回答,可能是最后结果,也可能是下一步应道找的域名服务器的IP地址
    3. 权限域名服务器

      • 负责一个区的域名服务器
      • 当一个权限域名服务器不能给出最后回答时,就会回答下一步应当找哪一个权限域名服务器
    4. 本地域名服务器

      • 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器
      • 每一个ISP(Internet Service Provider),或大学,甚至大学的一个学院,都可以有一个本地域名服务器
      • 这种域名服务器有时也叫做默认域名服务器
  • 域名服务器的可靠性

    • 设置主域名服务器和辅助域名服务器
    • 主域名定期把数据复制到辅助域名服务器中,更改数据只能在主域名服务器中进行
  • 域名解析过程

    • 递归查询

      • 主机向本地域名服务器的查询
        计算机网络 应用层 - 图4
    • 迭代查询

      • 本地域名服务器向根域名服务器的查询
        计算机网络 应用层 - 图5
  • 域名服务器的高速缓存

    • 存放最近用过的名字以及从何处获得名字映射信息的记录
    • 可以减轻根域名服务器的负荷
    • 权限域名服务器回答绑定有效存在时间值

      • 增加时间可以减少网络开销
      • 减少时间可提高域名转换准确性

文件传送协议 FTP

概述

  • File Transfer Protocol
  • 交互式的访问,允许客户指明文件的类型和格式,允许文件具有存取权限
  • 该协议屏蔽了各计算机系统的细节,所以适合在异构网络中任意计算机之间传输文件

复制文件的复杂性

  • 计算机存储数据的格式不同
  • 文件的目录结构和命名规定不同
  • 操作系统使用的命令不同
  • 访问控制方法不同

基本工作原理

  • FTP特点

    • 只提供文件传送的基本服务
    • 使用TCP可靠的运输服务
    • 主要功能是减少不同os下文件处理的不兼容性
    • 使用客户服务器方式,一个FTP服务器为多个客户进程提供服务
    • 一个主进程,负责接收新请求,若干从进程,负责处理单个请求
  • 工作步骤

    • 打开21端口
    • 等待客户进程发出连接请求
    • 启动从属进程来处理客户进程发来的进请求。从属进程对客户进程的请求处理完毕后立即终止,但从属进程在运行期间可能创建其他子进程。
    • 回到等待状态,继续接受其他客户进程发来的请求。
    • 主进程和从属进程的处理是并发运行。

远程终端协议 TELNET

万维网 WWW

统一资源定位符URL

  • URL相当于一个文件名在网络范围的扩展
  • URL是与互联网相连的机器上的任何可访问对象的一个指针

格式

<协议>://<主机>:<端口>/<路径>

  • 主机是存放资源的主机在互联网中的域名

超文本传送协议HTTP

HTTP的操作过程

  • HTTP是面向事务的 transaction-oriented 应用层协议,是万维网上可靠交换的重要基础

计算机网络 应用层 - 图6

  • 服务器程序不断监听TCP的80端口,以便发现是否有浏览器向它发出连接建立请求
  • HTTP报文都是用TCP来连接传送

HTTP特点

  • 使用了面向连接的TCP作为运输层协议,保证数据的可靠性
  • HTTP协议本身是无连接的,虽然使用了面向连接的TCP向上提供的服务
  • 面向事务的客户服务器协议
  • HTTP 1.0协议是无状态的 stateless

持续连接

  • HTTP/1.1 协议使用持续连接 persistent connection
  • 服务器在发送响应后一段时间内仍然保持这条链接,同一个客户可以继续在这条连接上传送后续的HTTP请求报文和响应报文。

代理服务器

  • proxy server
  • 又称为万维网高速缓存 Web cache

报文结构

  • HTTP的两类报文

    1. 请求报文 — 从客户向服务器发送请求报文
    2. 响应报文 — 从服务器到客户的回答
  • 由于HTTP是面向正文的,所以报文中的字段都是一些ASCII码串,因此每个字段的长度都是不确定的

电子邮件

动态主机配置协议DHCP

简单网络管理协议 SNMP

应用进程跨越网络的通信

P2P应用