(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf_第1页
(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf_第2页
(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf_第3页
(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf_第4页
(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(通信与信息系统专业论文)宽带无线ip网络中移动主机的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 宽带无线i p 技术是近年来人们研究的热点,其核心是如何让移动主机方便快 捷地接入i n t e m e t 。j 本文研究的主要内容是宽带无线i p 网络中移动主机的实现,核 心是无线网卡的驱动程序,目的是实现移动主机所需要的功能。本文在分析宽带 无线i p 技术的研究以及宽带无线i p 网络的特点、优势、配置结构的基础上,结合 当前的软硬件水平,提出以便携式计算机加宽带无线网卡的移动主机实现方案。 通过对l i n u x 网络设备的深入分析以及对无线网卡的m a c 控制器h f a 3 8 4 1 的仔 细研究,我们开发了无线网卡在l i n u x 下的驱动程序,并以此为基础,开发实现移 动主机的认证、登录、加密等功能,从而实现了宽带无线i p 网络中可以实用化的 移动主机。这必将推动宽带无线i p 技术的应用与发展。 关键词:宽带无线i p 网络移动主机i e e e 8 0 2 1 1 驱动寝序 a b s t r a c t b r o a d b a n dw i r e l e s si pt e c h n o l o g yi st h ef o c u so fr e s e a r c hi nr e c e n ty e a r s ,w h i c h a i m sa tm a k em o b i l eh o s ta c c e s si n t e m e te a s i l ya n dq u i c k l y t h i sp a p e ri ss t u d y i n gh o w t oi m p l e m e n tm o b i l eh o s ti nb r o a d b a n dw i r e l e s si pn e t w o r k sb a s e do nt h ea n a l y s i so f b r o a d b a n dw i r e l e s si pn e t w o r k sa n di t sa d v a n t a g e s & a r c h i t e c t u r e ai m p l e m e n t a t i o n o fm o b i l eh o s ti sp r e s e n t e d ,w h i c hi st h em o b i l eh o s tc o n s i s t so f p o r t a b l ec o m p u t e ra n d b r o a d b a n dw i r e l e s sn e t w o r ka d a p t e r t h ed r i v e ro fw i r e l e s sn i cw a sd e v e l o p e da f t e r d e e ps t u d yo f n e t w o r k d e v i c ei nl i n u xa n dm a cc o n t r o l l e r - - - h f a 3 8 4 1i nw i r e l e s sn i c t h e ns o f t w a r ef o ra u t h e n t i c a t e ,a s s o c i a t e ,e n c r y p t i o na n do t h e r sa r es u p p l e m e n t e d a sa r e s u l t ,am o b i l eh o s tt h a tc a nb e u s e di nb r o a d b a n dw i r e l e s si pn e t w o r k si s i m p l e m e n t e d k e y w o r d s :b r o a d b a n dw i r e l e s si pn e t w o r k sm o b i l eh o s t i e e e 8 0 2 1 1 d r i v e r 创新性声明 j f i4 0 5 2 3 3 本人芦f 明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我, 6 j fg m ,除了文中特,n d n 以标注和致测巾所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的仔何贡献均已在论文中做了明确的说明并表示了谢意。 本人签名 王尘盔 日期翌! :! :! ! 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:学校 有权保留送交论文的复印件,允许查阅和借阅论文i 学校可以公布论文的全部或 部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文存解 密后遵守此规定) 本人签名:至皇纽 导师签名 日期厶闷,f 口 日期文础一l j 也 第1 章绪论 1 第1 章绪论 个人通信的目标,就是使人类在任何时候都能和其他任何人进行任意的通信 联系,自由地享用网络提供的多媒体业务。曾几何时,这是无法企及的一个梦想, 但是随着人类社会前进脚步的加快,这个目标的实现离我们越来越近。 宽带无线i p 技术将目前最热门的两大技术技术和无线通信技术融合在 一起,并顺应宽带化趋势,给移动主机或终端提供方便、快捷、高速的i n t e m e t 接 入服务,以适应人们对高速网络和多媒体通信业务的不断增加的需求,因而近年 来获得了广泛的研究。 本论文来源于国家8 6 3 计划通信技术主题重大课题宽带无线口技术的研 究,着力于宽带无线碑网络中移动主机的研究与实现。 1 1 宽带无线i p 技术和宽带无线i p 网络 移动通信技术的发展为网络的无限互联铺平了道路。移动计算( m o b i l e c o m p u t i n g ) 将使网络超出公司网、校园网等局域网的概念,拓展到家庭,拓展到 人类生息的各个角落,整个世界在接入意义上将是一张无缝、全覆盖的大网,这 也是信息产业界最终的梦想。 移动计算的理想情况是:移动用户带着便携计算机,机中有一个或多个内置 的无线网络接口( w i r e l e s s n e t w o r k i n t e r f a c e ) ,任意在室内外移动,并且同时实现 包括语音、图像、数据等各种业务在内的多媒体通信业务。要实现移动计算的目 标,必须考虑移动环境中通信与计算资源的短缺及移动对通信的影响,实现方便 持续地接入,保障逻辑环境的稳定和对移动的透明性,并且能够实现适合于无线 环境的新服务类型。 互连网i n t e r n e t 的蓬勃发展又为移动计算提供了新的发展契机,同时也提出了 更多的要求。基于i n t e m e t 的宽带无线接入网也成为发展的重点。下面给出了该网 络的示意图: ! 童堂垂堡竺塑塑! 堑垫兰塑塑塑塑兰茎型 一一 图1 1 宽带无线i p 接入网 在图1 1 所示的网络中,无线接入终端可在网中任意移动,无线接入点实现包 括越区切换在内的小区管理、对无线接入终端的管理及桥接功能,无线接入服务 器实现无线接入终端的网间漫游管理。当一个无线接入网由多个服务区组成时, 设置一个网关,再与i n t e m e t 互连。 宽带无线伊技术将目前最热门的两大技术技术和无线通信技术融合在 一起,并顺应宽带化趋势,以适应人们对高速网络和多媒体通信业务的不断增加 的需求,因而近年来获得了广泛的研究。其目的在于使移动主机或终端方便、快 捷、高速的接入i n t e m e t ,与i n t e m e t 进行信息交换。目前,宽带无线口技术研究 的主要内容在以下几个方面:如何实现移动主机的无线接入及接入控制,如何有 效的管理移动主机,如何实现移动主机的越区切换和在不同子网之间的漫游,如 何保证安全的数据传输。而宽带无线i p 网络有多种实现方式,我们的网络构建是 基于无线局域网的实现方式。 兰! 童堡堡_ 三 1 2 无线局域网 无线局域网采用无线的方式实现主机2 _ f n q 的连接,与有线的局域网如以太网、 令牌环网等相比,要复杂得多,技术要求也要高许多,因而对其的研究也滞后于 有线局域网。近年来,由于技术的飞速发展,无线局域网在技术上可行,而人们 需求的增长,更是大大的促进了无线局域网的研究与发展。 近年来随着无线局域网标准i e e e 8 0 2 11 的制定,各厂商无线局域网产品互相 兼容,同时随着技术的飞速发展,无线局域嘲产品的性能提高,无线局域网已发 展成为有线局域网的延伸,为有线网无法扩展的区域提供最佳解决的方案,并开 始获得广泛应用。未来随着开放办公的流行和便携式电脑普及,人们对移动性访 问和存储信息的需求愈来愈多,因而无线局域网产品将会在办公、生产和家庭等 领域获得更广泛应用。 1 2 1 无线局域网标准化活动 1 9 9 0 年i e e e 8 0 2 标准化委员会成立8 0 2 1 1 无线局域网( w l a n ) 标准工作组,研究 i m b p s 和2 m b p s 数据速率、二r = 作在2 4 g h z 开放频段的无线设备和网络发展的全球标 准。1 9 9 7 年6 月,该工作组推出了8 0 2 11 的无线局域网( w l a n ) 标准, 二作频率 在2 4 g h z ,其无线接入的速率可达| m b p s 2 m b p s ,其室内环境下的通信距离为1 0 0 米,当采用定向高增益天线可达1 0 2 0 k m 。在此基础上为了达到与有线网络相匹配 的传输速率,i e e e 对8 0 2 11 的标准进行了高速扩展。高速扩展有两个版本: 1 e e e 8 0 2 1 1 a ,扩充了标准的物理层,规定该层使用5 g h z 的频带。该标 准采用正交频分调制数据,传输速率范围6 m b p s5 4 m b p s 。这样的 速率既能满足室内的应用,也能满足室外的应用。 i e e e 8 0 2 1 l b ,规定采用2 4 g h z 频带,调制方法采用补偿码键控c k k ) 。 c k k 来源于直接序列扩频技术,多速率机制的介质接入控制( m a c ) 确保当工作站之间距离过长或干扰太大、信噪比低于某个门限时,传 输速率能够从1 1 m b p s 自动降n 5 5 m b p s ,或者根据直接序列扩频技术 调整至l j 2 m b p s 和1 m b p s 。 我们的系统中,采用的标准是i e e e 8 0 2 11 b ,与1 9 9 7 年的标准相比,在物理层, 数据链路层以及漫游功能,点协调功能,安全机制方面都有很大的改进。而在性 能上,其速率最高可达到1 1 m b p s ,与有线网相当,可以达到实用化。 4宽带无线i p 网络中移动主机的研究与实现 1 2 2 无线局域网的配置结构 无线局域网在应用中的拓扑结构主要有两种类型: 1单区w l a n ( a d - h o c ) 这是最简单的无线局域网的实现形式,各个站点的地位是相同的,不需要安 装任何骨干设备。这是一种无中心结构,也可被称为a d h o e 网。该网络操作简单 易行,但是覆盖范围有限。它通过无线适配器来对一系列计算机进行连接,不需 要集中管理和预配置,在需要有大量数据交互使用( 比如文件共享) 而且相距不 远的环境中( 如会议厅) 非常有用。 图1 2a d ,h o c 方式示意图 目前,单区无线局域网的发展的最新提法是m 3 网络1 1 】( m o b i l e 、m u l t i m e d i a 和m u l t i h o p ) ,能够快速配置和实现多媒体业务,在战区系统,灾难恢复现场等应 用上较为活跃。通过在分布式的结构中采用移动中继设备,有效地实现了多跳, 扩大了单区的范围。分布式环境适合报文交换,通过在多跳环境中采用一些面向 连接业务的协议,如m a c a p r ( m u l t i p l e a c c e s sc o l l i s i o na v o i d a n c ew i t hp i g g y b a c k r e s e r v a t i o n s ) 等,也可以实现对实时性业务的支持。 2多区w l a n ( in f r as t r l lc t u r ew l a n 在这种类型中,无线接入点a p 是多区无线局域网结构的核心。多个a p 作为 分布系统主干的一部分,将无线局域网和有线网络连接起来,允许移动用户有效 利用网络资源。无线移动设备通过a p 进行通信或接入主干网,a p 的地位类似于数 字蜂窝网中的基站;一个a p 支持一个b s s ,多个b s s 的集合叫作扩展业务组( e s s , e x t e n d e ds e r v i c es e t ) 。a p 不仅提供同有线网络之间的通信,而且也能调节无线局 第1 章绪论 5 域网的业务状况。多区无线局域网结构可以应用在像校园、大楼内等有覆盖重叠 的环境中。 图13i n f r a s t r u c t u r e 方式示意图 这种配置形成的站点集合称为基本业务组( b s s ,b a s i cs e r v i c es e t ) 。能将a p 作为一个中继器,对单区无线局域网的范围进行扩展。 i e e e 8 0 2 1 1 规范允许两种结构共存,并且覆盖区可以重叠。但耍注意的是:在 多区无线局域网中,无线移动设备若要与有线网络之间进行持续的通信,必须通过 a p 的转接。当终端从一个小区移动到另外的小区时,a p 要对低功率信号进行处 理,并且进行越区切换。在任意给定的时刻,装有无线网卡的计算机要与一个a p 保持连接。 1 2 3 无线局域网的优点 无线局域网采用无线传输媒介在局域对计算机进行组网,它能在难以布线的 区域进行通信,是传统有线局域网的重要补充。 使用无线局域网,用户在访问共享信息时,不需要寻找接入的插头,网络管理 者也不需进行线路的安装和移动。作为一种灵活的数据通信系统,无线局域网是 有线网络的延伸。和有线局域网相比,它具有以下优点: ( 1 ) 对移动计算的支持 在网络内部任何地方都能提供实时的信息服务,而有线网络缺乏这种对移动 性的支持。无线局域网中的微机通过无线方式进行通信,摆脱了电缆的束缚,增 6宽带无线i p 网络中移动主机的研究与实现 强了灵活性和可移动性。同时,无线局域网不仅支持移动主机之间的通信,而且 允许无线设备接入有线网络。 ( 2 ) 构架的灵活性和快捷性 构架无线局域网是迅速和容易的,而有线网络则需要穿过天花板、地板以及 墙壁等进行线路的铺设:并且无线拓扑允许网络覆盖线缆不能经过的区域。 ( 3 ) 维护所需费用的降低 目前,因为设备的原因,无线局域网最初的硬件投资可能比有线网络高,但 是从长远来看,同有线网络相比,无线局域网更有经济优势。在网络拓扑需要动 态变化的环境中,长期维护的费用在总费用中所占比重较大,无线局域网能减少 维护管理的开销,并且可以省去建网初期电缆的投资。因此对于需要经常变更拓 扑的动态环境,无线局域网的长远投资收益是很明显的。 ( 4 ) 可扩展性 无线局域网能配置成不同的拓扑结构来满足具体的应用和安装的需要。它适 合于小数量用户的独立网络,也适合于有数千用户的骨干网;系统结构可以是小 规模的单区( a dh o c ) 网络,也可以是完整的基础网络。在无线局域网中添加或 减少移动主机都很容易,增加无线接入点并配以适当的网络规划就可以增大用户 数量和覆盖范围,并且允许主机在较大范围内进行漫游。 1 3 本文研究的主要内容 本文第一章将首先介绍宽带无线p 技术的研究与发展以及无线局域网的优势、 应用范围和配置结构。第二章给出了宽带无线伊网络中移动主机的总体设计实现 方案。由于确定的操作系统是l i n u x 系统,第三章着重对l i n u x 下网络设备和p c 卡系统进行了分析,第四章是本文的重点,研究了宽带无线口网络中移动主机软 件的实现方案,在分析无线网卡的m a c 控制器h f a 3 8 4 1 的逻辑接口后,开发无 线网卡的驱动程序,并在此基础上,实现移动主机的登录,认证,加密数据传输 等功能。最后,在第六章给出了软件测试及系统开发结果分析。 笙! 童窒堂垄垡坚旦塑! 整垫圭坚塑塞望查塞j 第2 章宽带无线i p 网络中移动主机的实现方案 宽带无线i p 网络中,由于移动主机面向最终用户,数量最多,因而其性能至 关重要。在这一章中,将要讨论移动主机的实现方案n 2 1 移动主机的组成 在我们的系统中,移动主机由便携式计算机和宽带无线刚卡,以及相应的配套 软件组成,其中无线网卡是基于p r i s m 2 套片开发的1 l m b p s 宽带无线网卡。便携 式计算机拥有优异的硬件平台,成熟的操作系统,以及丰富的应用软件,而我们 设计的无线网卡将具有优异的通信能力。这二者结合构成的移动主机,将能真正 做到移动计算,移动访问i n t e r n e t 。另一方面,采用便携式计算机,由于无须开发 专用的计算机平台,将大大的减少开发的难度和工作量。同时,由于便携式计算 机的逐渐普及,这种设计方案也将有力的促进宽带无线口网络走进千家万户,达 到真正的实用化。 旦 仁 便携式计算机 + 厦雪 宽带无线网卡 图2 l 移动主机的组成 2 2 无线网卡的组成 开发实现移动主机的核心是开发无线网卡以及配套的软件。在这一节中,将从 软硬件几个方面探讨无线网卡的组成。 2 2 1无线网卡的硬件组成 在无线局域网中,移动主机之间的通信是一个核心问题。主机之间的无线互连 8宽带无线i p 网络中移动主机的研究与实现 一般是采用无线网络适配器,即无线网卡的形式来实现的a 无线网卡是实现无线局域网的硬件基础。在逻辑结构上,一般由n i c 、b b p 、 口和r f 四部分组成,如下图所示。 ;射频中频基带 :篙; 图2 2 无线网卡组成原理图 其中: i n i c m e t w o r ki n t e r f a c ec o n t r o l l e r ) 为网络接口控制单元,完成移动主机与网 络物理层连接的接口控制: b b p ( b a s eb a n dp r o c e s s o r ) 是基带处理单元; o i f ( i n t e r m e d i a t ef r e q u e n c y ) 是中频调制解调器; r f ( r a d i o f r e q u e n c y ) 是射频单元 n 1 c 可以实现i e e e 8 0 2 。1l 的协议规范的m a c 层功能,主要负责接入控制。 在移动主机有数据要发送时,n i c 负责接收主机发送的数据,按照一定的格式封 装成帧,然后根据多址接入协议( 在w l a n 中为i e e e 8 0 2 1 1 协议) 把数据帧发送 到信道中去。当接收数据时,n i c 根据接收帧中的目的地址,判别是否是发往本 机的数据,如果是则接收该帧信息,并进行c r c 校验,拆去帧头,把数据提交给 主机。为了实现上述功能,n i c 还需要完成发送和接收缓存的管理,通过微机总 线进行d m a 操作和i o 操作,与微机交换数据。 后面三个单元组成一个通信机( t r a n s c e i v e r ) ,用来实现物理层功能,并与n i c 进行必要的信息交换。由于宽带无线口网络中的通信业务具有宽带、突发的特点, 因此对通信机提出了更高的要求。 基带处理单元( b b p ) 在发送数据时对数据进行调制,处理器把基带数据 调制到中频载波上去,再由r f 单元进行上变频,把中频信号变换到射频上发射。 在接收数据时,先由r f 单元把射频信号变换到中频上,然后由处理器进行中 频处理,得到基带接收信号。b b p 对基带信号进行解调处理,恢复位定时信息, 把最后获得的数据交给n i c 处理。 第2 章宽带无线i p 网络中移动主机的实现方案 9 2 2 2m a c 控制芯片h f a 3 8 4 1 作为媒体访问控制器,h f a 3 8 4 1 能够最优化地实f 见i e e e 8 0 21 1 的m a c 罢功能, 以低功耗支持ll m b p s l 拘数据速率,并有射频控制端1 2 1 ,是无线网卡的核心a 在其 上可以开发驱动程序和控制软件,如w i n d o w s 环境下或l i n u x 环境下客户端的驱动程 序和管理软件。 作为网络接口芯片,h f a 3 8 4 1 要同主机系统进行一系列操作,包括主机对通信 过程的控制和一些必要的握手信号。 h f a 3 8 4 1 直接同基带处理芯片h f a 3 8 2 4 或h f a 3 8 6 x 系列进行交互操作( 在本方 案中是h f a 3 8 6 1 ) ,提供完全的端到端的解决方案。对协议和物理层的支持在固件 f i r m w a r e 中实现,允许自定义的协议和不同的物理层的实现形式。 h f a 3 8 4 1 在设计的时候力图用最小的功耗来实现最佳的性能。外部管脚位置的 设计也立足于版图的最优化。 下面是其组成框图! 图2 3h f a 3 8 4 1 组成框图 ! !童萱垄垡! ! 堕丝! 堑垫圭塑竺竺茎兰壅塑 2 , 2 3 无线网卡的软件 无线网卡的软件包括基于h f a 3 8 4 1 的固件( f i r m w a r e ) 和主机操作系统下的驱 动程序。由于在第四章中将详细介绍无线网卡的驱动程序,在这里只分析基于 h f a 3 8 4 1 的固件 固件是网卡上最基本的控制系统,主要基于m a c 芯片来实现对整个网卡的控 制和管理。在固件中完成了最底层、最复杂的传输发送模块功能,并向下提供与 物理层的接口,向上提供一个程序开发接口,为程序开发人员开发附加的移动主 机应用功能提供支持。下面是其逻辑组成图: 固 件 ia p m t 驱动程序 $ f i r m w a r e 上接口 m a c 层和物 m a c 理层管理 f i r m w a r e 下接口 【物理层( p h y ) 图2 4 网卡系统逻辑框图 固件完全实现了 | e e e s 0 2 1 1 中m a c 层的协议,支持基本的d c f 协调方式,也 支持可选的p c f 方式。低层的功能,如r t s c t s 帧的生成和确认、分段和重组、信 标帧的自动检测等,都可以自主完成而无需主机的干预。 下面列出了由移动主机( m h ) 端的固件实现的功能: 带有随机退避算法的c s m a c a ( c a r r i e rs e n s em u l t i p l ea c c e s sw i t hc o l l i s i o n a v o i d a n c e ) ; w e p ( w i r e d e q u i v a l e n tp r i v a c y ) 加密机制; 多速率的短长序文生成: r t s c t s ( r e a d y t os e n d c l e a rt os e n d ) 握手过程和n a v ( n e t w o r k a l l o c a t i o nv e c t o r ) 管理: m a c 层的确认信息; 未确认报文的重传: 多重帧复制检测和丢弃: 第2 章宽带无线i p 网络中移动主机的实现方案 1 l 对帧进行广播和多播; 帧的分段重组: 功率管理: 时戳同步: 分布协调功能( d c f ,d i s 仃i b u t e dc o o r d i n a t i o nf u n c t i o n ) : 点协调功能( p c f ,p o i n t c o o r d i n a t i o n f u n c t i o n ) ( 可选) ; 单区网中信标帧的生成; 单区网中探测响应帧的产生。 在a p 部分,除了上述的功能以外,f i r m w a r e 还要实现与p c f 协调模式、小 区管理相应的一些功能,具体如下: d t l m ( d e l i v e r y t r a f f i ci n d i c a t i o nm e s s a g e ) 定时和产生 c f p 定时 在c f p 期间从广播队列中进行帧的广播 c f p 期间c f _ p o l l 帧的产生和发送 1 2宽带无线i p 网络中移动主机的研究与实现 第3 章l i n u x 网络设备分析 为了开发l i n u x 操作系统下的无线网卡的驱动程序,本章要对l i n u x 网络设备 进行分析。首先概括网络设备总体特征和工作原理,接着分析重要的数据结构 d e v i c e ,重点剖析网络设备的模块初始化过程,简单地分析了设备的打开和关闭的 操作以及有关数据包的传输和接收。在最后,分析了l i n u x 下p c m c i a - - c s 系统, 为无线网卡在l i n u x 下的驱动程序的设计开发提供基础。 3 1 网络设备概述 在l i n u x 中,为了简化对设备的管理,所有外围的硬件设备被归结为三类:字 符设备( 如键盘、鼠标等) 、块设备( 如硬盘、光驱、软驱等) 和网络设备( 也称 为网络接口,n e t w o r k i n f e f f a c e ) ,如以太网卡。 为了屏蔽网络环境中物理网络设备的多样性,l i n u x 对所有的物理设备进行抽 象并定义了一个统一的概念,称之为接口( i n t e r f a c e ) 。所有对网络硬件的访问都 是通过接口进行的,接口提供了一个对所有类型的硬件一致化的操作集合来处理 基本数据的发送和接收。一个网络接口被看作是一个发送和接收数据包( p a c k e t s ) 的实体。对于每个网络接口,都用一个d e v i c e 的数据结构表示。通常,网络设备 是一个物理设备如以太网卡,但软件也可以作为网络设备,如回送设备( 1 0 0 p b a c k ) 。 在内核启动时,通过网络设备驱动程序,将登记存在的网络设备。设备用标准的 支持网络的机制来转递收到的数据到相应的网络层。所有被发送和接收的包都用 数据结构s kb u f f 表示,这是一个具有很好的灵活性的数据结构,可以很容易增加 或删除网络协议数据包的首部。 网络设备作为其中的三类设备之一,它有其非常特殊的地方。它与字符设备及 块设备都有很大的不同: 网络接口不存在于l i n u x 的文件系统中,而是在核心中用一个d e v i c e 数据结构 表示的。每一个字符设备或块设备则在文件系统中都存在一个相应的特殊设备 文件来表示该设备,如d e v h d a l 、d e v s d a l 、d e v t t y i 等。网络设备在做数据 包发送和接收时,直接通过接口访问,不需要进行文件的操作;而对字符设备 和块设备的访问都需通过文件操作界面。 毒 网络接1 7 1 是在系统初始化时实时生成的,对于核心支持的但不存在的物理网络 设备,将刁i 可能有与之相对应的d e v i c e 结构。而对于字符设备和块设备,即使 笙! 童兰! 竺堕塑堡鱼坌塑 ! ! 该物理设备不存在,在d e v 下也必定有相应的特殊文件与之相对应。且在系统 初始化时,核心将会对所有内核支持的字符设备和块设备进行登记,初始化该 设备的文件操作界面( s t r u c tf i l e _ o p e r a t i o n s ) ,而不管该设备在物理上是否存在a 以上两点是网络设备与其他设备之间存在的最主要的不同。然而,它们之间又 有一些共同之处,如在系统中一个网络设备的角色和一个安装的块设备相似a 一 个块设备在b l k _ d e v 数组及核心其他的数据结构中登记自己,然后根据请求,通过 自己的r e q u e s t _ f u n c t i o n 函数“发送”和“接收”数据块。相似地,为了能与外面 世界进行数据交流,一个网络接口也必须在一个特殊的数据结构中登记自己。 在系统内核中,存在字符设备管理表c h a r d e v s 和块设备管理表b l k d e v s ,这两 张保存着指向f i l eo p e r a t i o n s 结构的指针的设备管理表,分别用来描述各种字符驱 动程序和块设备驱动程序。类似地,在内核中也存在着一张网络接口管理表 d e vb a s e ,但与前两张表不同,d e vb a s e 是指向d e v i c e 结构的指针,冈为网络设备 是通过d e v i c e 数据结构来表示的。d e vb , a s e 实际上是一条d e v i c e 结构链表的表头, 在系统初始化完成以后,系统检测到的删络设备将自动地保存在这张链表中,其 中每一个链表单元表示一个存在的物理网络设备。当要发送数据时,网络子系统 将根据系统路由表选择相应的网络接口进行数据传输,而当接收到数据包时,通 过驱动程序登记的中断服务程序进行数据的接收处理( 软件网络接口除外) 。以下 是网络设备工作原理图: d e v _ q u e u e _ x m i t0 上层下传数据 n e t i l 已r x ( ) 向上层传送数据 d e v i c e 结构的变量和方法 f 设备接v 1 1 h a r ds t a r t _ x m i t0 向硬件发送数据 m y d e v _ i n t e r r u p t0 ( 中断服务程序) 从硬件接收数据 网络物理设备和媒介 图31l i n u x 网络设备工作原理图 每一个具体的网络接口都应该有一个名字,以在系统中能唯一标识一个网络接 口。通常一个名字仅表明该接口的类型。l i n u x 对网络设备命名有以下约定:f 其 ! ! 童堂歪堡! 旦竺! 堑型圭塑堕竺塞兰壅堡一 中n 为一个非负整数) e t h n以太网接口,包括l o m b p s 和1 0 0 m b p s : t r n令牌环接口; s i ns l i p 网络接口; p p p n p p p 网络接口,包括同步和异步; p l i p n p l i p 网络接口,其中n 与打印端口号相同; t u r d n 州p 压缩频道网络接口; n r nn e t r o m 虚拟设备接口; i s d r t ni s d n 网络接口: d t m a r n y n 空设备; l o回送网络接口。 3 2 重要的数据结构 结构d e v i c e 存储一个网络接口的重要信息,是网络驱动程序的核心。在逻辑上, 它可以分割为两个部分:可见部分和隐藏部分。可见部分是由外部赋值:隐藏部 分的域段仅面向系统内部,它们可以随时被改变。下面对d e v i c e 结构进行详细的 分析。 s t r u c td e v i c e 3 2 1 设备属性 由于系统中d e v i c e 结构的成员变量很多,分别表示网络设备的各种属性。下面 选取部分属性进行分析: c h a r + n a m e ; 设备的名字。如果第一字符为n u l l ( 即o ) ,r e g i s t e rn e t d e v ( d r i v e r s n e t n e ti n i t c ) 将会赋给它一个n 最小的可用网络设备名。 u n s i g n e dc h a ri r q ; 产d e v i c ei r qn u m b e ri i o 基地址和中断号。它们都是在设备检测期间被赋值的,但也可以在系 统启动时指定传入( 如传给l i l o ) 。i f c o n f i g 命令可显示及修改他们的当前值。 u n s i g n e dl o n gt b u s y ; 产t r a n s m i t t e rb u s ym u s tb e l o n gf o rb i t o p s4 标识“发送忙”。在驱动程序不能接受一个新的需传输的包时,该域段应 第3 章l i n u x 网络设备分析 1 5 该为非零。 s t r u c td e v i c e+ n e x t ; 指向下一个网络设备,用于维护链表。 u n s i g n e ds h o r tf l a g s ; 该域描述了网络设备的能力和特性。它包括以下f l a g s : i f f _ u p ( 接口正 在运行) ,i f f _ b r o a d c a s t ( 广播地址有效) ,i f f _ d e b u g ( 调试模式打开) , i f f _ l o o p b a c k ( 回送设备标识) ,i f f p o i n t t o p o i n t ( 点对点链接) , i f f _ n o a r p ( 不支持a r p 协议) ,1 f f _ p r o m i s c ( 全局接受模式) , i f f _ m u l t i c a s t ( 具有多点传输的能力) ,i f fa l l m u l t i ( 接收所有多点传 送的口包) ,i f f _ n o t r a i l e r s ( 无网络t r a i l e r ) 。 u n s i g n e ds h o r tm t u ; 不包括数据链路层帧首帧尾的最大传输单位( m a x i m u mt r a n s f e ru n i t ) 。网 络层在包传输时要用到。对以太网而言,该域段为1 5 0 0 ,不包括m a c 帧的帧 首和帧尾( m a c 帧格式稍后所示) 。 u n s i g n e ds h o r tt y p e ; + i n t e r f a c eh a r d w a r e t y p e “ 接口的硬件类型,描述了与该网络接口绑在一起的媒介类型。l i n u x 网络 设备支持许多不同种类的媒介,如以太网,x 2 5 ,令牌环,s l i p ,p p p ,a p p l e l o c a l t a l k 等。a r p 在判定接口支持哪种类型的物理地址时要用到该域段。 u n s i g n e ds h o r th a r d _ h e a d e r l e n ;+ h a r d w a r eh d rl e n g t h + 7 在被传送的包中口头之前的字节数。对于以太网接口,该域段为1 4 ( e t hh l e n ,i n c l u d e u i n u x x i f _ e t h e r m ) ,这个值可由m a c 帧的格式得出: m a c 帧格式: 目的地址( 6 字节) + 源地址( 6 字节) + 数据长度( 2 字节) 十数据( 4 6 1 5 0 0 ) + f c s v o i d 4 p r i v ; h p o i n t e r t op r i v a t ed a t a 4 | 该指针指向私有数据,通常该数据结构中包括s t r u c te n e u s t a t i s t i c s 。类似于 s t r u c tf i l e 的p r i v a t e _ d a t a 指针,但p r i v 指针是在设备初始化时被分配内存空间 的( 而不是在设备打开时) ,因为该指针指向的内容包括设备接口的统计数据, 而这些数据即使在接口卸下( d o w n ) 时也应可以得到的,如用户通过i f c o n f i g 查看。 t m s i g n e dc h a rd e v _ a d d r m a x _ a d d r _ l e n 】;+ h wa d d r e s s+ , 设备的物理地址。当包传送给驱动程序传输时,要用物理地址来产生正确 的帧首。 u n s i g n e dc h a ra d d r _ l e n ;+ h a r d w a r ea d d r e s sl e n g t h + 7 物理地址的长度。以太网网卡的物理地址为6 字节( e t ha l e n ) 。 ! ! 皇堂垂垡堡旦丝! 鳖垫圭垫塑翌壅量壅墅 一 u n s i g n e dl o n gp aa d d r ; + p r o t o c o la d d r e s s u n s i g n e dl o n gp ab r d a d d r ;+ p r o t o c o l b r o a d c a s ta d d r + , u n s i g n e dl o n gp am a s k ; 7 + p r o t o c o ln e t m a s k + 该三个域段分别描述接口的协议地址、协议广播地址和协议的网络掩码一 若d e v f a m i l y 为a f _ i n e t ,则它们即为i p 地址。这些域段可用i f c o n f i g 赋值a u n s i g n e ds h o r tp a _ a l e n ;7 + p r o t o c o la d d r e s sl e n g t h + 协议地址的长度。a f _ _ r n e t 的为4 。 3 2 2 服务处理程序 以下是些对网络接口的操作,类似与字符设备和块设备。网络接口操作可以 分为两部分,一部分为基本操作,即每个网络接口都必须有的操作;另一部分是 可选操作。 基本操作: i m p i n i t ) ( s t r u c td e v i c e + d e v ) ;产c a l l e do n l y o n c e + 初始化函数的指针,仅被调用一次。当登记一个设备时,核心一般会让驱 动程序初始化该设备。初始化函数功能包括以下内容:检测设备是否存在;自 动检测该设备的i o 端口和中断号:填写该设备d e v i c e 结构的大部分域段:用 k m a l l o c 分配所需的内存空问等。若初始化失败,该设备的d e v i c e 结构就不会 被链接到全局的网络设备表上。在系统启动时,每个驱动程序都试图登记自己, 当只有那些实际存在的设备才会登记成功。 h a t ( + o p e n ) ( s t r u c td e v i c e + d e v ) ; 打开网络接口。每当接口被i f c o n f i g 激活时,网络接口都要被打开。o p e n 操作做以下工作:登记一些需要的系统资源,如m q 、d m a 、i o 端口等;打 开硬件:将m o d u l e 使用计数器加一。 i n t ( + s t o p ) ( s t r u c td e v i c e + d e v ) ; 停止网络接口,操作内容与o p e n 相逆。 i n t ( + h a r ds t a r tx m i t ) ( s h u c ts k b u f f4 s k b ,s t r u c td e v i c e4 d e v ) ; 硬件开始传输。这个操作请求对一个包的传输,这个包原保存在一个s o c k e t 缓冲区结构中( s k _ b u f f ) 。 m p h a r d _ h e a d e r ) ( s t r u c ts k _ b u f f + s k b ,s t r u c td e v i c e + d e v ,u n s i g n e ds h o r t t y p e ,v o i d + d a d d r ,v o i d + s a d & , u n s i g n e dl e n ) ; 这个函数可根据先前得到的源物理地址和目的物理地址建立硬件头 ( h a r d w a r eh e a d e r ) 。以太网接口的缺省函数是e t h _ h e a d e r 。 第3 章l i n u x 网络设备分析 1 7 i n t ( * r e b u i l d _ h e a d e r ) ( v o i d + e t h ,s t r u c td e v i c e + d e v ,u n s i g n e dl o n gr a d d r ,s t r u c t s k _ b u f f + s k b ) ; 在一个包被发送之前重建硬件头。对于以太网设备,若有未知的信息,缺 省函数将使用a r p 填写。 s t r u c te n e t _ s t a t i s t i c s + + g e l s t a t s ) ( s t m c td e v i c e + d e v ) ; 当一个应用程序需要知道网络接e l 的一些统计数据时,可调用该函数,如 i f c o n f i g 、n e t s t a t 等。 可选操作: v o i d ,+ s e t _ m u l t i c a s t _ l i s t ) ( s t r u c td e v i c e + d e v ) ; 设置多点传输的地址链表( + m c l i s t ) 。 i n t ( + s e t _ m a c _ a d d r e s s ) ( s t r u c td e v i c e + d e v ,v o i d + a d d r ) ; 改变硬件的物理地址。如果网络接口支持改变它的硬件物理地址,就可用 这个操作。许多硬件不支持该功能。 i n t ( + d oi o c t l ) ( s t r u c td e v i c e + d e v ,s t m c ti f r e q + i f r ,i n tc m d ) ; 执行依赖接口的i o c t l 命令。 ; 3 3 网络设备的初始化 网络设备的初始化主要工作是检测设备的存在、初始化设备的d e v i c e 结构及在 系统中登记该设备。类似于字符设备和块设备,系统内核中也存在着一张网络接 口管理表d e vb a s e

温馨提示

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

评论

0/150

提交评论