计算机网络 第六章 应用层

计算机网络的最后一章,内容上也没什么特别重要的东西,当初老师也没有讲,这里只按照王道整理一下知识点,不再多写了。

6.1 DNS域名系统

域名系统是因特网使用的命名系统,用于将具有特定含义的主机名转换为便于机器处理的IP地址,主要还是因为人记忆IP地址太麻烦,而直接记字母地址计算机识别太麻烦,所以人记住域名,然后通过DNS域名系统来实现这一转换。
DNS域名系统采用客户/服务器模型,运行在UDP之上。可以从概念上将DNS分成三部分:
①层次域名空间
因特网采用的是层次树状结构的命名方法,任何一个连接到因特网的主机或者路由器都有一个唯一的层次结构名称,即域名,域还可以继续向下划分,划分为子域、子域的子域等等,每个域名之间用点号隔开,并且需要满足以下规则:
a 英文不区分大小写
b 标号中除了连字符以外不能使用别的标点符号
c 每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
d 级别最低的域名写在最左边,级别最高的顶级域名写在最右边
在这里插入图片描述
顶级域名分为三大类:国家顶级域名、通用顶级域名和基础结构域名。顶级域名之下可以继续划分,并且每个域分别交给不同的组织进行管理。这里的结构就很像操作系统里面的文件树,如下图所示:
在这里插入图片描述
②域名服务器
因特网的域名系统被设计成一个联机分布式的数据库,并且采用的是客户/服务器模型,域名到IP地址的解析是由运行在域名服务器上的程序完成的,而一个服务器只负责管理一个区。每个域名服务器不仅能够完成一些域名到IP地址的解析,而且还必须具有连向其它域名服务器的信息,这样在本域名服务器无法解析时就可以知道到什么地方求助其他域名服务器。
DNS采用了大量的域名服务器,以层次方式组织,主要有四类域名服务器:
a 根域名服务器
是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址,不管是那个本地域名服务器,只要对因特网上的任何一个域名无法解析,就首先要求助于根域名服务器。需要注意的是,根域名服务器用来管理顶级域,通常不直接把待查询的域名直接转换为IP地址,而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器进行查询。所以说根域名服务器看似是最顶层,但实际上就是个前台服务人员。
b 顶级域名服务器
负责管理在该顶级域名服务器注册的所有二级域名,收到DNS查询请求时,就给出相应的回答,可能是最后结果也可能是下一步应该查找的域名服务器的IP地址。
c 授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记,授权域名服务器可以将其管辖的主机名转换为该主机的IP地址。
d 本地域名服务器
当一台主机发出DNS查询请求时,这个请求报文就发送给该主机的本地域名服务器。
DNS的层次结构如下:
在这里插入图片描述
③解析器
域名解析是指把域名映射为IP地址或者把IP地址映射为域名的过程,客户端需要进行域名解析时,就通过本机的DNS客户端构造一个DNS请求报文,以UDP的形式发往本地域名服务器。
域名解析有两种方式:递归查询和递归迭代相结合的查询。
递归查询主要是用于主机向本地域名服务器的查询。所谓递归查询,就是指当主机所询问的本地域名服务器不知道被查询的域名的IP地址,就由本地域名服务器以DNS客户的身份向其他根域名服务器继续发出查询请求报文,而不是让主机继续下一步操作。不难看出这种方式对根域名服务器造成的负载过大,所以实际中几乎不使用,仅在递归迭代相结合的方式中用于主机与本地域名服务器之间。
递归迭代相结合方式是用于本地域名服务器向根域名服务器的查询,当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应该向哪里进行查询,然后让本地域名服务器继续查询,一层一层由本地域名服务器继续向下查询,最后知道所要解析的域名的IP地址之后,就把这个结果返回给发起查询的主机。
在这里插入图片描述
所以,域名解析的完整过程如下:
在这里插入图片描述
同时为了提高DNS的查询效率,减少因特网上的DNS查询报文数量,域名服务器中广泛使用了高速缓存,一段时间内保存查询结果,从而提高了查询效率。

6.2 文件传输协议FTP

文件传输协议是因特网上使用的最广泛的文件传输协议,它屏蔽了各计算机的细节,适合在异构网络中的任意计算机之间传送文件,该协议采用客户/服务器方式,采用TCP进行可靠的传输服务。一个FTP服务器进程可以同时为多个用户进程提供服务。
FTP的服务器进程由两大部分组成:负责接收新的请求的主进程、负责处理单个请求的从属进程。其工作步骤如下:
在这里插入图片描述
从其工作模式可以看出,FTP在工作时使用两个并行的TCP连接,一个是控制链接,另一个是数据连接,这样使用两个不同的端口号可以使得协议更加简单和容易。结构如下图所示:
在这里插入图片描述
控制链接用来传输控制信息,并且控制信息以ASCII格式传送。FTP客户发出的传送请求,通过控制连接发送给服务器的控制进程,但是控制链接并不用来传送文件,传输文件时还可以使用控制链接,相当于在整个会话期间一直保持打开状态。
数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭数据传送连接并结束运行。

6.3 电子邮件

电子邮件是一种异步通信方式,不需要双方同时在场,电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的邮件服务器进行读取。
在这里插入图片描述
一个电子邮件系统应该具有图中所示的三个组成部件,即用户代理、邮件服务器和电子邮件使用的协议。
用户代理是用户与电子邮件系统的接口。用户代理使用户可以通过一个很友好的接口发送和接收邮件。用户代理至少应当具有撰写、显示和邮件处理的功能。
邮件服务器是组成邮件系统的核心,其功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况,采用客户/服务器方式工作,但是可以同时充当客户和服务器。
邮件发送协议用于用户代理向邮件服务器发送邮件或者邮件服务器之间发送邮件,通常使用的是SMTP,邮件读取协议用于用户代理从邮件服务器读取邮件,一般是POP3。需要注意的是,SMTP是“推”的通信方式,而POP3采用的是“拉”的通信方式。
所以电子邮件的收发可以简化为以下的过程:
在这里插入图片描述
一个电子邮件分为信封和内容两大部分,邮件内容又分为首部和主体两部分,邮箱的主体部分由用户撰写。邮箱内容的首部包括一些首部行,每个首部行由一个关键字后跟冒号再跟值组成,其中最重要的是TO和SUBJECT,TO是必须的关键字,后面填入一个或者多个收件人的电子邮件地址。

前面提到过在电子邮件发送过程中会用到SMTP和POP3两个协议,下面简单总结一下这两个协议。
SMTP全程简单邮件传输协议(Simple Mail Transfer Protocol),是一种可靠且有效的电子邮件传输协议,负责控制两个相互通信的SMTP进程交换信息。采用TCP连接和客户/服务器方式,所以通信中也需要建立连接-邮件传送-释放连接。
POP3全称邮局协议(Post Office Protocol),也使用客户/服务器方式,在运输层采用TCP,读取邮件时用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件。
还有一个邮件接收协议是因特网报文存取协议(IMAP),为用户提供了创建文件夹、在不同文件夹之间移动邮件以及在远程文件夹中查询邮件的命令。

6.4 万维网

万维网是一个资料空间,这个空间中一样有用的事物称为一样资源,并由一个全域“统一资源定位符(URL)”表示,这些资源通过超文本传输协议传送给使用者。通过这种链接的方法,万维网可以让用户非常方便地从因特网上的一个站点访问另一个站点,从而主动获取信息。

万维网的内核部分是由三个标准构成的:
在这里插入图片描述
URL相当于一个文件名在网络范围的扩展,其一般形式为:<协议>://<主机>:<端口>/<路径>。
协议部分常见的有http、ftp等。主机时存放资源的主机在因特网中的域名,也可以是IP地址。端口和路径有时可以省略,路径就是文件在目标主机内部的路径。URL中不区分大小写。

在浏览器和服务器之间的请求与响应的交互必须要遵守规定的格式与规则,这些格式和规则就是HTTP。HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器如何把文档传给浏览器。从执行过程来说,浏览器要访问WWW服务器时,首先要完成对WWW服务器的域名解析,获取服务器的IP地址浏览器就可以通过TCP向服务器发送连接建立请求。
HTTP是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时一致。HTTP无状态的设计简化了服务器结构,从而使得服务器更容易支持大量并发的HTTP请求。
HTTP采用TCP作文运输层协议,保障了数据的可靠传输。既可以使用非持久连接,又可以使用持久连接,所谓持久连接,是指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文。
在这里插入图片描述
持久连接又分为非流水线和流水线两种方式,对于非流水线方式,客户在收到前一个响应后才可以发出下一个请求。如果所有的请求和响应都是连续发送的,所有引用的对象共计经历1个RTT延迟,而不是像非流水线那样,每个引用都必须有一个RTT延迟。

猜你喜欢

转载自blog.csdn.net/weixin_43849505/article/details/113738853