计算机网络 - 应用层(下)

alva

计算机网络 - 应用层(下)

本篇文章主要介绍应用层余下的一些内容,包括我们最熟悉的“E-Mail”。

电子邮件

电子邮件的一些标准(接下来我们要介绍的内容)

  • 发送邮件的协议:SMTP(Simple Mail Transfer Protocol)(也可用于接收)
  • 读取邮件的协议:POP3(Post Office Protocol)IMAP(Internet Message Access Protocol)
  • 支持在邮件中同时传送数据类型的协议:MIME(Multipurpose Internet Mail Extensions)

电子邮件的传输过程

由上图可以看出,邮件服务器(mail server)按照客户-服务器方式工作,负责发送和接受邮件,需要使用发送和接受两种协议。一个邮件服务器既可以作为客户,也可以作为服务器。
例如在发件人用户代理向发送方服务器发送邮件时,发送方服务器就作为SMTP服务器端;而当发送方服务器要向接收方服务器发送邮件时,发送方服务器就作为SMTP客户端了。
相应的,PC端有用户代理(user agent),是用户与电子邮件系统的接口。

发送和接受电子邮件的几个重要步骤
① 发件人调用PC中用户代理撰写和编辑要发送的邮件。
② 发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器。
③ SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送。
④ 发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后就把邮件缓存队列中的邮件依次发送出去。
⑤ 运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
⑥ 收件人在打算收信时,就运行PC机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

注意,POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。

简单邮件传送协议 SMTP

SMTP所规定的就是在两个相互通信的SMTP进程之间应如何交换信息。
由于SMTP使用客户 - 服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。

SMTP 通信的三个阶段
  • 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。(P.S.这里“不使用中间的服务器”指的是邮件在互联网传输过程中,除了端点处,实际上是P2P模式)
  • 邮件传送
  • 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

邮件读取协议 POP3 和 IMAP

POP是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3。
POP也使用客户 - 服务器的工作方式。
在接收邮件的用户PC机中必须运行POP客户程序,而在用户所连接的ISP的邮件服务器中则运行POP服务器程序。

IMAP (Internet Message Access Protocol) 也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。
用户在自己的PC机上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样。
因此IMAP是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。
IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
IMAP 还允许收件人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
IMAP的缺点是如果用户没有将邮件复制到自己的PC上,则邮件一直是存放在IMAP服务器上。因此用户需要经常与IMAP服务器建立连接。

基于万维网的电子邮件

基于万维网的email

  • 电子邮件从发件人发送到Gmail邮件服务器使用HTTP协议。
  • 两个邮件服务器之间的传送使用 SMTP。
  • 邮件从Foxmail服务器传送到收件人是使用HTTP协议。

通用互联网邮件扩充 MIME

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

P2P

P2P

在概述中就提到过,互联网目前有两种工作方式 -- “客户-服务器”方式和“P2P”方式。
目前提到的各种应用,都是通过“客户-服务器”方式实现的。接下来就要介绍一下大有前景的“P2P”工作方式。

在P2P工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。相当于有很多分散在各地的媒体服务器向其他用户提供所要下载的音频/视频文件。
P2P解决了集中式媒体服务器可能出现的瓶颈问题,因此受到广大网民的欢迎。

Napster

Napster是最早出现的P2P技术,可提供免费下载MP3音乐。
用户要及时向 Napster 的目录服务器报告自己存有的音乐文件
当用户想下载某个 MP3 文件时,就向目录服务器发出询问。目录服务器检索出结果后向用户返回存放此文件的 PC 机的 IP 地址Napster 的文件传输是分散的,但文件的定位则是集中的

eMule 电骡

电骡 eMule 使用分散定位和分散传输技术,把每一个文件划分为许多小文件块,并使用多源文件传输协议 MFTP 进行传送。因此用户可以同时从很多地方下载一个文件中的不同文件块。由于每一个文件块都很小,并且是并行下载,所以下载可以比较快地完成。

eMule用户在下载文件的同时,也在上传文件,因此,互联网上成千上万的 eMule 用户在同时下载和上传一个个小的文件块。
eMule鼓励用户向其他用户上传文件。用户上传文件越多,其下载文件的优先级就越高(因而下载就越快)。

比特洪流 BT

早些年还没有百度网盘的时候,BT这两个字母可就是闪闪发光的资源的象征啊(暴露年龄)

BitTorrent也是使用P2P工作方式的,其所有对等方集合称为一个洪流 (torrent),下载文件的数据单元为长度固定的文件块 (chunk)。基础设施结点,叫做追踪器 (tracker)。

BT协议:

BitTorrent

在上图中,七个P2P对等方下方的彩条块代表被共享的文件,每种颜色代表每个对等方拥有的文件的“一个块”。在从种子源(seed)获取各自的“块”之后,资源就在对等方之间分享传递了。
由此,种子源只需要发出一份文件,就能让P2P网络中的每个主机都拥有一份文件。

当一个新的对等方A加入洪流时,追踪器就随机地从参与的对等方集合中选择若干个(例如,30 个),并把这些对等方的IP地址告诉A。于是A就和这些对等方建立了TCP连接。所有与 A 建立了TCP连接的对等方为“相邻对等方”(neighboring peers)。

A使用最稀有的优先(rarest first) 的技术,首先向其相邻对等方请求对应的文件块。
凡当前以最高数据率向A传送文件块的某相邻对等方,A就优先把所请求的文件块传送给该相邻对等方。

阅读 1.8k

兔子洞精选
图比较好看。

乌龟爬兔子洞。

71 声望
18 粉丝
0 条评论

乌龟爬兔子洞。

71 声望
18 粉丝
文章目录
宣传栏