0x6 应用层
导图
应用层基本概念
应用层对应用程序的通信提供服务。
应用层协议定义
应用层会规定什么?
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能
- 文件传输、访问和管理。
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录。
应用层的重要协议
DNS、FTP、SMTP、POP3、HTTP
网络应用模型
C/S模型
-
服务器:提供计算服务的设备。
- 永久提供服务。
- 永久性访问地址/域名。
-
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务。
- 间歇性接入网络。
- 可能使用动态IP地址。
- 不与其他客户机直接通信。
应用:Web、文件传输FTP、远程登录、电子邮件。
P2P模型
对等模型(Peer to Peer),特点如下:
- 不存在永远在线的服务器。
- 每个主机既可以提供服务,也可以请求服务。
- 任意端系统/节点之间可以直接通讯。
- 节点间歇性接入网络。
- 节点可能改变IP地址。
- 可扩展性好。
- 络健杜性强。
应用程序协议
域名解析系统DNS
DNS服务的作用:将域名解析成IP地址。
域名
常见域名:政府机构.gov、教育机构.edu、商业机构.com、军事机构.mil、国际组织.int、社会组织.org。
自左向右、由低到高。
从上到下:顶级域名、二级域名、三级域名、四级域名。
域名服务器
域名解析过程
-
递归查询:
-
迭代查询:
-
高速缓存
存储最近查过的域名以及从哪里获得域名信息的记录。
通过高速缓存可以大大减轻域名服务器的负荷。
-
文件传输协议FTP
文件传送协议FTP( File Transfer Protocol),提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
简单文件传送协议TFTP( Trivial File Transfer Protocol),容易实现,面向小文件传输。
FTP服务器和用户端
- FTP是基于客户/服务器(C/S)的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
- 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
FTP工作原理
FTP使用TCP实现可靠传输。
登陆FTP地址方式
-
用户名和密码
-
匿名登录
互连网中有很大一部分FTP服务器被称为“匿名”( Anonymous) FTP 服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
Anonymous (匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous"登录FTP服务,就可访问远程主机上公开的文件。
FTP服务器有1个主进程,n个从属进程。
FTP传输模式
- 文本模式:ASCI模式,以文本序列传输数据。
- 二进制模式:Binary模式,以二进制序列传输数据。
- 控制连接始终保持。
- 数据连接保持一会。
- 是否使用TCP20端口建立数据连接与传输模式有关
- 主动方式使用TCP20端口。
- 被动方式由服务器和客户端自行协商决定(端口>1024)。
电子邮件协议
电子邮件概述
信息格式:信封、首部、主体。
组成结构:
简单邮件传送协议SMTP
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送部件的SMTP进程就是SMTP客户,负责接收部件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
- TCP连接 、端口号25、C/S方式。
SMTP通信三个阶段:
-
连接建立
SMTP服务器若有能力接收邮件,回答“250 OK”。
否则,回答“421 Service not available”。 -
邮件传送
A代表发送方、B代表接收方。
-
连接释放
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接。
SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
MIME
通用因特网邮件扩充MIME使电子邮件系统可以支持声音、图像、视频、多种国家语言等,使得传输内容丰富多彩。
邮局协议POP3
POP3建立在TCP连接 、端口号110、C/S。
POP3工作方式
- 下载并保留(在服务器)
- 下载并删除
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WIFI的时候再下载附件)。
基于万维网的电子邮件
发送方和接收方都使用HTTP协议。
万维网WWW
万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
-
统一资源定位符URL唯一标识资源(文字、视频、音频)URL一般形式:<协议>://<主机>:<端口>/<路径>
URL不区分大小写,协议有http、ftp,分别对应的主机为域名、IP地址。比如:http://www.pku.edu.cn 。
用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。
-
万维网以C/S方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
-
万维网使用超文本标记语言(HTML),使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
HTTP协议
超文本传输协议HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP协议的特点
- HTTP协议是无状态的。(无状态指不同客户端访问到的都是同一个网页)但是在实际工作中,一些万维网站点常常希望能够识别用户。
- Cookie(小饼干)是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”
)的访问记录,为用户提供个性化服务。 - HTTP采用TCP作为传输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连
接)。
HTTP协议的连接方式
HTTP协议的连接方式分为持久连接(Keep-alive)和非持久连接(Close)。
持久连接(Keep-alive)又分为流水线和非流水线。
HTTP的报文结构
HTTP报文分为请求报文、响应报文。
HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串。
某浏览器发出的请求报文:
GET /index .html HTTP/1.1
Host: www.test.edu.cn
Connection: Close
Cookie: 123456
响应报文状态码:
- 1xx表示通知信息的,如请求收到了或正在处理。
- 2xx表示成功,如接受或知道了。202 Accepted
- 3xx表示重定向,如要完成请求还必须采取进一步的行动。301Moved Permanently
- 4xx表示客户的差错,如请求中有错误的语法或不能完成。404 NotFound
- 5xx表示服务器的差错,如服务器失效无法完成请求。