IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 计算机网络之(3):FTP & Email(SMTP) -> 正文阅读

[系统运维]计算机网络之(3):FTP & Email(SMTP)

FTP

在这里插入图片描述

  • FTP 服务器与客户端建立的连接包括 “控制连接” (控制连接也叫带歪连接 out of bound)和 “数据连接”;控制连接负责传输指令,数据连接用来收发数据。

  • 数据连接是服务器主动向客户端发起的连接 客户端率先向服务器请求 “控制连接”,连接成功之后如果要从服务器下载文件,那么服务器将主动与客户端建立 “数据连接” 然后将数据发送给客户端

  • FTP 的连接也是依靠 TCP 协议

  • 在控制连接上,客户端可以向服务器发出一系列的指令

    • list 文件列表
    • 进入某些目录
    • download 某些文件
    • upload 某些文件
      在这里插入图片描述
  • FTP 是有状态协议(HTTP 是无状态协议):因此 FTP 需要在服务器上维护客户的状态(当前连接的是谁,处在什么目录),而且每次用户建立连接的时候都需要提供身份认证。

FTP 的命令 & 响应

在这里插入图片描述

EMail(邮件传输协议)

组成部分

  • 用户代理:用于收发邮件的客户端软件(outlook, gmail)等
  • 邮件服务器
  • 简单邮件传输协议 SMTP
    在这里插入图片描述
  • 拉取协议:
    • POP3
    • IMAP
    • HTTP

用户代理

  • 通过代理软件来访问电子邮件应用;例如 Web 应用的用户代理是 web 浏览器,FTP 应用的用户代理是 FTP 客户端软件。因为客户不能直接与应用层的数据打交道,因此其实是我们通过一个客户端软件来完成与数据的交互,所以这些客户端软件是我们的用户代理

邮件服务器

  • 客户端:发送方的邮件服务器
  • 服务器:接收端的邮件服务器
  • 每次用户想发送邮件的时候,通过用户代理将邮件发送到己方邮件服务器的队列中;然后依次发送到目标邮件服务器。
  • 邮件服务器接收到来自其他邮件服务器的邮件时,将接收到的邮件分发到对应的用户的邮箱当中(依然在服务器上),然后用户通过用户代理(使用 POP3, IMAP, HTTP 等拉取协议呈现到用户的客户端(本地))
    在这里插入图片描述

示例

  • 假设你使用 google 的邮箱服务器,然后你想对一个使用 outlook 邮箱的学生 B 发一封邮件 e。
    • 首先 e 在你的本地电脑的 gmail 应用上(代理)写好后,点击发送,这时候 e 会被放入 google 邮箱服务器的队列中,当攒齐了一定数量的邮件,会统一发送出去
    • e 到达了对应的 outlook 邮箱服务器,outlook 根据客户的不同分发到各个用户的邮箱当中(在服务器上)
    • B 在本地的邮箱客户端(用户代理)上对邮件的内容进行拉取(POP3, IMAP, HTTP协议等),并且查看
  • 这个过程中,邮件服务器之间的通信协议是 SMTP(简单邮件传输协议);而在用户代理将邮件拉取下来呈现给用户的时候使用的是 拉取协议
    在这里插入图片描述

SMTP 协议

在这里插入图片描述
在这里插入图片描述

SMTP 总结 & 与 HTTP 的对比

  • 持久连接,google 和 outlook 服务器之间很多不同的用户进行邮件通信,因此服务器连接是持久的,这个不同于 HTTP 的短连接
  • SMTP 要求报文(首部和主体)都是 7 位 ASCII 码的编码范围(古老的标准,现在都已经更新了,这种版本没办法发中文)
  • SMTP 是将报文推出去,而 HTTP 是将内容拉取回来
  • HTTP 的每个对象被封装在各自的响应报文中;而 SMTP 的多个对象包含在一个响应的报文中(一个邮件可以包含三张图片,一段录音…等等内容)
    在这里插入图片描述

报文格式

  • 首部行:
    • to
    • from
    • subject

在这里插入图片描述

报文格式的多媒体扩展

  • 如果发送的内容是中文,那么无法用 ascii 码表示,这个时候需要进行编码来扩展这些操作;例如 base64 编码:将几个不在 ascii 码范围内的内容编码成长一点的,在 ascii 范围之内的内容(通过映射完成);对方接收到内容之后只要同样使用 base64 进行解码就可以得到同样的内容了
    在这里插入图片描述

POP3 协议

  • pop3 在会话中 是无状态的协议;它只维护不同用户的登录状态(你是谁,你应该匹配哪个邮箱),但是不在邮箱中维护状态(无论你在哪里用哪台 pc 登录的邮箱,在邮箱中的操作是不记录状态的,下次在别的地方登录之后还是初始的界面,不会按照上次的断点进行浏览)。
    在这里插入图片描述

用户确认阶段

  • 客户端命令:
    • user:申明用户名
    • pass:口令
  • 服务器响应:
    • +OK
    • -ERR

事务处理阶段

list

  • 展示报文号列表:上图中可以表示邮箱中有两个邮件,第一个邮件 498 字节,第二号邮件 912 字节

retr

  • 将对应编号的邮件拉到本地客户端,例如 retr 1 就是将 1 号邮件拉到本地提供给用户

dele

  • 客户端向邮件服务器发出的命令,例如上面我们再客户端 retr 1 之后,将邮箱中的 1 号邮件删除
  • 这种 retr + dele 的方式叫做:下载并删除模式
  • 也可以自己设置,不进行 dele 操作,保留邮箱中的邮件

quit

  • 关闭客户端和邮件服务器的连接

POP3 V.S. IMAP

  • IMAP 允许将每个报文与一个文件夹联系起来
  • 允许用户用目录来组织报文
  • 允许用户读取报文组件
  • IMAP 在会话过程中保留用户状态:
    • 目录名,报文 ID 与目录之间的映射(远程管理文件夹)
      在这里插入图片描述
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:57:06  更:2022-06-14 22:57:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 0:09:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码