《TCPIP工作原理教案第10章_电子邮件协议.pptx》由会员分享,可在线阅读,更多相关《TCPIP工作原理教案第10章_电子邮件协议.pptx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第10章 电子邮件协议2021/9/121本章学习目标n理解电子邮件系统的基本原理n了解E-mail地址的结构n描述收发邮件时所使用的主要协议(SMTP,POP3,IMAP4)n了解SMTP的工作原理n了解MIME在电子邮件系统中的作用2021/9/122电子邮件(E-mail)n电子邮件是一种用电子手段提供信息交换的现代邮政通信方式,电子邮件让人们能方便快捷地传递信息,让世界各地的人们之间能够轻松地交流n电子邮件与传统的信件通信方式相比有着巨大的优势:传递迅速:在数分钟之内可到达地球上任何一个地方信息多样:除文字外,还可包含图片、音乐、动画、视频等多媒体信息,也可以附带上软件、数据等资料方便
2、高效:只要能连接到Internet,就可以随时随地地收发E-mail,而且只需极少的费用2021/9/12310.1 电子邮件系统n电子邮件与之前介绍的TELNET和FTP服务不同,它不是一种“终端到终端”的服务,而是使用了“存储转发式”的服务,这是一种异步通信方式n通过存储转发可以进行非实时通信,即信件发送者可随时随地发送邮件,不需要接收者同时在场n邮件服务器是24小时连接到网络的高性能、大容量的计算机,在服务器的硬盘上为用户分配一定的存储空间,作为用户的“邮箱”n用户可通过用户名和密码来登录“邮箱”,并进行发信、收信、编辑、转发、存档等各种操作2021/9/12410.1.1 ISO/OS
3、I电子邮件系统nMOTIS电子邮件系统分为两部分用户代理UA:为用户提供良好的操作界面,并负责生成与处理消息信息传输代理MTA:主要负责消息传输,即所谓的“电子邮局”n在电子邮件系统的具体实现中,UA一般位于个人计算机内,而MTA一般位于邮件服务器中nMOTIS的电子邮件传输是存储转发型的,其中的MTA扮演网关的角色,邮件经逐个MTA传输直至信宿用户所在的MTAMOTIS电子邮件系统的模型 2021/9/12510.1.2 TCP/IP电子邮件系统nTCP/IP电子邮件系统在概念上也分为用户界面和邮件传输两部分,但邮件传输部分并未独立出来,形成一个类似MOTIS中MTA的组件,这是因为TCP/
4、IP自始至终坚持端到端的思想,TCP/IP电子邮件系统也采用端到端的传输方式nTCP/IP中采用spooling(假脱机)缓冲技术来解决延迟传递(delayed delivery)问题,将用户收发邮件与实际的邮件传输区别开来2021/9/12610.1.2 TCP/IP电子邮件系统采用spooling技术的电子邮件系统 2021/9/12710.1.3 电子邮件协议n收发电子邮件在的过程中,要遵循一些基本协议和标准,这些协议和标准保证电子邮件在各种不同的网络与操作系统之间能够正确地进行传输n常见的电子邮件传输协议主要有以下三种:SMTP(简单邮件传输协议):最常用的电子邮件传送协议 POP3(
5、邮局协议):最常用的电子邮件接收协议IMAP4(网络邮件访问协议):POP3的一种替代协议,提供了邮件检索和邮件处理的新功能n目前,大多数邮件服务器都安装了SMTP和POP3这两项协议,即SMTP服务器作为邮件发送服务器,POP3服务器作为邮件接收服务器2021/9/12810.1.4 电子邮件地址的格式n电子邮件地址的一般格式如下:usernamedomain-namedomain-name是电子邮件服务器的域名username是在该服务器上注册的用户名,也即用户电子邮箱名称用户名与域名之间用符号“”分隔开n书写E-mail地址时要注意,地址中不能包含空格,无论是用户名、域名还是的两侧都不能
6、包含空格2021/9/12910.2 SMTP协议nSMTP协议的作用是:当发送方计算机与支持SMTP协议的电子邮件服务器连接时,将电子邮件由发送方计算机准确无误地传送到接收方的电子邮箱中nSMTP的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送nSMTP一个相对简单的基于文本的协议。通过SMTP发送的所有电子邮件都是普通文本格式的,它不能直接传输图像、声音等非文本信息,但可以应用MIME标准将二进制文件编码后再通过SMTP传输2021/9/121010.2.1 SMTP的工作原理SMTP通信模型示意图 n发送SMTP在接到用户的邮件请求后,判断此邮件是否为
7、本地邮件,若是则直接投送到用户的邮箱,否则建立一条到远程接收SMTP的双向传输通道,这里的接收SMTP可以是最终接收者,也可以是中间传送者。此后,SMTP命令从发送SMTP发出,由接收SMTP接收,而SMTP应答则反方向传送。nSMTP命令、响应以及邮件内容均使用NVT ASCII格式的文本2021/9/121110.2.2 SMTP连接与发送nSMTP是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止连接。客户端主动连接到服务器的25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就
8、绪。客户端向服务器发送HELO命令,用以标识发送方的身份,HELO命令的参数必须是一个合法的主机名。如果服务器接受了连接请求,会给客户端返回一个代码为250的应答,表示可以开始报文传输。客户端发送MAIL命令标识邮件的发送方,通过FROM参数指定发送方的电子邮件地址。如果服务器准备接收邮件,则返回代码为250的OK应答。客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,如果有多个接收人,可以发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮
9、件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。客户端发送QUIT命令终止连接。2021/9/121210.2.3 SMTP命令nSMTP命令和FTP命令一样,都是使用NVT ASCII格式的文本,以明文传输的。SMTP简捷的原因之一是它使用的命令少,SMTP的最小实现仅需要8种命令就够了常用SMTP命令一览表 命令描述HELO用于启动邮件传输过程MAIL用于初始化邮件传输RCPT用于标识单个邮件接收人,在MAIL
10、命令后面可有多个RCPT命令DATA用于将邮件报文发送给服务器QUIT用于终止客户端与服务器之间的连接RSET用于中止当前的邮件事务并使两端复位VRFY用于验证指定的用户/邮箱是否存在,即验证接收方地址是否正确NOOP空操作命令2021/9/121310.2.4 SMTP响应n每一条SMTP命令都会返回一条SMTP响应,SMTP响应与FTP响应很相似,包含一个3位数字的应答码,后面跟着的是描述文本代码描述代码描述211系统状态或系统帮助响应500命令不可识别或语法错214帮助信息501参数语法错220服务准备就绪502命令不支持221关闭连接503命令顺序错250请求操作就绪504命令参数不支
11、持251非本地用户,转发到550操作未执行:邮箱不可用354开始邮件输入,以.结束551非本地用户,请尝试421服务不可用552操作中止:存储空间不足450操作未执行:邮箱忙553操作未执行:邮箱名不正确451操作中止:本地错误554传输失败452操作未执行:存储空间不足SMTP应答码2021/9/121410.2.5 电子邮件的结构n电子邮件的主要结构:邮件头(Header)用于分隔邮件头与邮件正文的空行邮件正文(Body)签名(Signature)(位于邮件末尾的可选部分)2021/9/121510.2.5 电子邮件的结构n邮件头的每一行都遵循“标题域:值”的格式Received:from
12、 (unknown 202.116.64.3)by bjmx3(Coremail)with SMTP id tYECALSfOkFDAEAD.1for;Sun,05 Sep 2004 13:10:25+0800(CST)X-Originating-IP:202.116.64.3Received:from RsProxy(192.168.48.120)by (8.11.5/8.11.5)with SMTP id i855ABU27225for;Sun,5 Sep 2004 13:10:12+0800(CST)Message-ID:From:jimmy To:Subject:=?gb2312?B?
13、z/vPog=?=Date:Sun,5 Sep 2004 13:09:27+0800MIME-Version:1.0Content-Type:multipart/alternative;boundary=-=_NextPart_000_0005_01C49349.92912D20X-Priority:3X-MSMail-Priority:NormalX-Mailer:Microsoft Outlook Express 6.00.2800.1106X-MimeOLE:Produced By Microsoft MimeOLE V5.50.4522.1200邮件头示例 2021/9/121610.
14、2.5 电子邮件的结构n邮件中常见的标题域:Received域:邮件每经过一台主机时,就产生一个Received域,用来记录所经过主机的地址和经过时间,回复的信件可以按原路返回,而不必去选择路由。此域常拆为多行显示。Date域:记录邮件发送日期(本地主机的日期和时间)。Message-ID域:邮件惟一的标识号。From域:发信人邮件地址。To域:收信人邮件地址。Cc域:抄送邮件地址,需要将邮件发送给多个收信人时使用。Reply-to域:回复邮件地址,当发信人有几个邮件账号,且要求对方回复的地址不是发信地址时使用。Subject域:邮件主题。以“X-”开始的域:这些域是在基本邮件系统的基础上添加
15、的属性,只有在发送和目的双方邮件服务器都支持这些属性的情况下,使用这些属性才有意义。2021/9/121710.3 POPnPOP是一种邮件接收协议,其作用是:当用户计算机与支持POP协议的电子邮件服务器连接时,把存储在该服务器的电子邮箱中的邮件准确无误地下载到用户的计算机中nPOP3属于离线式协议,即不能对邮件进行在线操作,必须下载到本地才能进行处理。离线工作方式适合于那些从固定计算机上接收邮件的用户使用,因为邮件必须从服务器上删除。nPOP协议已发展到第三版,称作POP32021/9/121810.3 POPnPOP3与SMTP一样都是请求响应协议,命令与响应也都是用NVT ASCII格式
16、的文本表示nPOP3响应由一个状态码和其后的附加信息组成,只有两种状态码:“+OK”(正确)和“-ERR”(失败)常用POP3命令 命令及格式描述USER username指定用户名PASS password指定密码STAT询问邮箱状态(如邮件总数和总字节数等)LIST Msg#列出邮件索引(邮件数量和每个邮件的大小)RETR Msg#取回指定的邮件DELE Msg#删除指定的邮件NOOP空操作RSET重置所有标记为删除的邮件,用于撤消DELE命令QUIT提交修改并断开连接2021/9/121910.3 POPn在POP3中,客户端与服务器连接时有三种处理状态:身份验证状态事务处理状态更新状态
17、n当客户端连接到服务器的110端口,并建立起TCP连接后,即进入身份验证状态,需要使用USER和PASS命令将用户名和密码提供给服务器。n通过身份验证之后,即转入事务处理状态,这时客户端可以发送POP3命令进行相应操作,服务器会接收命令并做出响应。n操作完成之后,客户端发出QUIT命令,则进入更新状态,服务器确认用户的操作,更新邮件存储区,同时关闭客户端与服务器之间的连接。2021/9/122010.4 IMAPnIMAP是一个更加全面的邮件访问协议,提供了比POP3更多的功能nIMAP允许用户像在本地计算机上一样管理服务器上的电子邮件,允许用户有选择地从邮件服务器下载邮件,并提供了共享邮箱的
18、功能nIMAP目前的最高版本为IMAP4,使用的TCP端口是1432021/9/122110.4 IMAPnIMAP4提供了三种邮件访问模式:离线模式(Offline Mode)在线模式(Online Mode)断线模式(Disconnected Mode)nIMAP4提供了相当强大的功能,非常适合于需要工作在多个不同计算机上的移动用户,或需要访问和维护多个不同邮箱的用户使用n由于IMAP4比较复杂,给开发者开发客户端和服务器的软件带来一些难题,因而目前商用的实现方案还不多,要像POP3那样得到广泛应用还需要一段时间 2021/9/122210.5 MIMEn通过SMTP发送的所有电子邮件都是
19、普通文本格式的,它不能直接传输图像、声音等非文本信息nMIME扩展了基本的面向文本的Internet邮件系统,在不改动现有邮件协议的情况下,实现了用标准的文本格式邮件传输非文本(二进制)数据的功能nMIME的原理是将二进制数据转化为文本格式,然后再进行传输2021/9/122310.5.1 MIME标题域n有关MIME的信息被包含在电子邮件的邮件头中,遵循“标题域:值”的格式n邮件头中包含的MIME信息通常包括:MIME-Version域:说明所使用MIME的版本Content-Type域:说明传输内容的类型Content-Type域:说明所传输内容的编码方案,其取值包括内容类型与子类型,两者
20、之间用符号“/”分隔开Content-Transfer-Encoding域:说明传输内容的编码方案(常用QP编码和BASE64编码)2021/9/1224MIME内容类型和子类型 内容类型子类型描述textplainrichtextenriched无格式文本简单格式文本(如粗体、斜体或下划线等)richtext的简化和改进imagejpeggifISO 10918的JPEG格式CompuServe的图形交换格式audiobasic采用8-bitISDN律格式编码videompegISO 11172的MPEG-1格式applicationoctet-streampostscript任意二进制数据
21、PostScript程序multipartmixedparalleldigestalternative多个正文部分,串行处理多个正文部分,可并行处理电子邮件的摘要多个正文部分,不同语言表示的相同内容messagerfc822partialexternal-body内容是另一个RFC822邮件报文内容是一个邮件报文的片断内容是指向实际报文的指针2021/9/122510.5.2 MIME多部分消息n多部分消息(Multipart Messages)的概念是MIME邮件的精髓,允许在一封邮件中发送多条项目n多部分消息是在Content-Type域中定义的一种标准内容类型(multipart),它有
22、四种子类型n如果在邮件中要添加附件,必须在邮件头中定义multipart/mixed段2021/9/122610.5.2 MIME多部分消息n为了发送多条项目,邮件正文被分为多个段,每个段又包含段头和段体两部分,两者之间以空行分隔,段与段之间也以空行分隔nmultipart各子类型的共同特征是:在段头中指定“boundary”参数字符串(如),段体内的每个子段以此串定界所有的子段都以“-”行开始,父段则以“-”行结束2021/9/1227小结nSMTP是互联网上用于发送电子邮件的应用层协议,向用户提供高效、可靠的邮件传输服务n通过SMTP传递的所有电子邮件都是普通文本格式的nPOP3是目前应用最广的邮件接收协议,它是一种离线式工作协议,允许用户从邮件服务器将邮件下载到本地,同时将邮件从服务器上删除nIMAP4,提供了更加全面的功能,允许用户像管理本地文件一样自由地组织自己的邮箱,提供邮件摘要功能使用户可有选择地下载邮件,还提供了邮箱共享的功能nIMAP4能在三种模式下工作:离线模式、在线模式和断线模式nMIME是一种邮件扩展协议,通过对二进制文件进行编码,实现了以普通文本格式邮件传输任意数据的功能2021/9/1228