




已阅读5页,还剩50页未读, 继续免费阅读
(通信与信息系统专业论文)基于vxworks的网络地址转换系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 l_l_ _ _ l _ _ - - _ _ _ _ _ i _ i - - _ _ - _ _ _ _ - _ _ _ l _ - _ _ - _ _ 摘要 ? 随着i n t e r n e t 爆炸式的发展,目前地址空间( 即1 p v 4 ) 面临着即将耗尽的问题, 1 p v 6 被发展作为解决i n t e m e t 地址空间不足的长期解决方案,同时,一些短期解决 疗案也被提出,i e t f 发展的网络地址转换( n e t w o r k a d d r e s st r a n s l a t i o n ,n a t ) 技术就 是其中最具生命力的一种。 n a t 技术是用于将一个地址域( 如专用i n t r a n e t ) 映射到另一个地址域( 如 i n t e r n e t ) 的标准方法。n a t 允许一个机构专用i n t r a n e t 中的主机透明地连接到公共 域中的主机,无需内部主机拥有越来越缺乏的注册i n t e r n e t 地址。这样可以在多个子 网巾使用相同的p 地址,从而减少合法注册地址的使用。 同时,n a t 技术的应用超出了仅作为一种解决m 地址的匮乏问题短期解决策略, 更广泛应用于网络安全,负载均衡,虚拟路由等多个方面,具有广泛的t c p i p 应用 t 基础。- 本文首先详细阐述了n a t 技术的基本概念,工作原理,对各种不同的n a t 类型 也进行了分析,叙述了和n a t 配合工作的应用级网关( a p p l i c a t i o n l e v e l g a t e w a y a l g ) 技术,对需要特定a l g 的常见协议进行了分析,并讨论了n a t 技术和i p s e c 技术的融合,总结了解决方案和工作模式。 然后在此基础上,重点分析了网络地址转换系统的设计方案,通过分析基于 m p c 8 6 0 的路由器设计方案和v x w o r k s 操作系统网络特性,提出了一个基于嵌入式 操作系统v x w o r k s 的n a t 系统设计方案,该方案具有松耦合、可扩展、可移植等 良好特点。 最后,本文具体描述了系统各个功能模块的详细实现过程和测试过程。 关键词:路由器iv x w o r k s ; 网络地址转换i 应用级网关 华中科技大学硕士学位论文 :一# = t # # _ ;= = _ # = = 目# = # t # = = = = _ 目= # ;# = # = = = # = # = a b s t r a c t w i t ht h ei n t e m e t sb o o m 。n o w a d a y st h er e s o u r c eo fi pa d d r e s s e sh a v ea l m o s tb e e n e x h a u s t e d ,t h e ni p v 6i sr e g a r d e da sal o n g l a i nr e s o l v e n t a n da t t h es a m et i m e ,s o m e s h o r t m nr e s o l v e n t sa l s ob e e np r o v i d e d ,t h en e t w o r ka d d r e s st r a n s l a t i o n ( n a t ) w a so n e o ft h em o s t p r a c t i c a lo f t h o s e n a ti sak i n do fs t a n d a r dt e c h n o l o g yu s e di no r d e rt om a p o n ei pa d d r e s sr e a l mi n t o a n o t h e ri pa d d r e s sr e a l m 。t r a n s p a m t l y , n a te n a b l e dac o m p u t e ri n s i d ea ni n s t i t u t i o nt o c o n n e c tt ot h ei n t e r n e tw i t h o u tal e s sa n dl e s sl e g a li pa d d r e s s m a n ys u b n e t sc a nu s et h e s a m ei pa d d r e s s e si n s i d e ,s or e d u c et h en u m b e ro fl e g a l1 pa d d r e s s e sn e e d e d a tt h es a m et i m e n a ti sn o to n l yu s e da sam e t h o dt or e s o l v et h el a c ko fl e g a li p a d d r e s s e s 。b u ta l s ou s e di nn e t w o r ks e c u r i t y , l o a db a l a n c i n g ,v i r t u a lr o u t i n ga n dm a n y o t h e rf i e l d s i ti sv e r yu s e f u li 珏t c p i pb a s e da p p l i c a t i o n s i nt h i s p a p e r , 1f i r s ti n t r o d u c es o m eb a s i cc o n c e p t i o n sa n dw o r k i n gp r i n c i p l ea b o u t n a t a n a l y z ed i f f e r e n tt y p e so fn a t , p r e s e n tt h ea p p l i c a t i o nl e v e lg a t e w a y ( a l g ) t e c h n o l o g yw h i c hc o o p e r a t e sw i t hn a t , a n a l y z es p e c i f i e dt e c h n o l o g i e sn e e d e di na l g a n dd i s c u s st h es y n c r e t i z i n go fn a ta n di p s e c ,a n ds u mu pt h er e s o l v e n t sa n dw o r k m o d e so fn a t b a s e do nt h ep r e v i o u sj o b s if o c u so nt h ed e s i g no fn a t s y s t e m ,b ya n a l y z i n gt h e d e s i g no fr o u t e rb a s e do nm p c 8 6 0 a n dt h en e t w o r kp r o p e r t yo fv x w o r k s 。lp r e s e n tt h e d e s i g n o fn a ts y s t e mb a s e do nt h ev x w o r k s i th a s g o o dc o m p a t i b i l i t y , g o o d e x t e n s i b i l i t ya n dg o o dt r a n s p l a n t y l a s t ,lp r e s e n tt h ei m p l e m e n t a t i o na n dt e s t i n go fe v e r ym o d u l eo ft h ew h o l es y s t e mi n d e t a i l s k e y w o r d s :r o u t e r ,v x w o r k s ,n a t ,a l g h 华中科技大学硕士学位论文 t = z _ _ _ 目_ _ _ = 自_ 目_ _ _ 目d _ = _ = = 目目_ ;= = = j # = 1 绪论 两络地址转换( n e t w o r ka d d r e s st r a n s l a t i o n ,n a t ) 技术魑互联网地址分配委 爨会( i a n a ) 为解决磷施垃的匮乏闻舔,丽提出的一种酌解决策略。人们在对n a t 豹不鼗锈究糕发鼹遘程串发凝,n a t 蠢于其疰酝避蟪对其有不确定豹特点,有韵予 保护痰郄网终的拓扑结构等霪要数据傣患。如今国球上一些著名熬耱火壤厂家( 魏 n a | 公司、c h e c k p o i n t 公司、g t a 公司以及c i s c o 公司等) 都焱其题络安全产爨孛 集成了n a t 技术,来保证内部网络资源的安全。 随着研究的进一步深人,n a t 技术在短期内里迅速成熟,并发展出多种类型, 更巍网络安全、负载均衡等领域有广泛的应用,其价值早殴远逝超出早先的设想。 1 。1 圈终地址转换技零的发袋状况 随着计算机网络的酱及和主机数目爆炸性的增长,传统的基于t c p i p 体系结 构的网络地址结构和地址分砑已策略已越来越不适应当前计算机网络的发展状况。 t c p f i p 巾建缝结构( i p v 4 ) 内3 2 位字节组成,分成a 、b 、c 、d 、e 蟊类。f i = j 于 量税数鼙鹃增长,3 2 谴字节魏蠢络梅已经灏箍耗瑟的边缘,阻碍了网络的发矮。另 争 赞绫懿建蛙分配策臻怒对每一个入嚣的主税分配一个全球难一髓辩地址,然而 其r p 的某搂主搬缀少甚登根本不与i n t e m e t 孛熬烹撬逶僖,因辩禁些企登裁缝织在 申涛口地址时考虑到3 l 冬来的发展,往往洼腮大量多余鲍璎缝蛙,造成了蛰逮蠡| = 譬 不到充分利用。互联网她址分配委员会( i a n a ) 针对上述甄秽愤况,分别提蹬了 长期和短期解决策略。一方面采用i p v 6 ( i p n g ) 协议1 2 8 位地址格式取代i p v 4 。从 根摹 :扩大i p 地址数目;男一方面采用私有网络地址、c i d r ( c l a s s e si n t e r d o m a i n r o u t i n g ) 和n a t 技术来解决舻地址的溉乏问题。 私有鼹络魄缝技术慧利瑙瑶v 4 中预匿的一个a 类地址、1 6 个b 类地鸯t 和2 5 5 、c 类憨蛙分凝给众韭鼹内不与i n t e r n e t 遥翁豹烹撬,仗为与i n t e r n e t 通籍的主祝 分瞧全球嚷一鼬璎她址。 c i d r 技术就是利用网络掩码的超网技术,一方垂保证了1 p 娩蛙的裂髑率;男 华中科技大学硕士学位论文 l _ _ - - _ l _ _ - _ _ _ _ - - _ - - - _ _ - - l _ - _ _ _ - _ _ _ _ 目 一方面提高了路由表的效率。当企业与i n t e r n e t 相连的主机个数超过2 5 5 ,而又远远 小于6 5 5 3 6 ,申请b 类地址又比较困难时,采用的一种地址分配策略是向i a n a 申 请若干个连续的c 类地址。在路由器的路由表中有边界路由器表项和相应的网络掩 码可寻若干c 类地址 1 1 1 2 1 0 n a t 技术是采用私有地址和全球唯一地址相结合的原理来进行地址的分配。本 章将着重探讨n a t 及其相关技术的原理。 1 2 课题来源 本论文基于两个课题的研究内容:第一个课题来源于t c l 信息产业集团和华 中科技大学的合作,从事多模块接人路由器r 17 5 0 的研究与开发工作;第二个课题 来源于t c l 信息产业集团和华中科技大学的合作,从事固定配置接入路由器r 3 2 0 6 的研究与开发工作。这两个课题在路由器的研究与发展项目中具有代表性。本文的 内容是这两个课题中的子课题,路由器的网络地址转换及防火墙的设计与实现。 1 3 研究内容 本文的研究目标是根据具体项目的需求,设计和实现基于v x w o r k s 嵌入式操作 系统的网络地址转换及防火墙系统,并结合工程实践,对n a t 及其相关技术进行 理论研究和探索。 本论文的研究内容主要有以下几个方面: 根据具体需求,设计路由器网络地址转换及防火墙系统体系架构 研究各种类型网络地址转换技术的融合 研究各种现有网络地址转换系统技术实现特点 研究网络地址转换技术对各层协议的影响 研究各种相关协议应用级网关技术 研究网络地址转换技术与其他网络技术的兼容性 华中科技大学硕士学位论文 1 4 课题意义 n a t 作为一项生命力强大的技术,仍在不断发展,不断产生着极具理论价值的 课题,例如:不断拓展n a t 技术的应用类型,以适应更多应用领域的需求;以n a t 原理为基础,发展相关技术,增强与现有协议与网络技术,特别是和i p s e c 的融合, 设汁出灵活安全的架构;研究经由n a t 从i p v 4 过渡到i p v 6 的技术进化策略。本文 对其中一些重要的方面进行了探讨1 3 1 1 4 1 0 本文所讨论的系统作为基于网络通讯处理器m p c 8 6 0 的路由器的一个子系统, 又具有相当的工程价值。 整个n a t 系统功能完备,配置灵活,性能稳定,接口简单,与v x w o r k s 中t c p 1 p 协议栈融合紧密,不论作为路由器子系统或是单独模块都有很大工程价值。同时, 本系统兼具很好的可移植性,它的实现过程以及核心的代码对类似应用具有很好的 可莺用性,只需通过较小的修改就能移植到不同的操作系统和平台上。 本文提出的架构和设计原则对基于v x w o r k s 其他网络协议的设计和实现也有指 导意义。 1 5 本文组织结构 本文以基于v x w o r k s 嵌入式操作系统平台的路由器n a t 系统为主题,围绕有 关模块的设计与实现,及其理论研究进行叙述,本文的其他章节及其主要内容如下: 第二章对n a t 技术及其相关技术进行了全面的介绍,详细阐述了n a t 技术及 其相关a l g 技术,最后论述了n a t 技术和1 p s e c 技术的融合,总结了解决方案和 工作模式。 第三章首先介绍了基于网络通讯处理器m p c 8 6 0 的路由器设计方案和v x w o r k s 操作系统,在此基础上,从设计需求、支撑环境和总体方案三方面,详细分析了 n a t 系统的设计方案。 第四章详细阐述了n a t 系统的实现细节,首先介绍了系统中主要的功能模块, 然后,从数据结构,实现细节,实现流程图几个方i s x , n a t ,应用级网关a l g , 3 华中科技大学硕士学位论文 访f 副噔制,系统臀理等模块做了详缅分析。 第五章介绍了n a t 系统酌测试方案,分耩t 测试方案豹设诗,夯缨了潮试黢用 靛软嫒 譬臻境,嶷终摆扑豹搭建,最后列举了测试的结果。 第六章总结了全文的工作,提出了系统可能的进一步改进,展望了n a t 及其相 关技术发展前景。 _ 一一_ 4 本章对n a t 技术及其相关技术进行了全面的介绍,详细阐述了n a t 技术的基 本概念,工作原理,对各种不同的n a t 类型也进行了分析,然后叙述了和n a t 配 合工作的a l g 技术,对需要特定a l g 的常见协议进行了分析,最后论述了n a t 技术和i p s e c 技术的融合,分析了技术难点。解决方案和工作模式。 2 1n a t 技术的基本原理 2 1 1 基本概念 1 私有网络地址空闯和全球网络地址空间 l a n a 将口v 4 中的地址空间分为a 、b 、c 、d 、e 四类: a 类:0 0 0 0 1 2 7 2 5 5 2 5 5 2 5 5 b 类:1 2 8 0 0 0 1 9 1 2 5 5 2 5 5 2 5 5 b 类:1 2 8 0 0 0 1 9 1 2 5 5 2 5 5 2 5 5 d 类:2 2 4 0 0 0 2 3 9 2 5 5 2 5 5 2 5 5 e 类:2 4 0 0 0 0 2 5 5 2 5 5 2 5 5 2 5 5 其中,保留给私有网络使用的”1 : a 类( 1 个) :1 0 0 0 0 1 0 2 5 5 2 5 5 2 5 5 b 类( 1 6 个) :1 7 2 1 6 0 0 1 7 2 3 1 2 5 5 2 5 5 c 类( 2 5 5 个) :1 9 2 1 6 8 0 0 一1 9 1 1 6 8 2 5 5 2 5 5 2 私有网络中的各种主机 一般情况下,企业网中的数据通信绝大多数在企业网内部进行,通过i n t e r n e t 的数据只占其中一部分。出于对企业内部数据的安全考虑,公司会限制i n t e r n e t 对内部网的访问,一般只允许i m e m e t 访问私有网络中的一小部分主机。另外公 司对内部主机访问i n t e m e t 一般也加以限制。统计数据表明,在大型企业网中, 一。一 5 华中科技大学硕士学位论文 l _ - _ _ _ _ _ _ - _ _ - - _ _ _ - _ _ _ - _ - _ - _ _ - - _ _ _ _ _ - 目目 需要直接访问i n t c m e t 的主机数与不需要与i n t e m e t 相连的主机数之比为1 :1 0 0 0 到1 :| 0 0 0 0 之间,大爨主视根本不与i n t e r n e t 相连,如采为这些主机分配全球 曦一璎缝蛙将会是一释滚费。为了掇裔潆瑰簸的稀用率,根据主梳与b t e r n e t 摆连熬馕嚣将其分鸯三类o ”: 1 ) 誉连接- - i n t e r h o s ts y s t e m i n t e r h o s t 系统必须具有全球唯一的舻地址,可以毫不限制她、完全地与i n t e r n e t 或其他i n t r a n e t 进行通倍,如f r p 、w 、w 、e m a i l 以及特权主机等。 2 ) 偶尔连接- - i n t e r i n t r a h o s ts y s t e m i n t e r i n t r a h o s t 系统可以采用私有网络地址访问本i n t r a n e t 的其他主机,但是在 与i n t e m e t 或其他i n t r a n e t 通信时盛须厢全球唯一球地址,如用户工作站、p c 撬等。 3 ) 扶不连接- - 娥o s ts y s 自e m i n t r a h o s t 系统仅访闼企业赠中的内部圭擞,不与任傍其缝i n t r a n e t 或攮艳聪挂 通倍,可采用私有网络她址分配策略,如企业数据摩朔安全主执。 3 n a t 技术涉及地址种类 i n s i d el o c a l1 pa d d r e s s :内部网络的主机地址,全局唯一,似为私有地址。 i n s i d eg l o b a li pa d d r e s s :代表一个或更多内部m 到外部世界的合法m 。 o u t s i d eg l o b a l1 pa d d r e s s :外部网络主机的合法讲。 o u t s i d el o c a li p a d d r e s s :矫部网络定视篼址,看越来跫内部网络私有地址。 鲣爨2 i 辑示: 鼹2 + l n a t 孛的缝跛类戮 6 华中科技大学硕士学位论文 i _ _ i i i i i i i i i 目目_ 2 ,1 2 基本原理 n a t 技本的基本疲妫强境是一个套难一爨骂 参v j r l ! ? 岁 j r 交由 i 口一f w ma s q t e mp o 处理 厂i 二;为蕾的舍话;多 i 刨建并设定新的散 据结杓来衰示会话 n i r 改相关状春信息数据 j 改转换黼 - 址和 。嗡泰 、鬈芝= 三兰,一 ly t 应雾嚣置盏嚣薹一 ; 上 重新气& 嚣”9 上 重新计算i p 校奠和 图4 2 m 龉q 模块流程图 当内部网主机发往外部网的口数据报到达路由器m 层,v x w o r k s 的m 层在对 华中科技大学硕士学位论文 数据报进行选路前,先将数据报交由一个h o o k 函数处理,n a t 系统由这个函数得 到对数据报的控制。首先由管理模块根据数据报的源地址,目的地址,连接状态, 配置参数等因素决定将该数据报发往伪装模块,去伪装模块,或者直接丢弃。 当伪装模块接收到数据报,它将首先对巾包上所负载的协议进行判断,如果 是t c p ,u d p 协议则继续处理,如果是i c m p 协议,由于i c m p 协议的类型繁多, 共有l8 类3 4 种,则需调用专门函数i n ti p _ f w m a s q i c m p 进行处理。 对应于每一个t c p 或者u d p 连接,系统都用i pm a s q 保存相关的信息,为了 提高查找的效率,这些数据使用哈希表保存。确定收到t c p ,u d p 协议数据报,系 统根据数据报中的源地址,目的地址,源端r _ l 号,目的端口号计算保存这个t c p 或u d p 会话信息的数据在哈希表中的位置。系统将根据最新收到数据报的信息更 新数据结构中的信息,包括源地址,目的地址,源端口号,目的端口号,用来伪装 的地址,以及重新设置时间戳,再将更新后的数据重新插入哈希表中。 如果这是新发起的t c p 或u d p 会话的第一个数据报,系统将会创建一个新的 数据来代表这个会话,并将上述信息设定,而且如果注册了特定的应用级网关,则 将其绑定。完成数据更新后,系统将对数据报中的p 地址进行修改转换,如果是进 行n a p t 还将端口号进行修改转换。 进一步,系统将检查是否有应用级网关应用于这种数据报,如果有,则将数据 报交由应用级网关模块进行处理。当从应用级网关模块处理完返回后,由于对t c p , u d p 数据报中信息的进行了修改,所以要重新计算t c p ,u d p 数据报的校验和, 如图4 3 ”4 1 1 3 5 1 。 t c p ,u d p 校验和覆盖其首都和数据,u d p 的校验和是可选的,而t c p 的校 验和是必需的。如图4 3 ,t c p 数据报和u d p 数据报都包含一个长1 2 字节的伪首 部,它是为了计算校验和而设置的。伪首部包含m 首部一些字段,其目的是让t c p , u d p 两次检查数据是否已经正确到达目的地。所以无论是伊地址或是端口号的改 动,系统都需要对t c p ,u d p 校验和进行重新计算。最后,与t c p ,u d p 校验和 尊法类似,重新计算口数据报中的校验和。 牮申科技大学硕士学位论文 = e = _ 目i _ 日- 嘣_ i i i i i i ii i i i i i _ - _ _ _ _ _ - _ - _ _ _ - _ _ _ _ _ - _ _ _ _ _ _ - e1 51 63 1 3 2 拉纛l p 摊址 3 2 挝最的i p 地址 08 位协议l s 彀u d p 长嶷 i1 6 位嚣端矗号t 6 位鞋的斌罐号 1 6 位u d p 长度1 6 盎u d p 较骏稳 f数据 i 壤宠宇带 强4 3u d p 棱验帮豹计算 至此m a s q 模块完成了对数据搬戆处理,垮数据搬交透捷搿p 浇议黪任务 t n e t t a s k ,由m 协议选路搀进一步处理。 4 3 2d e m a s q 横块实现流程 d e m a s q 模块处理外部网主机发剜内郝网的p 数据掇,嗣m a s q 模块撵,它 也使用数据结构s t r u c ti p _ m a s q 对进行n a t 的每个会话记录状态,进行管理,它的 流程如图4 4 。 驾连接会话中,当外部两发回内部网主机的m 数据报到达路由器舻层。 v x w o r k s 的舻层仍将数据报交由球层h o o k 函数处理。管理模块根据数据报的源 遮齄,秘翡圭l 鏊整,连接状态,配登参数等西索决定将该数据报发往去伪装模块处理。 当伪装模块接收强数攥摄,它毽i 将首先瓣狰包上释受载的漭议送行羚断,鲻采跫 t c p ,u d p 蜘议则继续处理,如果是i c m p 游议,与蘸述m a s q 模软中处理i c m p 数据报对应,调用溺数i n t i pf w _ d e m a s q _ i c m p 专f 1 对返回的i c m p 数据摄进行姓理。 当确定收到t c p ,u d p 协议数据报,系统根据数据报中地址,端e 1 号诗算保存 这个t c p 或u d p 会话信息的数据在哈希表中的位置,从而得到进行n a t 所需臻的 信息。 3 2 华中科技大学硕士学位论文 = t j _ _ _ # _ 目= $ _ = _ _ g = 目l 自;口_ # = = 口 图4 4d e m a s q 模块流程图 对于n a p t ,本实现使用了端口号6 1 0 0 0 以后连续的4 0 9 6 个端口号,可以对应 一个外部合法m 地址建立和4 0 9 6 个内部网主机的连接。 系统根据收到的数据报所属的会话状态数据在哈希表中是否存在,数据报的目 的端口号是否在用于转换的端口号范围内,作出判断。如果会话状态数据表项存在, 而且数据报的目的端口号在用于转换的端口号范围内,则该数据报是发往内部网中 主机的,需要进一步做地址转换。反之,则该数据报是发往路由器设备本身的,无 华中科技大学硕士学位论文 蕾一曩幂昌l 霹罩l 田帮鼍昔冒皇昌高= = 畜霉墨皇= 墨誊皇皇= 掌昌墨= = = = = = 需n a t 系统处理,直接交还给坤层。 如果该数据报是发往内部网中主机的,和m a s q 模块进行的处理类似,系统将首 先根据最新收到数据报的信息更新数据结构中的信息,再将更新后的数据重新插人 哈希表中。完成数据更新后,系统将对数据报中的伊地址进行修改转换,如果是 进行n a p t 还将端e l 号进行修改转换。 同样,对应于m a s q 模块,系统将检查是否有应用级网关应用于这种数据报, 如果有,则将数据报交由应用级网关模块进行处理。当从应用级网关模块处理完返 回后,将重新计算t c p ,u d p 数据报的校验和。最后,重新计算m 数据报中的校 验和,将数据报交还执行妒协议的任务t n e t t a s k ,由妒协议选路作进一步处理。 4 3 3i c m p 包的转换 如上所述,m a s q 模块和d e m a s q 模块将i c m p 报文的转换交由函数i n t i p _ f w _ m a s q _ i c m p 和i n ti p _ f w _ d e m a s q i c m p 专门处理。这主要是因为i c m p 报文处 理和口层密不可分,又十分复杂。 i c m p 经常被认为是职层的一个组成部分。它传递差错报文以及其他需要注意 的信息。i c m p 报文通常被p 层或更高层协议( t c p 或u d p ) 使用。一些i c m p 报文把差错报文返回给用户进程。i c m p 报文是在ip 数据报内部被传输的,i c m p 报文可以有1 5 个不同的特定类型。很多类型的i c m p 报文还使用代码字段的值来 进一步描述不同的条件。i c m p 校验和字段覆盖整个i c m p 报文。 大多数i c m p 报文中包含有关口包的部分信息,如图4 5 中的i c m p 超时报文 079l 5 163 1 类型( 1 1 )代码( 0 1 )校验和 未用( o ) i p 首部( 包括选项) + 原始i p 包中数据前b 字节 图4 5i c m p 超时报文格式 所以当i c m p 报文通过网络地址转换时,很多类型都需要进行2 次地址的修改, 华中科技大学硕士学位论文 | 口自_ _ q _ _ _ 目_ _ 目 目t _ 目。_ _ _ = = # = ;= 3 = = = j = 3 次校验和的修改,如图4 6 : k _ 一- 嗽妊搬一,1 h b 一i c m p 报文一叫 卜一一t c m p 掇文数据部分一一叫 f t 一广一厂厂 l ! 奎! 竺l! :竺l 竺竺l ! 竺! 竺竺竺l 二二j 字节2 0 字节。字节 2 d 字节8 字节 图4 6i c m p 报文相关修改 地址修改分别是: 嵌入在i c m p 包中的口首部中的m 地址需要修改 如上所述,负载i c m p 报文的包首部中伊地址也需要修改 校验和的修改分别是: 嵌人在i c m p 包中作为i c m p 包数据的m 首部中的校验和需要修改 由于i c m p 包数据中m 首部的伊地址和校验和做了修改,i c m p 包本身的 校验和也必须修改 负载i c m p 报文的口包首部中的校验和也需要修改 除了重定向类型报文以外( r e d i r e c tm e s s a g et y p e ) ,本系统中实现了大部分 i c m p 差错报文,包括: 目的不可达类型( 臁s 娃n 碰熊:豫鳆簸妇b 域m e s s a g e 姚麓) 源端关闭类型( s q 哪黔q h e n 曲m e s s a g el m e ) 超时类型( t i m e e x c e e d e dm e s s a g et y p e ) 参数问题类型( p 嬲嗽黩吨女弧 m e s s a g et y p 唪_ ) i c m p 协议没有t c p ,u d p 协议中的端口号支持n a p t 的传输标识符( t r a n s p o r t i d e n t i f i e r ) ,i c m p 协议使用询问标识符来支持n a p t 中对口地址的复用。 4 4 应用级网关的实现 本系统实现具有可扩展的接口,使a l g 和n a t 能很好的配合工作,通过注册 和注销,系统能根据需求方便的增加或删除特定的a l g ,具有良好的可扩展性,本 系统实现了最常用的f t p a l g 。 华中科技大学硕士学位论文 4 4 1f t p a l g 的实现 类似与n a t 的实现,f r pa l g 也分为从内部网主机发往外部网数据报地址转 换和从外部网主机发回内部网数据报地址转换两部分。f i pa l g 使用数据结构 s t r u c t i p m a s q _ a p p 来注册应用级网关a l g 的数据结构,其中,包括应用级网关的 名称,正在使用的连接个数等信息,最重要是s t r u c ti p _ m a s q a p p 中有一系列的函数 指针指向特定a l g 的操作函数。 f r p 采用两个t c p 连接来传输个文件| 3 4 1 | 3 5 1 如图4 7 。 控制连接以通常的客户服务器方式建立。服务器以被动方式打开用于f r p 的知名端口( 2 1 ) ,等待客户的连接。客户则以主动方式打开t c p 端口21 , 来建立连接。控制连接始终等待客户与服务器之间的通信。该连接将命令从 客户传给服务器,并传回服务器的应答。 每当一个文件在客户与服务器之间传输时,就创建一个数据连接。 客户 i 、1 晨务嚣 : 控制龠令 i 用户协议释摹 曩务u 协议口l i : 型 麸据连接 一f 鼍务嚣数据传输l 一 一l 2 三厂 图4 7 f i p 文件传输 f r p 命令和应答在客户和服务器的控制连接上以n v t a s c i i 码形式传送,这些 命令都是3 或4 个字节的大写a s c i i 字符,其中p o r t 命令和p a s v 应答中的参数 是一个a s c i i 字符表示的m 地址和端口号。f r pa l g 主要的功能就是监测和更新 p t p 协议中p o r t 命令和p a s v 应答,使f t p 的客户和服务器的控制连接能够透明 华中科技大学硕士学位论文 的通过n a t ,成功建立数据连接。 f t p a l g 需要注意的另一个问题是,由于p 地址和t c p 端口号使用a s c i i 编 码,修改它们可能造成包长度的变化。例如,p o r t l 0 ,1 8 ,1 7 7 ,4 2 ,6 4 ,8 7 中的参数是 1 8 个a s c i i 字符,更新后成为p o r t l 9 3 ,4 5 ,2 2 8 ,1 3 7 ,6 4 ,8 7 ,有2 0 个a s c h 字符。 如果新的长度和旧的长度一样,只需要重新计算t c p 校验和。反之,t c p 序列号 也需要做相应的修改来反应t c p 数据长度的变化。而且这个t c p 连接中所有未来 的包的序列号和响应号都需要做同样的修改。 本实现中,f t p a l g 返回t c p 连接所要修改的序列号的值,以此对t c p 数据 报进行修改。 4 4 2f t p a l g 流程图 实现f t p a l g 工作流程如图4 8 。 4 5 访问控制功能的实现 本系统中,访问控制的功能由包过滤模块实现。包过滤模块根据配置灵活进行 访问控制,能够根据源地址,目的地址,端口号,协议类型,服务类型、服务时间 等控制特性进行组合,以实现禁止或允许特定连接的建立,特定数据报的通过。 4 5 1 访问控制的实现 包过滤模块访问控制功能是基于访问控制列表( a c c e s sc o n t r o ll i s t ,a c l ) 来 实现的。系统使用数据结构s t r u c ta c c e s s _ l i s t _ s t a n d a r d 和s t r u c ta c c e s s1 i s t _ e x t e n d 表 示标准访问表和扩展访问表,标准访问表结构比较简单,应用与比较简单的需求, 足能对源m 地址和源端口号进行控制,它的访问表号是从1 到9 9 。扩展访问表则 i 匕较复杂,可以对源口地址和源端口号,目的p 地址和目的端口号,端口号范围, 瞰议类型等进行控制,它的访问表号是从1 0 0 到1 9 9 。 华中科技大学硕士学位论文 ( _ 竺= 一) 。:必 l ,。 扎 壶 糯甓麓喾叫 臣每1 | 转榭峥霸黼嘲蝴赣i l 一竺j 。,一 厂一jl | i 量 i |l 。j 爨4 + 8 瓣p a l g 漉程豳 用户可以通过没置一定的访问规则,对进出路由器的职数据报的i p 首部信息( 包 括i p 地址,封装协议,端门范围等) 进行检矗,对与a c l 定义的规则匹配的包执 行规弼定义的操作( 允许或拒绝) ,对与规潮不匿配的龟执行硬省撩作( 可以没定 为瓮海或夔缝) 。具钵实褒功越毒: 完成对通过包的检黉并进行规则匹配,根据匹配结果确定对包的操作 华中科技大学硕士学位论文 - l _ - - _ - - - _ _ _ _ - l _ _ _ - l i _ _ _ - - - _ _ - _ - - _ - _ 设置访问控制功能是否启动,缺省操作为允许或拒绝,设置或删除过滤规则 设置或解除规则与哪一个接口绑定,即对通过哪一个接口的包过滤 设定规则在接口上起作用的方向,即是过滤流人接口的包还是流出接口的包 对匹配规则的包作统计,和日志记录 设定标准过滤规则,使用命令,如表4 1 : 表4 1 标准过滤命令 c o m m a n dm :- l b 眇姆埘螺州脬m n 畸e n y j 伽“脚f 伽_ 钟。 ,i 鼬协】 n oa e c e s s 1 l s t f u n c f i o nd e f i n eas t a n d a r d a c l r u l e p a l $ v c c e s sl i s tn u m b e r ( 1 - 9 9 ) 订 f p e r m i t d e n y lp e r m i t o rd e n y p a c k e t a c r o s si ft h em l ea m t c h e s 忍, 即“,埘s o u r c ei p 舢埘j 部s ( a b c d a n yr e p r e s e n t0 0 0 o , p a r a m e t e r s 2 5 5 2 5 5 2 5 5 2 5 5 ) p a 4 【 】 占的访问表号是从1 到9 9 ,表示是一个标准过滤规则。 没定扩展过滤规则,命令十分复杂,如表4 2 : 表4 2 扩展过滤命令 a e t e 睁l i s t a c c e s s - l f l 嬉肼k , l 牟戚t id e n y ) c o m m a n d ) ,l t ( ) ,n e g o = ) ,r a n g ep lp 2 p d 9 【 t c p u d pp o r tn u m b e r 华中科技大学硕士学位论文 它的访问表号是从1 0 0 到1 9 9 ,表示是一个扩展过滤规则。根据协议是属于t c p , u d p 或i c m p ,命令的参数和长度都有变化。对于协议类型为t c p ,u d p ,命令增 加n 可以指定特殊的端口号的参数,还增加了参数e q ( = ) g t ( ) ,l t ( ) ,n e g ( f _ ) ,r a n g e 指定端f j 范围。 设置或解除规则与哪一个接口绑定和设定规则在接口上起作用的方向,都使用 命令,如表4 3 : 表4 3 接口绑定命令 lc o m m a n d i pa e e e 盼g r o u p a c c e s s - l i s t - n u m b e r , i n lo u t l f u n c t i o nb i n d t h ea e 龉妇t o a 抽耐h c e 砌j鲥口卅觑r ,埘,咕竹 越嘲0l i s tn 埘皿b e f ( 1 一1 9 9 ) 【p a r w n e t e r s p n 2 【i nfo u t 】r e f e rt of i l t e ri n s i d eo ro u t s i d ep a c k e t s 这些命令通过命令行解析后,将相应参数传递到包过滤模块。 包过滤模块解析相应参数的意义,并转换成合适的形式,存入上述数据结构i | i 。 然后,将特定的规则和相应的接u 绑定起来,通过将数据结构s t r u c t a c c e s s _ | i s t _ s t a n d a r d 和s t r u c ta c c e s s l i s t e x t e n d 组成链表,以供进行规则匹配时搜索。 包过滤模块先判断访问控制功能是否启动,如果启动,系统将继续查询系统缺 省操作,然后根据包首部的i p 地址,端口号,协议类型等信息从标准过滤规则和 扩展过滤规则两个链表中查询匹配,并结合缺省操作状态一起对包进行允许和禁止 操作。 4 5 2 包过滤模块流程图 进行包过滤部分的流程图如图4 9 。 4 6 管理模块的实现 本系统中,管理模块最先得到碑层h o o k 函数转交来的包,它根据系统的状态 信息和配置信息,以及收到包的特征对这个包的规定相应的操作。实现了能够在不 停止系统工作的情况下,对系统的配置进行即时的修改,改动的配置能即时生效。 4 0 华中科技大学硕士学位论文 _ _ - _ _ _ - _ - l _ l l - _ - _ _ - _ - - _ l _ _ i _ - _ _ _ _ p a c k e t f i l t e r 图4 9 包过滤部分流程图 管理模块中使用了一系列标志位来记录管理系统状态:f h e w a l l _ e n a b l e 标志系统 是否启动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古通辽市招募企业储备人才37人模拟试卷及完整答案详解
- 2025安徽淮南市招考村级后备干部81人模拟试卷及一套答案详解
- 2025广西樟木镇储备村(居)“两委”后备人才200人考前自测高频考点模拟试题及1套参考答案详解
- 2025年福建省福州市罗源县招聘教师40人考前自测高频考点模拟试题及答案详解参考
- 2025年菏泽单县教体系统第四次引进高层次人才(110名)考前自测高频考点模拟试题附答案详解
- 2025年湖南岳阳平江县卫健系统招聘卫生专业技术编外人员32人考试模拟试题及答案解析
- 2025重庆市綦江区扶欢镇人民政府公益性岗位人员招聘1人考试参考试题及答案解析
- 2025贵州天柱县人民医院招聘18人考前自测高频考点模拟试题及参考答案详解
- 能源规划合同
- 2025金华永康市产投运营管理有限公司招聘3人考前自测高频考点模拟试题及答案详解参考
- 统编版(2024)八年级上册语文:古诗文理解性默写 练习题+答案
- 船舶高级消防课件
- 管理岗位津贴管理制度
- 重症肺炎集束化治疗专题报告
- 麻醉科院内感染防控体系
- 2025年云南南方地勘工程有限公司招聘笔试参考题库含答案解析
- 工程部管理培训课件
- DB31/T 978-2016同步注浆用干混砂浆应用技术规范
- 【DAMA】2025智变-AI赋能政府与央国企智能化转型白皮书
- 新教材部编版二年级上册《4.彩虹》教学设计
- 航空宠物知识培训课件
评论
0/150
提交评论