计网学习第六章——应用层

在上一节的学习中,运输层主要是为应用进程提供端到端的通信服务,而我们还需要应用层做什么?由于不同的网络应用的应用进程之间,还需要有不同的通信协议。 于是应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层对应用程序的通信提供服务。

应用层协议应当定义:

①应用进程交换的报文类型,如请求报文和响应报文

②各种报文类型的语法,如报文中的各个字段及其详细描述

③字段的语义,即包含在字段中的信息的含义

④进程何时、如何发送报文,以及对报文进行响应的规则

细碎概念

1、应用层的功能:①文件传输、访问和管理;②电子邮件;③虚拟终端;④查询服务和远程作业登录

2、应用层重要的协议:FTP,DNS,HTTP

3、应用层的协议大多是基于客户端/服务器(C/S)的方式,指的是通信中所涉及的两个应用进程,客户服务器方式描述的是进程之间服务和被服务的关系,客户是服务请求方,服务器是提供服务方。少部分是P2P对等通信方式,P2P实质上也是一种特殊的客户服务器方式。

4、域名系统DNS

背景:用户与互联网的某台主机进行通信,必须知道对方的IP地址,但是IP地址太长太难记了,所以使用域名来替代记忆IP地址。

作用:从域名中解析出IP地址,进行数据传送

域名系统DNS是分布式系统,即使单个计算机出现故障,也不会妨碍整个DNS系统的正常运行。

互联网中的域名都必须是唯一的。

流程:域名到IP地址的解析是由分布在互联网上的许多域名服务器共同完成的。

5、互联网域名结构树

级别最低的域名在最左边,级别最高的顶级域名在最右边。(格式:... . 三级域名 .  二级域名 . 顶级域名)

各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。域名只是一个逻辑概念,而不代表计算机所在的物理地点。

结构树

6、域名服务器

作用:实现解析过程。

一个服务器所负责管辖的范围叫作区,以“区”为单位,区是“域”的子集,区<=域,每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。

当某个DNS服务完全不能进行域名到IP地址的转换时,它就设法找互联网上的其他域名服务器进行解析。

DNS服务器间进行域间传输的时候用TCP协议的53端口,客户端查询DNS服务器的时候用UDP协议的53端口

根域名服务器是最重要的域名服务器,所有根域名服务器都知道所有的顶级域名服务器的域名和IP地址。在互联网上共有13个不同IP地址的根域名服务器,它们的名字用从a~m(13个字母)表示。无论哪个本地域名服务器要对域名进行解析,只要自己无法解析,都会求助根域名服务器,于是,当所有的根域名服务器都瘫痪了,哪个整个互联网中的DNS系统就都停止工作了。

顶级域名服务器负责管理该顶级域名服务器注册的所有二级域名。

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

本地域名服务器(也叫作默认域名服务器),当一台主机发出DNS查询请求时,这个查询请求报文就发送到本地域名服务器。

域名解析过程注意两点:

①主机向本地域名服务器的查询一般都是采用递归查询

②本地域名服务器向根域名服务器的查询通常采用迭代查询

7、FTP文件传送协议和TFTP简单文件传送协议

FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

FTP基于TCP,TFTP是基于UDP,都是文件共享协议的一大类,即复制整个文件。特点是:若要存取一个文件,就必须先获得一个本地的文件副本,若要修改文件,就要对文件副本进行修改,再把修改的文件副本传回到原节点。文件共享协议的另一大类就是联机访问,意味着运行多个程序同时对一个文件进行存取。

TCP进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”,控制连接在整个会话中一直打开着,但不用来传送文件,传送文件用的是数据连接,服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接进程”,用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。过程中一共用到2个端口21和20。如下图流程:

TFTP可用于UDP环境,TFTP的代码所占内存较小。TFTP的工作很像停止等待协议,发送完一个文件块就等待对方的确认,若规定时间内没收到确认则发送方做超时重传;若接收方没有接收到新的数据则重传确认。每次传送的数据PDU(称为文件块,每个块按序编号,从1开始)中有512字节,最后一次可不足512B,而标志着文件传输的结束是最后一个数据报文的数据字段不满512字节。

FTP工作流程

8、远程终端协议TELENT

用户是通过TCP连接注册(登录)到远地的另一台主机上,telent使用端口23。

TELENT使用客户服务器方式,在本地系统运行TELENT客户进程,在远地主机运行TELENT服务器进程;与FTP类似,服务器中的主进程等待新的请求,从属进程处理单个请求。

网络虚拟终端NVT(即 客户软件把用户的击键和命令转换成 NVT格式,并送交服务器。服务器软件把收到的数据和命令,从 NVT格式转换成远地系统所需的格式。向用户返回数据时,服务器把远地系统的格式转换为 NVT格式,本地客户再从NVT格式转换到本地系统所需的格式。)


9、万维网WWW

链接的方法从互联网上的一个站点访问另一个站点,万维网提供分布式服务,万维网其实也是一个分布式的超媒体系统,它是超文本系统的扩充。

超文本指的是包含指向其他文档的链接的文本。超媒体与超文本的区别就是文档的内容不同,超文本的内容仅仅是包含文本信息,而超媒体还可以包含图像声音等信息。

万维网也以客户服务器方式工作,浏览器就是用户计算机上的万维网客户程序,万维网文档所有服务器运行服务器程序,此服务器称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所有的万维网文档。

URL统一资源定位符:<协议>://<主机>:<端口>/<路径>,忽略大小写

10、超文本传送协议HTTP

HTTP是面向事务的客户服务器协议。HTTP1.0是无状态的,也就是说,服务器不记录访问者,当一次访问结束后,再访问的时候服务器根本不知道你是否已经访问过了。同时,HTTP本身也是无连接的,虽然它使用了TCP协议向上提供服务,即HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。

HTTP1.1协议则使用了持续连接。在客户与服务器建立连接并当服务器返回响应之后的一段时间内仍保持这条连接,使用一个客户(即浏览器)和服务器可以持续在这条连接上传送后续的HTTP请求和响应报文。

持续连接的两种工作方式:①非流水线方式:客户发送一个请求后必须在收到响应报文后才能发送下一个请求。②流水线方式:客户在收到响应报文之前可以持续发送请求报文。

万维网工作流程
工作流程解释

代理服务器——万维网高速缓存

代理服务器流程

HTTP有2类报文:①请求报文:客户发送给服务器的请求信息。②响应报文:服务器返回给客户的应答

HTTP报文组成:开始行、首部行、实体主体。请求报文和响应报文区别在于开始行分别为请求行和状态行。如下图

请求报文
响应报文

在服务器上存放用户的信息

万维网站点用cookie跟踪用户,cookie表示在服务器和客户之间传递的状态信息。使用cookie的服务器网站为用户产生一个唯一的识别码,利用此识别码网站就能跟踪用户在该网站的活动。

万维网文档:

①静态文档:指的是把静态文档放在服务器中,用户浏览时不会改变内容。(HTML,即超文本标记语言。XML,即可扩展标记语言,HTML文档是为了显示数据,而XML文档是为了传输数据。)就属于静态文档。

③动态文档:指的是浏览器访问服务器时才动态创建的文档。

③活动文档,这种技术把所有工作都转移给浏览器端。

搜索引擎

在万维网中用来进行搜索的程序就叫做搜索引擎。有全文检索搜索引擎分裂目录搜索引擎

11、电子邮件:

发送方协议:SMTP   接收方协议:POP3、IMAP

电子邮件由信封和内容组成。

SMTP通信的三个阶段:①连接建立,由SMTP客户(发送主机)与SMTP服务器之间建立。②邮件传送。③连接释放,即邮件发送完毕后,SMTP应该释放TCP链接。

12、动态主机配置协议DHCP

互联网广泛使用的DHCP提供了即插即用连网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限时间内使用这个分配到的IP地址,这段时间称为租用期,租用期数值由DHCP服务器决定。

DHCP的工作流程:DHCP服务器先被动打开UDP端口67,等待客户端发来的报文,DHCP客户从UDP端口68发送DHCP请求报文,DHCP服务器可能返回多个DHCP提供报文,供DHCP客户选择其中一个,之后DHCP发送确认报文DHCPACK,这时DHCP客户就可以使用这个IP地址了。DHCP客户根据DHCP服务器提供的租用期T设置2个计时器,时间分别为0.5T0.875T,当0.5T时间一到就要求更新租用期,当0.875T时间一到就要求重新发送请求报文,DHCP随时都可以提前终止服务器所提供的租用期,只需向DHCP服务器发送释放报文就好。

DHCP客户使用的UDP端口是68,而DHCP服务器使用的UDP端口是67。

DHCP工作流程

你可能感兴趣的:(计网学习第六章——应用层)