应用层
应用层概述
应用层对应用程序的通信提供服务
应用层协议定义:
应用进程交换的报文类型,请求还是响应
各种报文类型的语法,如报文中的各个字段及其详细
字段的寓意,即包含在字段中的信息的含义
进程何时、如何发送报文,以及对报文进行响应的规则
应用层的功能:
文件传输、访问和管理
电子邮件
虚拟终端
查询服务和远程作业登录
应用层的重要协议:
FTP
SMTP、POP3
HTTP
DNS
网络应用模型
客户、服务器(C/S)模型
服务器:提供计算服务的设备
功能:永久提供服务;
永久性访问地址/域名
客户机:请求计算服务的主机
功能:与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不与其他客户机直接通信
客户、服务器(C/S)模型的应用:Web,文件传输FTP,远程登录,电子邮件
客户、服务器模型的工作流程
- 服务器处于接收请求的状态
- 客户机发出服务请求,并等待接收结果
- 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机
客户、服务器模型的主要特点
- 网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其他首先得网络活动。整个网络的管理工作由少数服务器担当,因此网络的管理非常集中和方便
- 客户机之间不直接通信,如,在Web应用中两个浏览器并不直接通信
- 可扩展不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限
P2P模型
在P2P模型中,各计算机没有固定的客户和服务器划分。任意一对计算机称为对等方
与C/S模型相比,P2P模型的优点如下:
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,从而提供系统效率和资源利用率
- 多个客户机之间可以直接共享文档
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求
- 网络健壮性强,单个结点的失效不会影响其他部分的结点
P2P模型的缺点:在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度
DNS系统
域名系统(Domain Name System,DNS)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库。因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(www.baidu.com)转换为便于机器处理的IP地址。DNS系统采用客户/服务器模型,其协议运行在UDP知道航,使用53端口
从概念可将DNS分为3部分:层析域名空间。域名服务器、解析器
域名
为了方便记忆,在Internet上用一串字符表示主机地址,这串字符称为域名,如:学信网(www.chsi.com.cn)
域名结构
DNS将整个Internet视为一个域名空间,域名空间是由不同层次的域组成的集合
DNS采用层次化的分布式的名字系统,是一个树状结构。整个树状结构称为域名空间。任何一个主机的域名都是唯一的
根域没有名字用"."表示,在Internet中,顶级域由InterNIC负责管理和保护
部分Internet顶级域名及含义
域名 | 含义 |
---|---|
com | 商业组织 |
edu | 教育、学术机构 |
net | 网络服务机构 |
org | 非盈利性组织、机构 |
int | 国际组织 |
cn | 中国 |
hk | 中国香港特别行政区 |
gov | 美国的政府机构 |
mil | 军事机构 |
ma | 中国澳门特别行政区 |
tw | 中国台湾省 |
uk | 英国 |
us | 美国 |
au | 澳大利亚 |
域名服务器
根域名服务器
即最高层次域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道的顶级域名服务器的域名和IP地址
根域名服务器的功能:用来管辖顶级域名,并不能直接把带查询到域名转换成IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询
顶级域名服务器
顶级域名服务器的功能:用来管理该顶级域名服务器注册的所有二级域名
权限域名服务器
负责一个区的域名服务器
本地域名服务器
当一个主机发出DNS查询请求时,这个查询请求报文会发送给本地域名服务器
域名解析过程
递归查询
主机向本地域名服务器提出域名解析请求,本地域名服务器向根域名服务器提出域名解析请求,根域名服务器向顶级域名提出解析请求,以此类推,直到找到目标域名服务器为止,目标域名服务器将域名对应的IP地址沿原路返回,将查询结果提出域名解析请求的主机
迭代查询
主机向本地域名服务器提出域名解析请求,本地域名服务器向根域名服务器提出域名解析请求,根域名服务器返回顶级域名服务器的IP地址;本地域名服务器向顶级域名服务器提出解析请求,顶级域名返回二级域名服务器的IP地址;以此类推
FTP
文件传送协议(file transfer protocol,FTP) 是Internet文件传送的基础。通过该协议,用户可以将文件从一条计算机上传输到另一条计算机上,并保证其传输的可靠性
FTP使用时的相关概念:
下载:从远程主机复制文件至本地计算机上
上传:将文件从本地计算机中复制至远程主机上
FTP提供的功能:
- 提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
- 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
- 以匿名FTP的方式提供公用文件共享能力
FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干从属进程,负责单个请求
FTP的工作流程
(1)打开熟知端口21(控制端口),使客户进程能够连接上
(2)等待客户进程发连接请求
(3)启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后终止
(4)回到等待状态,继续接受其他客户进程的请求
FTP服务器必须在整个会话期间保留用户的状态信息。特别是服务器必须把指定的用户账户与控制连接联系起来,服务器必须追踪用户在远程目录树上的当前位置
控制连接与数据连接
FTP工作原理示图:
1.控制连接
服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传送控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送,控制连接在整个会话期间一直保持打开状态
2.数据连接
数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭数据传送连接并结束运行
电子邮件
利用计算机网络来发送或接收的邮件称为电子邮件,E-mail。提供独立处理电子邮件业务的服务器称为邮件服务器。只限制在局部或全局网内传递的邮件为“办公室电子邮件”,而能够在世界范围内传递的电子邮件称为“Internet 电子邮件”
电子邮件格式
电子邮件由信封和内容两部分组成。一般只规定了邮件内容中的首部格式,而邮件的主体部分由用户自己撰写。用户写好首部后,邮件系统自动将信封所需信息提取出来并写在信封上
邮件内容首部包含一些关键字,后面加上冒号,如“To:”是收信人的邮件地址,“Subject:”是邮件的主体等
电子邮件地址的格式
TCP/IP体系的电子邮件系统规定电子邮件的地址格式:收件人邮箱名@邮箱所在主机的域名,如"zhangsan@zju.edu.cn"
电子邮件的组成结构
一般电子邮件系统有以下3个主要构件:
- 用户代理:用户与电子邮件系统的接口,如Outlook、Foxmail。其基本功能是撰写、显示和处理
- 邮件服务器:因特网所有的ISP(因特网服务提供商)都有邮件服务器,功能是发送和接收邮件,同时还要向发信人报告邮件传送情况(已交付、被拒绝、丢失等)
- 邮件电子使用的协议:如简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)、邮件协议版本3(Post Office Protocol-Version3,POP3)等
电子邮件的发送和接收过程
电子邮件发送和接收的过程示图:
1.发信人调用用户代理来编辑要发送的邮件。用户代理用SMTP把邮件传送给发送端邮件服务器
2.发送端邮件服务器将邮件放入邮件缓存队列中,等待发送
3.运行在发送端邮件服务器的SMTP客户进程发现在邮件缓存中有待发送的邮件,就像运行在接收端邮件服务的SMTP服务器进程发起TCP连接的建立
4.TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件。当所有的待发送邮件发完了,SMTP就关闭所建立的TCP连接
5.运行在接收端邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取
6.收信人在准备收信时,调用用户代理,使用POP3(或IMAP)将自己的邮件从接收端邮件服务器的用户邮箱中取回
SMTP和MIME
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息。SMTP时候用客户/服务器方式,用的是TCP连接,端口号为25
SMTP通信的三个阶段
-
连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的,SMTP不使用中间的邮件服务器
-
邮件传送
-
连接释放。邮件发送完毕后,SMTP应释放TCP连接
SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
- SMTP服务器会拒绝超过一定长度的邮件
MIME
多用途网络邮件扩充(Multipurpose Internet Mail Extensions,MIME)
MIME并未改动SMTP或取代它。MIME是继续目前的格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。MIME邮件可在现有的电子邮件程序和协议下传送。
MIME主要内容包括以下三个部分:
- 5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、传送编码和内容类型
- 定义了许多邮件首部字段,对多媒体电子邮件的表示方法进行了标准化
- 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变
POP3
邮局协议(Post Office Protocol,POP)是一个非常简单但功能有限的邮件读取协议。
POP也使用客户/服务器的工作方式,在传输层使用TCP,端口号为110
POP3是Internet上传输电子邮件的第一个协议标准,也是一个离线协议。他提供信息存储功能,负责为用户保存收到的电子邮件,并且从邮件服务器上下载、读取邮件
POP有两个工作方式:“下载并保留”和“下载并删除”。在“下载并保留”方式,用户从邮件服务器上读取邮件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件;而使用“下载并删除”方式时,邮件一旦被读取,就被邮件服务器删除,用户不能再去读取
IMAP
网际消息访问协议(Internet message access protocol,IMAP)。IMAP协议比POP协议复杂。当用户的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才传到用户的计算机上
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分
万维网和HTTP
WWW的概念与组成结构
万维网(World Wide Web,WWW)是一个分布式、联机式的信息存储空间,在这个空间中:一样有用的事物成为一样“资源”,并由一个全域“统一资源定位符(URL)”标识。这些资源通过超文本传输协议(HTTP)传送使用者,而后者通过单击链接来获取资源
万维网的内核部分是由三个标准构成的:
- 统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL
- 超文本传输协议(HTTP):一个应用层协议,它使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议
- 超文本标记语言(HTML):一种文档结构标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述
URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁表示。URL相当于一个文件名在网络范围的扩展。
URL的一般形式:<协议>://<主机>:<端口>/<路径>
万维网以客户/服务器方式工作,工作流程如下:
- Web用户数会用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
- Web服务器把URL转换为文件路径,并返回信息给Web浏览器
- 通信完成,关闭连接
HTTP
超文本传输协议(HTTP)是客户端浏览器或其他程序与Web服务器之间的应用层协议。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他互联网/内联网应用系统之间的通信,从而实现各类超媒体访问的继承
用户浏览页面的具体过程
用户浏览页面方法:输入URL或点击超链接
- 浏览器分析URL
- 浏览器向DNS请求解析IP地址
- DNS解析出IP地址
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令
- 服务器响应
- 释放TCP连接
- 浏览器显示
HTTP的特点
- HTTP是无连接的,虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接
- HTTP既可以使用非持久连接,也可以使用持久连接。非持久连接:每个网页元素对象的传输都需要单独建立一个TCP连接;持久连接:万维网服务器在发送响应后仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文;持久连接又分为流水线和非流水线
HTTP的报文结构
HTTP报文是面向文本的,因此在报文中每一个字段都是一些ASCII码串
有两类报文:
请求报文:从客户向服务器发送的请求报文
响应报文:从服务器到客户的回答
状态码:
- 1xx表示通知信息的,如请求收到了或正在处理
- 2xx表示成功,如结束后或知道
- 3xx表示重定向,如要完成还必须采取进一步的行动
- 4xx表示客户的差错,如请求中有错误的语法或不能完成
- 5xx表示服务器的差错,如服务器失效无法完成请求