「生活可以更简单, 欢迎来到我的开源世界」
  1. 域名系统DNS
  2. 文件传送协议
    1. FTP
    2. TFTP
  3. 远程终端协议TELNET
  4. 万维网www
  5. 电子邮件
    1. 简单邮件传送协议SMTP
    2. 邮件读取协议
    3. 通用互联网邮件扩充MIME
第6章 应用层
2018-07-24
」 「

应用层的许多协议都是基于客户服务器方式,即使是P2P对等通信方式,实质上也是一种特殊的客户服务器方式。客户和服务器是通信中所涉及的两个应用进程。

客户是服务请求方,服务器是服务提供方

域名系统DNS

域名系统DNS是互联网使用的命名系统,用来便于人们使用的机器名字转换为IP地址。

任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。每一个域名都由标号序列组成,各标号之间用点隔开。

DNS规定,域名中的标号都由英文字母和数字组成:

DNS中,一个服务器所负责管辖的(或有权限的)范围叫做,区中的所有节点都能连通,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。

区可能等于或小于域,但一定不能大于域。区是域的子集。

image-20201102210523497

image-20201102210551240

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。

顶级域名服务器(即TLD服务器):负责管理在该顶级域名服务器注册的所有二级域名。

权限域名服务器:负责一个区的域名服务器

本地域名服务器:本地域名服务器并不属于域名服务器层次结构,但它对域名系统非常重要。

为了保证域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中一个是主域名服务器,其它的都是辅助域名服务器,当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

域名的解析过程:

image-20201102212947086

文件传送协议

文件共享协议的两大类:

FTP

文件传送协议FTP提供文件传送的一些基本服务,使用TCP可靠的传输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用客户服务器方式。一个FTP服务器进程可以同时为多个客户提供服务。FTP的服务器进程由两大部分组成:

主进程的工作步骤:

  1. 打开熟知端口(端口号为21),使客户进程能够连接上
  2. 等待客户进程发出连接请求
  3. 启动从属进程处理客户进程发来的请求
  4. 回到等待状态,继续接受其它客户进程发来的请求。主进程和从属进程的处理是并发进行的。

在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:

image-20201102214836130

网络文件系统NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据,在网络上传送的只是少量的修改数据。

TFTP

TCP/IP协议族中还有一个简单文件传送系统TFTP,使用客户服务器方式,但使用UDP数据报,因此TFTP需要有自己的差错改正措施。TFTP只支持文件传输而不支持交互。

TFTP的优点:

TFTP的主要特点:

TFTP的工作很像停止等待协议,每发送完一个文件块后就等待对方的确认,确认时应指明所确认的快编号。发完数据后规定时间内收不到确认就要重发数据PDU,发送确认后规定时间内收不到下一个文件块就要重发确认PDU。

TFTP服务器进程的熟知端口号为69。

远程终端协议TELNET

TELNET是一个简单的远程终端协议,又称终端仿真协议,使用客户服务器方式。

TELNET为了能够适应许多计算机和操作系统的差异,使用网络虚拟终端NVT格式传送数据和命令。

image-20201103103410453

万维网www

万维网是一个大规模的、联机式的信息储藏所,简称Web。

万维网是一个分布式的超媒体系统,它是超文本系统的扩充。超文本文档仅包含文本信息,而超媒体文档还包含其它表示方式的信息,如图形、图像、声音、动画以及视频画像等。

万维网以客户服务器方式工作,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。

万维网的内核部分由三个标准构成:

统一资源定位符(URL)是用来表示从互联网上得到的资源位置和访问这些资源的方法。互联网上的所有资源,都有一个唯一确定的URL。

URL的一般形式:<协议>://<主机>:<端口>/<路径>

URL的协议和主机部分,字母不分大小写,但路径有时要区分大小写。

HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础。

image-20201103111559184

HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。HTTP协议本身是无连接的。HTTP协议是无状态的。

image-20201103111841313

当建立TCP连接的三报文握手的前两部分完成后,万维网客户就把HTTP请求报文作为建立TCP连接的三报文握手中的第三个报文的数据,发送给万维网服务器。服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户。

非持续连接:HTTP/1.0,主要缺点是每请求一个文档就要有两倍RTT的开销。

持续连接:HTTP/1.1,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。

HTTP/1.1协议的持续连接有两种工作方式:

代理服务器是一种网络实体,又称为万维网高速缓存。代理服务器把最近的一些请求和响应存放在本地磁盘中,当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,则返回暂存的响应,而不需要按URL的地址再次去互联网访问该资源。

image-20201103211702245

HTTP有两类报文:

image-20201103211803360

由于HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,因而各个字段的长度都是不确定的。

HTTP的请求报文和响应报文都是由三部分组成的,区别就是开始行不同:

HTTP是无状态的,但是万维网站点可以使用Cookie来跟踪用户,Cookie表示在HTTP服务器和客户之间传递的状态信息。

电子邮件

电子邮件的两个最重要的标准是:

由于SMTP只能传送可打印的7位ASCII码邮件,又提出了通用互联网邮件扩充MIME

一个电子邮件系统有三个主要组成构件:

image-20201104000953440

邮件服务器必须能够同时充当客户和服务器。

SMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,使用TCP的目的是为了可靠地传送邮件。

图6-17中的邮件服务器程序就在发送方和接收方的计算机中运行,那么可以直接把邮件发送到收件人的计算机中?

不行。因为并非所有的计算机都能够运行邮件服务器程序,更重要的是邮件服务器必须不间断地运行,否则就可能使很多外面发来的邮件无法接收。

电子邮件的组成:

简单邮件传送协议SMTP

SMTP使用客户服务器方式,负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的SMTP进程就是SMTP服务器。

SMTP通信的三个阶段:

邮件读取协议

常用的邮件读取协议有两个:

通用互联网邮件扩充MIME

SMTP有以下缺点:

通用互联网邮件扩充MIME的意图是继续使用原来的邮件格式,但增加了邮件主题的结构,并定义了传送非ASCII码的编码规则。

image-20201104155952415

MIME主要包括三部分内容:

三种常用的内容传送编码

<⇧>