六、应用层
6.1 网络应用模型
6.1.1 客户/服务器模型
工作流程
- 服务器处于请求状态
- 客户机发出服务请求,并等待接收结果
- 服务器收到请求之后,分析请求,进行必要的处理,得到结果并发送给客户机
主要特点
- 网络中个计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,是他们不能够随意存储删除数据,或进行其他受限制的网络活动。整个网络的管理工作由少数服务器担当,因此网络的管理非常集中和方便。
- 客户机之间不能直接通信
- 可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数量有限。
6.1.2 P2P模型
定义
整个网络中的传输内容不被保存在中心服务器上,每个节点同时具有下载,上传的功能,其权利和义务都是大体对等的。其中任意一对计算机称为对等方(Peer),直接通信。
相比与C/S模型,P2P模型的优点:
- 减轻了服务器的计算压力,消除了对服务器的完全依赖,可以将任务分配到各个节点 上,因此大大提高了系统效率和资源利用率
- 多个客户机之间可以直接共享文档。
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
- 网络健壮性强,单个节点的失效不会影响其他部分的结点
缺点:
获取服务的同时还要给其他结点提供服务,占用较多的内存,影响整机的速度。
6.2 域名系统DNS
6.2.1 层次域名空间
6.2.2 域名服务器
-
根域名服务器
-
顶级域名服务器
-
权限域名服务器(授权域名服务器)
-
本地域名服务器
6.2.3 域名解析过程
- 递归查询
- 递归与迭代相结合的方式
注意课后习题中错题,C/S中TCP连接建立需要一个RTT
6.3 文件传输协议FTP
6.3.1 FTP工作原理
FTP提供交互式访问,允许客户知名文件类型与格式,并允许文件具有存取权限
TCP可靠传输服务
FTP的服务器进程由两部分:一个主进程,负责接收新的请求。若干从属进程,负责处理单个请求。
FTP提供的功能:
- 不同种类主机系统之间文件传输
- 以用户权限管理方式提供用户对远程FTP服务器上的文件管理能力
- 以匿名FTP方式提供公用文件共享能力
6.3.2 控制连接与数据连接
FTP工作时使用两个并行的TCP连接,一个是控制连接(端口号21),一个是数据连接(端口号20),可以使协议更加简单和更容易实现。
控制连接
- 服务器监听自己的21号端口,等待客户连接
- 传输控制信息(连接请求,传送请求等)
- 控制信息以7位ASCII格式传送
- 控制连接在整个会话期间一直保持打开状态
数据连接
数据连接有 主动模式PORT和 被动模式PASV两种:
主动模式PORT
- 客户端随机端口m连接服务器端21号端口
- 服务器端20号端口连接到客户端随机端口n
被动模式PASV
- 客户端随机端口m与服务器端21号端口建立连接,服务器端通过21号端口告知客户端服务器x端口开放,可用于数据连接
- 客户端随机端口n连接服务端x端口。
6.4 电子邮件
6.4.1 电子邮件系统的组成结构
- 电子邮件是一种异步通信方式
- 三个最主要的组成构件:
- 用户代理(User Agent)
- 邮件服务器
- 电子邮件使用的协议(SMTP,POP3(或IMAP))
6.4.2 电子邮件格式与MIME
格式包含首部和主体
MIME
6.4.3 SMTP和POP3
SMTP通信的三个流程
- 连接建立
- 邮件传送
- 连接释放
POP3
-
POP3在传输层使用TCP,端口号110
-
POP3协议建立在TCP连接上,使用的是有连接的可靠的数据传输服务,在传输层是使用明文来传输密码的,并不对密码进行加密。POP3协议基于ASCII码,如果要传输非ASCII码的数据,那么要使用非ASCII码的数据,那么要使用MIME将数据转换成ASCII码形式。
IMAP
6.5 万维网WWW
6.5.1 万维网内核的构成标准
- 统一资源定位符(URL)
- 超文本传输协议(HTTP)
- 超文本标记语言(HTML)
6.5.2 超文本传输协议HTTP
- 万维网工作流程
- HTTP特点
- Cookie
- 持久连接和非持久连接
- HTTP的报文结构
- https和http区别