




已阅读5页,还剩47页未读, 继续免费阅读
(测试计量技术及仪器专业论文)基于嵌入式系统的电子邮件处理软件的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究二【? 作及取得的 研究成果。具我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 签名:虫g 鬈蕴日期:劢诉硐7 口 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文, ( 保密的学位论文在解秘后应遵守此规定) 签名 交心景龙导师签名:豆研场 日期:2 1 0 0 2 年多月7 日 啦_ f 利技大学硕十学位论文 中文摘要 l f 随着掌上电脑这种功能驹! 大、体积小巧、可灵活扩展的产品出现,掌上电 脑涣不再只是充当一个小小的个人信息管理工具了,更重要的是可以上网浏览、 收发e m a i l 、发传真等,甚至还可以当作手机来用。而且,这些功能都还应该可 以通过无线方式实现。然而就目前国内市场来说,并不是任何p d a 都具备以上 所有功能;即使具备,也可能由于缺乏相应的服务而不能实现。但可以预见, p d a 发展的趋势和潮流就是训算、通信、网络、存储、娱乐、电子商务等多功能 的融合。 摩托罗拉公司的龙珠系列微处理器是专用于高级信息处理设备的芯片,在 移动手持设备市场上占据领导地位。占据了全世界掌上电脑市场的7 5 以上的份 额。基于p a l mo s 的p d a 产乩其微处理器全是龙珠芯片。 掌上电脑具有连网功f i k 日j 以说是应具有的基本功能。通过x , t l t 费者的需求 惆查,用户对互联网业务提供种类需求的排名:g m a i l 首当其冲,认为是p d a 和 掌上电脑必备功能之一的占到9 0 左右。因此,各个p d a 厂家都分别推出了自 己的具有连网功能的产品。其l ,比较出名的有:国产联想的p o c k e tp c 天玑5 0 0 0 , 美国惠普的i o r n a d a 5 4 5 5 4 8 ,日本g a s i o 的e 一1 2 5 等,采用的是w i n d o w sc e 操 作系统;国产方丁f 的风行1 8 0 ,长城公司的长城掌上王2 0 0 1 ,美国p a l m 公刮的 】) a l mv i i x 等,采用的是p a l i i io s 操作系统;都具有通过外置m o d e m ( 或通过手 机无线七网) 快速上网,收发i :m a i l 等功能。但也有不足之处:例如限制用户发 送的电子邮件大小,有些厂家的产品限制每封邮件的大小要在2 0 0 个汉字之内 等;不具有邮件加密功能,币j 加密邮件在现今的商务活动中愈加显得重要;矿 县有发送附件的功能,而发送附件在某些行业应用中又是必不可少的功能。, 本文从掌上电脑的实际硬件条件出发, b 了一个电子邮件处理软件的总体设计方案 结合t c p i p 协议簇的相关标准,给 给出了一个软协议栈的实现方法。 利用相关的r f c 标准,实现丁接收电子邮件和发送电子邮件的功能。其可以收 发附件的功能和邮件加密功能是目前国内厂家生产的掌上电脑上所不具备的。 关键词:掌上电脑,电子邮个j ,协议栈 u , v 也f 科技人学硕十学何论文 a b s t r a c t a t p r e s e n t ,p d ai sn o to n l 5 u s e da sap e r s o n a li n f o r m a t i o nm a n a g e r ,b u ta l s o u s e dt ob r o w s et h ew e b s i t e s ,r e c e i v ea n ds e n de m a i l ,e v e nu s e da sam o b i l ep h o n e e t cb u tn o w ,n o te v e r yp d ah a st h e s ef u n c t i o n s m o t o r o l a sd r a g o n b a l lf a m i l yo fm i c r o p r o c e s s o r sh a sd e m o n s t r a t e dl e a d e r s h i p i nt h ep o r t a b l eh a n d h e l dm a r k e tm o t o r o l a sm i c r o p r o c e s s o ri sf o u n di nm o r et h a n 7 5 o fa l lt h ew o r l d 。sp d a s a d d i t i o n a l l y ,i t sf e a t u r e di na l lp r o d u c t sb a s e do np a l m o s s h i p p e dt h r o u g h o u tt h ew o r l da tp r e s e n t ,t h e r ea r es o m ep r o d u c t sw i t he m a i l f u n c t i o n s b u tt h e r ea r ea l s om m wl i m i t m i o n st oc u s t o m e r s ,s u c ha sl i m i t i n gt h et e x t l e n g t h ,n o ts u p p o r ts e n d i n ge m a i lw i t ha t t a c h m e n t se t c a c t u a l l y ,s e n d i n ge m a i l a t t a c h m e n t si sa ni m p o r t a n tf u n c t i o na ts o m ec a s e s i nt h i sp a p e r ,t h ea u t h o r p r e s e n t saw a y t od e s i g na ne m a i l - p r o c e s s e d s o f t w a r es h o w i n gam e t h o do fi m p l e m e n t i n gas o f tp r o t o c o ls t a c k u s i n gt h er e l a t e d r f c s t a n d a r d s ,t h ea u t h o rr e a l i z e st h e s ef u n c t i o n s :r e c e i v i n ge m a i l sa n dd i s p l a y i n g t h e mp r o p e r l y ,s e n d i n ge m a i l sw i t ha t t a c h m e n t st 1 1 r o u g hm o d e m ( o rm o b i l e p h o n e ) ,s u p p o s i n ge n c r y p t i n ge n r a i l sc o n t e n t k e yw o r d s :p d a ,e l n a i l ,p r o t o c o ls t a c k 2 生型丝叁堂堡:! = 垡堡苎一 第一章引言 p d a 是p e r s o n a ld ig i t a la s s is t a n t 的缩写,字面意思是“个人数字助理”。 p d a 的定义有狭义和广义之分:狭义的p d a 可以称作电子记事本,其功能较为单 一,主要是管理个人信息,如通讯录、记事和备忘、日程安排、便笺、计算器、 录音和辞典等功能,而且这些功能都是固化的,不能根据用户的要求增加新的 功能:广义的p d a 主要指掌j 电脑,当然也包括其他具有类似功能的小型数字 化设备。 掌上电脑这种手持设备应,该集中计算、电话、传真、网络等多种功能。不 仅可用来管理个人信息,更亘要的是可以上网浏览、收发e m a i l 、发传真等,甚 至还可以当作手机来用。而且,这些功能都还应该可以通过无线方式实现。然 i 而就目前国内市场来说,并不是任何p d a 都具备以上所有功能;即使具备,也 可能由于缺乏相应的服务而不能实现。但可以预见,p d a 发展的趋势和潮流就是 计算、通信、网络、存储、够:乐、电子商务等多功能的融合。 随着掌上电脑这种功能强j 大、体积小巧、可灵活扩展的产品出现,掌上电 脑决不再只是充当一个小小的个人信息管理工具了,而是在行业应用中发挥越 来越重要的作用。例如:教南上,掌上电脑可以用做百科全书、语言翻译器、 膏式教科书等:工业上,掌j ? 电脑可以用做仪表的控制、公路收费的收发器、 条码分析仪等;卫生保健上,掌上电脑可以用做心脏、血压、胰岛素葡萄糖的 峪测仪等;用户更可根据自身行业特点,自己丌发相应软件和硬件,满足自身 需求。 而在以上所列举的行业应用中,掌上电脑具有连网功能可以说是应具有的 基本功能。通过对消费者的霄,求调查,用户对互联网业务提供种类需求的排名: i ! m a i l 首当其冲,认为是p d a 和掌上电脑必备功能之一的占到9 0 左右。因此, 各个p d a 厂家都分别推出了f 1 己的具有连网功能的产品。其中比较出名的有: 国产联想的p o c k e tp c 天玑5 0 0 0 ,美国惠普的j o r n a d a 5 4 5 5 4 8 ,日本c a s i o 的 i :一1 2 5 等,采用的是w i n d o w sc e 操作系统;国产方正的风行1 8 0 ,长城公司的 氐城掌上王2 0 0 l ,美国p a l m 公司的p a l mv i i x 等,采用的是p a l mo s 操作系统; 部具有通过外置m o d e m ( 或通过手机无线上网) 快速上网,收发e m a j l 等功能。但 也有不足之处:例如限制用户发送的电子邮件大小,有些厂家的产品限制每封 邮件的大小要在2 0 0 个汉字之内等:不具有邮件加密功能,而加密邮件在现今 的商务活动中愈加显得重要;不具有发送附件的功能,而发送附件在某些行业 电刖中又是必不可少的功能。 坐主型垫叁堂堡主兰笪堡苎 经过广泛的比较,严密的分析和论证,从总体上确定了我们要做的e 帆i 1 软件应具有以下特点: 一具有通过外置m o d e m 卜网和通过手机无线上网两种功能。 二基本上不限制每封邮什的大小,并且具有发送附件的功能。 三支持加密功能,使邮仆不易被篡改。 自始至终我们的丌发工f 1 部以这些要求为目标,争取实现或接近实现这些 特性。 电f 科技大学硕士学位论文 第二章软件总体概述 由于连网用到的t c p i pi ha 议比较多,而网络协议通常分不同层次进行丌发, 每一层分别负责不同的通信功能。个协议组件,比如t c p i p ,是一组不同层 次上的多个协议的组合。在设计中,我们按照协议进行划分,使整个丌发工作 体现出了模块性、层次性,伪:证了软件的质量。 下面主要介绍此电子邮中j 处理软件用到的各个协议及其相关的功能与实 现。 2 1 嵌入式系统概述 以往我们按照计算机的怀系结构、运算速度、结构规模、适用领域,将计 算机分为大型机、中型机、小型机和微计算机,并以此来组织学科和产业分工, 这种分类沿袭了约4 0 年。近【0 年来随着计算机技术的迅速发展,实际情况产 生了根本性的变化,例如7 0 匀。代末定义的微计算机演变出来的个人计算机( p c ) , 如今已经占据了全球计算机 业的9 0 市场,其处理速度也超过了当年大、中型 计算机的定义。随着计算机投术和产品对其它行业的广泛渗透,以应用为中心 的分类方法变得更为切合实酗、,也就是按计算机的嵌入式应用和非嵌入式应用 将其分为嵌入式计算机和通月j 计算机。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面 目出现并应用在社会的各个方面,其典型产品为p c ;而嵌入式计算机则是以嵌 入式系统的形式隐臧在各种裂置、产品和系统中。 2 1 1 嵌入式系统( e m b e d d e ds y s t e m s ) 的定义 嵌入式系统被定义为:以应用为中一l i , 、以计算机技术为基础、软件硬件叮 裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算 机系统。 嵌入式计算机在应用数引上远远超过了各种通用计算机,。台通用计算机 n 勺外部设备中就包含了51 0 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显 示卡、显示器、m o d e m 、网卡、声卡、打印机、扫描仪、数字相机、u s b 集线器 等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、 汽车、船舶、航空、航天、军事装各、消费类产品等方面均是嵌入式计算机的 应用领域。嵌入式系统是将允进的计算机技术、半导体技术和电子技术和各个 行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资 金密集、高度分散、不断创和l 的知识集成系统。 2 1 2 嵌入式系统工业特点 山产科技大学硕士学位论文 从某种意义上来说,通月j 计算机行业的技术是垄断的。占整个计算机行业 q o 的产业,8 0 采用i n l e l 的x 8 6 体系结构,芯片基本上出自i n t e 、a m d 、c y r i x 等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,m i c r o s o it f 1 , 9w o r d 占8 09 0 ,凭借操作系统还可以搭配其它应用程序。因此当代的通用计 算机工业的基础被认为是由w 【n t e l ( m i c r o s o f 和i n t 8 1 ) 垄断的工业。 嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没 有哪一个系列的处理器和操仰。系统能够垄断全部市场。即便在体系结构上存在 着主流,但各不相同的应用创! 域决定了不可能有少数公司、少数产品垄断全部 市场。因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业 的中小规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不 断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌 入式工业发展的强大动力。 嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件 产品丌发。 2 1 3 嵌入式系统具有的产品特征 嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发 展,则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理 能力、电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之 间竞争的热点。 和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体 战衣、去除冗余,力争在同卡1 的硅片面积上实现更高的性能,这样爿能在具体 应用对处理器的选择面前更步l 有竞争力。嵌入式处理器要针对用户的具体需求, 对芯片配置进行裁剪和添加刊能达到理想的性能:但同时还受用户订货量的制 约。因此不同的处理器面向的用户是升i 一样的,可能是一般用户、行业用户或 i 社一用户。 嵌入式系统和具体应用确机地结合在一起,它的升级换代也是和具体产品 | 】习步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式 系统中的软件,一般都固化柏- 只读存储器中,而不是以磁盘为载体,可以随意 更换,所以嵌入式系统的应月j 软件生命周期也和嵌入式产品一样长。另外,各 个行业的应用系统和产品,利通用计算机软件不同,很少发生突然性的跳跃, 哭入式系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。 也f 型垫查堂堡兰堡丝塞 一一 嵌入式处理器的发展也们、现出稳定性,一个体系一般要存在8 - 1 0 年的h - i f 刚。 一个体系结构及其相关的片j ? 外设、开发工具、库函数、嵌入式应用产品是一 垂复杂的知识系统,用户和! _ 导体厂商都不会轻易地放弃一种处理器。 2 14 嵌入式系统软件的特徊。 嵌入式处理器的应用软r ! 是实现嵌入式系统助能的关键,对嵌入式处理器 系统软件和应用软件的要求也和通用计算机有所不同。 1 ) 软件要求固态化存储 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储 器芯片或单片机本身中,而不是存贮于磁盘等载体中。 2 ) 软件代码高质量、高可靠性 尽管半导体技术的发展仪处理器速度不断提高、片上存储器容量不断增加, 但在大多数应用中,存储空问仍然是宝贵的,还存在实时性的要求。为此,要 求程序编写和编译工具的质引要高,以减少程序二进制代码长度、提高执行速 度。 : ) 系统软件( 0 s ) 的高实时性膻基本要求 在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调 度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没 有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的 商实时性是基本要求。 2 1 5 嵌入式系统开发需要的开发工具和环境 通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环 境即可进行对自身的开发。而嵌入式系统本身不具备自举开发能力,即使设计 完成以后,用户通常也是不能对其中的程序功能进行修改的,必须有一套丌发 具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件 没备以及各种逻辑分析仪、泓合信号示波器等。 嵌入式处理器是一个复务? 的高技术系统,要在短时间内掌握并丌发出所有 功能是很不容易的,而市场竞争则要求产品能够快速上市,这矛盾要求嵌入 。处理器能够有容易掌握和使用的开发工具平台。提高用户和程序员的时间投 入回报率。 从事嵌入式开发的往往是非计算机专业人士,面对成百上千种处理器,选 择是一个问题,学习掌握处列器结构及其应用更需要时间,因此以丌发工具和 技术咨询为基础的整体解决了j 案是迫切需要的。好的开发工具除能够丌发出处 电f 科技人学硕十学位论文 腿器的全部功能以外,还应! i 是用户友好的。目前嵌入式系统的开发工具平台 、e 要包括下面几类。 1 ) 实时在线仿真系统i c e ( i nc i r c u i t e m u l a t o r ) 直到计算机辅助设计非常发达的今天,实时在线仿真系统( i c e ) 仍是进行嵌 入式应用系统调试最有效的刀发工具。i c e 首先可以通过实际执行,对应用程序 进行原理性检验,排除以人的思维难以发现的设计逻辑错误。i c e 的另一个主要 功能是在应用系统中仿真微拧制器的实时执行,发现和排除由于硬件干扰等引 起的异常执行行为。此外,茬“级的i c e 带有完善的跟踪功能,可以将应用系统 的实际状态变化、微控制器z 、j 状态变化的反应、以及应用系统对控制的响应等 以一种录像的方式连续记录 、柬,以供分析,在分析中优化控制过程。很多机 电系统难以建立一个精确有效的数学模型,或是建立模型需要大量人力,这时 采用i c e 的跟踪功能对系统边行记录和分析是一个快而有效的方法。 嵌入式应用的特点是和现实世界中的硬件系统有关,存在各种异变和事先 未知的变化,这就给微控制器的指令执行带来了各种不确定性,这种不确定性 j 有通过i c e 的实时在线仿真4 能发现,特别是在分析可靠性时要在同样条件 f 多次仿真,以发现偶然出现的错误。 2 ) 高级语言编译器( c o m p i l e r ) c 语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程师的工作效 率,使之能够充分发挥出嵌入式处理器日益提高的性能,缩短产品进入市场时 问。另外c 语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采 朋c 语占编写的程序易于在不同的丌发者之间进行交流,从而促进了嵌入式系 统丌发的产业化。 区别于一般计算机中的( 语言编译器,嵌入式系统中的c 语言编译器要专 门进行优化,以提高编译效率。优秀的嵌入式系统c 编译器代码长度和执行时 间仅比以汇编语言编写的同村功能程序长5 、2 0 9 6 。编译质量的不同,是区别嵌入 弋c 编译器工具的重要指标。i 而c 编译器与汇编语言工具相比残余的5 、2 0 效率 差别,完全可以由现代微控制器的高速度、大存储器空间以及产品提前进入市 场的优势来弥补。 新型的微控制器指令及s ( ) c 速度不断提高,存储器空间也相应加大,已绎 达到甚至超过了目前的通用训算机中的微处理器,为嵌入式系统工程师采用过 占一直j i 敢问津的c + + 语言创造了条件。c + + 语言强大的类、继承等功能更便于 央现复杂的程序功能。但是c + 语言为了支持复杂的语法,在代码生成效率方面 1 :免有所下降。为此,1 9 9 5 年初在日本成立的e m b e d d e de m b e d d e dc 技术 也_ 产科技人学硕十学俺论文 委员会经过几年的研究,针对j 浸入式应用制订了减小代码尺寸的e c + + 标准。e c + + 保留了c + + 的主要优点,提供对口+ 的向上兼容性,并满足嵌入式系统设计的一 。些特殊要求。 c c + + e c 引入嵌入式系统,使得嵌入式丌发和个人计算机、小型机等之问 在丌发上的差别f 在逐渐消肠:,软件工程中的很多经验、方法乃至库函数可以 移植到嵌入式系统。在嵌入式丌发中采用高级语言,还使得硬件开发和软件丌 发可以分工,从事嵌入式软俐开发不再必须精通系统硬件和相应的汇编语言指 令集。 另一种高级语占,j a v a 的发展则具有戏剧性。j a v a 本来是为设备独立的嵌 入式系统设计的、为了提高乖l 序继承性的语言,但是目前基于j a v a 的嵌入式开 发工具代码生成长度要比嵌入式c 编译工具差1 0 倍以上。因此e c + 十很可能将成 为未来的主流工具。 : ) 源程序模拟器( s i m u l a t o r ) 源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和 p c ,通过软件手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。 简单的模拟器可以通过指令自* 释方式逐条执行源程序,分配虚拟存储空间和外 设,供程序员检查;高级的模拟器可以利用计算机的外部接口模拟出处理器的 i o 电气信号。不同档次和功能模拟器工具价格差距巨大。 模拟器软件独立于处理烈硬件,一般与编译器集成在同一个环境中,是一 种有效的源程序检验和测试 具。但值得注意的是,模拟器毕竟是以一种处理 器模拟另种处理器的运行,在指令执行时间、中断响应、定时器等方面很可 能与实际处理器有相当的差别。另外它无法和i c e 一样,仿真嵌入式系统在应 用系统中的实际执行情况。 1 ) 实时多任务操作系统( r e a l t i m e m u l t i t a s k i n go p e r a t i o ns y s t e m r t o s ) 实时多任务操作系统( r t o s ) 是嵌入式应用软件的基础和开发平台。目前在中国 火多数嵌入式软件开发还是基于处理器直接编写,没有采用商品化的r t o s ,不 能将系统软件和应用软件分”处理。r t o s 是一段嵌入在目标代码中的软件,用 户的其它应用程序都建立在o s 之上。不但如此,r t o s 还是一个可靠性和可信 性很高的实时内核,将c p u 时阳j 、中断、i o 、定时器等资源都包装起来,留给 j 日户一个标准的a p i ,并根扼:备个任务的优先级,合理地在不同任务之间分配 c p u 时幢f 。 电f 科技大学硕士学位论文 r t o s 是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的 r t o s 可以面对几十个系列的嵌入式处理器m p u 、m c u 、d s p 、s o c 等提供类同的 a p i 接口,这是r t o s 基于设街独立的应用程序开发基础。因此基于r t o s 上的c 语言程序具有极大的可移植,陆。 据专家测算,优秀r t o s 上跨处理器平台的程序移植只需要修改1 、5 的内容。 f 1 :r t o s 基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品 库函数,和通用性的应用程序一起,可以作为产品销售,促进行业内的知识产 权交流,因此r t o s 又是一个软件开发平台。 r t o s 最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时 器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、 旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是 i t o s 的a p i 。 r t o s 的引入,解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软 件比重不断上升、应用程序越来越大,对开发人员、应用程序接口、程序档案 的组织管理成为一个大的课题。引入r t o s 相当于引入了一种新的管理模式,对 f 丌发单位和丌发人员都是一个提高。 基于r t o s 开发出的程序,具有较高的可移植性,实现9 0 以上设备独立, 一些成熟的通用程序可以作为专家库函数产品推向社会。嵌入式软件的函数化、 产品化能够促进行业交流以及社会分工专业化,减少重复劳动,提高知识创新 的效率。 2 2 软件总体结构 一个电子邮件系统在概念上的结构如图1 所示。用户调用用户接口存储或 查询邮件,所有的传送都在后台进行。 图1 2 3 协议总体介绍 r c f ) i p 通常被认为是一个四层协议系统,如图2 所示。 咀f 科技火学硕士学位论文 l应用层 !运输层 i网络层 链路层 幽2 每一层负责不同的功能: ( 1 ) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的 设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆( 或 其他任何传输媒介) 的物理接口细节。 ( 2 ) 网络层,有时也称作l 连网层,处理分组在网络中的活动,例如分组的 路由选择。在t c p i p 【舟议组件中,网络层协议包括i p 协议( 网际协议) , i c m p 协议( i n t e r n e t 互连网控制报文协议) ,以及i g m p 协议( i n t e r n e t 组管理仂、议) 。 ( 3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在t c p i p 协议 组件中,有两个互不棚同的传输协议:t c p ( 传输控制协议) 和u d p ( 用 户数据报1 力、议) 。t c p 勾两台主机提供高可靠性的数据通信。它所做的上 作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确 认接收到的分组,设1 1 午发送最后确认分组的超时时钟等。由于运输层提 供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 而另一方面,u d p 则为应用层提供一种非常简单的服务。它只是把数掘 报分组从台主机发送到另台主机,但并不保证该数据报能到达另- 一 端。任何必需的可靠惟必须由应用层来提供。这两种运输层协议分别在 不同的应用程序中有4 ;同的用途。 ( 4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的t c p i p 实现都 会提供下面这些通用的应用程序: t e l l l e t 远程登录 f t p 文件传输协议 s m t i 用于电子邮件发送的简单邮件传输仂、议 p o p :j 用于电子邮件接收的邮局协议 s n m i 简单网络管理协议 在我们开发的电子邮件收发软件中主要用到了以下协议( 按照从低到高的 日序) : 链路层 网络层 议 力) 议办r ) p 眦 i 如 o p 0 乱 三 盯 _ 兰( ip (即 出f 科技大学硕士学位论文 运输层:t c p ( t r a n s f e rc o n t r o lp r o t o c 0 1 ) 协议 u d p ( u s e rd a t a g r a mp r o t o c o ) 协议 应用层:s m i 、p ( s j m l l em e s s a g et f a n s f e rp r o t o c 0 1 ) 协议 p o p 3 ( p o slo f f i c ep r o t o c 0 1 ) 协议 i ) n s ( d o m u 】t in a m es y s t e m ) 办议 我们的p d a 采用的操作系统的基础是m o t o r 0 1 a 的p p s m ( p e r s o n a p o r t a b e j ;y s t e mm a n a g e r ) 内核,到目【) 口为止,它本身并没有集成t c p i p 协议栈,所以 j - l i # 议栈完全要靠我们自己月j 软件实现。 软件协议栈如图3 所示: s m t p ,p o p 3 ,d n s t c p ,u d p ip ppp jr d a ,u a r t 等传输协议 图3 本协议栈采用分层结构,分别完成数据流的过滤和传输,连接的建立和释 放,数据帧的传输,链路的拧制,数据帧的拆装等功能。 下面就分别对所用到的协议进行简要介绍。 2 3 1p p p ( p o in tt op o in tp r o t o c o i ) 协议 点到点协议是为在两个剥等实体( p e e r ) 间传输数据包建立简单连接而设 计的。这种连接提供了同时的双向的全双工操作,并且数据包是按顺序投递的。 ppp 连接提供了一种广泛的解决办法,方便地将多种多样不同的值作为最大 接收单元的值。 p p p 有三个主要组件: ( 1 ) 在串行线路上对数据报进行加密; ( 2 ) 用于建立、配置和检洲数据链路连接的连接控制协议( l c p ) 。 ( 3 ) 用于建立和配置不同刚络层协议的网络控制协议( n c p ) 。 为了在点对点连接上建立通信,每个p p p 端必须首先发送l c p 包以配置和 检测数据链接。在连接建立而且可选的选项都已经由l c p 设置完成后,p p p 必须 发送n c p 包用以选择和配置一个或多个网络层协议。在每层的协议被配置完成 后,就可以在链路上进行通仉了。在l c p 或n c p 显式地关闭连接以前,连接一 j i 保持j 丁放。 生兰型堡查堂堡主望焦堡苎 一 在配置、维持和终j 卜点到点连接的过程中,ppp 连接经历了几个不同的 阶段,这些阶段由以下简化的状态图说明: 图4 ( 1 ) 连接死亡阶段( 物理层未准备好) 一个连接的丌始和结束都要经历此阶段。当一个外部事件( 例如检测到载 波或网络管理人员配置) 指而、物理层已准备好并可以使用时,ppp 将进入建 、z 连接阶段。 应用注意事项: 典型的,一个连接将在训制解调器连接断开后自动返回到此阶段。在使用 电话线连接的情况下,这个阶段将相当的短,短到很少有足够的时间能用仪器 检测到它的存在。 ( 2 ) 建立连接阶段 键路控制协议( lcp ) 通过交换配置数据包建立连接。所有的配置选项 都被假定为缺省值,除非在配置交互的过程中改变。有一点是非常重要的,就 是那些只有与特定网络层协议无关的选项才能被lcp 配置。配置单独的网络 层协议是在网络层协议阶段d 1 相应的网络控制协议来配置。在此阶段接收到的 f t 何非lcp 数掘包将被静默丢弃。接收到lcp 配置请求数据包将引起pp p 连接从网络层协议阶段或认证阶段返回到建立连接阶段。 ( 3 ) 认证阶段 在某些连接时,在允许剐络层协议数据包交换之前希望对对等实体进行认 征。缺省时,认证不是必要n 。如果应用时希望对等实体使用某些认证协议进 行认证,这种要求必须在建立连接阶段提出。认证阶段应该紧接在建立连接阶 段后。证阶段后的网络层1 _ j j 议阶段必须等到认证结束后才能丌始。如果认证 火败,将转而进入终止连接阶段。仅仅是连接控制协议、认证协议、连接质量 uf 科技火学硕士学位论文 峪测的数据包_ 才被允许在此阶段中出现。所有其它在此阶段中接收到的数据包 部将被静默丢弃。 应用注意事项: 应用时不能简单的因为趔时或缺少回应就认为认证失败。应该允许重传。 仅当试图认证的次数超过一定的限制时才进入终止连接阶段。如果对方拒绝认 证,己方有权进入终止连接阶段。 ( 4 ) 网络层协议阶段 一旦ppp 完成了上述阶段,每一个网络层协议( 例如i p 、a p p t e t a k ) 必 须单独的由相应的网络控制协议( ncp ) 配置。 每一个网络控制协议可以随时打开或关闭。 应用注意事项: 因为可能开始就会使刖需要花费大量时间的连接质量决定,所以当等待 对方进行网络控制协议配置日、j 应该避免使用固定的超时限制。当一个网络控制 i ;j j 、议达到已打丌的状态时,ppp 连接上就可以传送相应的网络层协议数据包。 当接收到的任何所支持的网绵层协议数据包时,只要相应的网络控制协议状态 未进入己打开状态,都将作静默丢弃处理。 只要lcp 协议状态处于已打开的状态,任何接收到的不支持的协议数据 包都将返回协议拒绝包。在此阶段,连接上流通的包括lcp 数据包、ncp 数据包和网络层协议数据包。 ( 5 ) 终止连接阶段 p p p 连接可以随时终止。原因可能是载波丢失、认证失败、连接质量失败、 超时计数器溢出、或者网络管理员关闭连接。 lcp 通过交换连接终j j 包来终止连接。当连接正在被终止的时候,pp p 会通知网络层以便它采取剌应的动作。在交换过终止请求包后,将通知物理 层断丌以便使连接真正终止,尤其是在认证失败的时候。发送连接终止请求包 的一方应该等待接收到连接终止确认包之后或超时计数器计满之后再断开。收 剑连接终止确认包的一方应该等待对方首先断开,并且决不能断开直到至少有 一个超时计时器在发送了终上| 连接确认包之后溢出。然后ppp 应该进入连接 死亡阶段。 在此阶段所有接收到的j llcp 数据包都将被静默丢弃。 j 皿用注意事项: 关闭时使用lcp 就已足够。并不需要每一个ncp 都发送终止连接数掘 生型垫盔堂堡堂堡笙墨一 包。相反的,一个n c p 协议又闭并不能关闭整个p pp 连接,即使这个n c p 叻、 议是当| j 唯一处于已打丌状态。 23 2ip ( in t er n e tp r o t o c o i ) 协议 i p 协议是用于将多个包交换网络连接起来的协议,它在源地址和目的地址 之问传送数据报,它还提供剥数掘大小的重新组装功能,以适应不同网络对包 大小的要求。 i p 的责任就是把数据从渊传送到目的地。它不负责保证传送可靠性、流控 制、包顺序和其它对于主机到主机协议来说很普通的服务。 这个协议由主机到主机协议调用,此协议负责调用本地网络协议将数据报 传送到f 一个网关或目的主机。例如t c p 可以调用i p 协议,在调用时传送目的 地址和源地址作为参数,i p 形成数据报并调用本地网络( 协议) 接口传送数掘 报。 i p 实现两个基本功能:二,址和分段。i p 可以根据数据报报头中包括的目的 地址将数据报传送到目的地址,在此过程中i p 负责选择传送的道路,这种选择 道路的功能称为路由功能。女果有些网络内只能传送小数据报,i p 可以将数据 报重新组装并在报头域内注刚j 。i p 模块中包括这些基本功能,这些模块存在于 网络中的每台主机和网关上,而且这些模块( 特别在网关上) 有路由选择和其 它服务功能。对i p 来说,数掘报之间没有什么联系,对i p 不好说什么连接或 逻辑链路。 i p 使用四个关键技术提供服务:服务类型、生存时间、选项和报头校验码。 服务类型指希望得到的服务质量。服务类型是一个参数集,此参数是i n t e r n e t 能够提供服务的代表。这种雕务类型由网关使用,用于在特定的网络,或是用 f 下一个要经过的网络,或是下一个要对这个数据报进行路由的网关上选择实 际的传送参数。生存时问是数据报可以生存的时间上限。它由发送者设置,由 经过路由的地方处理。如果未到达时生存时间为零,抛弃此数据报。对于控制 函数来说选项是重要的,但剥于通常的通信来说它没有存在的必要。选项包括 时间戳、安全和特殊路由。报头校验码保证数据的正确传输。如果校验出错, 抛弃整个数据报。 i p 不提供可靠的传输服务,不提供端到端的或( 路由) 结点到( 路由) 结 点的确认,对数掘没有差错 ,。:制,它只使用报头的校验码,不提供重发和流量 挎制。如果出错可以通过i c m p ( i n t e f n e tc o n t r o m e s s a g e sp r o t o c 0 1 ) 报告, 1c m p 在i p 模块中实现。 i p 包头格式 电f 科技大学硕十学位论文 i p 包头格式如下 版本( 4 b i t ) li h l ( 4 bj t ) l 小务类型( 8 b i t )总长度( 1 6 bj t ) ( 标识) i d e n t i f i c a t i or l ( 1 6 b i t )l 标记( 3 b i t ) l段偏移量( 1 3 b i t ) 生存时间( 8 b i t )l协议( 8 b i t )f头校验码( 1 6 b i t ) 源地址( 3 2 b i t ) 选蛐( 2 4 b i t ) l填充( 8 h i t ) 图5 版本:4 位 此域标明包头的格式。我们现在说明的是i p 版本4 。 l h l :4 位 i n t e r n e t 包头长度是以3 2 位为单位标记的包头长度,它指向数据的丌始位 置,这个域的最小合法值为5 。 服务类型:8 位 它是一些指示服务质量的参数,这些参数用于在特定网络指示所需要的服 务。有些网络会提供优先缎服务。选择的基本原则是以下三者的权衡:低延 时、高可靠和高吞吐量。 总长度:1 6 位 总长度指的是数据报的长度,由字节计,包括数据和报头。允许数据报的大 小为6 4 k 。这么大的数据报对大多数主机和网络来说是不适用的。但是,所 有主机必须能够接收大于5 7 6 字节的数据报,无论它们是一起来,还是分段 来。如果知道对方主机能f 哆接收大于5 7 6 字节的数据报,最好在发送时不要 发送小于5 7 6 字节的数据报。选择5 7 6 是因为5 7 6 = 5 1 2 ( 数据) + 6 4 ( 报头) 。 报头最长不超过6 0 字节,通常为2 0 字节。 标识:1 6 位 标识是发送用于帮助重匀| 分段的包的。 标记:3 位 b n 0 :保目,必须为o b i t l :( d f ) 0 = 可分段,1 = 不可分段 b i t 2 :( m f ) 0 = 最后一段,1 = 还有多段 段偏移:1 3 位 电f 科技大学硕士学位论文 此域指示这个段应该在数据报中什么位置,它以6 4 位为单位计算,首段的 偏移为零。 ,e 存期:8 位 此域说明数据报在互联网系统生存的最大时间1 3 。如果此域的值为零,抛弃此 数掘报。在处理报头的同时也处理此域。时间以秒计,但每个处理单元都至 少会对t t 。减一,即使利问e l 小于一秒。 协议:8 位 此域指示用于数据报数扒部分的下一层协议。 头校验码:1 6 位 这种校验方法比较容易计算,实验证明它也是适用的,但它可能在未来被 c r c 校验过程取代。 源地址和目的地址:3 2 位。 选项:长度不定 在数掘报中可以有选项,也可以没有,但l p 模块中必须有处理选项的功能。 有些情况下,安全选项是必须的。它的长度不定,可以没有也可以是多个。 填充:变长 报头域填充用于保证报头是3 2 位的倍数。填充值为0 。 23 3 t o p ( t r a n s f e rc o n tr oip r o t o c oi ) 协议 t c p 是面向连接的端到端的可靠协议。它支持多种网络应用程序。t c p 对下 层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多 种硬件构成的网络上运行。它的下层是i p 协议,t c p 可以根据i p 协议提供1 1 9 j e 务传送大小不定的数据,i p 协议负责对数据进行分段,重组,在多种网络中传 送。 t c p 连接是可靠的,而且保证了传送数据包的顺序,保证顺序是用一 卜序号 求保证的。响应包内也包括一个序列号,表示接收方准备好接收这个序号的包。 f1 c p 传送一个数据包时,它同时把这个数据包放入重发队列中,同时肩动记 级器,如果收到了关于这个包的确认信息,将此包从队列中删除,如果计时超 寸则需要重新发送此包。从1 旧返回的确认信息并不保证最终接收者接收到数 掘,这个责任由接收方负责。 t c p 段以i n t e r n e t 数据报的形式传送。i p 包头传送不同的信息域,包括源 地址和目的地址。t c p 头跟在i n t e r n e t 包头后面,提供了一些专用于t c p1 力、议 r r g 言息,t c p 包头格式如下图所示: 电子科技大学硕士学位论文 l源端l j ( 1 6 b l t ) 日的端口( 1 6 b i t ) 序列码( 3 2 b i t ) 确认码( 3 2 b i t ) ua i rsf窗u ( 1 6 b j t ) 数据偏移保留 rc 、 syi 镀( 4 b n )( 6 b j t ) gkj |tnn 校验和( i 6 1 ,i t )紧急指针( 1 6 b i t ) 选项( 不定长)填充( 不定长) 数据 图6 源端口:1 6 位; 目的端口:1 6 位 j f - , j 码:3 2 位,当s y n 出现,序列码实际上是初始序列码( i s n ) ,而第一个数 据字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现浇混凝土模板合同范本
- 村委会门面房合同协议书
- 能不能撤销手写合同协议
- 附带家具的装修合同范本
- 汽车修理部转租合同协议
- 终止保险经纪合作协议书
- 电商平台宣传活动协议书
- 清华烟台大学合作协议书
- 税务代理合同协议书范本
- 法人变更合同协议书模板
- 物业管家考试试题及答案
- 医学知识 贲门失弛缓症学习课件
- 台球室股东协议(2025年版)
- 法制教育校本课程教材
- 2025老年人内在能力评估与维护指南解读课件
- 初中英语各从句专项练习
- 2025年东莞市莞城街道招考聘用工作人员高频重点模拟试卷提升(共500题附带答案详解)
- 热工自动化知识培训课件
- 地下管道施工技术考核试卷
- 《疼痛的评估与处理》课件
- 《外存储设备》课件
评论
0/150
提交评论