(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf_第1页
(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf_第2页
(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf_第3页
(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf_第4页
(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(通信与信息系统专业论文)无线应用服务中的数据加速器.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮i 大学研究生学位论文 无线应用服务中的数据加速器 摘要 如何在现有网络环境下经济、 高效地提高无线用户的上网速度, 是目前移动 运营商、无线应用服务提供商以及使用无线应用服务的企业所迫切需要解决的 问题。在这种背景下,本论文对无线应用中的数据加速器进行了研究和初步实 现。 本论文的组织如下: 首先简要介绍移动互联网的概况, 并且针对其访问速度 慢的问题论证了引入无线数据加速器的必要性,接着深入研究了加速器所涉及 到的几项关键技术,主要是数据压缩技术、传输协议优化技术 ( 主要是对 t c p 在无线环境下的性能进行优化)以及代理服务器技术,然后我们对一个国外的 相关产品进行了简单的介绍,并且在此基础上提出了一种新的加速器应用系统 模型。最后,我们在基于 l i n u x的嵌入式系统上设计并且初步实现了一个无线 数据加速器系统。 关键词: 数据加速、 数据压缩、 协议优化、 t c p 、自 动重发请求 ( a .r q ) 、 前向 错误纠正 ( f e c ) 、显式丢失通知 ( e l n ) ,嵌入式系统 第 1灭 共 2灭 北京邮电大学研究生学位论文无线应用服务中的数据加速器 ab s t r a c t wi t h t h e d e v e lo p m e n t o f t h e m o b i l e c o m m u n i c a i t o n s a n d i n t e r n e t t e c h n o lo g y ,mo b i l e i n t e rn e t ( mi ) w h i c h c o m b i n e s t h e t w o g i a n t i n f o r m a t i o n d o m a i n w i l l b e th e d i r e c t io n o f t h e f u t u r e , a n d h o w t o s p e e d u p t h e a c c e s s t o i n t e rn e t f o r w i r e l e s s e n d u s e r o n t h e b a s i s o f e x i s t i n g n e t w o r k ,h as b e c o m e t h e p r o b l e m n e e d e d t o b e r e s o l v e d i m p e n d e n t l y . i n t h i s p a p e r , w e f i r s t i n t r o d u c e t h e d e v e l o p m e n t o f mi a n d d e m o n s t r a t e t h e n e c e s s a r y t o i m p o r t w i r e l e s s a c c e l e r a t o r a i m i n g a t th e p r o b l e m s a b o u t l o w a c c e s s s p e e d i n mi , a n d r e s e a r c h th e k e y t e c h n o l o g y c o n c e r n i n g t h e w i r e l e s s a c c e l e r a t o r in w i r e l e s s a p p l i c a t i o n , i n c l u d i n gt e c h n o l o g y , t r a n 印o rt p r o t o c o l e n h a n c e m e n t t e c h n o l o g y a n d p r o x y s e r v e r t e c h n o l o g y , t h e n a ft e r in t r o d u c i n g a k i n d o f p r o d u c t ( f o u r e l l e v e n t u r i ) ,w e p r e s e n t a n e w w i r e l e s s a p p li c a t i o n mo d e l . a t l as t ,w e i m p l e m e n t a w ir e l s s a c c e l e r a t o r o n a l i n u x e m b e d e d s y s t e m . k e y w o r d : w i r e l e s sc o m p r e s s i o n , t c p , a r q , f e c , e l n , e m b e d e d 勺s t e m 第 2页 共 6 2页 北京!护匕 人学研究生学位论文 无线应用服务中的数据加速签 第一章 无线加速的必要性 9 . ,移动互联网概述 i n t e r n e t 和移动通信, 作为迈向 信息社会的两个重要标志, 分别对应着对大 量信息资源的有效访问和随处漫游的个人通信。如何结合它们的技术优势, 在不 受信息源的限制和用户访问时位置限制的同时, 以统一的标准向用户提供无处不 在的信息网络服务, 已成为网络界和电 信界共同关注的一个焦点问 题。目 前随着 移动手机和智能化移动终端的实现, 已使得越来越多的用户习惯于移动通信的方 式, 同时也期望能够更加灵活地、 不受任何限制地进行通信和接入到i n t e r n e t 网。 各运营商、 制造商和内容提供商都非常积极地工作, 先后推出了 w a p , m o b i l e i p , m o b i l e工 p p h o n e以及b l u e t o o t h等解决方案及相关的产品。所有这些都在向人 们预示着移动互联网时代的到来。 移动互联网是对传统互联网和传统电信网的一次革命, 它不是对传统互联网 和电信网的增强及补充, 而是在技术上和应用上都有了质的飞跃的一种网络, 它 的出现必将对传统互联网和电信网产生巨大的冲击。 欧洲由 于移动电话普及水平 很高, 正成为移动互联网最大的实验场, 英国最大移动电 话和互联网运营商 b t c e l l n e t 的每个无线互联网用户平均每月 增值的收入为u美元, 每年因无线互 联网增值的收入为5 0 0 0 万美元,瑞典移动电话运营商t e l i a m o b i l e 使用m y d o f 平 台提供手机上网服务, 用户可以访问包括信息和交易在内的系列业务, 如用移动 电 话购买机票等。 最近它与诺基亚 签署了 协议准备利用诺基亚支持w a p的 a r t u s 平台 扩展w a p 业务。在美国, s p r i n t p c s 公司最近推出了 可让用户查看电 子邮件 和预订个人互联网信息的 移动电 话业务, 这种无线新闻和信息服务针对移动电 话 有字符限制的特点进行了特殊设计, 它可以提供新闻、 天气预报; 市场最新信息、 体育和娱乐新闻, 通过手机的显示屏显示给手机用 户。 s p r i n t p c s 公司的 这项无 线互联业务使用范围遍布美国 2 8 0 多个城市, 服务合作伙伴包括b l o o m b e r g , c n n 和m a p q u e s t 地图网站。 a o l 交互式项目 组新近宣布:a o l 可能会耗资1 0 0 亿美 元来促进消费者在家庭通过电缆、 增强了功能的电话线、 卫星和无线技术来访问 互联网。日 本电信集团移动通信网 株式会社 n t t d o c o m 。于1 9 9 9年2月在日 本推 第 4灭 共 2灭 北京邮电大学研究生学位论文无线应用服务中的数据加速黔 出了基于分组方式的i - m o d e 增值服务, 使手机用户可以浏览以h t m l 语言为平台的 互联网站,该服务推出9个月,用户达2 6 0万户,用户月平均电信消费增长4 0 %,使用工 m o d e 无线上网服务的用户数每天也正以23万户的速度增长,无线互 联网每月能为d o c o ih 9。 带来3 6 0 0 万美元的收入,这不仅对其他日本力推无线上网 的通信业者是个遥不可及的数字, 对世界各地的相关业者而言更是一种压力。 我 国的移动用户目前己经超过了1 . 4 亿,许多人都在预测我国有望成为全球最大的 移动互联网市场之一,据估计,到2 0 0 4 年底我国的移动电话客户将超过2 亿,届 时只要5 0 % 的客户使用移动互联网,那将是一个i亿的巨大市场。因此,可以说 移动互联网在我国的发展上升空间是巨大的。 1 . 2 存在的问题 在全球移动互联网产业高速发展的同时, 两大矛盾也逐渐地凸现出来:一方 面, 各种无线应用服务所提供的数据量是比 较大的, 尤其是提供图片、 音乐、 多 媒体相关的无线应用服务, 一次下载的文件数据量可达几兆甚至几十兆: 而另一 方面, 无线信道所固有的带宽窄、时延长、 链路性能差的缺点, 大大影响了终端 客户获得各种无线应用服务的速度, 因此低速率的用户接入带宽越来越成为高速 发展的移动互联网的瓶颈。 目前,3 g 的技术已 经非常成熟和完善,它能够提供的最高业务速率可达到 2 m b p s , 并且可以通过提供不同的数据率更有效地利用频谱, 在承载各种无线应用 服务上具备很好的条件。 但是,由于业界关于3 g 的标准较多, 难以达成共识, 加 上应用需求还不充足, 使得3 g 在欧美的推广受阻, 从目 前形势来看, 3 g 的全面部 署还需要一定时间。 而现有的二代移动通信网络主要以提供话音业务和低速的数 据业务为主, 例如中国移动的 g s m 网 络只能提供9 . 6 k b p s 的数据信道, 即使去 年刚 刚投入商用的2 . 5 g 移动通信网络 一 一 g p r s , 作为一种向3 g 过渡的技术, 所能提供 的数据传输速率也仅为1 4 . 4 - 4 3 . 2 k b p s ( 1 7 0 k b p s 的理论值在实际中是根本达不 到的),这对原有的g s m 网络是一个较大的提升,但是相对于日 趋庞大的应用数 据量仍然是非常窄的。 那么, 如何在现有的网络环境下经济、高效地加快无线用 户的上网速度, 就成为了广大移动通信运营商、 无线应用服务提供商所迫切需要 第 5页 共 6 2页 北京邮电大学研究生学位论文无线应用服务中的数据加速器 解决的问题。 1 . 3解决问题:引入无线数据加速器 如前所述,现存的2 g / 2 . 5 g 网络的带宽瓶颈限制了移动互联网的发展,影响 了用户使用无线应用服务的速度, 在这种背景下, 研究并实现一种“ 无线数据加 速器” 的系统来提高无线用户上网速度, 就有其必要性和实际意义了。 无线数据 加速器在不改变现有传输网络结构的前提下, 通过在端到端的应用中引入加速设 备来达到加速的目 的, 允许现有的蜂窝网络向终端用户提供高质量内容、 范围广 泛的移动数据业务, 因此是一种较为经济、 有效的实现方式。 本课题的内容就是 研究数据加速器涉及到的各种技术,并且初步实现一个基于嵌入式l i n u x 系统的 无线数据加速器。 第 页 共 2页 北京邮电大学研究生学位论文 无线应用服务中的数据加速器 第二章 加速器关键技术研究 2 。 ,数据压缩技术 在前一章我们讨论了在无线应用服务中引入加速器的必要性, 那么如何才能 实现上网“ 加速” 的目的呢?即为了实现一个加速器我们都可以采取哪些技术和 手段昵?首先我们自 然而然地会想到数据压缩技术。 在现有的无线网络中, 主要 存在的不足是网络传输速度。 以 太网可实现1 g b / s 的传输速度, 而无线局域网的 传输速度被限制在 1 0 m b / s 左右,市场上一般的无线网络带宽还达不到2 m b / s . 虽然广带无线技术可以解决这个问题, 但是这项技术现在并不成熟, 仍然处在快 速的发展与变化当中。 因此, 在当前频谱资源严重不足的情况下, 如何有效地提 高频谱效率具有非常重要的意义。 而我们知道, 任何数据, 如常见的图象、 文本、 声音等, 数据之间都存在一定程度的重复数据或信息冗余, 因此使用数据压缩技 术减少信息数据的冗余,是解决带宽问 题的有效途径之一。使用数据压缩技术, 能够最大量的精简数据, 在频谱资源有限的 情况下, 由 数据量降到最低而达到频 谱资源的最有效利用。 2 . 1 . 1数据压缩技术的分类 数据压缩技术可以分为两种类型,一种为有损压缩,另一种为无损压缩。 l 无损压缩。 无损压缩是指使用压缩后的数据进行重构 ( 或者叫做还原、 解压缩) , 重构后 的数据与原来的 数据完全相同。 无损压缩用于要求重构的 信号与原始信号完全一 致的场合。 例如。对于文本文件、可执行文件、数据库文件等数据文件,压缩前 后不允许出现失真, 所以必须采用无损压缩的算法, 但压缩效率不可能 太高, 根 据目 前的技术水平, 采用无损压缩算法一般可以 把普通文件的数据压缩到原来的 i / 2 - 1 / 4 。 无损压缩又可以分为模型压缩和字典压缩两类。 模型压缩比 较典型的 算 法是霍夫曼 ( h u ff m a n )算法和香农一范诺 ( s h a n n o n - f a r o )算法以及它们的变 形, 字典压缩比 较典型的 算法是 l z w c l e n p e l - z i v e r e s o .2 = / l i b / l i b c o m _ e r r . s o 2 ( o x 4 0 0 2 6 0 0 0 ) l i b u u i d .s o . 1 = / l ib / 1i b u u i d .s o . l ( ( x 4 0 1 2 8 0 0 0 ) l ib c .s o . 6 - l l ib / li b c s o . 6 召 1x 4 0 0 2 c o o 0 ) t l ib / l d - l i n u x . s o . 2 - / l i b 1 l d - i i mx .s o 2 ( 0 x 4 0 0 0 0 0 0 句 输出右边的库都是必须的, 有的可能是链结文件。 在 / ii b r 录下 还必 须 有函 数 库 装载 器, 这 个 装 载 器 或 是ld .s 试 对a .o u t 库 ) 或 是 i d - li n u x .s o ( 对e l f 库) 。 把 装载器 和库拷贝 到 / l i b 后, 再 仔细检查 一遍以 保证没 有 遗漏。 在完成了上述工作后, 卸下 虚拟盘, 拷贝到一个文件中, 然后压缩. u mo u n t i mn t 第 幻 灭 共 2页 北京邮电大学研究生学位论文无线应用服务中的数据加速器 d d i f - l d e v l r a m 0 b s = i k i g z i p - v 9 r o o t f s . g z 压缩结束后,我们就拥有了一个压缩的根文件系统,本课题所制作的根文 件系统的大小为6 3 2 k b . c 4 )移植 到目前为止, 我们已经拥有了构造嵌入式操作系统所需的l in u x内核和根文 件系统, 现在还需要的就是启动代码, 启动代码是微处理器最初启动时完成最低 级的硬件初始化和配置功能的引导程序, 并负责装载操作系统, 然后将控制权转 交给操作系统,相当于p c机的 b 工 o s .所幸的是本课题所使用的开发板自带了 启动代码,大小为1 9 k b . 这样, 所有的必需文件都己 备齐, 可以 进行移植工作了, 我们可以采用美国 i s d公司开发的d o w n l o a d下载程序,通过串口将开发板的启动代码、压缩了的 l i n u x 操作系统内核及根文件系统注入到开发板的f l a s h中去,然后将开发板 重新启动, 此时整个系统就由我们自己所构造的操作系统来接管了。 至此, 我们 在目 标系统上构造了一个完整的嵌入式操作系统。 4 . 4 .2 代理服务器的实现 加速器介于内 部网络与外部网络之间,需要实现应用层代理转发的功能。 代理服务器与外部网络以及内部网络的连接如图4 - 6 所示: 内部网上的计算机在访问 远端服务器时, 先向 代理提出请求, 然后代理进行 用户权限认证, 认证成功后由代理访问外界网络, 将取回的数据再送回用户。对 外部来说都是由 代理提出 请求, 外部也只能看见代理, 而看不见内部网络, 一 因为 只有代理的i p 地址是真实的i p , 其它客户机使用的都只是内部的i p 地址。 这对解 决日益紧张的i p 地址资源问题也提供了一个比较经济的可行性方法。 第 4 2页 共 2页 北京邮. 匕 大学研究生学位论文 无线应用服务中的数据加速器 图4 - 6 ( 1 )实现方式 应用层转发实现应用层协议的代理,如超文本传输协议 h t t p )、文件传输 协议 ( f t p )、 远程终端连接标准协议 ( t e l n e t )、简单邮件传输协议 ( s n t p )、 邮局协议 ( p o p 3 ) 等。由 于不同的协议有着不同的请求连接方式, 因此要有不同 的处理请求连接的方式。本课题只支持h t t p 和f t p 应用层协议的处理方式,其他 协议的处理可参考具体的r f c 的规定,但其代理的实现方式与此相同。 当客户 ( 即子网内某主机上需代理的进程) 请求连接外部某个服务器时,它 首先与代理服务器建立一个传输层的连接 ( t c p 连接), 代理服务器平时在t c p 公认的端口上等待客户连接请求的到来。 当一连接请求到来后, 按预定的方式与 客户交互信息。 首先进行用户身份认证, 认证成功后获取客户要求连接的真实服 务器的地址或名字, 然后由代理服务器负责连接真实服务器, 并在客户机和真实 服务器之间转发数据。 从客户端来看,代理服务器表现为一个s e r v e r ,而对服务器端来说,其表现 为一个c l i e n t .所以代理服务器既要完成客户端的工作,又要完成服务器端的工 作,实际上在多数情况下它只需完成如下功能: ( a )接受客户端的请求,并表现为一个服务器。 ( b )获取客户端所请求的目 标服务器域名和地址。 ( c ) 代理服务器与目 标服务器建立连接并提出 请求。 ( d )在客户端与目 标服务器端转接请求,应答和数据。 ( e )根据代理服务器的标准设置执行存取控制。 ( 2 )系统结构 根据系统实现的方式来实现代理服务, 关键在如何处理接收和发送数据的异 步操作,系统主要涉及到两项技术:多进程技术和 f o 多路复用技术。系统结构 如图4 - 7 所示。 主进程在t c p 的一公认端口上监听客户端的请求连接,一旦t c p 连接请求到 来, 代理服务器就与客户端通过t c p 三次握手建立连接, t c p 连接成功后代理服务 器获得客户的信息, 代理服务器根据此信息进行身份认证, 决定此客户是否有访 问权限。 认证通过后主进程将创建一子进程为此次连接提供访问服务, 主进程将 第 4 3页 共 6 2灭 北京邮电大学研究生学位论文无线应用服务中的数据加速器 继续在此端口 监听客户端的其他t c p 连接或其他客户的t c p 连接请求。 而子进程则 通过接收客户的h t t p 请求或者f t p 请求来获取客户端所要访问的目 标服务器的域 名或地址、 服务端口以及其他有用的信息。 通过d v s 服务器将域名转换成护地址, 代理服务器用此i p 地址向目 标服务器提出建立连接的请求。 连接成功后, 代理服 务器将客户端发送来的h t t p 请求或者f t p 请求转化为自己的请求发送给目 标服务 端务 远服器 ,沪产/ 端务 远服器 客户端 炸二习 -t 二式 客户端 -一 争 o 表示数据流 表示应用层连接 _ _ - - - 一令 表示进程的父子关系 表示t o连接 表示用于通讯的套接字 图4 - 7 器, 为了处理数据的转发。 在子进程中, 系统创建了 两个不同的套接字, 然后同 时 监听这两个套接字, 查看是否有可读的数据。 不管哪个套接字上有可读数据都 将读入到己设定的系统缓冲区中,然后将数据通过另一个套接字发送出去。如 果都没有可读的数据就处于等待状态, 等待一段时间( 可预先设置) 后仍然没有 数据可读就断开 t c p 连接。 第 4 4页 共 g 2 页 北京邮电大学研究生学位论文无线应用服务中的数据加速器 在具体编程时,可以使用l i n u x 提供的s e l e c t 系统调用来实现工 / 0 的多路复 用。由 于p r o x y t m 作中是要求用户主机和远端主机双向 通信的, 这样就要求我们 对两个套接字描述符既能够读又能够写。如果还是采用单向阻塞u o 的话,很有 可能长时间阻塞在一个描述符上。 因此例程在处理这个问题的时候调用了s e l e c t ( ) 函数, 这个函数允许我们执行i / 0 多路转接。 其具体含义就是s e l e c t ( ) 函数可以 构 造一个表, 在这个表中包含了我们所有要用到的文件描述符。 然后我们可以调用 一个函数,这个函数可以检测这些文件描述符的状态,当某个 ( 我们指定的) 文 件描述符准备好进行u o 操作时,此函数就返回,告知进程哪个文件描述符己经 可以 执行u o 操作了。 这样就避免了 长时间的阻塞。 s e l e c t o 系列函数的 详细描述 为: # i n c l u d e # i n c l u d e # i n c l u d e i n t s e l e c t ( in t n , f d 一 s e t * r e a d f d s , f d 一 s e t * w r i t e f d s , f d - e s t * e x c e p t f d s , s t r u c t t i m e v a l * t i m e o u t ) ; f d es c l r ( i n t f d , f d 一 s e t * s e t ) ; f d i s s e t ( i n t f d , f d 一 s e t * s e t ) ; f d s e t ( i n t f d , f d - s e t * s e t ) ; f d z e r o ( f d s e t * s e t ) ; s e l e c t s 函 数将创建一个我们所关心的 文件描述符表, 它的 参数将在内核中为 这些文件描述符设置我们所关心的条件, 例如是否是可读、 是否可写以及是否异 常, 而且在参数中还可以 设置我们希望等待的最大时间。 在s e l e c t ( ) 成功执行时, 它将返回目 前已经准备好的描述符数量, 同时内核可以告诉我们各个描述符的状 态信息。如果超时,则返回,110 1, ,如果出 错,则函数返回” - 1 ,并同时设置e r m o 为相应的值。 在调用s e l e c t ( ) 函数实现多路v 0 转接时, 首先我们要声明一个新的文件描述符 集,就象例程中这样: f d _ s e t r d f d s e t ; 然后调用 f d _ z e r o ( ) 清空 此文 件描述符集的 所有 位, 以 免下面检 测描述符位 第 4 5页 共 6 2灭 北京邮 匕 人学研究生学位论文无线应用服务中的数据加速箫 的时候返回错误结果: f d_ z e r o ( 然后调用f d 多e t ( ) 在文件描述符集中设置我们关心的 位:分别与用户主 机 和远端主机连接的两个套接字描述符,所以执行这样的语句: f d , s e t ( u s e r s o c k f d , f d _ s e t ( i s o s o c k f d , 然后调用s e l e c t q 返回描述符状态,此时描述符状态被存储进描述符集, 也就 是 s e t _ f d 数 据结 构中。由 于 我们只 关心 两个套 接字描述符是否可写,因 此 执行这 样的s e le c t ( ) gi数: s e l e c t ( f d _ s e t s i z e , / * z e r o l e n g t h m e a n s t h e h o s t d i s c o n n e c t e d * / 随脱 w ri t e ( i s o s o c k f d ,b u f i o l e n ) ; 这一段代码就实 现从套接字u s e r s o c k f d( 用户主机) 到套接字i s o s o c k f d 端主机)的无阻塞传输。而下一段代码实现反方向的无阻塞传输: i f ( f d 一 i s s e t ( i s o s o c k f d , / * z e r o l e n g t h m e a n s t h e h o s t d is c o n n e c t e d * / w r i t e ( u s e r s o c k f d ,b u f ,i o l e n ) ; 这样就通过p r o x y 实 现了 用户主 机与远 端主机之间 i / 0 多路 通信。 ( 3 )代理的其他功能 代理既然能获得客户端发给服务器的数据和服务器发给客户端的数据, 代理就可以获得双边的数据流量, 从而可以对客户端实行流量计费。 代理还可以 第 4 6页 共 6 2页 北京邮电大学研究生学位论文无线应用服务中的数据加速器 获得客户端所访问的服务器地址, 那么代理也就可以对客户的访问 进行监控。 还 有其他许多功能可以通过代理来实现, 但不管加入什么功能, 都势必加大程序处 理数据的时间, 造成代理速度的下降, 尤其在访问量加大的情况下尤为明显。 为 了加快代理的访问速度一般代理都实现缓存的功能。 即代理将访问过的页面数据 ( 只针对h t t p 应用) 存在缓存中, 以后客户进程或其他客户进程再次访问此页面 时, 就将缓存中的数据取出。 无需向远端服务器获取, 节省访问时间。当缓存已 满, 就按一定的算法淘汰某一页面。 存入缓存中的数据要按一定的时间进行刷新 避免数据过期。流程如图 4 - 8 所示。 在此实现中, 淘汰算法的好坏对代理的速度影响很大,简单的算法会造成频 繁的页面更换, 使得所实现的缓存的功能不仅不能提高代理的速度。 反而会成为 累赘降低代理速度。过分复杂的算法也会因为过多的时间花在计算上而影响速 度。 本系统采用比 较常用的淘汰算法是最近未用淘汰算法, 即淘汰掉最近没有被 访问的页面数据,算法的具体实现如下所示: 图4 - 8 以 缓存空间有4 个单位为例, 请求访问的页面的序列为一随机序列,如: 4 , 5 , 1 , 6 , 4 , 2 , 4 . 第 4 7页 共 2灭 北京邮电大学研究生学位论文 无线应用服务中的数据加速器 14516424 , 1451642 32 1451石6 43 . 224511 ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) ( 8 ) ( 1 ) 为初始状态, 当请求访问4 号页面时, 4 号页面在缓存中, 它被访问后就插 入到最前面的位置,表示4 号页面最近被访问过。当下一个请求访问5 号页面时, 5 号页面不在缓存中, 系统将淘汰掉最近未用的页面, 然后将5 号页面插入到最前 面的位置。 后面的访问以此类推。 通过采用这种末位淘汰算法, 可以使最近访问 的页面保存在缓存中,有效的提高客户访问页面的速度。 4 . 4 .3 数据压缩模块的实现 在4 . 4 . 2 中我们已经实现了代理转发的功能, 在代理中我们可以得到双边的数 据流: 客户端发给服务器的数据和服务器发给客户端的数据。 那么对数据进行压 缩和解压缩的动作就可以在此处执行。 ( 1 )系统结构 可以说数据压缩模块是作用在代理的内部, 是对代理的扩充,实现了数据压 缩的代理的内部结构如图4 - 9 所示。 如图所示,在数据转发的位置增加压缩/ 解压缩模块,以客户端在有线网、 服务器在无线网为例, 代理接收到来自 客户端的数据后, 并不立即发送, 而是对 其进行基于流的数据压缩, 再将压缩后的数据转发给目 标服务器, 同理, 将来自 服务器的数据进行解压缩后,再传递给相应的客户机。 客户端 接收数 据池 接收数 据池 发送数 li 据 池 发送数 据池 服务器 图4 - 9 第 铭 )1 ;共 6 2页 北京邮电大学研究生学位论文 无线应用服务中的数据加速器 ( 2 )压缩算法的实现 在第二章已经对各种主流的压缩算法进行了讨论, 采用不同的压缩算法, 对 不同文件所获得的压缩效果是不一样的。 本课题采用的是z ip压缩算法。 主要原 因是z i p 算法对硬件的要求不高, 非常适合嵌入式系统的硬件特点, 而且在标准 c中提供了一个z l i b函数库, 这个运行库包括编程时实现z i p 压缩所需要的所有 函数, 而且比较小巧, 大小只有 6 5 3 k b , 在构造嵌入式操作系统的根文件系统的 时候我们必须把这个库包含进去,存在/ l i b目 录下即可。 开发时主要 用到的函 数 就是c o m p r e s s 函 数 和d e c o m p r e s s 函 数,函 数的原型 为: i n t z e x p o r t c o m p r e s s ( b y t e f * d e s t , u l o n g f * d e s t l e n , c o n s t b y t e # * s o u r c e , u l o n g s o u r c e l e n ) i n t z e x p o r t u n c o m p r e s s ( b y t e f * d e s t , u l o n g f * d e s t l e n, c o n s t b y t e f * s o u r c e , u l o n g s o u r c e l e n ) 主要的参数包括: b y t e f * b u f:原始数据缓冲区 b y t e f * b u 仁 c o m p : 压缩后的目 标数 据缓冲区 b y te f * b u f d e c o m p : 解压缩后的目 标 数据 缓冲区 u l o n e s o u r c e l e n ; 源数 据长 度 u l o n g d e s t l e n :目 标 数 据长 度 u l n t le v e l : 压 缩 率 可见,函数提供的z i p压缩算法的压缩比率是可调的, 大,则压缩比率越大,但伺时压缩速度会降低,反之,l e v e l 一般来讲 l e v e l 值越 越快, 但是压缩效果就不好了。 z l i b 库提供了l e v e l 值从0 到 值越小则压缩速度 1 3 的选择范围,为 了兼顾压缩率和压缩速度,我们采用了l e v e l = 6 的 缺省值。 此外, 压缩效果与缓冲区设置的 大小也是有关的, 缓冲区的空间设的 越大, 则压缩率越高, 从这个角度讲我们应该为 代理中的 每一个连接都分配一个很大空 间的数据缓冲区, 以 达到较高的压缩比, 但是不要忘记我们的系统是基于嵌入式 的, 内 存总量只有1 6 m b , 除去操作系统和应用程序占 用的空间, 剩下不到i o m b , 因 此如果将缓冲区设的 太大, 当连接达到一定数量后, 会使内 存空间 耗尽而导致 第 4 9页 共 2灭 北京邮电大学tj i 究生学泣论文无线应用服务中的数据加速器 系统崩溃。 考虑到这两个方面的因素, 在本系统中, 我们暂将缓冲区的大小设置 为 4 a s 6 b 这样, 我们已经成功地在代理服务器的内部实现了基于流的数据压缩/ 解压 缩。本课题对几种不同格式的文件进行了压缩效果的测试,测试效果为: 文件类型原文件长度压缩后长度压缩率压缩时间 .t x t文件 8 4 k4 6 k4 5 . 2 5 %短 . h t m l 文件 1 4 k5 k6 4 . 3 2 %短 j p g文件 1 2 2 k1 1 7 k4 . 2 1 %较短 g i f 文件 1 7 4 k1 6 5 k52 5 %较短 ( 3 )改进 由4 . 6 .2 中的 压 缩效果 表可以 看出 , z ip 算法 对t x t , h tm l 等纯文本 格式的 文 件有较高的压 缩比, 压缩时间 也 较短, 压缩效果比 较好, 但是对l p g - g i f 等格式 的图片文件则压缩比 很低, 压缩效果也不明显。 造成这种结果的原因是由 于z i p 算法固 有的 特点决定的,即z i p 算法对基于文本格式的文件压缩效果好, 而对图 片文件压缩效果差。 针对这个缺陷,很多成熟的产品在压缩时采用所谓 “ 智能压缩”技术,即 在得到数据流后首先判断其类型, 然后进行分拣, 针对不同类型的文件采用不同 的压缩算法,比如对图形、声音文件可采取相对压缩效果好一些的l z w算法对 其进行压缩, 从而得到一个较高的综合压缩比, 这样在实现时需要在压缩实现模 块的前端添加一定的数据类型判断机制, 比 较复杂, 是本系统今后可以改进的一 个方向。 4 .4 .4 优化t c p的实现 将i c mp 报文内嵌入t c p 实现e l n 通过第二章的讨论,我们己经知道, 在易出错的无线移动环境中t c p 性能不 高,主要是因为t c p 发送端不能够及时地知道包丢失的原团是网 络拥塞还是链路 出错。基于有线环境设计的 t c p 由于链路状态较好、位出 错率较低所以 不需要显 式通知机制。 而在无线移动环境中, 无线主机的高移动性导致链路状态的不稳定, 包丢失的主要原因是链路出 错。 设计显式丢失通知机制( e l n ) 来及时地通知t c p 发送端,就可以保持t c p 发送窗口不变,从而保证t c p 连接上的高吞吐量。 第 s o页 共 2页 北京邮电大学研究生学位论文无线应用服务中的数据加速拱 1 实现原理 图4 一1 0 是一个c c ( c e l l u l a r c o m m u n i c a t i o n s n e t w o r k s )系统有线环境和 无 线 环 境 通 过i w f ( i n t e r w o r k i n g f u n c t i o n ) 和 基 站 连 接的 示 意图 冶i w f 使用 r l p ( r a d i o l i n k p r o to c o l) 协 议 和 移 动 设 备 通 信 , 它 的 主 要 功 能 是 数 / 模 转 换 。 显 式丢失通知 e l n )的模型是在基站的协议层次上增加i c m p 控制,用以监视通过 基站的t c p报文。 在接收端我们将i c m p 控制报文内嵌到 t c p 中以实现e l n 。 为便于 分析,将忽略有线坏境部分而直接分析基站和无线环境之间的连接。如图 4 -1 1 所示。 基站 f r a m i n g p h y s i c a lp h y s i c a l / 图4 一1 0 图4 -1 1 t c p 发送端产生一个t c p 报文, 如果报文在基站和无线接收端之间被丢弃, 那么i c m p 报文就被传送到接收端。 接收端通过分析接收的i c m p 报文和丢失的报文 第 引 页 共 6 2页 北京邮电大学研究生学位论文无线应用服务中的数据加速器 信息产生一个a c x 响应信号,以表明包丢弃的原因是由于链路出错而不是网络拥 塞。我们通过工 c m p 报文内嵌到t c 时民 文作为应答报文传送给发送端,发送端分析 接收到的应答报文进行重发处理。 2 .将工 up 报文内嵌到t c p 应答报文 t c p 是一个广泛使用的协议,大部分的网络应用程序都建立在t c p 的基础之 上, 在改善t c p 在无线移动环境下的性能时应尽量不要改变t c p 结构。 我们将工 c m p 报文中的主机无法到达报文类型用于表示包的丢失是由于链路出错导致的。 i c t _ d e s t u r 报文类型格式如图 4 -1 2 所示。 0 8 1 6 3 1 类型3代码校验和 3 2 位可变长数据 图4 一1 2 在链路层由c r c 校验码分析得出t c p 报文出错后,产生类型为3( 主机不可达)的 i c m p 控制报文并向前传送给接收端。接收端在分析i c m p 报文和丢失的t c p 报文信 息后,产生t c p 应答报文,进行链路出错应答处理。a c k 的产生有两种方式: ( 1 )直接将i mp 报文作为数据信息放入t c p 报文中以生成应答报文,格式如图4 一1 3 所示。 源端口目的端口 发送序号 接收序号 数据保留 窗口 选项和填充 数据 ( i c m p 主机不可沟c t se d e s t 报文) 图4 一1 3 t c p 首部2 0 个字节加上工 up 主机不可达报文的8 个字节构成2 8 字节的应答报文, 由接收端发送给发送端。 ( 2 )使用t c p 首部中的保留字段,为e l n 定义一位。 d e f i n e e l n 0 。当接收 端分析出链路出错时就将e l n 位置1 ,这样就由仅由t c p 首部构成2 0 个字节的应答 报文。 第 5 2页 共 2页 北京邮电大学研究生学位论文 无线应用服务中的数据加速器 第一种方法生成的应答报文大 ( 2 8 字节) ,优点是地址信息可以由t c p 首部 提供也可以由工 c ;m i p 中的报文头提供。即使t c p 首部中的地址信息遭到破坏,应答 报文也能准确地发送到发送端口 缺点是应答报文大, 发送端分析机制复杂. 要对 接收的 t c p 报文中的数据部分进行分析。第二种方法生成的应答报文较小, 发送 端可以 直接对t c p 首部进行分析。 但是当 t c p 首部地址信息 遭到破坏后, 生成的 应 答报文不能正确地传送到发送端。 3 .对l i n u x 操作系统t c p 层的改造 l i n u x 的内核完整地实现了 t c p 月p 网络协议机制,各层之间大多通过一般的 函数调用的方式完成交互,采用统一的缓冲区结构s k _ b u f f 。底层从网络设备接 收到数据帧后,分配一块内存, 然后将数据整理成s k 一u f f 的结构。 在网络协议 处理地时候,数据均以s k 少 ) u f f 的形式在各层之间传递、处理。一个个单独的 s k b u f f 被组织成双向 链表的形式。s k b u f f 的强大功能 在于它提供了众多指针, 可以快速定位协议头位置,同时也保留了许多数据包信息 ( 如使用的网络设备 等) , 以 便协议层根据需要灵活应用。 s k _ b u f f 数据结构可由图 4 -1 4 表示, 具体 各参数的含义在l i n u x 操作系统源代码 i n c l u d e / l i n u x / s k b u f f . h 中有详细的定 义。 h - m d a t a t a i l e n d t r u e s i z e 图4 一1 4 l i n u x操作系统内核整个 t c p / i p协议栈的处理流程如图4 -1 5 所示。由图 可见, l in u x 在t c p 层主要有7 个关键函 数, 其中 负责接收的为t c p v4 r c v o 函 数和 t o p r c v m s g o函数,负责发送的主要函数为 t c p 一 v 4 s e n d m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论