《计算机网络——自顶向下方法》精炼——2.3-2.4

news2024/12/22 1:48:47

<font color-#FFD700>“Knowledge is power” - Sir Francis Bacon

文件传输协议:FTP

FTP协议可以在本地文件系统和远程文件系统之间传输文件。
在这里插入图片描述

概述

FTP在用户和服务器之间架起两条TCP连接,控制连接和数据连接。

  1. 控制连接:控制连接可以在两个主机之间传输用于控制的信息,类似于HTTP中的方法
  2. 数据连接:数据连接在两个系统之间传输文件,类似于HTTP中被传输的对象。

我们一般称这种控制和数据分开的方式是带外连接,与其相对的是带内链接。
注意,在整个过程中,控制连接是持续连接的,即在用户访问服务器时一直用这一条控制连接;数据连接是非持续连接的,即在每个文件传输完后关闭该连接,传输下一个文件时再建立一个连接。
FTP保留用户状态,包括这个用户的控制连接和在远程文件系统中的位置。
FTP中的命令和回答由控制连接传输。出于精炼的目的,我们不多介绍。

电子邮件

因特网的电子邮件由用户代理(类似于浏览器),邮件服务器和简单邮件传输协议(SMTP)。
在这里插入图片描述

邮件服务器

邮件服务器的作用包括:

  1. 收集多个用户代理的邮件并发送到另外一些邮件服务器
  2. 以每个用户代理一个邮箱的方式分开保存发送到这个服务器的邮件,并在用户代理请求的时候发给它们
  3. 在传输邮件过程中遇到错误,发送方邮件服务器周期性重复尝试发送;几天后若依然不成功,以电子邮件的形式通知用户

SMTP

SMTP是运行在邮件服务器上的,每台邮件服务器既运行SMTP客户端也运行SMTP服务器端。

运行过程

在这里插入图片描述

  1. A想要发送一封邮件给B,它先发送一封邮件给它的邮件服务器。
  2. A的邮件服务器将这封邮件放入报文队列。
  3. A的邮件服务器发起一个到B所属邮件服务器的TCP连接并发送报文。
  4. B所属的邮件服务器将该邮件放入B的邮箱中。
  5. B调用用户代理阅读邮件。

报文交换

我们接下来看一下发送方邮件服务器与接收方邮件服务器之间交换的报文。注意,由于SMTP是一种FTP,所以他也有控制连接和数据连接,我们这里把这两个连接上的报文拿到一起来说。
请添加图片描述
如图所示,上图的红框代表发送方邮件服务器通过控制连接发生的命令,黄框代表接收方邮件服务器对命令做出的应答,蓝框代表在数据连接上发送的数据,即报文。
注意,SMTP使用持续连接:它通过同一个TCP连接发送所有应被发生的报文,并且对每一个报文使用MAIL FROM命令指出它的发送用户(一个邮件服务器上有多个用户要发送的报文),在所有报文发送完成后再使用QUIT命令关闭TCP连接。

SMTP与HTTP对比

相同点

  1. 两个协议都用于主机之间传送文件
  2. 两个协议都使用持续连接

不同点

  1. HTTP是一个拉协议,SMTP是一个推协议。
    HTTP中的TCP连接由请求对象的主机发起,这个主机想从服务器“拉”一个对象过来。
    SMTP中的TCP连接由发送文件的主机发起,这个主机想“推”一个文件到远处的另一个主机。
  2. SMTP中的报文只能使用7biteASCII码格式,HTTP无此限制
  3. SMTP为所有对象封装到一个报文中,而HTTP为每个对象封装一个HTTP响应报文

邮件报文格式

注意,下图的一整个部分都是邮件报文,属于上文报文交换中蓝框中的部分。
在这里插入图片描述
简要介绍一下首部行:

首部行

在这里插入图片描述
在首部中,From和To首部行是必带的,剩下的Subject首部行和其他的首部行都是可选的。顾名思义,From首部行指明发送用户,To首部行指明接收用户。

邮件访问协议

邮件访问协议用于接收用户从他的邮件服务器取出邮件。比较流行的邮件访问协议包括第三版的邮局协议(POP3),因特网邮件访问协议(IMAP),HTTP

POP3

POP3分为特许,事务处理,更新三个阶段。

特许

用户代理向POP3服务器发送自己的用户名和口令(密码),以表明身份。下图是特许阶段的报文交换过程:请添加图片描述

事务处理

事务处理阶段中,用户代理接收邮件。它有两种接收的方式,分别是“下载并删除”和“下载并保留”。

  1. “下载并删除”指在取出时为邮件打上删除标记,在更新阶段将被打上标记的邮件删除。
  2. “下载并保留”指不打上删除标记,依然留在邮件服务器内。

注意,是在更新阶段进行删除,并不是马上删除。

更新

删除打上标记的邮件。

IMAP

IMAP服务器中用多个文件夹存储邮件,用户在每个主机上都能通过这些文件夹来查找邮件。
它对每个收件人自带一个INBOX文件夹,邮件到达服务器时先与这个文件夹相关联。收件人可以创建文件夹并将这些邮件移动到新的文件夹中进行各种操作。
IMAP允许用户代理只获取一部分报文或一个报文的其中一部分。

Web中的电子邮件

在Web中,用户代理和邮件服务器之间通过HTTP传输邮件,而两个邮件服务器之间通过SMTP传输邮件。

请添加图片描述
我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!如果觉得好的话,可以关注一下,我会在将来带来更多更全面的算法讲解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[BJDCTF2020CTF]之CTFHub-Misc篇刷题记录(完结)

CTFHub-Misc篇刷题记录①wp SUCTF-2019-MISC签到题RCTF-2019-Misc-draw2020-BJDCTF-Misc-藏藏藏2020-BJDCTF-Misc-签个到2020-BJDCTF-Misc-认真你就输了2020-BJDCTF-Misc-你猜我是个啥2020-BJDCTF-Misc-一叶障目2020-BJDCTF-Misc-鸡你太美2020-BJDCTF-Misc-just a rar[BJDCTF20…

Linux下搭建Go开发环境

Linux下搭建Go开发环境可以按照以下步骤进行&#xff1a; 1、下载最新的Go语言二进制包&#xff0c;可以从官网 https://golang.org/dl/ 下载。 2、将下载好的包解压缩到你想要安装的目录下&#xff0c;如 /usr/local/go。 3、添加环境变量&#xff0c;在终端中输入以下命令…

Matplotlib 绘图标记

Matplotlib 绘图标记 绘图过程如果我们想要给坐标自定义一些不一样的标记&#xff0c;就可以使用 plot() 方法的 marker 参数来定义。 以下实例定义了实心圆标记&#xff1a; 实例 import matplotlib.pyplot as plt import numpy as npypoints np.array([1,3,4,5,8,9,6,1,3…

【信息安全】一文读懂 “3保1评” 等保、分保、关保、密评

【前言】 信息安全知识大而杂&#xff0c;网上资料参差不齐&#xff0c;相关概念模糊不清&#xff0c;所以想归纳一些知识点&#xff0c;与各位共勉。 本篇博文介绍国内安全领域常见的“3保1评”&#xff0c;即等保&#xff08;网络安全等级保护&#xff09;、分保&#xff08;…

[ Java SE] 对象的比较

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

Postgres逻辑复制详解

逻辑复制 逻辑复制&#xff08;Logical Replication&#xff09;&#xff0c;是一种根据数据对象的 复制标识&#xff08;Replica Identity&#xff09;&#xff08;通常是主键&#xff09;复制数据对象及其变化的方法。 逻辑复制 这个术语与 物理复制相对应&#xff0c;物理…

不得不说的结构型模式-适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;是结构型模式之一&#xff0c;它将一个类的接口转换成客户希望的另一个接口&#xff0c;从而使原本由于接口不兼容而不能一起工作的类能够协同工作。适配器模式包括对象适配器和类适配器两种实现方式。 在对象适配器中&#…

Ae 入门系列之十:效果和动画预设

Ae 中提供了丰富的效果 Effects和动画预设 Animation Presets&#xff0c;可以轻松、快速地创建出各种酷炫的动画。 ◆ ◆ ◆ 效果 添加效果 方法一&#xff1a;先选中一个或多个图层&#xff0c;然后在Ae菜单&#xff1a;效果 Effect中找到并添加需要的效果。 方法二&#x…

什么是gpt一4-如何用上gpt-4

怎么使用gpt-4 目前GPT-4还未正式发布或公开&#xff0c;因此也没有详细的对接说明。但是我们可以根据GPT-4的前身GPT-3的应用经验&#xff0c;以及GPT-4的预期功能推测一些可能的使用步骤&#xff1a; 选择适合的GPT-4实现技术&#xff1a;GPT-4可能有不同的实现技术&#xff…

Allegro PCB后处理

Allegro PCB后处理&#xff0c;主要是完成线路设计以后&#xff0c;输出生产文件之前的处理。这是看教程做的记录&#xff0c;方便以后自己参考。 教程&#xff1a; [小哥Cadence Allegro 132讲字幕版PCB视频教程]_哔哩哔哩_bilibili 感觉关键是多看右边Options菜单&#xff0…

nodejs+python+php+springboot+vue 校园快递代取配送系统

管理员的主要功能有&#xff1a; 1.管理员输入账户登陆后台 2.个人中心&#xff1a;管理员修改密码和账户信息 3.用户管理&#xff1a;对注册的用户信息进行删除&#xff0c;查询&#xff0c;添加&#xff0c;修改 4.配送员管理&#xff1a;对配送员信息进行添加&#xff0c;修…

力扣刷题——移除元素

1、移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…

【模拟IC】版图的基础操作和基础知识总结(1)

今天总结一下在画版图使用的基本操作和遇到的问题及解决方法。# 一、基本操作 &#xff08;1&#xff09;首先是使用layout XL的优势是可以对应原理图的器件&#xff0c;这样方便我们画版图。 &#xff08;2&#xff09;快捷键的操作&#xff1a; F 进行整体版图的居中 K 就是…

忙碌中也要记得休息,这两款好玩的游戏推荐给你

第一款&#xff1a;古墓丽影9年度版 《古墓丽影9》&#xff08;原名Tomb Raider&#xff09;是由水晶动力开发&#xff0c;史克威尔艾尼克斯发行的动作冒险游戏。 它于 2013 年发布。续集是古墓丽影崛起和古墓丽影暗影。 本作的重点是新版劳拉&#xff08;Lara Croft&#xf…

关于xilinx使用PCIE实现FPGA的部分重配置实现(MCAP)

平台&#xff1a;vivado21018.3 芯片&#xff1a;xcku115-flva1517-2-i (active) 本文官方文档&#xff1a;Xilinx_Answer_64761_Ultrascale_Devices 本文驱动下载地址&#xff1a;64761 - Bitstream Loading across the PCI Express Link in UltraScale and UltraScale Dev…

会话分享支持指定读写权限,网络设备支持账号切换、账号改密等自动化操作,JumpServer堡垒机v3.2.0发布

2023年4月24日&#xff0c;JumpServer开源堡垒机正式发布v3.2.0版本。在这一版本中&#xff0c;会话分享支持指定读写权限&#xff0c;让会话分享更加安全可靠。账号收集支持自动同步功能&#xff0c;并支持通过账号模版功能批量添加资产账号&#xff0c;同时账号切换功能新增支…

IT人员选择光缆的五大原因

基于铜和光纤的信号都会受到衰减&#xff0c;或者波形信号随着距离的推移而减弱。然而&#xff0c;光纤电缆可以在更长的距离上传输数据。事实上&#xff0c;差异是巨大的。 当构建需要长距离、高速和/或高带宽连接的网络时&#xff0c;毫无疑问&#xff1a;光纤电缆会赢得胜利…

使用ChatGPT完成程序开发——目标:不写一行代码完成图像识别并点击

本文作为一个使用AI开发的思路&#xff0c;让更多的人可以利用AI完成一些简单的程序&#xff0c;文中使用的是国内镜像GTP3.5 源码: GitHub - kasimshi/testCV: AI编写的OpenCV图像识别例子 GTP镜像: 知汇 对AI描述我们要做的功能&#xff0c;让它给给初步的思路和方向 作为新…

opencv-python视频分析与目标跟踪

目录 光流 目标跟踪 一、光流 使用OpenCV光流分析&#xff0c;跟踪蚂蚁的轨迹&#xff1a; 代码实现&#xff1a; import numpy as np import cv2if __name__ __main__:cap cv2.VideoCapture(ant.mp4)# ShiTomasi 角点检测参数feature_params dict(maxCorners100,quali…

ConcurrentHashMap底层实现原理

ConcurrentHashMap底层实现原理 ConcurrentHashMap的整体架构ConcurrentHashMap的基本功能ConcurrentHashMap在性能方面的优化 ConcurrentHashMap的整体架构 1.8中的存储结构&#xff1a; 它是由数组、单向链表、红黑树组成的。 当们去初始化一个ConcurrentHashMap实例的时候…