应用层

计算机网络知识点总结

6、应用层

6.1 概述

(1)应用层的具体内容就是规定应用进程在通信时所遵循的协议。

(2)应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。

(3)服务 = 协议+端口

FTP文件传输服务 = TCP + 21

TELNET 终端仿真服务 = TCP + 23

DNS 域名解析服务 = UDP + 53

HTTP 超文本传输服务 = TCP + 8080

HTTPS 加密的超文本传输服务 TCP + 443

SMTP 简单邮件传输服务 = TCP + 25 (发)

POP3 = TCP + 110(收)

Microsoft RDP 微软远程桌面使用的端口 = TCP 3389端口

6.2 DNS 域名服务器

1、域名以及域名分类的原因

(1)因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

(2)那么为什么存在域名分级呢

因为整个因特网不可能只使用一个域名服务器提供服务,所以,域名系统DNS使用成层次树状结命名,并使用分布式的域名系统。

2、域名分级

因特网采用层次树状结构命名方法。域是名字空间中一个可被管理的划分(按机构组织划分),域可被划分为子域,子域可再被划分,即形成了顶级域名、二级域名、三级域名等。从右向左为顶级域名、二级域名、三级域名等,用点隔开。

如:
tieba.baidu.com
它由三个标号组成, com即为顶级域名,baidu为二级域名,tieba即为三级域名。且域名不分区大小写。

3、 域名体系与域名解析流程

(1)域名体系

在这里插入图片描述 在这里插入图片描述

在图中每一个域名服务器都能进行部分域名到IP地址的解析,当某个DNS服务器不能进行域名到IP地址的转换时,它就会到网络上其他域名服务器进行解析。从图中也可看出,DNS域名服务器也是按照层次安排。每一个域名服务器都只对域名体系中的一部分进行管辖。

(2)域名服务器分类

1、根服务器
根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有顶级域名服务器的域名和ip。根域名服务器一版情况下不会把待查询的域名直接转换IP,而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器进行查询。
2、顶级域名服务器
顶级域名服务器管理在该顶级域名服务器注册的所有二级域名,但受到DNS查询就会有相应应答。(可能是给出最后的结果或下一步一应当找的域名服务器ip)

3、权限域名服务器
可以理解为二级域名下 负责一个区的域名服务器、如abc.com和y.abc.com应各设有一个权限域名服务器。

4、本地域名服务器
一台主机发出DNS请求时就是发给本地域名服务器。
每一个因特网服务提供ISP(电信联通移动),或一个大学都可以拥有一个本地域名服务器。这种服务器有时也被称为默认域名服务器。本地域名服务器一般离用户较近,一般不超过几个路由的距离。如果要查询的IP同属一个本地ISP时即可直接返回结果地址ip。

域名服务器同样具有主从模式保证服务可用

4、域名解析过程

(1)主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

(2)本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

在这里插入图片描述

1、主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。
2、本地服务器采用迭代查询。它先向一个根域名服务器查询。
3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
4、本地域名服务器向顶级域名服务器dns.com进行查询。
5、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。
6、本地域名服务器向权限域名服务器dns.abc.com进行查询。
7、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。
8、本地域名服务器最后把查询结果告诉m.xyz.com。
整个查询过程共用到了8个UDP报文。本地域名服务器经过3次迭代查询后,从权限域名服务器dns.abc.com得到主机y.abc.com的IP地址。最后将结果返回给发起查询的主机m.xy.comz

6.3 FTP 传输协议

1、概述

FTP(File Transfer Protocol)是应用层的一个文件传输协议。其主要作用是在服务器和客户端之间**实现文件的传输和共享。**FTP协议运行在TCP连接上,保证了文件传输的可靠性(运行在UDP协议上的是TFTP协议 )。

2、FTP的两种传输方式

(1)文本(ASCII)方式 :通常文本文件的传输采用ASCII方式

(2)二进制(Binary)方式 :而图象、声音文件、加密和压缩文件等非文本文件采用二进制方式传输 。

3、FTP的特点

(1)文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。

(2)FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性

(3)FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求

在这里插入图片描述

4、两种连接模式

(1)主动模式 : 服务器端主动建立数据连接(注意,不是TCP连接) 。

(2)被动模式:客户端主动建立数据连接(注意,不是TCP连接)。

6.4 DHCP动态主机配置协议

1、概念

DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式,用户不再需要去手动配置 IP 地址等信息。

DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址。

2、DHCP 工作过程

(1)客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。

(2)客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。

(3)如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。

(4)DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。

6.5 电子邮件协议(SMTP, POP3, IMAP)

1、概述

一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议。

邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP

img

2、SMTP

**SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。**MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则。

img

3、POP3

POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。

4、IMAP

协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。

6.6 Http 和 Https

1、Http

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

2、Http 报文格式

在这里插入图片描述

3、Http 特点

(1)无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作

(2)无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。

(3)基于请求和响应:基本的特性,由客户端发起请求,服务端响应

(4)简单快速、灵活

(5)通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性

4、Https

《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。
5、Https 特点

(1)内容加密:采用混合加密技术,中间者无法直接查看明文内容 ;

(2)验证身份:通过证书认证客户端访问的是自己的服务器

S建立全信道,加密数据包**。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。
5、Https 特点

(1)内容加密:采用混合加密技术,中间者无法直接查看明文内容 ;

(2)验证身份:通过证书认证客户端访问的是自己的服务器

(3)保护数据完整性:防止传输的内容被中间人冒充或者篡改