应用层——电子邮件、MIME、简单网络管理协议SNMP

电子邮件

        电子邮件系统采用三个主要构件组成:用户代理、邮件服务器、电子邮件所需的协议


        我们可以简单的认为邮件服务器中有很多邮箱,还有用来缓存再转发邮件的缓存,发送方使用用户代理通过邮件发送协议。例如SMTP将邮件发送给发送方。

        邮件服务器发送方邮件服务器同样通过邮件发送协议,将该邮件发送送给接收方。邮件服务器接收方在方便的时候,需要用户代理通过邮件读取协议。

电子邮件发送与接收的过程 

        1、发送方的用户代理作为SMTP客户与发送方邮件服务器中的SMTP服务器进行TCP连接,然后基于这条连接是由SMTP协议来发送邮件给发送方邮件服务器,

        2、发送方邮件服务器中的SMTP客户与接收方邮件服务器中的SMTP服务器进行TCP连接,然后基于这条连接使用SMTP协议来发送已收到的待转发邮件给接收方

        3、邮件服务器接收方的用户代理作为pop 3客户与接收方邮件服务器中的pop 3服务器进行TCP连接。

        4、然后基于这条连接使用pop 3协议,从接收方邮件服务器读取邮件

Q1:可不可以让邮件服务器程序就在发送方和接受方的计算机中运行。

A1:不行,并非所有计算机都可以运行邮件服务器程序——没有足够存储空间,或是没有足够CPU能力来运行邮件服务器程序。

        其次,邮件服务器程序必须不间断地运行。 

简单邮件传送协议SMTP 

        我们以发送方邮件服务器使用SMTP协议给接收方,邮件服务器发送待转发的邮件为例。

建立连接

        1、发送方邮件服务器周期性的扫描邮件缓存的。如果发现有待转发的邮件,则发送方邮件服务器中的SMTP客户会与接收方邮件服务器中的SMTP服务器进行TCP连接, 端口号为25,

        2、SMTP客户就可以基于这条TCP连接给SMTP服务器发送SMTP命令共14条,SMTP服务器也会给SMTP客户发送相应的应答共21种,SMTP客户与服务器之间通过命令与应答的交互方式,最终实现SMTP客户发送邮件给SMTP服务器。

传输电子邮件

SMTP服务器未能准备的代码解释

(其他的后续在整理)

连接释放

        

电子邮件的信息格式 

        首部中包含有一些关键字,后面加上冒号,例如关键字From后面填入发件人的电子邮件地址,一般由邮件系统自动填入关键字To,后面填入一个或多个收件人的电子邮件。

        关键字CC后面填入一个或多个收件人以外的抄送人的电子邮件地址,抄送人收到邮件后可看可不看,邮件可回可不回。

        邮件关键字Subject后面填入邮件的主题,它反映了邮件的主要内容。

        最重要的关键字是To和Subject,它们往往是必填选项。

        用户写好首部后,邮件系统将自动地将信封所需的信息提取出来,并写在信封上。所以用户不需要填写电子邮件信封上的信息。

        在填写完首部各关键字的内容后,用户还需要撰写邮件的主体部分,这才是用户想传递给收件人的核心信息。

通用互联网邮件扩充MIME 

        所以,提出了多用途因特网邮件扩展MIME

        MIME依旧使用原来的邮件格式,且增加了邮件主体结构,并定义了传送非ASCLL码的编码规则。


        MIME主要包括以下三部分内容:



        首部字段的内容及意义

 内容传送编码Content-Transfer-Encoding

        内容传送编码用于将非ASCII字符的数据转换为可通过电子邮件传输的ASCII字符格式。

        由于传统的SMTP协议只能传输7位ASCII码字符,因此需要对包含非ASCII字符的数据进行编码,以确保其在传输过程中不被损坏。

Quoted-printable  

        这种编码方法的要点就是对于所有可打印的ASCII码,除特殊字符等号“=”外,都不改变。

        首位是1的说明需要被改写内容,将每个字节的二进制代码拆成2个十六进制数字来表示,并且加上一个“=”。相当于将1个字节变成了3个字节。

Base-64编码 

        将二进制代码划分为24位长的单元,在将24位长单元划分为4个6位组,6位组转化ASCLL码的方式如下:

        6位的二进制代码共有64种不同的值,从0到63——用A表示0,B表示1,直到26个大写字母排完后再是26个小写字母,再后面是10个数字,最后“+”表示62,“/”表示63。

        再用两个连在一起的等号“==”和一个等号“=”,分别表示最后一组的代码只有8位或16位。回车和换行都忽略,它们可以插入任何地方。        

内容类型 

        mixed子类型:允许单个报文含有多个相互独立的子报文,每个子报文可有自己的类型和编码。

        alternative子类型:允许单个报文含有同一数据的多种表示。给多个使用不同硬件和软件系统的收件人发送备忘录这类报文就很有用。

        parallel子类型:允许单个报文含有可同时显示的各个子部分。

        digest子类型:允许单个报文含有一组其他报文。

MIME的举例 

简单网络管理协议SNMP 

网络管理基本概念 

        网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。网络管理常简称为网管。

        管理站又称为管理器,是整个网络管理系统的核心它通常是个有着良好图形界面的高性能的工作站,并由网络管理员直接操作和控制。所有向被管设备发送的命令都是从管理站发出的。

        管理站中的关键构件是管理程序管理程序在运行时就成为管理进程。管理站或管理程序都可称为管理者或管理器

        在被管网络中有很多被管设备,被管设备可以是主机、路由器、打印机或调制解调器等。 被管设备有时可称为网络元素或网元,且在被管设备中也有一些不能被管的对象

        在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫作网络管理代理程序,或简称为代理。代理程序在管理程序的命令控制下,在被管设备上采取本地行动。

        其中还有一个重要构件式网络管理协议,简称为网管协议。之后讨论它的作用。

        

        简单网络管理协议SNMP中的管理程序和代理程序按客户服务器方式工作管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序

        在被管对象上运行的SNMP服务器程序不停地监听来自管理站的SNMP客户程序的请求,一旦发现了,就立即返回管理站所需的信息,或执行某个动作。

        在网管系统中往往是一个客户程序与很多的服务器进行交互。

        网络管理有个基本原理:必然会给该对象添加一些软件或硬件,但这种“添加”对原有对象的影响必须尽量小些。 

        若网络元素使用的不是SNMP协议而是另一种网络管理协议,那么SNMP协议就无法控制该网络元素。这时可使用委托代理。委托代理能提供如协议转换和过滤操作等功能对被管对象进行管理。

        SNMP的网络管理由三个部分组成,即SNMP本身、管理信息结构SMI和管理信息库MIB。

        SNMP定义了管理站和代理之间所交换的分组格式,所交换的分组包含各代理中对象(变量)名。SNMP负责读取和改变这些数值。

        SMI定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则。这样做是为了确保网络管理数据的语法和语义无二义性。

        MIB在被管理的实体中创建了命名对象,并规定了其类型。

        总之,SMI建立规则,MIB对变量进行说明,而SNMP完成网管动作

SNMPV3的安全特性 

        只有被授权的人员才有资格执行网络管理的功能(如关闭某一条链路 ),和读取有关网络管理的信息(如读取一个配置文件的内容)。

管理信息结构SMI 

        SMI的功能有三个:

被管对象的命名 

        SMI规定,所有被管对象都必须处在对象命名树。

        这棵树形结构为每个被管理对象提供了一个唯一的位置,从而确保了在整个网络中对象的标识是唯一的。对象命名树的根节点没有名字,其下分为多个分支,每个分支代表不同的组织或标准机构。

        在mib-2下面包含了所有被SNMP管理的对象

被管对象的数据类型 

        SMI使用基本的抽象语法记法1来定义数据类型,但又增加了一些新的定义。

        任何数据都有两种重要的属性,即“值”与“类型”

        SMI把数据类型分为两大类:简单类型和结构化类型

简单类型:


结构化类型:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于MATLAB的混沌序列图像加密程序

设计目的 图像信息生动形象,它已成为人类表达信息的重要手段之一,网络上的图像数据很多是要求发送方和接受都要进行加密通信,信息的安全与保密显得尤为重要,因此我想运用异或运算将数据进行隐藏,连续使用同一数据对图…

排序04 视频播放建模

视频播放时长 用p拟合y,t是用户的实际观看时长,用y和p熵作为损失函数,使得p接近y。 输出z,对z做sigmoid变换。 exp(z)可以视为对播放时长的预估 视频完播 回归方法 二元分类方法 调整:预估完播率不能直接使用

预置持久化应用或者常驻应用会导致自升级不了android:persistent=”true”属性

1.错误打印: 2.问题原因: Android系统策略限制,持久化&system 不能自升级 3.持久化应用通常会在AndroidManifest.xml上下文有没配置android:persistent”true”属性 4.解决方案: 1.应用去掉android:persistent”true”属性…

【基于docker的深度学习训练环境】关键步骤记录

最近给公司搭建了一个小型的深度学习环境,实现了多人通过SSH对GPU资源的利用,下面对一些关键架构和易用性部分进行记录。 一、整体软硬件框架 1、硬件配置,采用的双GPU的方案,两块消费级显卡。 2、应用层架构 宿主机系统为ubunt…

【Redis】缓存预热、雪崩、击穿、穿透、过期删除策略、内存淘汰策略

Redis常见问题总结: Redis常见问题总结Redis缓存预热Redis缓存雪崩Redis缓存击穿Redis缓存穿透 Redis 中 key 的过期删除策略数据删除策略 Redis内存淘汰策略一、Redis对过期数据的处理(一)相关配置(二)内存淘汰流程&a…

WSL2-轻量级AI训练场景最佳生产环境

WSL2 只适用于 Win 10 、Win11 在运行 AI 软件、AI 模型训练,Linux 是最佳的操作系统。 在运行各种软件,如:Stable Diffusion Web UI 等,使用 Docker 容器运行也更方便后期的快速复用,同样的 Docker 容器在 Linux 中…

【STM32学习】PWM学习(四),散热风扇的控制,PWM调速调制,

目录 1、基础概念 2、PWM调速风扇功能介绍 2.1风扇功率 2.2、PWM输出流程图 2.3、PWM占空比计算 2.4参数计算 3、配置实现 3.1、添加TIM1功能 3.2、生成代码 3.3、修改代码 1、基础概念 参考:【STM32学习】PWM脉冲宽度调制学习笔记,&#xff…

关于k8s集群高可用性的探究

1. k8s的高可用的核心是什么? 说到核心、本质 意味着要从物理层来考虑技术 k8s是一个容器编排管理工具,k8s受欢迎的时机 是docker容器受欢迎时,因为太多的docker容器,管理起来是一个大工程 那么刚好k8s是google自己用了十来年…

《向量数据库指南》揭秘:GraphRAG如何重塑知识图谱与RAG的融合之道

嘿,各位向量数据库和AI领域的探索者们,我是你们的老朋友,大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,咱们来聊聊一个既前沿又实用的话题——GraphRAG,一个通过结合知识图谱来增强检索增强生成(RAG)能力的新方法。如果你对向量数据库和A…

web网页QQ登录

代码&#xff1a; <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>QQ登录ent</title> </head> <style>ul > li{list-style: none; } a …

Axure重要元件三——中继器函数

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;中继器函数 主要内容&#xff1a;Item、Reperter、TargetItem 1、中继器的函数&#xff1a;Item\Reperter\TargetItem Item item&#xff1a;获取…

【重学 MySQL】七十四、揭秘存储过程的强大功能与实战技巧

【重学 MySQL】七十四、揭秘存储过程的强大功能与实战技巧 存储过程简介存储过程的分类存储过程的创建基本语法语法元素分析注意点示例 存储过程的调用基本语法语法元素分析调用示例注意事项 存储过程的强大功能实战技巧示例总结 在 MySQL 的学习过程中&#xff0c;存储过程&am…

如何删除Maven

1.找到Maven安装路径 方法一&#xff1a; 可以直接在文件资源管理器里面选中“此电脑”然后右上角搜“apache-maven”&#xff0c;这个过程可能长达几分钟甚至更久 方法二&#xff1a; 这里推荐一个名叫“Everything”的软件&#xff0c;能够快速的查找到需要的文件 2.找到本…

Vue3中ref和reactive的对比

1. ref 定义 用途: 用于创建基本数据类型或单一值的响应式引用。语法: const myRef ref(initialValue); 特性 返回一个包含 .value 属性的 Proxy 对象。适用于基本数据类型&#xff08;如数字、字符串、布尔值等&#xff09;和单一值。 import { ref } from vue;const co…

C++学习笔记1——引用

引用变量是C新增的一种复合类型。 引用是已定义的变量的别名。如变量a为变量b的应用&#xff0c;则可以交替使用a或者b来表示该变量。引用变量主要用于函数的形参&#xff0c;此时函数使用的是该变量的原始数据而不是变量的副本。其作用有些类似于指针&#xff0c;但在类设计中…

pychar社区版下载

文章目录 第⼀步&#xff1a;下载社区版第二步&#xff1a;安装pycharm社区版第三步&#xff1a;创建项目 第⼀步&#xff1a;下载社区版 下载网址&#xff1a;https://www.jetbrains.com/pycharm/download/other.html 第二步&#xff1a;安装pycharm社区版 第三步&#xff1a…

从选题到致谢!50条经典ChatGPT学术指令1天完成1篇论文

AIPaperGPT&#xff0c;论文写作神器~ https://www.aipapergpt.com/ 还在为毕业论文头疼&#xff1f;今天给你分享50条神仙提示词&#xff0c;直接1天搞定整篇论文&#xff01;从选题到致谢&#xff0c;全流程全覆盖。你可能不信&#xff0c;论文还能这么快写完&#xff1f;真…

云渲染与3D视觉效果如何影响珠宝行业!

3D渲染技术在珠宝行业的应用正迅速增长&#xff0c;2023年已带来数亿元收益&#xff0c;预计2024年将继续保持增长态势。珠宝品牌正越来越多地采用3D可视化技术来提升产品展示&#xff0c;以在激烈的市场竞争中占据优势。 云渲染技术不仅提升了渲染效率&#xff0c;还降低了成…

记一次有趣的发现-绕过堡垒机访问限制

前言 在某一次对设备运维管理的时候&#xff0c;发现的某安全大厂堡垒机设备存在绕过访问限制的问题&#xff0c;可以直接以低权限用户访问多个受控系统&#xff0c;此次发现是纯粹好奇心驱使下做的一个小测试压根没用任何工具。因为涉及到了很多设备和个人信息&#xff0c;所以…

项目实战:构建 effet.js 人脸识别交互系统的实战之路

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀构建 effet.js &#x1f4d2;1. 什么是effet.js&#x1f4dc;2. 为什么需要使用effet.js&#x1f4dd;3. effet.js的功能&#x1f4da;4. 使用…