应用层
概述
对应用程序的通信提供服务
功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
应用模型
客户/服务器模型(C/S)
服务器:提供计算服务的设备
- 永久提供服务,时刻等待客户访问
- 永久性访问地址/域名
客户:请求计算服务的主机
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态 IP 地址
- 不与其他客户机直接通信
应用:Web、文件传输 FTP、远程登陆、电子邮件
P2P 模型
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/结点之间可用直接通讯
- 结点间歇性接入网络
- 结点可能改变 IP 地址
- 可扩展性好
- 网络健壮性强:少量结点宕机不会影响网络
域名解析系统 DNS
域名服务器
根域名服务器:管理顶级域名
顶级域名服务器:管理该顶级域名服务器注册的所有二级域名
权限域名服务器:负责一个区的域名服务器
本地域名服务器:当一个主机发出 DNS 查询请求时,这个查询请求报文就发给本地域名服务器
域名解析过程
在本地域名服务器中设置高速缓存,记录最近查找过的域名及其对应的记录,可以快速的获得 IP 地址,也可以通过记录,快速找到对应的域名服务器,获得三级甚至四级域名
文件传输协议 FTP
提供不同种类主机系统(软硬件体系不同)之间的文件传输能力:上传和下载
FTP 是基于客户/服务器(C/S) 的协议,用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
依照 FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器;连接 FTP 服务器,遵循 FTP 协议与服务器传送文件的电脑就是 FTP 客户端
工作原理
登录:输入 FTP 地址,通过用户名和密码登录;或者匿名登录
FTP 通过 TCP 实现可靠传输
控制连接始终保持;数据连接保持一会
是否使用 TCP 20 端口建立数据连接与传输模式有关:
- 主动方式使用 TCP 20 端口
- 被动方式由服务器和客户端自行协商决定(端口 > 1024)
电子邮件
信息格式
组成结构
用户代理:用户和电子邮件的接口,即电子邮件客户端软件
功能:撰写、显示、处理、通信
邮件服务器:将发送方的邮件通过 SMTP 发送到发送端邮件服务器
功能:发送&接收邮件、向发件人报告邮件传送结果
发送邮件:SMTP、TCP 连接
简单邮件传送协议 SMTP
SMTP 规定了在两个相互通信的 SMTP 进程之间应如何交换信息
SMTP 客户:负责发送邮件的 SMTP 进程
SMTP 服务器:负责接收邮件的进程
SMTP 规定了 14 条命令(几个字母)和 21 种应答信息(三位数字代码 + 简单文字说明)
SMTP 通信阶段:连接建立—邮件传送—连接释放
SMTP 缺点:
- SMTP 不能传送可执行文件或者其他二进制对象
- SMTP 仅限于传送 7 位 ASCII 码,不能传送其他非英语国家的文字
- SMTP 服务器会拒绝超过一定长度的邮件
通过通用因特网邮件扩充 MIME,将用户发送的非 ASCII 码转换成 7 位 ASCII 码,使电子邮件系统可以支持声音、图像、视频、多种国家语言等
邮局协议 POP3
用于接收方利用用户代理,从接收端邮件服务器读取邮件
POP3 的工作方式分为下载并保留在服务器、下载并删除
网际报文存取协议 IMAP
当用户 Pc 上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
IMAP 可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有 WiFi 的时候再下载附件)
基于万维网的电子邮件
发送方到发送邮件服务器、接收方到接收邮件服务器之间采用 HTTP 协议;发送邮件服务器到接收邮件服务器之间采用 SMTP 协议
万维网
万维网 www(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合
通过统一资源定位符 URL,作为唯一标识,访问万维网上的资源
URL 一般形式:< 协议 >://< 主机地址 >:< 端口 >/< 路径 >
HTTP 协议
用户浏览页面的方法:输入 URL、点击超链接
服务器进程时刻监听 TCP 的端口 80
具体过程:
- 浏览器分析 URL
- 浏览器向 DNS 请求解析 IP 地址
- DNS 解析出 IP 地址
- 浏览器与服务器建立 TCP 连接
- 浏览器向服务器发送 HTTP 请求报文
- 服务器回复 HTTP 响应报文,包含请求的资源
- 释放 TCP 连接
- 浏览器显示
特点
- HTTP 协议是无状态的
- HTTP 采用 TCP 作为运输层协议,但 HTTP 协议本身无连接(通信双方在交换 HTTP 报文前不需要先建立 HTTP 连接)
连接方式
非持久连接
浏览器通过 TCP 向服务器发起连接(三次握手),客户端向服务器返回确认报文段时(第三次握手),同时发送 HTTP 请求报文,服务器传输 HTTP 响应报文给浏览器,直到收到整个文档,断开 TCP 连接;下一次请求资源时重新连接
耗时:两个 RTT(往返时间)+ 接收文档时间
持久连接分为非流水线、流水线
在建立 TCP 连接后持续一段时间,发送资源
如上即为非流水线式连接:发送一个请求,返回一个资源
流水线式连接:一次发送多个请求,服务器返回资源
报文结构
分为请求报文和响应报文,作为面向文本的报文,HTTP 报文中的每一个字段都是 ASCII 码串
在这个网站查看 HTTP 协议的状态码