




已阅读5页,还剩67页未读, 继续免费阅读
(计算机应用技术专业论文)基于spi的防火墙的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 随着因特网和个人电脑应用的不断普及,信息安全问题受到人们越来越多 的关注日益增多的各类黑客攻击,木马和计算机病毒严重地威胁着全球的计 算机信息系统。其中,个人电脑又是最容易受到攻击的对象。个人电脑的不安 全性会给用户带来无法估量的经济损失从一定程度上来讲,个人电脑面临的 安全威胁已经严重地阻碍着电子商务的进一步的发展,其安全防护工作急需加 强。w i n d o w s 操作系统是目前个人计算机上最流行的操作系统,由于该操作系 统本身的不安全性和不断出现的各种漏洞,研制该操作系统下的电脑防护软件 显得尤其重要。本论文主要研究的是适用于g r m d o w s 下的网络防护技术之一, 即防火墙技术。 对于任何一种个人防火墙,网络封包的截获是其需要解决的核心技术之一。 w i n s o c k 2s p i 技术可以在应用层拦截到使用w i n s o c k 2a p i 进行网络通信 的数据包,并且可以获得较多的数据包所属进程的相关信息。但是单纯使用s p i 并不能够截获非t c p i p 数据包,而且有些木马和黑客攻击还可以绕过s p l 。i m d 可以截获几乎所有的数据包,但由于其工作在核心层,因此将不容易获得与数 据包相关的进程的信息本文所研讨的防火墙同时使用了s p i 和i m d 这两种过 滤技术。这样就既能够获得网络封包的与应用层相关的信息,又能够截获到单 纯使用s p i 而无法截获到的网络数据包。这是w i n d o w s 下个人防火墙开发技术 的一种新的有益尝试。 近几年,有不少科研院所已经对w i n d o w s 下个人防火墙进行了一定的研究 和开发。本防火墙与它们相比,主要具有两点优势,一是在应用层和核心层进 行双重过滤,二是提供了核心层数据包的完全解析和显示这一高级功能。 本防火墙以w i n d o w sx p 系统为支撑平台,以v c h6 0 、s d k 、d d k 为主 要开发工具,以d e b u g v i e w e x 和s o f t i c e 为调试工具,经设计、编码、测试 后,能够较为成功地运行在与w i n d o w $ 2 0 0 0 以后的版本中。该肪火墙提供了良 好的用户接口、具有完善的日志系统、系统运行时所占内存和c p u 均较小。经 测试表明,该防火墙能够比较有效地抵抗黑客攻击和各类木马攻击。 关键词:i m d ,s p i ,防火墙,木马 武汉理工大学硕七学位论文 a b s t r a c t w i t hi n t e r n e ta n dp e r s o n a lc o m p u t e r sb e c o m i n gp o p u l a r , i n f o r m a t i o ns e c u r i t yi s c o n c e r n e db ym o r ea n dm o r ep e o p l e g l o b a lc o m p u t e ri n f o r m a t i o ns y s t e m i s t h r e a t e n e db yal a g r ek i n d so fh a c k e r s ,t r o j a nh o r s e sa n dv i r u s e ss e r i o u s l y , i nw h i c h p e r s o n a lc o m p u t e r sa r em o s te a s i l y 柏c k e d t h ei n s e c u r i t yo fp e r s o n a lc o m p u t e r s w i l lb r i n gt h eu s e 侣i m m e a s u r a b l ee c o n o m i c a ll o s s f r o ms o m es e n s e ,t h es e c u r i t y t h r e a to fp e r s o n a lc o m p u t e r sp r e v e n t st h ee l e c t r o n i c a lb u s i n e s sf r o md e v e l o p i n g f u r t h e r s oi ti su r g e dt ok e e pp e r s o n a lc o m p u t e r ss a f e w i n d o w si st h em o s tp o p u l a r o p e r a t i n gs y s t e mo np e r s o n a lc o m p u t e r s f o ri ti sn o ta s o c a r eo p e r a t i n gs y s t e ma n d t h e ma r em a n yl e a k si ni t , i ti si m p o r t a n tt od e v e l o ps e c u r es o f t w a r ef o rt h i s o p e r a t i n gs y s t e m t h em a i nr e s e a r c ho ft h ep a p e ri s o n eo fw i n d o w sn e t w o r k s e c u r i t yt e c h n o l o g i e s ,t h a ti st os a y , f i r e w a l lt e c h n o l o g y t h ei n t e r c e p t i o no fn e t w o r kd a t a g r a mi so n eo ft h ek e r n e lt e c h n o l o g i e st ob e s o l v e dt o e v e r yp e r s o n a lf i r e w a l l w i n s o c k2s p it e c h n o l o g y c a ni n t e r c e p t d a t a g r a m si na p p l i c a t i o nl a y e r , w h i c ha r es e n to rr e c e i v e db yt h ec a l lt ow i n s o c k2 a p i 。i na d d i t i o n ,s o m ei n f o r m a t i o no ft h ep r o g r e s sw h i c ht h ed a t a g r a mb e l o n g s t oc a nb eg o t b u tw ec a n ti n t e r c e p tan o nt c p i pd a t a g r a r ni fw eu s es p io n l y m o r c o v s o m et r o j a nh o r s e sa n da t t a c k so fh a c k e rc a na v o ds p i i m dc a n i n t e r c e p ta l m o s ta l ld a t a g r a m s b u ti m dw o r k sa tk e r n e ll a y e r , s oi ti sn o te a s yt og e t t h ei n f o r m a t i o no ft h ep r o g r e s sa b o u tt h ed a t a g r a m t h i sf i r e w a l ls y s t e mm a k e su s e o ft h et w om e t h o d s t h e r e f o r e ,i tn o to n l yc a ng e tt h ea p p l i c a t i o nl a y e ri n f o r m a t i o n a b o u tt h ed a t a g r a m ,b u ta l s oc a ni n t e r c e p tt h ed a t a g r a m st h a tc a n tb ei n t e r c e p t e db y s p io n l y i ti san e wu s e f u lt r yf o rw i n d o w sp e r s o n a lf l r e w a l l i nr e c e n ty e a r s ,t h e r ea r em a n yi n s t i t u t e sw h i c hr e s e a r c ha n dd e v e l o pp e r s o n a l f i r e w a l ls y s t e m so nw m d o w s i nc o m p a r i s o nw i t ht h e m ,t h i sf i r e w a l ls y s t e mh a st w o a d v a n t a g e s ,o n ei si tc a l lf i l t e rp k e t si nb o t ha p p l i c a t i o nl a y e ra n dk e r n e ll a y e r , t h e o t h e ri si tp r o v i d e sas e n i o rf u n c t i o nt h a tr e s o l v e sa n dd i s p l a y st h ep a c k e t sa tk e r n e l l a y e r i i 武汉理工大学硕十学位论文 础sr i t u a l ls y s t e mb a s e so nw i n d o w sx po p e r a t i n gs v s t e m n l em a i n d e v e l o p i n gt o o l si n c l u d ev c + + 6 0 s d ka n dd d k t h em a i nd e b u gt o o l si n c l u d e d e b u g v i e w e xa n ds o f t i c e a f t e rs y s t e md e s i g n , c o d ea n dt e s t t h ef i r e w a l lc a n n l l ls u c c e s s f u l l y0 1w i n d o w s2 0 0 0a n dt h el a t e rv e r s i o nw i n d o w s t h ef i r e w a l 】 p r o v i d e st h eu s g rag o o di n t e r f a c e i tp r o v i d e sap e r f e c tl o gs y s t e m t o o n 把m e m o r y a n dc p uc o n g u m e di sr e l a t i v es m a l lw h e nt h ef i r e w a l li sr u n n i n g 1 m et e s tr e s u l t s s i l o wt h a tt h ef i r e w a l lc a np r e v e n ta t t a c k so f h a c k e r sa n dt r o j a nh o r s e se f f e c t i v e l y k e y w o r d s :i m d ,s p i ,f i r e w a l l ,t r o j a nh o r s e i l i 武汉理工大学硕十学位论文 1 1 课题的研究背景 第1 章引言 网络已经成为了人类所构建的最丰富多彩的虚拟世界,网络的迅速发展, 给我们的工作和学习生活带来了巨大的改变。人们通过网络获得信息,共享资 源。如今,因特网遍布世界任何个角落,并且欢迎任何一个人加入其中,相 互沟通,相互交流。随着网络的延伸,安全问题受到人们越来越多的关注。几 乎所有接触网络的人都知道网络中有一些费尽心机闯入他人计算机系统的人, 他们利用各种网络和系统的漏洞,非法获得未授权的访问信息。不幸的是如今 攻击网络系统和窃取信息已经不需要什么高深的技巧。网络中有大量的攻击工 具和攻击文章等资源,可以任意使用和共享。不需要去了解那些攻击程序是如 何运行的,只需要简单的执行就可以给网络造成巨大的安全威胁。甚至部分程 序不需要人为的参与,就可以非常智能化的扫描和破坏整个网络。这种情况使 得近几年的攻击频率和密度显著增长,给网络安全带来越来越多的安全隐患。 在这种情况下,防火墙应运而生,并且迅猛发展【1 1 。 1 1 1 防火墙的发展史 “防火墙”是一种形象的说法,其实它是一种由计算机硬件和软件的组合, 使互联网与内部网之间建立起一个安全网关( s c u r i t yg a t e w a y ) 口j ,从而保护内部 网免受非法用户的侵入,它其实就是一个把互联网与内部网( 通常这局域网或 城域网) 隔开的屏障。下面是防火墙的发展简史。 第一代防火墙技术几乎与路由器同时出现,采用了包过滤( p a c k e t f i l t e r ) 技 术。这种防火墙也叫做静态包过滤防火墙【3 】o 1 9 8 9 年,贝尔实验室的d a v e p r e s o t t o 和h o w a r d t r i c k e y 推出了第二代防火 墙,即电路层防火墙【3 】,同时提出了第三代防火墙一应用层防火墙( 代理防火墙) 的初步结构。1 9 9 2 年,u s c 信息科学院的b o b b r a d e n 开发出了基于动态包过滤 ( d y n a m i e p a e k e t f i i t e r ) 技术的第四代防火墙,后来演变为目前所说的状态监视 武汉理t 大学硕十学位论文 ( s l a t e f u l i n s p e c t i o n ) 技术。1 9 9 4 年,以色列的c h e c k p o i n t 公司开发出了第一个 基于这种技术的商业化的产品。 1 9 9 8 年,n a i 公司推出了一种自适应代理h ( a d a p t i v e p r o x y ) 技术,并在 其产品g a u n t l e t f i r e w a l l f o r n t 中得以实现,给代理类型的防火墙赋予了全新的 意义,可以称之为第五代防火墙。所以这种防火墙也叫做自适应代理防火墙。 1 1 2 防火墙的分类 如果从防火墙的软、硬件形式来分的话,防火墙可以分为软件防火墙和硬 件防火墙以及芯片级防火墙。软件防火墙运行于特定的计算机上,它需要客户 预先安装好的计算机操作系统的支持,一般来说这台计算机就是整个网络的网 关。俗称“个人防火墙”。软件防火墙就像其它的软件产品样需要先在计算机 上安装并做好配置才可以使用。防火墙厂商中做网络版软件防火墙最负盛名的 奠过于c h e c k p o i n t 。使用这类防火墙,需要网管对所工作的操作系统平台比较 熟悉这里说的硬件防火墙是指“所谓的硬件防火墙”。之所以加上“所谓”二字 是针对芯片级防火墙而言的。它们最大的差别在于是否基于专用的硬件平台。 目前市场上大多数防火墙都是这种所谓的硬件防火墙,它们都基于p c 架构, 就是说,它们和普通的家庭用的p c 没有太大区别。在这些p c 架构计算机上运 行一些经过裁剪和简化的操作系统,最常用的有老版本的u n i x 、l i n u x 和 f r e e b s d 系统。传统硬件防火墙一般至少应具备三个端口,分别接内网,外网 和d m z 区p l ( 非军事化区) ,现在一些新的硬件防火墙往往扩展了端口,常见 的四端口防火墙一般将第四个端口做为配置口、管理端口。很多防火墙还可以 迸一步扩展端口数目。芯片级防火墙网基于专门的硬件平台,没有操作系统。 专有的a s i c 芯片促使它们比其他种类的防火墙速度更快,处理能力更强,性 能更高。做这类防火墙最出名的厂商有n e t $ c r e e n 、f o r t i n e t 、c i s c o 等。这类防 火墙由于是专用操作系统。因此防火墙本身的漏洞比较少,不过价格相对比较高 昂。 从结构上防火墙可分为主机防火墙和分布式防火墙两类。单一主机防火墙 是最为传统的防火墙,它独立于其它网络设备,位于网络边界。这种防火墙其 实与一台计算机结构差不多,同样包括c p u 、内存、硬盘等基本组件,当然主 板更是不能少了,且主板上也有南、北桥芯片。它与一般计算机最主要的区别 就是一般防火墙都集成了两个以上的以太网卡,因为它需要连接一个以上的内、 2 武汉理1 = 大学硕十学位论文 外部网络。其中的硬盘就是用来存储防火墙所用的基本程序,如包过滤程序和 代理服务器程序等,有的防火墙还把日志记录也记录在此硬盘上。虽然如此, 但不能说它就与平常的p c 机一样,由于它的工作性质,决定了它要具备非常 高的稳定性、实用性,具备非常高的系统吞吐性能。正因如此,看似与p c 机 差不多的配置,价格却相差甚远。而分布式防火墙 6 1 m 是渗透于网络的每一台 主机,对整个内部网络的主机实施保护。在网络服务器中,通常会安装一个用 于防火墙系统管理软件,在服务器及各主机上安装有集成网卡功能的p c i 防火 墙卡,一块防火墙卡同时兼有网卡和防火墙的双重功能。这样的一个防火墙系 统就可以彻底保护内部网络。各主机把任何其它主机发送的通信连接都视为“不 可信”的,都需要严格过滤,而不是象传统边界防火墙那样,仅对外部网络发出 的通信请求“不信任”。 1 1 3 个人防火墙的特点 个人防火墙是指安装在个人计算机上使用的防火墙软件。它安装在p c 机 的桌面上,能够监视电脑的通信状况,一旦发现有对电脑产生危险的通信就会 报警通知管理员或立即中断网络连接来保护p c 机的安全和硬盘上的机密资料。 个人防火墙具有以下特点: 1 支持任何形式的网络接入方式( 如i s d n 接入、普通m o d e m 拨号上网 等1 ; 2 用户可以方便灵活地设置规则,将可信的网络设置为连接,同时把不可 信任的网络拒之门外; 3 保证用户的计算机和私人资料处于安全的状态: 4 提供网络实时过滤监控功能; 5 防御各种木马的恶意攻击,如b o 、冰河等; 6 防御各种蠕虫攻击,如冲击波、蠕虫病毒等; 7 提供详细的日志功能,实时记录网络恶意攻击行为和一些网络通讯状况: 8 提供可视化模块,操作简单、方便。 1 1 4 个人防火墙的研究现状 个人防火墙是在企业防火墙的基础上发展起来,采用的技术也与企业防火 3 武汉理工大学硕士学位论文 墙技术基本相同,但在规则的设置、防火墙的管理等方面进行了简化,使非专 业的个人用户能够容易地安装和使用它们。下面简要介绍国内外的几种个人防 火墙。 1 国外的个人防火墙 ( 1 ) g o l d t a c h 。这是一个体积小巧但功能强大的个人防火墙,集成了4 个 主要的功能:防火墙,进程控制、邮件保护、网页内容过滤。它可以在应用层、 t d i 层和n d i s 层截取和捕捉数据,根据现有的规则进行分析,删除恶意的数 据来保护网络安全。用户可以查看和控制进出网络的所有i p 包,控制网络应用 的各种操作:访问网站、充当服务器和收发电子邮件等等,通过改变电子邮件 附件的扩展名来保护邮件安全,过滤恶意或者无用的h r r p 内容。 ( 2 ) n o r t o np e r s o n a lf i r e w a l l 。该防火墙能够提供完整的网络安全,防止重要 资料被窃,并有过滤网站的功能。它还能够阻隔各种黑客可能的入侵方式,以 防止私人信息被窃取和损坏。 ( 3 ) o u t p o s tf i r e w a l lp r o 这是一款短小精悍的网络防火墙软件,它的功能 是同类p c 软件中较强的,甚至包括了广告和图片过滤、内容过滤、d n s 缓存 等功能。它能够预防来自c o o k i e s 、广告、电子邮件病毒、后门、窃密软件、广 告软件和其它i n t e m e t 危险的威胁。该软件不需配置就可使用,适合普通用户 使用。 2 国内的个人防火墙 ( 1 ) 天网个人防火墙。该防火墙提供多种预先设置的安全级别,同时也支持 用户自定义应用程序的安全规则与系统的安全策略,支持应用程序通信控制, 同时具备自动识剐功能。此外,它还提供特洛伊木马和入侵检测功能,可以通 过厂商的安全数据库自动查找系统的漏洞。“天网个人防火墙”占用系统资源较 少,操作简单。 ( 2 ) 费尔防火墙。费尔防火墙1 0 版是完全基于s p i 技术的,是一款用于展示 防火墙开发技术的开放原代码软件,国内很多学生的防火墙系统的开发都受到 了该防火墙系统的启发。费尔防火墙2 0 除了使用s p i 技术外,在核心层还使 用了n d i sh o o k 技术,因此功能上比1 0 版本要强,是一款不错的防火墙软 件。 ( 3 ) 瑞星防火墙和金山网镖。这是国内著名的商业防火墙软件,功能比较强 大,工作原理都是规则匹配技术。国内个人电脑上主要安装的是这两类防火墙。 4 武汉理工大学硕士学位论文 1 2 课题的研究意义 目前市场上大多数的防火墙产品仅仅是网关型的,虽然它们的功能相当强 大,但由于它们基于下述的假设:内部网是安全可靠的,所有的威胁都来自网 外。因此,它们防外不防内,难以实现对企业内部局域网内主机之间的安全通 信,也不能很好的解决每一个拨号上网用户所在主机的安全问题,而大多数个 人上网之时,并没有置身于得到防护的安全网络内部。 个人上网用户多使用w m d o w s 操作系统,而w i n d o w s 操作系统,本身的安 全性就不高。各种w i n d o w s 漏洞不断被公布,对主机的攻击也越来越多。一般 都是利用操作系统设计的安全漏洞和通信协议的安全漏洞来实现攻击。如假冒 i p 包对通信双方进行欺骗:对主机大量发送i p 数据包进行轰炸攻击,使之崩溃: 以及蓝屏攻击等。因此,为了保护主机的安全通信,研制有效的个入防火墙技 术很有必要。 1 3 课题的研究目标、研究内容和拟解决的关键问题 1 研究目标:在w i n d o w s 2 0 0 0 x p 下开发出基于应用层的防火墙软件。 2 研究内容: ( 1 ) 服务提供者的安装和卸载。 ( 2 ) 动态链接库和应用程序的通信。 ( 3 ) 木马的工作原理和防范。 ( 4 ) 端口复用技术的原理和实现。 ( 5 ) 实时告警功能。 ( 6 ) 网络驱动程序的设计。 ( 7 ) 中间层驱动程序的实现。 ( 8 ) 驱动程序和应用程序的交互。 ( 9 ) 多线程技术, 3 关键问题: ( 1 ) 服务提供者的安装和卸载。正确的安装服务提供者是实现本防火墙的 根本所在,如果安装时稍有疏忽,则不但防火墙的功能实现不了,甚至会损坏 系统,导致系统无法上网。 5 武汉理工大学硕士学位论文 ( 2 ) 服务提供者的实现。服务提供者必须根据控管规则实现具体的包过滤 功能以及对包的转发。 ( 3 ) 服务提供者和控制程序的通信问题。防火墙必须能够根据根据用户的 需求动态地设置访问控制的规则,并实现动态链接库( 服务提供者所在库) 与 应用程序的互相访问问题。 ( 4 ) 在核心层对数据包的拦截。 1 4 本论文所使用的专业术语介绍 ( 1 ) s p i 7 i ,s p i 是s e r v i c ep r o v i d e ri n t e r f a c e 的缩写,译为分层式服务提供 者。 ( 2 ) i m d i s i m d 是i n t g r m e d i a t ed r i v e r 的缩写,译为中闯层驱动。 ( 3 ) n d i s l 9 i , n d i s 是n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n 的缩写,译为 网络驱动接口规范。 ( 4 ) 应用层的数据包拦截。w i n d o w s 操作系统提供了两种指令的执行级别, 即核心态和用户态。本论文将拦截模块执行时处于操作系统用户态的情况称为 应用层数据包的拦截。 ( 5 ) 核心层的数据包的拦截。同( 4 ) ,本论文将拦截模块执行时处于操作 系统核心态的情况称为核心层的数据包的拦截。在这里应用层的数据包拦截和 核心层的数据包拦截与i s o o s i 七层网络模型并没有很严格的对应关系。 1 5 论文的章节结构 本论文的整体组织结构如下: 第1 章是绪论,简要介绍了本课题的研究背景、研究意义、研究目标、拟 解决的关键问题以及论文的组织结构。 第2 章首先介绍了网络体系结构,接着详细阐述了s p i 技术,动态链接库 技术和网络驱动技术,最后简要介绍了多线程技术。 第3 章首先述说了总体技术路线,然后介绍了防火墙的功能设计和模块划 分,接着用较大篇幅介绍了界面设计模块,最后是分层式服务提供者模块设计 和中间层驱动过滤模块设计。 第4 章以第3 章为基础,是防火墙设计的具体实现。主要内容包括界面模 6 武汉理工大学硕十学位论文 块的实现、服务提供者模块的实现、 滤模块的实现。本章是论文的核心, 的核心。 中间层驱动模块的实现和核心层数据包过 其中应用层和核心层的封包拦截又是本章 第5 章是对全文的总结,并且提出了需要进一步探索和解决的问题。 7 武汉理= = 大学硕十学位论文 第2 章相关技术综述 2 1 网络体系结构 o s i r m 是1 s o 在网络通信方面所定义的开放系统互连模型,1 9 7 8i s o ( 国 际化标准组织) 定义了这样一个开放协议标准。有了这个开放的模型,各网 络设备厂商就可以遵照共同的标准来开发网络产品,最终实现彼此兼容。 整个o s i r m 模型共分7 层,从下往上分别是:物理层、数据链路层、 网络层、传输层、会话层、表示层和应用剧1 0 1 ,如图2 1 所示。 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 图2 - 1o s i r i v i 网络体系结构 当接受数据时,数据是自下而上传输:当发送数据时,数据是自上而下传 输。下面简要介绍这几个层次。 1 物理层 这是整个o s i 参考模型的最低层,它的任务就是提供网络的物理连接。所 以,物理层是建立在物理介质上( 而不是逻辑上的协议和会话) ,它提供的是 机械和电气接口。主要包括电缆、物理端口和附属设备,如双绞线、同轴电缆、 接线设备( 如网卡等) 、r j 一4 5 接口、串口和并口等在网络中都是工作在这个 层次的。 8 武汉理工大学硕士学位论文 物理层提供的服务包括:物理连接、物理服务数据单元顺序化( 接收物理 实体收到的比特顺序,与发送物理实体所发送的比特顺序相同) 和数据电路标 识。 2 数据链路层 数据链路层是建立在物理传输能力的基础上,以帧为单位传输数据。它的 主要任务就是进行数据封装和数据链接的建立。封装的数据信息中,地址段含 有发送节点和接收节点的地址,控制段用来表示数格连接帧的类型,数据段包 含实际要传输的数据,差错控制段用来检测传输中帧出现的错误。 数据链路层可使用的协议有s l i p 、p p p 、x 2 5 和帧中继等。常见的集线器 和低档的交换机网络设备都是工作在这个层次上,m o d e m 之类的拨号设备也 是。工作在这个层次上的交换机俗称“第二层交换机”。 具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据 链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的 检测和恢复等方面。 3 网络层 网络层属于o s i 中的较高层次了,从它的名字可以看出,它解决的是网络 与网络之间,即网际的通信问题,而不是同网段内部的事。网络层的主要功 能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。 除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。 网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作 在这个层次上,因此它们也提供了路由功能,俗称“第三层交换机”。 网络层的功能包括:建立和拆除网络连接、路径选择和中继、网络连接多 路复用、分段和组块、服务选择和传输和流量控制。 4 传输层 传输层解决的是数据在网络之间的传输质量问题,它属于较高层次。传输 层用于提高网络层服务质量,提供可靠的端到端的数据传输,如常说的q o s 就 是这一层的主要服务。这一层主要涉及的是网络传输协议,它提供的是一套网 络数据传输标准,如t c p 协议。 传输层的功能包括:映像传输地址到网络地址,多路复用与分割、传输连 接的建立与释放、分段与重新组装、组块与分块。 根据传输层所提供服务的主要性质,传输层服务可分为以下三大类: 9 武汉理工大学硕士学位论文 a 类:网络连接具有可接受的差错率和可接受的故障通知率,a 类服务是 可靠的网络服务,一般指虚电路服务。 c 类:网络连接具有不可接受的差错率。c 类的服务质量最差,提供数据 报服务或无线电分组交换网均属此类。 b 类:网络连接具有可接受的差错率和不可接受的故障通知率,b 类服务介 于a 类与c 类之间,在广域网和互联网多是提供b 类服务。 5 会话层 会话层利用传输层来提供会话服务,会话可能是个用户通过网络登录到 一个主机,或一个正在建立的用于传输文件的会话。 会话层的功能主要有:会话连接到传输连接的映射,数据传送、会话连接 的恢复和释放、会话管理、令牌管理和活动管理。 6 表示层 表示层用于数据管理的表示方式,如用于文本文件的a s c i i 和e b c d l c , 用于表示数字的l s 或2 s 补码表示形式。如果通信双方用不同的数据表示方法, 他们就不能互相理解。表示层就是用于屏蔽这种不同之处。 表示层的功能主要有:数据语法转换、语法表示、表示连接管理、数据加 密和数据压缩。 7 应用层 这是o s i 参考模型的最高层,它解决的也是最高层次,即程序应用过程中 的问题,它直接面对用户的具体应用。应用层包含用户应用程序执行通信任务 所需要的协议和功能,如电子邮件和文件传输等,在这一层中t c p i p 协议中 的f t p 、s m t p 、p o p 等协议得到了充分应用。 2 2s p i 技术 w i n s o c k2 服务提供者接口( s e r v i c ep r o v i d e ri n t e r f a c e , s p i ) 代表着另一端 的w insock 编程( 和w i n s o c k2 a p i 相对应) i 1 1 。w i n s o c k2 不仅提供了一 个供应用程序访问网络服务的w i n d o w ss o c k e t 应用程序编程接口( a p i ) ,还 包含了由传输服务提供者和名字解析服务提供者实现的w i n s o c k 服务提供者接 口和w s 23 2 d l i 。如下是应用程序,w s 23 2 d i l 和传输服务提供者接口之间的 层次关系1 1 2 1 : 1 0 武汉理工大学硕七学位论文 l w i n d o w ss 0 c k e t2 应用程序 w s 23 2 d l l w i n d o w ss o c k e t2a p i i w i n d o w ss o c k e t2 传输s p i 传输服务提供者( d l l ) 传输服务提供者是以d l l 的形式存在的,它向外只有一个入口函数,那就 是w s p s t a r t u p ,其中的参数l p w s a p r l 胁c o li n f o w 结构指针决定了服务提 供者的类型,其他的3 0 个传输服务提供者函数是以分配表的方式调用的。当网 络应用程序调用w s a s o c k e t s o c k e t 函数创建套接字时,会有三个参数:地址族, 套接字类型和协议,正是这三个参数共同决定了是由哪一个类型的传输服务提 供者来实现本应用程序的功能。在整个层次结构中,w s 2 _ 3 2 d 1 1 只是起到了媒 介的作用,应用程序则是对用户功能的实现,而真正实现网络传输功能的是传 输服务提供者接口。当前系统中有一些默认的服务提供者,它们已经实现了大 部分基本的功能,所以自己在书写服务提供者程序时,只须对数据报进行处理 后,就可将数据报传送给系统服务提供者来实现剩下的功能。 新增加的服务提供者和系统的服务提供者一样,也是以d l l 的形式存在 的。当服务提供者创建完毕,接下来就应该安装它们。这样新增加的服务提供 者信息就写入了系统的服务提供者数据库。当用w s a s o c k e t s o c k c t 创建套接字 时,w s 23 2 d l l 就会在服务提供者数据库中按顺序搜索和w s a s t a r t u p s o c k e t 提 供的三个参数相匹配的服务提供者,如果同时有两个相同类型的服务提供者存 在于服务提供者数据库中,那么顺序在前的那个服务提供者就会被调用。通常, 在安装完自己的服务提供者后,都会将自己的服务提供者重新排列在最前面。 w s 23 2 d l l 是使用标准的动态链接库来加载服务提供者接口的d l l 到系统 中去的,并调用w s p s t a r m p 来初始化。w s p s t a r t u p 是w i n d o w ss o c k e t2 应用 程序调用s p i 程序的初始化函数,也就是入口函数。w s p s t a r t u p 的参数 l p w s a p r o t o c o li n f o w 指针提供应用程序所期望的协议信息,然后通过 这个结构指针可以获得所保存的系统服务提供者的d l l 名称和路径,加载系统 服务提供者后查找到系统s p i 程序的w s p s t a r t u p 函数的指针,通过这个指针就 可以将自己服务提供者的w s p s t a r t u p 函数和系统s p i 程序的w s p s t a r t u p 函数 武汉理工大学硕士学位论文 相关联,进而调用系统的各个服务提供者函划1 2 1 。在数据传输服务提供者的实 现中需要两个零序,一个是可执行文件用来安装传输服务提供者,另一个就是 d l l 形式的数据传输服务提供者 2 3 动态链接库技术 自从m i c r o s o f t 公司推出第一个版本的w i n d o w s 操作系统以来,动态链接库一 直是这个操作系统的基础。w i n d o w sa p i 中的所有函数都包含在d l l 中。3 个最 重要的d l l 是:k e r n e l 3 2 m l 、u s e r 3 2 d l l 和g d l 3 2 d i l t 乃1 。k e r n e l 3 2 d l l 包含用于管 理内存、进程和线程的各个函数;u s e r 3 2 d u 包含用于执行用户界面任务( 如窗 口的创建和消息的传送) 的各个函数:而g d l 3 2 d l l 贝t j 包含用于画图和显示文本 的各个函数。 2 3 1d l l 与进程的地址空间 创建d l l 常常比创建应用程序更容易,因为d l l 往往包含一组应用程序可以 使用的自主函数。在d l l 中通常没有用来处理消息循环或创建窗口的支持代码。 d l l 只是一组源代码模块, 每个模块包含了应用程序( 可执行文件) 或另一个d e e 将要调用的一组函数。 当所有源代码文件编译后,它们就像应用程序的可执行文件那样被链接程序所 链接。但是,对于一个d l l 来说,必须设定该链接程序的d l l 开关。这个开关 使得链接程序能够向产生的d l l 文件映像发出稍有不同的信息,这样,操作系统 加载程序就能将该文件映像视为一个d l l 而不是应用程序。在应用程序( 或另 个d l l ) 能够调用d l l 中的函数之前,d l l 文件映像必须被映射到调用进程的地 址空间中。若要进行这项操作,可以使用两种方法中的一种,即加载时的隐含 链接或运行期的显式链接。一旦d l l 的文件映像被映射到调用进程的地址空间 中,d l l 的函数就可以供进程中运行的所有线程使用。实际上,d l l 几乎将失 去它作为d l l 的全部特征。对于进程中的线程来说,d l l 的代码和数据看上去就 像恰巧是在进程的地址空间中的额外代码和数据一样。当个线程调用d l l 函数 时,该d l l 函数要查看线程的堆栈,以便检索它传递的参数,并将线程的堆栈用 于它需要的任何局部变量。 d l l 中函数的代码创建的任何对象均由调用线程所拥有,而d l l 本身从来不 1 2 武汉理工大学硕十学位论文 拥有任何东西。例如,如果v i r t u a l a l l o e i 菊数被d l lr 扣i y j - - 个函数调用,那么将 从调用线程的进程地址空f s q 6 e 保留一个地址空间的区域,该地址空间区域将始 终处于保留状态,因为系统并不跟踪d l l 中的函数保留该区域的情况。保留区域 由进程所拥有,只有在线程调用v i r t u a l f r e e i 球i 数或者进程终止运行时才被释放。 2 3 2d l l 模块的创建和使用 若要创建一个从dll 模块输入函数和变量的可执行模块,必须首先创建一 个dll 模块。然后就可以创建可执行模块【1 4 1 。若要创建dll 模块,必须执行 下列操作步骤: 1 首先创建一个头文件,它包含想要从d l l 输出的函数原型、结构和符号。 d l l 的所有源代码模块均包含该头文件,以帮助创建d l l 。当创建需要使用d l l 中包含的函数和变量的可执行模块( 或多个模块) 时,也需要这个头文件 2 要创建一个c ,c + + 源代码模块( 或多个模块) ,用于实现想要在dl l 模块中实现的函数和变量。 3 创建dll 模块,将使编译器对每个源代码模块进行处理,产生一个0b j 模块( 每个源代码模块有一个o b j 模块) 4 当所有的ob j 模块创建完成后。链接程序将所有o b j 模块的内容组合在 一起,产生一个dll 映象文件。该映像文件( 即模块) 包含了用于d l l 的所有 二进制代码和全局静态数据变量。为了执行这个可执行模块,该文件是必不可 少的。 5 如果链接程序发现d l l 的源代码模块至少输出了一个函数或变量,那么 链接程序也生成一个l i b 文件。这个l i b 文件很小,因为它不包含任何函数或变量。 它只是列出所有已输出函数和变量的符号名。为- r f l 建可执行模块,该文件是 必不可少的。 一旦创建t d l l 模块,就可以创建可执行模块。其创建步骤是: 1 在引用函数、变量、数据、结构或符号的所有源代码模块中,必须包 含d l l 开发人员创建的头文件 2 要创建一个c c + + 源代码模块( 或多个模块) ,用于实现想要在可执行 模块中实现的函数和变量。当然该代码可以引用d l l 头文件中定义的函数和变 量。 3 创建可执行模块,将使编译器对每个源代码模块进行处理,生成一个o b j 1 3 武汉理工大学硕士学位论文 模块( 每个源代码模块有一个o b i 模块) 。 4 当所有ob j 模块创建完成后,链接程序便将所有的obi 模块的内容组合 起来,生成一个可执行的缺像文件。该映像文件( 或模块) 包含了可执行文件 的所有二进制代码和全局静态变量。该可执行模块还包含一个输入节,列出可 执行文件需要的所有d l l 模块名。此外,对于列出的每个d l l 名字。该节指明 了可执行模块的二进制代码,引用了哪些函数和变量符号。一旦d l l 和可执行模 块创建完成,一个进程就可以执行。 5 。加载程序为新进程创建一个虚拟地址空间。可执行模块被映射到新进程 的地址空间。 加载程序对可执行模块的输入节进行分析对于该节中列出的每个dll 名 字,加载程序要找出用户系统上的d l l 模块,再将该d l l 映射到进程的地址空间。 注意,由于d l l 模块可以从另一个d l l 模块输入函数和变量,因此d l l 模块可以 拥有它自己的输入节。若要对进程进行全面的初始化,加载程序要分析每个模 块的输入节,并将所有需要的d l l 模块映射到进程的地址空间。一旦可执行模块 和所有d l l 模块被映射到进程的地址空间中,进程的主线程就可以启动运行,同 时应用程序也可以启动运行。 2 3 3d l l 的搜索顺序 由于可执行模块中输入节只包含一个d l l 名而没有它的路径名,因此加载程 序必须搜索用户的磁盘驱动器,找, h d l l 。下面是加载程序的搜索顺序: 1 包含可执行映像文件的目录。 2 进程的当前目录。 3 w i n d o w s 系统目录。 4 w i n d o w $ 目录。 5 p a t h 环境变量中列出的各个目录。 2 4 网络驱动技术 网络驱动程序接口说明( n d i s ) 库将网络硬件抽象为网络驱动程序。n d i s 也说明了网络驱动程序间的标准接1 :1 ,因此它将用来管理硬件的底层驱动程序 抽象为上层驱动程序,例如网络传输层。n d i s 也维护着状态信息和网络驱动程 1 4 武汉理工大学硕士学位论文 序的参数,包括指向函数的指针,句柄和链接时参数块的指针,以及其他系统 参数。n d i s 支持以下几种类型的网络驱动程序i n 】; ,微端口驱动程序 中间层驱动程序 协议驱动程序 2 4 1n d i s 微端口驱动程序 一个n d i s 微端口驱动程序( 也叫微端口n i c 驱动程序) 有两个基本功能: 一是管理一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 达标测试苏科版八年级物理下册《物质的物理属性》达标测试试卷(含答案解析)
- 一建二建考试题库及答案
- 湖南新高考试题及答案
- 2025晋城中院考试真题及答案
- 劳务工程师考试题及答案
- 万科物业二星考试题库及答案
- 康复心理学的考试题目及答案
- 销售渠道管理历年自考试题及答案
- 微型量子接收机设计-洞察与解读
- 硬件设计智能优化-洞察与解读
- 【语文】北京市小学六年级上册期中试题(含答案)
- 《生态毒理学》课件
- 英语可以这样教读后感
- DB14T 2740-2023 春玉米膜侧沟播技术规程
- 国家开放大学电大专科《学前儿童发展心理学》简答论述题题库及答案
- GB/T 1.1-2020标准化工作导则第1部分:标准化文件的结构和起草规则
- 出国留学初中成绩表模版
- 家政服务职业技能家庭照护员理论知识考核试题及答案
- 小学语文人教四年级下册第五单元我家的杏熟了
- 《大卫·科波菲尔(节选)》《复活》比较阅读课件 2022-2023学年统编版高中语文选择性必修上册
- 中小学体育教师职称晋升面试答辩真题解密
评论
0/150
提交评论