第六章 应用层
6.1 应用层概述
应用层是计算机网络分层模型中的最高层,它负责处理网络应用程序和用户之间的交互,为用户提供各种服务和功能。在OSI模型中,应用层是第七层,包括各种网络应用程序和协议,如电子邮件、文件传输协议(FTP)、域名系统(DNS)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)等。
应用层的主要功能包括:
- 提供各种网络服务和应用程序,如电子邮件、文件传输、远程登录、万维网等,为用户提供便捷的通信和信息交流方式。
- 实现应用程序间的通信和数据传输,通过协议规定数据格式、数据传输方式和通信流程等,保证应用程序之间的互通和兼容性。
- 处理数据编码和解码、加密和解密等操作,保证数据传输的安全和可靠性。
- 提供应用程序的访问控制和身份认证功能,保证用户和应用程序的安全性和可信性。
- 支持网络管理和监控,通过各种管理工具和协议,对网络应用程序和服务进行管理、监控和优化。
6.2客户/服务器方式(c/s)和对等方式(P2P)
客户/服务器方式
- 客户和服务器是指通信中所涉及的两个应用进程。
- 客户/服务器方式所描述的是进程之间服务和被服务的关系
- 客户是服务请求方,服务器是服务提供方。
- 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。
- C/S方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是C/S方式。包括万维网WWW、电子邮件、文件传输FTP等。
- 基于C/S方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
- 由于一台服务器计算机要为多个客户机提供服务,在C/S应用中,常会出现服务器计算机跟不上众多客户机请求的情况。
- 为此,在CS应用中,常用计算机群集(或服务器场)构建一个强大的虚拟服务器
对等(P2P)方式
- 在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。
- 目前,在因特网上流行的P2P应用主要包括P2P文件共享、即时通信、P2P流媒体、分布式存储等
- 基于P2P的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中
- P2P方式的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低
- P2P方式具有成本上的优势,因为它通常不需要庞大的服器设施和服务器带宽。为了降低成本,服务提供商对于将P2P方式用于应用的兴趣越来越大
6.3 动态主机配置协议DHCP
DHCP作用:
- DHCP(Dynamic Host Configuration Protocol)是一种网络协议,它的主要作用是自动分配IP地址和其他网络参数(如子网掩码、网关、DNS服务器等)给客户端设备,使得设备能够快速地接入网络并获得有效的网络连接。
- DHCP协议通过服务器自动分配IP地址,避免了手动分配IP地址的繁琐和错误,同时也提高了网络管理的效率和可靠性。DHCP服务器可以动态地分配可用的IP地址,并监控地址池的使用情况,确保分配给客户端的IP地址是有效的、唯一的和未被占用的。
- DHCP还可以提供其他网络参数,例如子网掩码、网关、DNS服务器等。这些参数也可以自动分配给客户端设备,使得设备能够在接入网络时快速地配置相关的网络设置。
工作方式:
- 发现(Discover):客户端设备在连接网络时,会广播DHCP发现请求,以寻找可用的DHCP服务器。
- 提供(Offer):DHCP服务器在收到发现请求后,会向客户端设备提供可用的IP地址和其他网络参数。
- 选择(Request):客户端设备从多个DHCP服务器提供的选项中选择其中一项,并向所选的DHCP服务器发送请求
- 确认(Acknowledge):DHCP服务器收到客户端设备的请求后,会为其分配IP地址和其他网络参数,并发送确认响应。
在此过程中,DHCP服务器会维护一个IP地址池,用于存储可用的IP地址。当客户端设备请求IP地址时,DHCP服务器会从池中选择一个未被分配的IP地址,并为客户端分配该IP地址,同时也分配其他相关的网络参数,如子网掩码、网关、DNS服务器等。
DHCP还支持地址租约机制,即为分配的IP地址设定一个租约时间,在租约到期前客户端设备需要向DHCP服务器续租。如果租约到期后客户端设备没有续租或DHCP服务器收回租约,该IP地址将被释放回地址池,可以供其他客户端设备使用。
6.4域名系统DNS
概述
DNS是互联网中的一项核心服务,它将易于记忆的域名转换为IP地址,使得用户可以使用域名访问网站,而不必记住长长的IP地址。DNS是一个分布式数据库系统,由许多DNS服务器组成,通过域名系统解析提供域名与IP地址之间的映射关系。
工作流程
- 用户在浏览器中输入网站的域名。
- 本地DNS解析器会向本地DNS服务器发送一条DNS查询请求,该请求包含所需域名和查询类型(如A记录、CNAME记录等)。
- 如果本地DNS服务器缓存了该域名对应的IP地址,则直接返回该IP地址;否则本地DNS服务器将向根DNS服务器发送查询请求。
- 根DNS服务器将返回包含顶级域(如.com、.org、.cn等)DNS服务器的IP地址的响应。
- 本地DNS服务器将向顶级域DNS服务器发送查询请求。
- 顶级域DNS服务器将返回次级域DNS服务器的IP地址的响应。
- 本地DNS服务器将向次级域DNS服务器发送查询请求。
- 次级域DNS服务器将返回目标域名对应的IP地址的响应。
- 本地DNS服务器将该IP地址返回给用户的DNS解析器。
- 用户的DNS解析器将该IP地址返回给用户的浏览器。
- 用户的浏览器将该IP地址用于向目标网站发送请求。
6.5 文件传输协议FTP
工作流程
- 建立连接:FTP客户端与FTP服务器之间通过TCP/IP协议进行通信,FTP客户端通过TCP的21端口连接到FTP服务器。连接建立后,客户端可以使用FTP服务器提供的服务。
- 登录认证:FTP服务器会要求客户端提供用户名和密码进行身份验证。如果认证成功,客户端可以开始上传或下载文件。
- 传输文件:客户端与服务器之间的文件传输可以使用两种模式:ASCII模式和二进制模式。ASCII模式用于传输文本文件,二进制模式用于传输二进制文件(例如图像或视频文件)。在传输文件时,客户端可以使用FTP命令来浏览文件系统、创建文件夹、删除文件等。
- 断开连接:当完成文件传输后,客户端可以通过FTP命令断开与FTP服务器的连接。
FTP客户和服务器之间要建立“控制连接”和“数据连接”这两个并行的TCP连接。控制连接在整个会话期间都保持打开状态,而数据连接在每次文件传输时才建立,传输结束就关闭。
默认情況下,FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接
FTP客户和服务器之间要建立“控制连接”和“数据连接”这两个并行的TCP连接。控制连接在整个会话期间都保持打开状态,而数据连接在每次文件传输时才建立,传输结束就关闭。
默认情況下,FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接
但是,是否使用TCP20端口建立数据连接与传输模式有关,主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定。但是,是否使用TCP20端口建立数据连接与传输模式有关,主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定。
6.6 电子邮件
电子邮件传输协议SMTP工作原理
- 发送方通过SMTP客户端连接到自己的SMTP服务器。
- 发送方通过SMTP客户端将邮件发送到SMTP服务器。
- SMTP服务器对邮件进行地址解析,确定该邮件应该传输到哪个接收方的SMTP服务器。
- 发送方的SMTP服务器连接到接收方的SMTP服务器,发送邮件并等待确认。
- 接收方的SMTP服务器将邮件存储在本地邮件系统中,并通过POP3或IMAP协议将邮件传递给接收方的电子邮件客户端。
SMTP协议只负责将邮件从发送方传输到接收方的SMTP服务器。传输完成后,电子邮件的内容可能需要使用其他协议(例如POP3或IMAP)进行接收和处理。另外,由于SMTP是明文协议,邮件内容可能会被窃听和篡改,因此建议使用TLS或SSL等加密协议来保护电子邮件的安全性。