zoukankan      html  css  js  c++  java
  • [计算机网路]-第六章应用层

    域名系统

    域名系统概述

    • 许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。
    • 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。
    • 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

    因特网的域名结构

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

    • 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

    • 域名的结构由标号序列组成,各标号之间用点隔开:

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

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

    域名只是个逻辑概念:

    • 域名只是个逻辑概念,并不代表计算机所在的物理地点。
    • 变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二进制数字则非常便于机器进行处理。
    • 域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。

    互联网域名空间

    域名服务器

    • 一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。
    • 各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。
    • 每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
    • DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。

    公司abc下属部门x和y,部门x下面又分三个分部门u、v和w,而y下面还有下属部门t:

    • (a):abc公司只设置一个区abc.com。这时区abc.com和域abc.com是指同一件事
    • (b):abc公司划分了两个区:abc.com和y.abc.com。这两个区都隶属于域abc.com,都各自设置了相应的权限域名服务器。
    • 不难看出:区是域的子集。

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

    • 根域名服务器
    • 顶级域名服务器
    • 权限域名服务器
    • 本地域名服务器

    根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。在因特网上共有13 个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到 m(前13 个字母)。

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

    权限域名服务器:这就是前面已经讲过的负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。

    本地域名服务器:对域名系统非常重要。当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。

    域名解析过程:

    • 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
    • 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

    文件传送协议

    FTP 概述

    • 文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。
    • FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
    • FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
    • RFC 959 很早就成为了因特网的正式标准。

    FTP 的基本工作原理

    FTP特点

    • 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
    • FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
    • FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

    主进程的工作步骤

    • 打开熟知端口(端口号为 21),使客户进程能够连接上。
    • 等待客户进程发出连接请求。
    • 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
    • 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

    两个连接

    • 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件
    • 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
    • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

    两个端口号

    • 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。
    • 接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。
    • 由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

    使用两个不同端口号的好处

    • 使协议更加简单和更容易实现。
    • 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。

    网络文件系统(NFS)

    • NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
    • NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
    • 对于上述例子,计算机 A 的 NFS 客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机 B 的 NFS 服务器。NFS 服务器更新文件后返回应答信息。
    • 在网络上传送的只是少量的修改数据。

    简单文件传送协议 TFTP

    Trivial File Transfer Protocol——TFTP

    • TFTP 是一个很小且易于实现的文件传送协议。
    • TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。
    • TFTP 只支持文件传输而不支持交互。
    • TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

    TFTP主要特点:

    • 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。
    • 数据 PDU 也称为文件块(block),每个块按序编号,从 1 开始。
    • 支持 ASCII 码或二进制传送。
    • 可对文件进行读或写。
    • 使用很简单的首部。

    万维网 WWW

    • 万维网 WWW (World Wide Web)并非某种特殊的计算机网络。
    • 万维网是一个大规模的、联机式的信息储藏所
    • 万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
    • 这种访问方式称为“链接”。

    万维网提供分布式服务

    万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

    万维网工作方式

    万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(page)。

    万维网必须要解决的问题

    1. 怎样标志分布在整个因特网上的万维网文档?
      • 使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。
      • 使每一个文档在整个因特网的范围内具有唯一的标识符 URL。
    2. 用何协议实现万维网上各种超链的链接?
      • 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
      • HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
    3. 怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
      • 超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
    4. 怎样使用户能够很方便地找到所需的信息?
      • 为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。

    万维网工作过程

    用户点击鼠标后所发生的事件:

    • (1) 浏览器分析超链指向页面的 URL。
    • (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。
    • (3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。
    • (4) 浏览器与服务器建立 TCP 连接
    • (5) 浏览器发出取文件命令:GET /chn/yxsz/index.htm。
    • (6) 服务器给出响应,把文件 index.htm 发给浏览器。
    • (7) TCP 连接释放。
    • (8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。

    HTTP 请求报文的一些方法:

    电子邮件

    电子邮件概述

    • 电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。
    • 电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。
    • 电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。
    • 现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。

    电子邮件的一些标准:

    • 发送邮件的协议:SMTP
    • 读取邮件的协议:POP3 和 IMAP

    MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。

    电子邮件的最主要的组成构件:

    电子邮件地址的格式:

    TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下: (收件人邮箱名@邮箱所在主机的域名)

    简单邮件传送协议 SMTP

    • SMTP 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。
    • 由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。
    • SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。

    SMTP通信的三个阶段:

    • 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。
    • 邮件传送
    • 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

    电子邮件的信息格式

    • 一个电子邮件分为信封和内容两大部分。
    • RFC 5322只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。
    • 用户写好首部后,邮件系统将自动地将信封所需的信息提取出来并写在信封上。所以用户不需要填写电子邮件信封上的信息。
    • 邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To 和 Subject。

    邮件内容的首部:

    • “To:”后面填入一个或多个收件人的电子邮件地址。用户只需打开地址簿,点击收件人名字,收件人的电子邮件地址就会自动地填入到合适的位置上。
    • “Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。
    • 抄送 “Cc:” 表示应给某某人发送一个邮件副本。
    • “From” 和 “Date” 表示发信人的电子邮件地址和发信日期。“Reply-To” 是对方回信所用的地址。

    邮件读取协议 POP3 和 IMAP

    POP3

    邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。POP 也使用客户服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。

    IMAP

    Internet Message Access Protocol——IMAP

    • IMAP 也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。
    • 用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。
    • 因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

    IMAP特点:

    • IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
    • IMAP 还允许收件人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
    • IMAP 的缺点是如果用户没有将邮件复制到自己的 PC 机上,则邮件一直是存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。

    基于万维网的电子邮件

    • 电子邮件从 A 发送到网易邮件服务器是使用 HTTP 协议。
    • 两个邮件服务器之间的传送使用 SMTP。
    • 邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。

    通用因特网邮件扩充 MIME

    SMTP 有以下缺点

    • SMTP 不能传送可执行文件或其他的二进制对象。
    • SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
    • SMTP 服务器会拒绝超过一定长度的邮件。
    • 某些 SMTP 的实现并没有完全按照[RFC 821]的 SMTP 标准。

    MIME的特点

    • MIME 并没有改动 SMTP 或取代它。
    • MIME 的意图是继续使用原来的邮件格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

    MIME和SMTP的关系

  • 相关阅读:
    帮助理解Docker,生动装逼介绍Docker
    Java 最常见 200+ 面试题 + 全解析
    CentOS7.0 yum安装 docker
    集合总结
    C#复习笔记
    match方法的使用
    偏函数
    通用装饰器
    装饰器修饰带参数的功能函数
    多个装饰器的使用
  • 原文地址:https://www.cnblogs.com/xxmmqg/p/13328475.html
Copyright © 2011-2022 走看看