已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于linux的pda电子邮件设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技大学硕士学位论文 摘要 随着l i n u x 的快速成长和逐步完善,基于嵌入式l i n u x 的产品已经越来越 受到广大厂商和消费者的关注。在l i n u x 操作系统下开发的p d a 产品,有重 要的实用价值,市场前景乐观。 作者参加了电子科大一双新联合实验室的基于l i n u x 平台的p d a 应用软件 的开发项目,在参考市场上同类l i n u x p d a 和其他操作系统的p d a 产品的基础 上,针对用户提出的“更灵活、更高效、更方便、更实用、更美观”等要求, 制定了周密的软件设计计划,严格按照用户的要求开发,最终达到了用户的基 本要求。 作者完成了该软件中电子邮件模块的开发,该模块具有发送、接收文本 和m i m e 类型文件等功能,使用者可以方便快捷地完成电子邮件的收发。其 中还含有用户认证( 使用m d 5 算法) 、转发、回复和地址薄等功能。使用c + + 编写,并用f l t k 图形开发工具包进行图形界面设计。 本文介绍了嵌入式l i n u x 系统的现状、发展趋势和关键技术。详细分析 了电子邮件的产生、电子邮件系统、电子邮件格式、电子邮件的工作过程以 及电子邮件协议( s m t p 、p o p 3 、m i m e ) 。论述了本软件网络编程部份中所 要运用的客户服务器模型、s o c k e t 描述( 半相关、全相关) 以及s o c k e t 的 类型和函数等内容。 本文还重点讨论了电子邮件模块开发的技术可行性分析、效益分析和目 标分析,阐述了开发思路、主要程序模块的流程图、开发环境和工具的选择。 在详细设计中,实现了用s o c k e t 建立连接,发送电子邮件,接收电子邮件 等功能模块。随着p o p 3 服务器逐渐使用用户认证,本文详细分析了m d 5 算 法的原理和过程。详细讨论了电子邮件常用的b a s e 6 4 编码、q u o t e d p r i n t a b l e 编码方法,运用它们可以解决电子邮件中出现乱码的问题。作者运用e m a c s 、 m a k e 工具对程序进行调试和编译,通过连接到s m t p 服务器、p o p 3 服务器 测试软件,达到了预期的要求。 关键词l i n u x ,p d a ,电子邮件,协议,s o c k e t 编程 i 乜子科技大学硕士学位论文 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n ta n dg r a d u a lp e r f e c t i o no fl i n u x p r o d u c t sw i t h e m b e d d e dl i n u xh a v er e c e i v e d i n c r e a s i n g a t t e n t i o nf r o mm a n u f a c t u r e r sa n d c u s t o m e r s t h ee x p l o i t a t i o no fp d aw i t hl i n u xo p e r a t i n gs y s t e mi sh i g h l y p r o m i s i n g a n d p r a c t i c a l t h ea u t h o rp a r t i c i p a t e st h ep r o j e c to fp d a a p p l i e ds o f t w a r ew i t ht h el i n u x p l a t f o r m ,w h i c h i sp r o v i d e d b yu e s t c - - s h u a n g x i n u n i o n l a b c o m p a r e d w i t hp d a o ft h ek i n da n dp d ai no t h e ro p e r a t i n gs y s t e m s ,t h i ss o f t w a r ei sm o r ec a r e f u l l y d e s i g n e da n dd e v e l o p e ds t r i c t l ya c c o r d i n gt oc o n s u m e r s r e q u i r e m e n t s t h e r e f o r e ,i t s a t i s f i e st h e i rn e e d sf o rf i e x i b i l i t y , e f f i c i e n c y , c o n v e n i e n c e ,p r a c t i c a b i l i t ya n d a r t i s t r y t h ea u t h o rh a sf u l f i l l e dt h ee x p l o i t a t i o no f t h ee m a i lm o d u l e u s e r sc a nr e c e i v e a n ds e n dt e x to rm i m e d o c u m e n t s ,h a n d l ee m a i l se a s i l ya n dp r o m p t l yt h em o d u l e a l s oo f f e r ss u c hf u n c t i o n sa si d e n t i f y i n gt h eu s e r ( b ya l g o r i t h mo f m d 5 ) ,f o r w a r d i n g a n s w e r i n ge m a i l s ,a n ds u p p l y i n g a d d r e s s e s i ti sc o d e db yc + + ,a n dd e s i g n e d g r a p h i c a li n t e r f a c e sb y f l t k t h et h e s i si n t r o d u c e se m b e d d e dl i n u xs y s t e m sp r e s e n t ,f u t u r ed e v e l o p m e n t , a n ds o m e k e yt e c h n o l o g y t h e r ea r ed e t a i l e d a n a l y z e s o ne - m a i l ,f r o mi t s a p p e a r a n c e ,s y s t e m ,f o r m , w o r k i n gp r o c e s st op r o t o c o l ( s m t p , p o p 3 ,m i m e ) i na d d i t i o n ,t h ea u t h o rd i s c u s s e s t h ec l i e n t s e r v e rm o d e l ,d e s c r i p t i o no f s o c k e t ( h a l f - m u t u a l i t y , a l l m u t u a l i t y ) a n d i t st y p e sa n df u n c t i o n si nn e t w o r k p r o g r a m m i n g t h ep a p e re m p h a s e st h i ss o f t w a r e sp r a c t i c a b i l i t y , b e n e f i t o b j e c t i v eo fe - m a i l m o d u l e ,a n dt h i n k i n g ,d i a g r a mo f t h em a i np r o g r a m m o d u l e ,e x p l o r i n ge n v i r o n m e n t , a n ds e l e c t i o no fi n s t r u m e n t t h es o f t w a r ec o n t a i n ss o c k e tc o n n e c t i o nm o d u l e , m a i l - s e n d i n gm o d u l e ,a n dm a i l - r e c e i v i n gm o d u l e a st h eu s e r - i d e n t i f i c a t i o nh a sb e e n g r a d u a l l ye m p l o y e d i np o p 3 s e r v e r ,t h ep a p e r a n a l y z e s t h eb a s e6 4a n d q u o t e d - p r i n t a b l ec o d i n g ,w h i c ha r ee x t e n s i v e l yu s e dt 0 h a n d l et h ed i s o r d e r e dc o d e s i ne - m a i l s t h ea u t h o rd e b u g g e da n dc o m p i l e dt h ep r o g r a mb yt o o lo fe m a c sa n d i i 电子科技大学硕十学位论文 m a k e b yc o n n e c t i n gt o s e r v e ro fs m t pa n dp o p 3 ,t h es o f t w a r ea t t a i n se x p e c t a n t r e q u i r e m e n t k e y s :l i n u x ,p d a ,e m a i l ,p r o t o c o l ,s o c k e tp r o g r a m m i n g i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:j 王釜芝 日期:文哆年, 月巧目 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 电子科技大学硕士学位论文 第一章引言 随着i n t e r n e t 的发展、l i n u x 迅猛成长和逐步完善,基于嵌入式l i n u x 的产品开发已经越来越受到广大厂商和用户的关注。由于p d a 具备了计 算、通信、网络、存储、娱乐等多种功能,再加上携带方便,可以显著提 高大众工作和生活的效率,方便人们的生活。因此,此类产品在全球的零 售销量逐年增长。 到目前为止,康柏、惠普、台湾厂商等多家公司已经开始在l i n u x 操 作系统下进行p d a 的开发,已有相关产品投入市场。因而,l i n u x 系统下 的p d a 开发前景乐观。 在网络操作系统市场上,l i n u x 作为开放源代码的自由软件正日益崛 起。现在全球估计已有8 0 0 万l i n u x 用户,有2 9 的互联网服务器采用了 l i n u x 系统,超过微软w i n d o w sn t6 个百分点。 l i n u x 技术和基于l i n u x 的掌上电脑发展很快,这是因为市场需求大, 要求价格低、l i n u x 应用稳定而可靠。而且,这个领域没有形成如台式p c 机领域w i n t e l 联盟占统治地位那样的格局,各种芯片、各种操作系统在 “平等”地竞争。而l i n u x 的自由软件开发模式受到业界的肯定,厂商们在这 种情况下更倾向于选择l i n u x 做其掌上电脑产品的操作系统。免费的许可 和巨大的开发团体是l i n u x 的关键优势。 目前,一些主要电脑厂商正大胆地在它们的掌上电脑平台中使用源代 码开放的操作系统。例如:康柏电脑公司不久前开始推出使用l i n u x 操作 系统的i p a q 掌上电脑。同时,该公司也正在开办一个w w w h a n d h e l d s o r g 网站,致力于所有源代码公开的掌上电脑操作平台的开发;惠普公司也在 考虑在其j o r n a d a 设备中使用l i n u x ,该设备现在只支持微软的软件平台。 惠普喜欢l i n u x 是因为这种系统能够很好地处理多媒体应用,而且这种操 作系统是免费的,可以降低产品的价格。 作者参与了基于l i n u x 平台的p d a 应用软件开发项目,该项目是成 都双新公司根据市场发展趋势推出的科研项目,电子科大8 0 5 教研室与成 都双新公司联合研究开发。作者完成了基于l i n u x 平台的p d a 电子邮件 电子科技大学硕+ 学位论文 设计与实现,基本上实现了用户的需求。该模块具有发送、接收文本和 m i m e 类型文件,使用者可以方便快捷地完成电子邮件的收发。其中含有 用户认证( 使用m d 5 算法) 、转发、回复、地址薄等功能。该模块使用 c + + 语言进行编写,建立了以下主要基本类:t c p s o e k e t 类用于实现建立连 接;s m t p s e r v e r 类用于实现电子邮件的发送;p o p 类用于实现电子邮件的 接收;d e c o d em a i l 类实行邮件的解码:c m a i l c o d e r 类为q u o t e d 、b a s e 6 4 、 u u c o d e 编码方式编码和解码操作进行字符转换;m d 5 类用于含有用户认 证的服务器。主要基于f l t k 图形开发工具包进行开发,然后在l i n u x 平 台下进行编译,最终移植到p d a 之前,还需要把电子邮件程序中使用的 库文件和头文件更换,进行交叉编译。 开发产品的最终目的是希望在产品投放市场后能取得较大的市场影响 和可观的经济效益。我们深信,该产品在p d a 产品的激烈市场竞争中, 通过不断的维护和完善,必将占有一席之地。 选择该题目的意义在于:第一,l i n u x 具有开放性比w i n d o w s 好, 不存在黑箱技术,内核小、功能强大、运行稳定、系统健壮、效率高,易 于定制剪裁,全球的参与性等优势,因此,嵌入式l i n u x 技术不仅可以应 用于p d a 上,还可以广泛应用于路由器、信息家电等许多终端产品上。 第二,虽然电子邮件日益成熟,但是,选择基于l i n u x 的p d a 电子邮件 这个题目是我们项目上的技术需要。掌握了电子邮件技术,不仅仅p d a 具备了电子邮件功能,可以把此项技术应用于其他终端产品上,也可以为 将来制作电子邮件服务器软件和基于动态网页电子邮件软件打下坚实的 基础。 电子利技大学硕士学位论文 第二章嵌入式l i n u x 开发平台 2 1嵌入式系统概述 嵌入式系统( e m b e d d e ds y s t e m s ) :以应用为中心,以计算机技术为 基础,软件硬件可裁剪,对功能、可靠性、成本、体积和功耗等都有严 格要求的专用计算机系统。 嵌入式系统是面向用户、面向产品、面向应用的。嵌入式处理器的 功耗、体积、成本、可靠性、速度、处理能力和电磁兼容性等方面均受 到应用要求的严格制约。软件的固化存储,软件代码的高质量、高可靠 性,系统软件( 0 s ) 的高实时性都是其基本要求。 2 2 嵌入式系统的特点 嵌入式系统带来的工业年产值已超过了1 万亿美元,它将是i t 产业 争夺的重点之一。在嵌入式系统的开发中,嵌入式软件是实现各种系统功 能的关键,也是计算机技术最活跃的研究方向之一。不同应用对嵌入式软 件系统有不同的要求,并且随着计算机技术的发展,这些要求也在不断变 化。 应用系统对嵌入式软件的基本要求是体积小、执行速度快、具有较好 的可裁剪性和可移植性。随着嵌入式系统的发展和应用的多样性,对嵌入 式软件的要求也发生了一些变化,本文从以下四个方面说明。 2 2 1需要操作系统的支持 嵌入式系统覆盖面很广,从简单系统到复杂系统都有,这主要是由 具体应用要求来决定。简单的嵌入式系统根本没有操作系统,而只有一个 一个控制循环。然而,当应用系统变得越来越复杂时,就需要一个嵌入式 操作系统来支持,否则,应用软件就会变得过于复杂,开发难度增加,安 全性和可靠性都难以保证。 电子科技大学硕士学位论文 2 2 2 支持多任务 在多任务嵌入式系统中,合理的任务调度必不可少,单纯通过提高处 理器速度是无法达到目的,这样就要求嵌入式系统的软件必须具有多任务 调度能力。现在,多任务实时操作系统在这一领域的地位显得越来越重 要。 2 2 | 3 强大的联网功能 大部分传统的嵌入式操作系统都是孤立的,但在网络日益重要的今 天,越来越多的嵌入式系统有了联网的要求。嵌入式系统与各种网络相连, 尤其是与因特网的连接,给系统提出了更多新的要求。系统需要支持 t c p i p 协议和相关实用程序,并且需要处理安全认证和访问控制问题。 这些要求使系统变得更加复杂,需要更多的软、硬件资源,同时也需要具 有网络功能的嵌入式操作系统的支持。 2 2 4 窗口交互功能 很多应用领域都要求嵌入式系统能够提供传统上只有在p c 和高端 系统中才能提供的类似于xw i n d o w 或m i c r o s o f tw i n d o w s 的窗口交互系 统。这对在运行空间和运行速度方面都有苛刻要求的嵌入式系统提出了挑 战,因为这些窗口系统一般都要求比较高的硬件配置,并且还要解决运行 速度缓慢等问题。由于嵌入式系统越来越追求数字化、网络化和智能化, 因此原来在某些设备或领域中占主导地位的软件系统难咀为继,因为要达 到上述要求,整个系统必须是开放的、能提供标准的a p i ,并且能够方便 地与众多第三方的软硬件沟通。 2 3 嵌入式l i n u x 系统 2 3 1 嵌入式l i n u x 系统的优势 首先,l i n u x 是开放源码的,不存在黑箱技术,遍布全球的众多l i n u x 爱好者又是l i n u x 开发的强大技术后盾; 其次,l i n u x 的内核小、功能强大、运行稳定、系统健壮、效率高; 4 电子科技大学硕十学位论文 第三,l i n u x 是一种开放源码的操作系统,易于定制,在价格上 极具竞争力; 第四,l i n u x 不仅支持x 8 6 c p u ,还可以支持其它数十种c p u 芯片; 第五,有大量的不断增加的开发工具,这些工具为嵌入式系统的丌发 提供了良好的开发环境; 第六,l i n u x 沿用了u n i x 的发展方式,遵循国际标准,可以方便地 获得众多第三方软硬件厂商的支持; 最后,l i n u x 内核的结构在网络方面是非常完整的,它提供了对十兆、 百兆、千兆以太网、无线网络、光纤网、卫星等多种联网方式的全面支持。 此外,在图像处理、文件管理及多任务支持等诸多方面,l i n u x 的表 现都非常出色,因此它不仅可以充当嵌入式系统的开发平台,其本身也是 嵌入式系统应用开发的好工具。 2 3 2 嵌入式l i n u x 发展现状和方向 l i n u x 从出现到现在已经有数十年的历史,而嵌入式l i n u x 的实用化 开发是近来才出现的。虽然到目前为止,尚未出现完全成熟的嵌入式l i n u x 操作系统,但这一领域开发的热潮已经到来。 目前,国际上对嵌入式l i n u x 的开发主要集中在两个方向: 首先是裁剪:嵌入式设备资源有限,对软件的体积有比较苛刻的要求。 由于l i n u x 是单一模块结构,体积较大,不适合直接在嵌入式设备中应用。 许多厂商致力于开发符合原l i n u x 接口标准的小体积的l i n u x 内核,并加 强其可裁剪性和可配置性。 其次为实时性:在数据采集、控制、音视频等设备中,对操作系统的 实时性有比较高的要求。l i n u x 并不是一个实时操作系统,因而必须提高 其实时性来满足这些设备的要求。 2 3 3 嵌入式l i n u x 关键问题 2 3 3 1 体积 除了内核之外,嵌入式操作系统还包括g u i 、中文字库、驱动程序 电子科技大学硕士学位论文 等。而一个嵌入式设备不只包含操作系统,还应包含嵌入式应用软件, 如浏览器等。对于手持设备而言,嵌入式操作系统所占用的资源较小, 如r o m 小于8 m 、r a m 小于1 6 m 是比较理想的,而r o m 小于1 6 m 、 r a m 小于3 2 m 也是可以接受的。当然,这个数字不是绝对的,存储芯片 价格的变动、产品形态的变化都会对它产生影响。p c 机l i n u x 的内核比 较大,所以必须对其进行裁减,而又不能破坏其原有接口标准。 2 3 3 2能源管理 嵌入式设备,尤其是手持设备对功耗是十分敏感的。新型嵌入式芯 片采取了很多技术手段提高能源管理能力,如s t r o n g a r m 、n e c v r 4 1 2 i 等。这些芯片提供了运行、空闲、休眠等工作状态转换的功能。嵌入式 l i n u x 必须提供相应能源管理机制。 2 3 3 3g u i p c 机l i n u x 目前采用xw i n d o w 窗口图形系统,但xw i n d o w 系统体 积庞大( 4 m ) ,结构复杂,不适合在嵌入式设备中应用。嵌入式g u i 要求 体积小巧、界面友好、提供完整的a p i 。目前,有一些开放源代码的g u i 系统可供选择,如m i e r o w i n d o w s 、m i n i g u i 等,但这些系统的开发不够完 善。 2 3 3 4 开发环境 嵌入式系统对开发环境有较高的要求。这里开发环境包括两个方面, 一是操作系统与硬件平台的集成,二是应用软件开发所需要的s d k 。前 者由于g c c g d b 提供了比较丰富的工具链和源代码,相对比较容易解 决。后者必须建立在内核系统调用和g u i 提供的a p i 的基础上,需要开 发仿真环境,难度较大。 2 3 3 5 中文化 良好的中文界面是决定嵌入式设备能否被用户接受的关键因素,嵌 入式l i n u x 需要解决完善的中文字库和有限资源之间的矛盾。另外,还 应该提供中文输入接口,以方便不同中文输入方法的挂接,如手写体识 别、语音识别等。 6 电子科技大学硕士学位论文 2 3 3 6 驱动程序 嵌入式l i n u x 一般采用传统的l i n u x 设备管理机制。为使设各开发 商尽快开发出产品,嵌入式l i n u x 必须根据目标产品的规划,提供足够 的驱动程序。 2 3 4 基于l i n u x 嵌入式系统的相关产品 目前,基于l i n u x 的嵌入式系统已经有一些产品问世,例如:韩国三星 公司的l i n u xp d a 、可联网的l i n u x 照相机、美国t r a n s m e t a 公司开发的 l i n u x 手机,n e t g e m 的机顶盒n e t b o xc a b l e ,q u b i tt e c h n o l o g y 公司推出 的基于l i n u x 的书写板q u b i t ( t a b l e t ) ,s c r e e nm e d i a 公司开发的基于l i n u x 的手持设备f r e e p a d 等。 国内厂家也相继推出了基于l i n u x 的嵌入式系统。例如:中科红旗软 件技术有限公司既开发了嵌入式l i n u x 系统基本开发平台,又提供了可供 裁剪的嵌入式l i n u x 图形用户界面、窗口系统和网络浏览器,并且与许多 硬件厂家合作开发出了一批基于l i n u x 的嵌入式系统产品,包括p d a 、机 顶盒等,而且已进军交换机等网络接入设备领域。蓝点、网虎科技等公司 也推出了一些相应的产品。 2 4 嵌入式l i n u x p d a 开发概况 l i n u x 的开放性使p d a 获得了多方的推动,发展迅速。而嵌入式的 l i n u x 系统更由于它的优势显示了它在信息家电领域中的前景。一方面, l i n u x 的价格优势是无可争议的。因此,在硬件同等时,采用l i n u x 的设 备成本是最低的。而l i n u x 的开放性使厂商可依据企业的具体特点对产品 进行定制,使信息产品达到物尽其用。另一方面,嵌入式的操作系统,使 系统的运行处理行为集中,减少了数据运行的环节,缩短了运行的距离, 避免了运行中数据和能量的损失,运行速度大大地加快,成本降低。同时, 应用嵌入式技术的设备的l i n u x 内核的体积非常小。目前最小的内核是网 虎科技的x t i n u x 内核l i n u xk e r n e l ,只有1 4 3 k 。内核小,既降低了成本, 又增加了内存的利用空间。 电子科技大学硕士学位论文 采用了嵌入式l i n u x 操作系统的p d a 对使用者应用技术的要求降低, 具有简单易用、无需维护、价格便宜等特点。 就目前已有的嵌入式l i n u xp d a 来说,它可以通过移动电话或无线 m o d e m 上网,浏览网页或是收发e m a i l ;它具有非常好的m p 3 播放能力, 带3 d 立体声,甚至也能播放m p e g 的电影文档;另外,它还具有v o i c e r e c o r d e r 功能,而且还有收音机功能,支持手写输入,6 4 k 色的t f t l c d 等等。而数字摄像头、g p s 等附件将是它更有力的工具。 在市场需求的推动下,各l i n u x 厂商都相继推出了自己的嵌入式 l i n u x 产品及解决方案。与上述x t i n u x 相关的方案中采用的即是1 4 3 k 的 l i n u xk e r n e l 嵌入式内核。在i n t e r n e t 环境下,l i n u xk e r n e l 是最稳定、通 用的。该系统结合了先进的g c s 编码技术,为系统提供了多种语言应用 环境。另外,在该系统的驱动程序中采用了先进的蓝牙( b l u e t o o t h ) 技术, 进一步保证了系统运行在技术上的先进性。在硬件方面,该系统适用于 x 8 6 等现在流行的系统硬件环境。 在先进技术的基础上,该系统可实现现代便携式信息技术产品中需 要的几乎所有的功能,如个人信息管理中的地址簿、日历、存储和任务列 表等;以及电子邮件收发、浏览、文件管理、应用程序管理、多媒体播放 等等。同时,该系统还可以实现手写识别和语音识别等。 电子科技大学硕士学位论文 第三章电子邮件概述 3 1 电子邮件的产生 电子邮件是随着计算机网络技术的发展而出现的一种崭新的通信手 段。早在7 0 年代,美国a r p a 的科研人员在进行i n t e r n e t 项目研究时, 为了方便科研人员之间的通信,就想到利用计算机网络作为一种个人之间 的通信方式。他们首先开发了使用拨号电话系统与主机相互联系的通信软 件,不久,便诞生了应用于多台互连的计算机的电子邮件系统。 1 9 8 2 年,a r p a 的“e m a i l ”建议作为r f c 的8 2 1 和r f c8 2 2 号文 件被公开发行。计算机局域网的迅速发展,促进了电子邮件系统的应用范 围迅速扩大。由于全世界的电话网络已经有了统一的标准,不同国家之间 的电话系统可以互操作,因此人们只要在计算机上加载一个m o d e m 和一 套通信软件,就可以利用电话线进行通信。这样,电子邮件系统就很快推 广到全世界。 3 2 电子邮件系统的体系结构与服务 电子邮件与文件传输的区别:表面上看来,电子邮件类似于文件传 输,也是利用网络通信设施,将数据从发送方传到接收方。然而事实上, 电子邮件与文件传输还是有着重要的区别。与一般文件传输相比,电子 邮件有两大特点: 第一,电子邮件的最终发送者和接受者都是人而非机器,于是电子 邮件在结构上分为两大部分:人机界面与消息传输。人机界面用于发送 者和接收者写作、编辑和读取邮件;消息传输负责将邮件从发送端传送 到接收端。 第二,电子邮件是高度结构化的文件,因而对电子邮件的处理比对 一般的文件处理复杂得多。 可见,电子邮件与一般的文件传输是极不相同的。不过就单纯的信 息传输这个意义而言,前者是后者的一个特例。从理论上来看,依赖 电子科技大学硕士学位论文 般的文件传输来建立电子邮件系统是可行的。但是,这样会降低电子邮 件的效率。所以将电子邮件与一般的文件传输独立开来是最好的选择。 3 3电子邮件系统( e m s ) 电子邮件系统( e m s ) 一般由两个子系统组成:u a ( 用户代理) , 即人机界面,允许人们读取和发送电子邮件;m t a ( 消息传输代理) ,它 将消息从出发地传到目的地。用户代理是一个本地程序,它提供命令行 方式、菜单方式或图形方式的界面来与邮件服务器交互。消息传输代理 是在后台运行的程序,在系统之间传递邮件。 一般来说,e m s 支持五个基本功能: 第一,撰写( c o m p o s i t i o n ) 指创建消息和回答要求的过程。虽然任 何一个文字编辑器都能适用于消息的主体,但系统本身应该提供帮助, 如将地址和众多的头部域附加到每个消息上。例如,要回信时,电子邮 件系统从来信中抽取发信者的地址自动将它插入到回信的适当位置。 第二,传输( t r a n s f e r ) 指将消息从发送者送到接收者。大多数情况 下,这需要在目的地和某些中间机器间建立连接,传输消息,然后释放 连接。e m s 在用户无需干预的情况下自动完成这些工作。 第三,报告( r e p o r t i n g ) 告诉发信者消息的情况,它被发送了吗? 有 没有拒收? 丢失了吗? 第四,显示( d i s p l a y i n g ) 到来的消息,人们才能阅读自己的电子邮 件。有时需要转换或者需要激活一个特别的浏览器。 第五,处理( d i s p o s i t i o n ) 它关心的是接收者收到消息如何处理它。 可能包括在读信之前将它丢弃,读信后将它丢弃,保存等等。 3 4i n t e r n e t 与电子邮件 i n t e r n e t 作为一种网络互联的产物,对于应用程序来讲,它是一个统 一的,一致性的“单一”网络,因此它可以提供全网上任意机器上的电子 邮件交换。i n t e r n e t 电子邮件的另一特点是可靠性提高,原因在于i n t e r n e t o 电子科技大学硕十学位论文 电子邮件建立在t c p 基础上,而t c p 能提供端到端的可靠连接。 3 5电子邮件结构 电子邮件的数据文件中有固定的格式,有信封、邮件头( m a i lh e a d e r ) 和邮件体( m a i lb o d y ) ,其中邮件头主要有以下三部分组成: ( 1 ) 收信人的电子邮箱地址( t o :) ( 2 ) 发信人的电子邮箱地址( f r o m :) ( 3 ) 信件标题( s u b j e c t :) r f c8 2 2 是一个旧的标准,对信封和头字段没有明确区分,而新的标 准则有明确区分。在一般的用法中,用户代理创建一条消息,把它传递 给消息转发代理,后者使用某些头字段构造实际的信封,这是个有点老 式的消息和信封的混合。 邮件体为邮件实际要传输内容。 电子邮件的地址:电子邮件头部中的大多数消息是以地址形式出现 的,如图3 一l 所示,一个地址由两个部分组成:用户名为发送邮件的帐户 名和邮件交换机域名。一台知道i p 地址和它域名的特殊机器,即名称服 务器( n a m es e v e r ) 使用d n s ( d o m a i n n a m i n gs y s t e m ) 将域名转换为相 应的i p 地址,以使消息送到i n t e r n e t 的某个正确地点。 邮件交换机域名 h 斟g 南 ii 用户名域标识 图3 - 1e m a i l 地址 3 6 电子邮件的工作原理 e m a i l 的工作原理遵循客户服务器模式,一封电子邮件的发送要涉 电子科技大学硕十学位论文 及到发送方和接收方,发送方构成s m t p 的客户端,而接收方则为s m t p 服务器端。在电子邮件服务器中包含有众多用户的电子信箱,当用户编 辑好一份电子邮件后,依照接收人的地址将其发送出去;接收方电子邮 件服务器收到电子邮件后,先将其存放到电子信箱中,并告知收件人有 新邮件到来。收件人在每次连接到电子邮件服务器上后,就会看到服务 器的通知,进而打开自己的电子信箱来查收邮件。 电子邮件在发送和接收的过程中,还要遵循一些基本协议和标准, 如s m t p 、p o p 3 和m i m e 等。目前,绝大多数e m a i l 客户端软件都支持 上述协议和标准,以保证电子邮件在不同的系统之间进行传输。 在i n t e r n e t 内部,一封电子邮件由投递到接收所经过的路径可以分为 以下四种: 发信人及收信人都处于同一部主机中,邮件不需要经过网络,而直 接在该主机内进行收发。在这种情况下,同一部主机中的客户端s m t p 与自己的服务器s m t p 进行会话。 发信者及收信者不在同一部主机中,但都在同一网内。这时,发信 者和收信者共用一个电子邮件服务器。 更多情况是在不同网点的网络中,发信者和收信者有各自的电子邮 件服务器。 发信者和收信者不在同一类网中,由于不同网间采用的协议不同, 无法直接进行s m t p 对话,这时网与网之间会有负责网间邮件交换的网 关。所有跨网的邮件都会先寄至网关,由它进行邮件格式的转换之后再 寄至目标主机。 3 7 电子邮件的传送过程 电子邮件系统采用所谓的存储转发( s t o r ea n d f o r w a r d ) 的工作方式, 这也是目前绝大多数计算机网络所采用的一种数据交换技术。一封电子 邮件从发送方的计算机发出,在网络传输的过程中,可能经过多台计算 机的中转。 首先由发送方的计算机( 亦即客户机) 的邮件管理程序将邮件进行分 电子科技大学硕士学位论文 拆并封装成传输层协议f t c p ) 下的一个或多个t c p 报文,而这些t c p 报文 又按照网络层协议( 1 p ) 包装成i p 分组,并在它上面附上目的计算机的i p 地 址。一旦客户机完成对电子邮件的这些处理后,客户机的软件便自动启 动,根据e l 的计算机的i p 地址,确定与哪一台计算机进行联系。假如联 系成功,便将i p 分组送上网络。i p 分组在i n t e r n e t 的传递过程中,将通 过对路径的路由选择,经过特定路线上的某些计算机的存储转发,最后 到达接收邮件的目的计算机。在接收端,电子邮件程序会将i p 分组收集 起来,取出其中的信息,按照正确的次序将其复原成初始的邮件,最后 传送给收信人。如果在传输过程中发现i p 分组丢失,目的计算机就会要 求发送端重发。从上述的过程可以看出,尽管电子邮件的具体传递过程 比较复杂,但是t c p i p 软件采取了各种措施保证了邮件的可靠传递。 在电子邮件传输的过程中,有时会出现目的计算机未开机或机器本 身出现故障的情况,这时,t c p i p 电子邮件系统将使用“延迟传递” ( d e l a y e dd e l i v e r y ) 机制。使用这种机制,在远方的目的计算机暂时不能 被访问的情况下,发送端计算机会将邮件存储在缓冲区中,然后不断进 行试探发送。这种功能是由t c p i p 软件中一种称为s p o o l i n g 的缓冲缓存 技术提供的。 用户界面负责电子邮件的生成及处置;客户机和服务器相当于“电 子邮局”,负责电子邮件的传输;发送邮件缓冲储存区和接收邮件信箱相 当于电子邮件库,在库中为每一个用户设立一个电子信箱,用于存放用 户邮件,找到用户目录对它进行处理。 当用户要发送电子邮件时,首先利用用户界面生成邮件,然后把它 交给发送邮件的缓冲储存区,相当于将电子邮件交给了电子邮件库,此 后整个发送过程均不需要用户参与。负责发送电子邮件的客户机是个 后台进程,当它检测到在缓冲储存区有待发邮件时,便立即将其取出, 并把目的计算机的名字经过两次域名解析成i p 地址,然后请求与对方服 务器建立t c p 连接( 这期间包括形成t c p 报文和i p 分组的一系列过程) 。 如果连接成功,便把i p 分组发送出去。经过一系列复杂的传递过程,i p 分组到达对方电子邮件服务器以后,电子邮件服务器便将收到的邮件存 入接收邮件信箱。只有客户机确信邮件已经顺利到达对方信箱之后,它 电子科技大学硕十学位论文 才会将相应的邮件从缓冲储存区中删除。如果由于对方计算机关机或者 机器出现故障,连接不成功,那么客户机将会记下发送时间,客户机的 后台进程将周期性地检测缓冲存储区,每当它发现有未发邮件或者用户 传来新邮件时,它会立即启动发送程序进行发送。当发现某一个邮件很 长时间都发送不出去时,客户机便把它退回发送者的信箱。 从上述的过程可以看出,电子邮件的传递过程是非常可靠的,这是 因为i n t e r n e t 是建立在t c p 连接的基础上的。我们知道,t c p 能够提供 点对点( e n d t o e n d ) 的可靠连接。也就是说,客户机在发送i p 分组之 前,简单邮件传输协议s m t p 首先将调用t c p 服务原语( 包括客户机的 连接请求、服务器的响应和确认等原语) 与目的计算机上的服务器建立 t c p 连接,连接成功以后才能进行传输。如果客户机与服务器之间不能 建立t c p 连接,那么电子邮件就无法发送到目的计算机的服务器上。在 这种情况下,客户机是不会将待发邮件从缓冲储存区中删除的。 3 8电子邮件协议 电子邮件系统所应用的传输协议包括s m t p 和p o p 3 ,对用户代理而 言,其中的s m t p 负责信件的发送,p o p 3 用于取信。电子邮件的核心是 报文传输系统,网络中信息的传送是通过报文传输代理程序( m t a ) 完 成的。我们使用电子邮件时并不直接与代理程序达交道,电子邮件终端 程序隐藏了报文传输的细节,它们使用简单邮件传输协议( s m t p ) 完成 它们的工作。s m t p 包括一些预定义的处理邮件传送的命令,而且这些命 令并不是一些特殊的命令标志,它们是可读的a s c i i 代码。电子邮件协 议详细内容见第五章。 4 电子科技大学硕十学位论文 第四章s o c k e t 编程原理 4 1 客户服务器模型 在t c p i p 网间网中,最主要的进程问相互作用的模型是客户n 务 器模型( c l i e n t s e r v e rm o d e l ) 。 客户和服务器分别是两个应用程序( 进程) 。客户向服务器发出请求, 服务器作出响应,这是客户服务器相互作用的简单过程。如图4 1 所示。 进程通信 设施 图4 - 1客户服务器模型 图中,“进程通信设施”既可以是单机进程通信设施,也可以是基 于t c p i p 的网闻网进程通信设旌。 客户服务器模式,即客户向服务器发出服务请求,服务器接收到请 求后,提供相应的服务。客户,服务器模式的建立基于以下两点:首先, 建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共 享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务 这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程 既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通 信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户n 务器模式的t c p i p 。客户服务器模式在操作过程中采取的是主动请求方 式。 首先服务器方要先启动,并根据请求提供相应服务: ( 1 ) 打开一通信信道并告知本地主机,它愿意在某一公认端口号上( 如 s m t p 为2 5 ) 接收客户请求; 电子科技人学硕士学位论文 ( 2 ) 等待客户请求到达该端口; ( 3 ) 接收到重复服务请求,处理该请求并发送应答信号。接收到并发服 务请求,要激活一新进程来处理这个客户请求( 如l i n u x 系统中用f o r k 、 e x e c ) 。新进程处理此客户请求,并不需要对其它请求作出应答。服务完 成后,关闭此新进程与客户的通信链路,并终止。 ( 4 ) 返回第二步,等待另一客户请求。 ( 5 ) 关闭服务器 客户方: ( 1 ) 打开一通信信道,并连接到服务器所在主机的特定端口; ( 2 ) 向服务器发服务请求报文,等待并接收应答;继续提出请求; ( 3 ) 请求结束后关闭通信信道并终止。 从上面所描述过程可知: ( 1 ) 客户与服务器进程的作用是非对称的,因此编码不同。 ( 2 ) 服务进程一般是先于客户请求而启动的。只要系统运行,该服务进 程一直存在,直到正常或强迫终止。 4 2 s o c k e t 编程原理 s o c k e t 编程界面由4 b s du n i x 首先提出,目的是解决网间网进程通 信问题,现在许多机器上都可以使用套接字,到现在已经成为事实上的 标准。如图4 2 所示。 6 电子科技大学硕士学位论文 4 2 1s o c k e t 原理 篓型窭! | i 堡缱! j ll b a r k e 1e ys o c k e t ( 套接字) l 网络速信绥浚l 务界蟊( r c p i p ) ll 系统爽棱 l 鹤瑗赍餍 图4 - 2 套接字接口示意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景区消防安全试题及答案
- 村级防疫员考试模拟试题及答案
- 叉车卸车专项应急预案(3篇)
- 2025年上海市中考综合测试(物理、化学)试卷真题(含答案解析)
- 如何做好监控管理工作
- 细菌性食物中毒病人的护理课件
- 2025年电大婚姻家庭法学形成性考核册模拟试题及答案
- 初探绩效考核在人力资源管理中的作用-图文
- 天津中考默写填空真题及答案
- 2025年烟草物流初级真题及答案
- 黑马程序员课件Java
- T-CHATA 023-2022 结核病定点医疗机构结核感染预防与控制规范
- 2025年中国素描本行业市场分析及投资价值评估前景预测报告
- 婴幼儿心肺复苏课件
- 中职创意美术课件
- 2025年时事政治热点题库道及参考答案
- GB/T 17219-2025生活饮用水输配水设备、防护材料及水处理材料卫生安全评价
- DB6110T 007-2021 天麻大田种植技术规程
- GB/T 46141-2025智慧城市基础设施智慧交通数字化支付应用指南
- 知道智慧树我们身边的知识产权满分测试答案
- 2025 年小升初成都市初一新生分班考试语文试卷(带答案解析)-(部编版)
评论
0/150
提交评论