应用层
二、应用层
(一) 、网络应用的体系结构
1)客户机/服务器结构
服务器;
- 7*24小时提供服务
- 永久性访问地址
- 利用大量服务器实现可拓展性
客户机:
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不会与其他客户机直接通信
2)P2P结构
- 没有永远在线的服务器
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
优点:高度可伸缩
缺点:难于管理
3)混合结构
- 文件传输使用P2P结构
- 文件的搜索采用C/S结构—集中式
(二)、网络应用进程通信
1)进程:主机上运行的应用程序
-
同一主机上进程的通信:采用进程间通信机制,由操作系统提供
-
不同主机上进程的通信:消息交换
-
客户机进程:发起通信的进程(发送请求初始化通信)
-
服务器进程:等待通信的进程(等待来自客户的请求)
2)套接字:socket=IP地址+端口号
套接字是提供应用程序创建和使用的数据结构
在应用层,客户进程和服务器进程间的通信是两个套接字间的通信
① 套接字地址(通信时需要)
- 本地套接字地址+远程套接字地址 (一对套接字地址标识)
定义套接字地址:用TCP/IP协议族的标识符定义
② 寻找套接字地址
- 服务器站点:
- 本地套接字地址:由操作系统提供
- 远程套接字地址:建立连接的客户套接字地址
- 客户站点:
- 本地套接字地址:由操作系统提供
- 远程套接字地址:知道端口号和IP地址
知端口号,不知IP地址
(三)、网络应用的需求与传输层服务
1)网络应用对传输服务的需求
- 可靠性、带宽、时延
2)使用的传输服务
①TCP服务:
- 面向连接:C/S进程间需要建立连接
- 流量控制:发送方不会发送速度过快超过接收方的处理能力
- 拥塞控制:当网络负载过重时能够限制发送方的发送速度
- 不提供最小带保障
②UDP服务:
- 无连接
- 不可靠的数据传输
- 不提供可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
(四)、WEB应用
万维网(WWW)
由多个网页互相连接,以客户机/服务器的方式工作
统一资源定位符URL
- 一般形式是:<协议>://<主机>:<端口>/<路径>
协议包括ftp、http、News
主机是存放资源的主机在互联网的域名
HTTP协议
超文本传输协议:采用C/S结构,使用TCP传输服务,端口号80
-
主要特点:
面向事务的客户服务器协议
无状态:服务器不维护任何有关客户端过去所发请求的信息
无连接 -
两类消息
a) 请求消息
① 从客户向服务器发送报文
② 通用格式(如图)
③ 上传输入方法:- POST方法:在请求消息的消息体中上传客户的输入
- URL方法:(使用GET方法)输入信息通过request行的URL字段上传
④方法类型:
- i. HTTP/1.0 非持久性连接:GET、POST、HEAD
- ii. HTTP/1.1 持久性连接:GET、POST、HEAD、PUT、DELETE
b) 响应消息
① 从服务器到客户的回答
② 格式(如图)
③ HTTP响应状态码:- 1xx表示通知信息
- 2xx表示成功
- 3xx表示重定向
- 4xx表示客户端的差错
- 5xx表示服务器的差错
-
请求一个万维网文档所需的时间
TotalTime=2RTT+传输文档的时间 -
持续连接和非持续连接
- 持续连接:
- 每个TCP连接允许传输多个对象
- 两种工作方式
① 流水线方式:客户持续发出请求。
② 非流水线方式:客户只有收到个响应后才能发出下一个请求
- 非持续连接:
每个TCP连接最多允许传输一个对象。每个对象需2RTT
- 持续连接:
-
HTTP过程
(1) URL为http://www.abc.com,浏览器分析URL,使用HTTP协议解析。
(2) 浏览器向 DNS 请求解析 www.abc.com 的 IP 地址,得到其IP地址。
(3)浏览器与服务器建立 TCP 连接,目标端口默认80,发送请求GET。
(4) 服务器给出响应,把文件 index.htm 发给浏览器。
(5) TCP 连接释放。
(6) 浏览器将收到的index.html使用html解释并显示给用户。
(五)、Email应用
1.组成结构
1)用户代理
- 用户与电子邮件系统的接口
- 四个功能:撰写、显示、处理、通信
2)邮件服务器
使用CS模型、用来发送和接收邮件
3)邮件发送协议(SMTP)和邮件读写协议(POP3、IMAP)
① SMTP协议(简单邮件传输协议)
- 使用TCP进行email消息的可靠传输
- 端口号25
- 使用CS模型
- SMTP通信的三个阶段:
i. 建立连接
ii. 邮件传送
iii. 连接释放
② POP3协议
- 使用PULL的方式取出邮件,模型CS,使用TCP传输,端口110
- 客户要运行POP客户程序,服务端要运行POP服务程序
- 无状态
- 特点:只要用户从POP服务端读取了邮件,POP服务器就把该邮件删除
- 两种工作模式:下载并保留和下载并删除
③ IMAP协议:所有消息统一保留在服务器
2.电子邮件的信息格式
首部+主体
- 首部:发件人、收件人和标题
- 主体:消息本身(只能是ASCII字符)
3.MIME(通用互联网邮件扩充)
- 通过在邮件头部增加额外的行以声明MIME的内容类型
- 出现原因:SMTP只能发送英文ASCII,不能发送汉字、图片
(六)、DNS
1.概述
- 使用CS模型,运行在UDP上,端口号53
- 多层命名服务器构成的分布式数据库
2.域名结构:
- ….三级域名.二级域名.顶级域名
如:www.abc.com
顶级域名有cn,com,net,gov
3.域名服务器
-
分布式DNS系统,以层次方式组织,负责域名->IP解析
-
类型:(四种)
① 根域名服务器- 本地域名解析服务器法解析域名时,访问根域名服务器
- 管理顶级域名,并不直接解析成IP,而是指向下一步查询哪个顶级域名服务器
② 顶级域名服务器(TLD)
- 负责com,org,net,edu等顶级域名和国家顶级域名
- 管理所有注册的二级域名
③权威域名服务器
- 组织的域名解析服务器,提供组织内部服务器的解析服务
④ 主机域名服务器
- 主机发出DNS请求时,就发给本地域名服务器
4.域名解析过程
- 域名到IP称为正向解析,IP到域名称为反向解析
- 过程:主机向本地域名服务器的查询一般都是采用递归查询。如果查到,则直接返回IP。本地域名服务器无法解析,则本地域名服务器向根域名服务器的查询通常是采用迭代查询,根域名服务器返回顶级域名地址,然后本地服务器向顶级域名服务器查询。顶级服务器若不能解析,则给出权威域名服务器地址,本地域名服务器向权威域名服务器查询。若查到,则缓存后返回给主机;还查不到,则返回域名解析失败
(七)、FTP(文件传输协议)
提供交互的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
1. FTP的工作原理
- 使用CS模型,使用TCP传输。FTP服务器有一个主进程负责新请求,若干从进程负责单个请求
- 服务器打开端口21,监听并等待客户连接
- 有连接请求后,启动从进程处理连接,然后主进程继续监听
- 主进程必须在会话期间保存用户状态,记录用户在远程目录上的当前位置
2. FTP的特点
- 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务
- 减少或消除在不同操作系统下处理文件的不兼容性
- 使用客户服务器方式
3. FTP的两个连接(TCP连接)
① 控制连接
- 端口号21,用来传输连接请求等待控制信息,不能用来传输文件。在文件传输过程中一直处于打开状态,方便及时终止传输
② 数据连接
- 端口号20,用来连接客户端和服务端的数据传输进程,传输完毕后该连接关闭
- 若要修改服务器上的文件,则先下载下来,修改,再上传上去;若要修改大文件需要全部复制下来