《计算机网络》笔记——第6章 应用层(二)

文章目录

声明:

本博客是本人在学习《计算机网络》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。

本博客已标明出处,如有侵权请告知,马上删除。

6.5 电子邮件

6.5.1 电子邮件概述

  • 电子邮件 (e-mail):指使用电子设备交换的邮件及其方法。
  • 电子邮件是互联网上使用得最多的和最受用户欢迎的一种应用。
  • 优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息(包括:文字信息,声音和图像等)。

电子邮件的重要标准

  • 简单邮件发送协议:SMTP
  • 互联网文本报文格式
  • 通用互联网邮件扩充 MIME
  • 邮件读取协议:POP3 和 IMAP

电子邮件的组成:三个主要构件

《计算机网络》笔记——第6章 应用层(二)

用户代理 UA (User Agent)

  • 用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件
  • 用户代理的功能:撰写、显示、处理和通信。

邮件服务器 (Mail Server)

  • 邮件服务器又被称为邮件传输代理
  • 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
  • 邮件服务器按照客户 - 服务器方式工作。
  • 邮件服务器需要使用发送和读取两个不同的协议:SMTP 和 POP3。

邮件发送和读取协议

  • 邮件发送和读取使用不同的协议协议。
  • 简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件。
  • 邮局协议 POP3:用于用户代理从邮件服务器读取邮件。

应当注意

  • 一个邮件服务器既可以作为客户,也可以作为服务器
  • 例如,当邮件服务器 A 向另一个邮件服务器 B 发送邮件时,邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。
  • 当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件服务器 A 就作为 SMTP 服务器,而 B 是 SMTP 客户。
  • SMTP 和 POP3(或 IMAP)都是使用 TCP 连接来传送邮件的,目的是为了可靠地传送邮件。

发送和接收电子邮件的几个重要步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。
  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器。
  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  6. 收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

电子邮件的组成

  • 电子邮件由信封 (envelope) 和内容 (content) 两部分组成。
  • 电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。
  • 在邮件的信封上,最重要的就是收件人的地址。

电子邮件地址的格式

  • TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:

    收件人邮箱名@邮箱所在主机的域名
    
  • 符号 “@” 读作 “at”,表示 “在” 的意思。

  • 例如电子邮件地址 xiexiren@tsinghua.org.cn

6.5.2 简单邮件传送协议 SMTP

  • SMTP 规定了在两个相互通信的 SMTP 进程交换信息的方法。
  • SMTP 使用客户–服务器方式。
  • SMTP 基于 TCP 实现客户与服务器的通信。
  • SMTP 是一个基于文本的 (即 ASCII 码) 的协议。
  • SMTP 客户与服务器之间采用命令-响应方式进行交互。

SMTP 通信的三个阶段

  1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

6.5.3 电子邮件的信息格式

  • 一个电子邮件分为信封内容两大部分。
  • RFC 5322 只规定了邮件内容中的首部 (header) 格式,而对邮件的主体 (body) 部分则让用户*撰写。

《计算机网络》笔记——第6章 应用层(二)

6.5.4 邮件读取协议 POP3 和 IMAP

两个常用的邮件读取协议:

  • POP3:邮局协议 (Post Office Protocol) 第 3 个版本
  • IMAP:网际报文存取协议 (Internet Message Access Protocol)

POP3 协议

  • POP3 使用客户–服务器方式。
  • POP3 基于 TCP 实现客户与服务器的通信。
  • POP3 支持用户鉴别。
  • POP3 服务器删除被用户读取了的邮件。

IMAP 协议

  • IMAP 使用客户–服务器方式。
  • IMAP 基于 TCP 实现客户与服务器的通信。
  • IMAP 是一个联机协议。

IMAP 特点

  • 连接后只下载邮件首部(部分下载)。
  • 用户直接在 IMAP 服务器上创建和管理文件夹。
  • 用户可以搜索邮件内容。
  • 用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
  • 允许收信人只读取邮件中的某一个部分。
  • 缺点:要想查阅邮件,必须先联网。

6.5.5 基于万维网的电子邮件

用户代理 (UA) 的缺点

  • 必须在计算机中安装用户代理软件。
  • 但可能不能安装或不允许安装。
  • 因此,不方便收发邮件。

万维网电子邮件优点

  • 不需要在计算机中再安装用户代理软件。
  • 计算机能联网,就能非常方便地收发电子邮件。
  • 电子邮件界面非常友好。

万维网电子邮件

《计算机网络》笔记——第6章 应用层(二)

6.5.6 通用互联网邮件扩充 MIME

SMTP 有以下缺点

  • SMTP 不能传送可执行文件或其他的二进制对象
  • SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
  • SMTP 服务器会拒绝超过一定长度的邮件
  • 某些 SMTP 的实现并没有完全按照 [RFC 821] 的 SMTP 标准。

MIME 概述

  • 通用互联网邮件扩充 MIME 并没有改动 SMTP 或取代它。
  • MIME 的意图是继续使用目前的 [RFC 822] 格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则

MIME 和 SMTP 的关系

《计算机网络》笔记——第6章 应用层(二)

MIME 主要包括三个部分

  • 5 个新的邮件首部字段,它们可包含在原有首部中。这些字段提供了有关邮件主体的信息。
  • 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
  • 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

MIME 增加 5 个新的邮件首部

《计算机网络》笔记——第6章 应用层(二)

内容类型

  • MIME 着标准规定 Content-Type 说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用 “/” 分开。
  • MIME 标准原先定义了 7 个基本内容类型和 15 种子类型。
  • MIME 允许发件人和收件人自己定义专用的内容类型。但为避免可能出现名字冲突,标准要求为专用的内容类型选择的名字要以字符串 X- 开始。

MIME Content-Type 说明中的类型及子类型

《计算机网络》笔记——第6章 应用层(二)

MIME 举例

《计算机网络》笔记——第6章 应用层(二)

6.6 动态主机配置协议 DHCP

  • 在协议软件中,给协议参数赋值的动作叫做协议配置
  • 一个协议软件在使用之前必须是已正确配置的。
  • 连接到互联网的计算机的协议软件需要配置的参数包括
    • IP 地址
    • 子网掩码
    • 默认路由器的 IP 地址
    • 域名服务器的 IP 地址

动态主机配置协议 DHCP

  • 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。
  • 这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。
  • DHCP 给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。

DHCP 使用客户 - 服务器方式

  • 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户
  • 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
  • DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)。

DHCP 工作方式

  • DHCP 使用客户-服务器方式,采用请求/应答方式工作。
  • DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP 客户运行在 68 号端口。

《计算机网络》笔记——第6章 应用层(二)

DHCP 中继代理(relay agent)

  • 并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。
  • 当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。
  • 收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。

租用期 (lease period)

  • DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期
  • 租用期的数值应由 DHCP 服务器自己决定。
  • DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。

6.7 简单网络管理协议 SNMP

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

网络管理的五大功能

  • 故障管理:故障检测、隔离和纠正。
  • 配置管理:初始化网络、并配置网络。
  • 计费管理:记录网络资源的使用。
  • 性能管理:估价系统资源的运行状况及通信效率等。
  • 网络安全管理:对授权机制、访问控制、加密和加密关键字的管理。

网络管理的一般模型

《计算机网络》笔记——第6章 应用层(二)

网络管理模型中的主要构件

  • 管理站也常称为网络运行中心 NOC (Network Operations Center),是网络管理系统的核心。
  • 管理程序在运行时就成为管理进程。
  • 管理站(硬件)或管理程序(软件)都可称为管理者(manager)。Manager 不是指人,而是指机器或软件。
  • 网络管理员 (administrator) 指的是负责网络管理的人员。
  • 大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

被管对象 (Managed Object)

  • 网络的每一个被管设备中可能有多个被管对象
  • 被管设备有时可称为网络元素网元
  • 在被管设备中也会有一些不能被管的对象。

代理 (agent)

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

网络管理协议

  • 网络管理协议简称为网管协议
  • 网络管理协议是管理程序和代理程序之间进行通信的规则
  • 网络管理员利用网络管理协议,通过管理站对网络中的被管设备进行管理。
  • 需要注意的是,网管协议本身不管理网络。

简单网络管理协议 SNMP

  • 简单网络管理协议 SNMP (Simple Network Management Protocol) 中的管理程序和代理程序按客户–服务器方式工作。
  • 管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作)。
  • 在网管系统中,往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。

网络管理的基本原理

  • 若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种 “添加” 必须对原有对象的影响尽量小些

SNMP 的指导思想

  • SNMP 最重要的指导思想就是要尽可能简单
  • SNMP 的基本功能包括
    • 监视网络性能
    • 检测分析网络差错
    • 配置网络设备
  • 在网络正常工作时,SNMP 可实现统计、配置、和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。
  • 虽然 SNMP 是在 TCP/IP 基础上的网络管理协议,但也可扩展到其他类型的网络设备上。

SNMP 的管理站和委托代理

  • 整个系统必须有一个管理站
  • 若网络元素使用的不是 SNMP 而是另一种网络管理协议,SNMP 协议就无法控制该网络元素。这时可使用委托代理 (proxy agent)。
  • 委托代理能提供协议转换和过滤操作等功能,对被管对象进行管理。

《计算机网络》笔记——第6章 应用层(二)

SNMP 网络管理组成

SNMP 的网络管理由三个部分组成:

  1. SNMP 本身
  2. 管理信息结构 SMI (Structure of Management Information)
  3. 管理信息库 MIB (Management Information Base)

简单网络管理协议 SNMP

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

管理信息结构 SMI

  • SMI 定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则
  • 这样做是为了确保网络管理数据的语法和语义的无二义性。但从 SMI 的名称并不能看出它的功能。
  • SMI 并不定义一个实体应管理的对象数目,也不定义被管对象名以及对象名及其值之间的关联。

管理信息库 MIB

  • MIB 在被管理的实体中创建了命名对象,并规定了其类型。
  • 管理程序使用 MIB 中的信息,对网络进行管理。

《计算机网络》笔记——第6章 应用层(二)

上一篇:Expected response code 250 but got code “501“, with messa php laravel 发邮件 smtp qq邮箱 阿里云


下一篇:C#实现发送QQ邮件并添加附件