应用层对应用程序的通信提供服务
功能:
- 文件传输、访问、管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
一、网络应用模型
客户/服务器(C/S)模型 | P2P(对等式)模型 |
---|---|
服务器:提供计算服务的设备(面向任务)
|
|
客户机:请求计算服务的主机(面向用户)
|
|
在C/S模型中,服务器性能决定了整个系统的性能。P2P模型中任一计算机可互相通信,具备上传与下载的功能。
优点:
- 减轻服务器的计算压力,消除对某个服务器的完全依赖,将任务分配到各个结点上,大大提高系统效率与资源利用率。
- 多个客户机之间直接共享文档
- 网络健壮性强,单个结点失效不会影响其他部分的结点
缺点:
获取服务的同时还要给其他节点提供服务,会占用较多内存,影响整机速度
二、域名解析系统DNS
网络层是通过IP地址寻找,但人记不住IP地址,通过域名访问,而DNS服务器实现域名转换成IP地址
DNS系统采用C/S模型,其协议运行在UDP上,使用53号端口
2.1 层次域名空间
因特网采用层次树状结构的命名方法,任何一个连接到因特网的主机/路由器,都有唯一的层次结构名称,即域名。
域名
www.pku.edu.cn.
- 根 :最后一个
.
- 顶级域名 : (
cn
)
- 国家顶级域名 : cn , us , uk
- 通用顶级域名 : com , net , org , gov
- 基础结构域名/反向域名 : arpa
- 二级域名 : (
edu
)
- 类别域名: ac , com , edu
- 行政区域名 :用于我国各省、自治区、直辖市
- 三级域名、四级域名……
pku
、www
2.2 域名服务器
因特网的域名系统被设计为一个联机分布式的数据库系统,并采用C/S模型。域名 -> IP地址的解析由运行在域名服务器上的程序完成,但一个服务器只管辖一个区,保存区中所有主机域名到IP地址的映射,还有连向其他域名服务器的信息(无法完成转换时,找其他域名服务器)
DNS服务器分类
- 本地域名服务器:当主机发出DNS查询请求时,发送查询请求报文给该主机的本地域名服务器
- 根域名服务器:所有根域名服务器都知道所有顶级域名服务器的IP地址
- 顶级域名服务器:管理本服务器下注册的所有二级域名
- 权限域名服务器:负责一个区的域名服务器
2.3 域名解析过程
域名解析指将域名映射成IP地址(正向解析)或把IP地址映射成域名(反向解析)的过程
当客户机需要解析域名时,通过本机的DNS客户端构造DNS请求报文,以UDP数据报的方式发给本地域名服务器
-
递归查询 (由于给根域名服务器造成的负载过大,实际中几乎不适用)
本地域名服务器以DNS客户的身份,向根域名服务器继续发出查询请求报文,替该主机继续查询,依次递归到后面的服务器,得到IP地址后逐级返回。 -
递归与迭代结合的查询
主机向本地域名服务器的查询使用递归
本地域名服务器向根域名服务器的查询使用迭代 :
- 1.客户机向本地服务器发出DNS请求报文
- 2.本地域名服务器收到请求后,查询本地缓存,若无记录,则向根域名服务器发出解析请求
- 3.根域名服务器的处理与2类似,只是找到了对应的顶级域名服务器IP后不自己找,而是返回给本地域名服务器让其继续依次找
……- 8.本地域名服务器将结果保存到本地缓存,同时返回给客户机
高速缓存:在DNS服务器的高速缓存中保存最近接收的DNS查询结果,当另一相同的域名查询到达时,可直接提供该IP地址
好处:提高DNS的查询效率,减少因特网上的DNS查询报文数量
三、文件传输协议(FTP)
- 文件传送协议 FTP
- FTP是因特网上使用最广泛的文件传输协议,提供交互式的访问,允许客户指明文件的类型与格式,允许文件有存取权限
- 采用C/S的工作方式(用户通过客户机程序连接至远程计算机上运行的服务器程序),使用TCP实现可靠传输
一个FTP服务器进程可同时为多个客户进程提供服务,有两部分组成:主进程(负责接收新的请求),从属进程(处理单个请求)
从属进程的工作步骤 - 打开
21号
控制端口,使客户进程能连接上 - 等待客户进程发连接请求
- 启动从属进程处理客户进程发出的请求(与主进程并发执行,处理完请求后就终止)
- 回到等待状态,继续接收其他客户进程的请求
- 简单文件传送协议 TFTP
四、电子邮件
电子邮件的信息格式
- 信封
- 内容
- 首部
From:邮件地址
,To:邮件地址
,Subject:……
- 主体
- 首部
电子邮件地址的规定格式:收件人邮箱名@邮箱所在主机域名:保证该邮箱地址在整个因特网上唯一
4.1 电子邮件系统
三个组成构件 - 用户代理(UA):用户与电子邮件系统的接口,通常是一个运行在PC上的程序
- 邮件服务器:组成电子邮件系统的核心,功能是接收与发送邮件,向发信人报告传送情况。采用客户机/服务器方式工作,但它能同时充任客户机与服务器
- 邮件发送协议与读取协议:发送时SMTP客户端主动将邮件推到SMTP服务器端;POP3通信方式:用户读取邮件时,用户代理向邮件服务器发出请求,拉取邮件
4.1 SMTP(简单邮件传送协议)与POP3
- 简单邮件传送协议SMTP
SMTP建立在TCP连接、端口号25、C/S基础上,规定两个相互通信的SMTP进程之间如何交换信息(SMTP客户机与SMTP服务器之间)
SMTP通信阶段
- 连接建立
- 发送方邮件送到服务器的邮件缓存中,SMTP客户端每隔一段时间扫描缓存。
- 若发现邮件,则使用25号端口与接收方的SMTP服务器建立TCP连接
- TCP建立后,接收方SMTP发出"220 service ready",然后SMTP客户机发送"HELLO"命令,并附上发送方主机名
- 邮件传送
MAIL命令+收件人地址
:若服务器准备好接收,则回答250 OKRCPT命令+ 发送收件人地址
:每发送一个RCPT命令,服务器返回相应信息(250 OK / 550 No such user)
RCPT作用:弄清接收方系统是否做好接收邮件的准备,以便不至于发送很长邮件后发现地址错误而浪费通信资源DATA命令
开始传输内容
- 连接释放:客户发送QUIT命令,服务器返回221(服务器关闭,表明同意释放TCP连接)
-
SMTP的缺点:不能传送可执行文件或其他二进制对象,仅限7位ASCII码,不能传送非英语文字,拒绝过长的邮件
-
通用因特网邮件扩充 MIME:使电子邮件系统可支持声音、图像、视频、多种语言,使传输内容丰富多彩
- 连接建立
- 邮局协议POP3
POP采用C/S工作方式,在传输层使用TCP连接、端口号110
POP的两种工作方式
- 下载并保存:用户从邮件服务器读取后,依然保存在邮件服务器,可再次读取
- 下载并删除:一旦被用户读取就从邮件服务器删除,不能再次读取
- 网际报文存取协议IMAP
- 基于万维网的电子邮件 HTTP+SMTP+HTTP
五、万维网和HTTP协议
5.1 WWW的概念
万维网(World Wide Web)是一个资料空间,无数网络站点和网页的集合
内核构成:-
1.统一资源定位符URL (唯一标识 资源)
一般形式:<协议>://<主机> : <端口>/<路径>
-
2.超文本传输协议HTTP 用户通过点击超链接获取资源,这些资源通过传送给使用者
-
3.超文本标记语言HTML显示页面
万维网以C/S方式工作,客户程序是用户计算机的浏览器,服务器程序在万维网文档驻留的计算机上运行。
通信流程:- 1.Web用户使用浏览器指定URL与Web服务器建立连接,并发送浏览器请求
- 2.Web服务器将URL转换成文件路径,并返回信息给Web浏览器
- 3.通信完成,关闭连接
5.2 超文本传输协议HTTP
定义浏览器如何请求万维网文档,以及服务器如何将文档传输给浏览器
过程:
- 1.浏览器分析URL
- 2.浏览器向DNS请求解析IP地址
- 3.DNS解析出IP地址
- 4.浏览器与该服务器建立TCP连接(默认端口号为80)
- 5.浏览器发出HTTP请求
- 6.服务器通过HTTP响应把文件发给浏览器
- 7.TCP连接释放
- 8.浏览器解释HTML文件,并显示给用户
HTTP协议是无状态的,但是实际工作中,网站希望能通过Cookie识别用户,提供个性化服务
cookie是存储在用户主机中的文本文件,记录一段时间内某用户的访问记录
HTTP协议采用TCP作为运输层协议,但HTTP本身是无连接的(通信双方在交换HTTP报文之间不需要先建立HTTP连接)
- 非持久连接
- 持久连接
HTTP的报文结构
请求报文 : 方法 URL 版本-