(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf_第1页
(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf_第2页
(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf_第3页
(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf_第4页
(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)natpt网关设计与实现技术研究.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文篁! 里 摘要 i p v 4 地址空间匮乏、报头处理时间长和不适应现代面向流的网络 信息传输,促进了i e t f 定义了新一代i p 协议一一i p v 6 协议。但是 从i p v 4 网络向i p v 6 网络的全面过渡需要较长的时间。因此,在两类 网络和设备并存期间,解决不同版本的i p 协议设备间的互联问题刻 不容缓。 支持不同版本的i p 协议的互联问题可分为两类:支持同一版本 的设备借助支持另一版本的i p 协议的网络互联以及支持不同版本i p 协议的设备间的互访。前者可采用“包装”( e n c a p s u l a t i o n ) 、“隧道” ( t u n n e l i n g ) 借网过渡;后者需要采用协议转换的方式。i e t f 为后 一种隋况推荐了“网络地址转换一协议转换”( n a t - p t n e t w o r k a d d r e s st r a n s l a t i o n p r o t o c o lt r a n s l a t i o n ) 技术。 , 本文反映的对n a t - p t 技术分析、研究和网关的开发工作,是在 四川l 省网络通信实验室对i p v 6 协议测试技术研究的大背景下进行 的,其开发结果将作为未来的测试系统的试验测试对象之一。目前 国内外支持n a t - p t 网络产品尚不多,因此,研究n a t - p t 网关具有 一定的探索性。笔者选择了在微机硬件和l i n u x 操作系统平台下进 行n t - p t 网关的开发工作,其开发实践可为他人借鉴,开发成功后 也便于推广。 本论文所反映的笔者的工作包括以下4 部分:对n a t - p t 网关 协议的理解与分析;对n a t - p t 网关实现方式和体系结构的分析; 对n a t - p t 网关的设计和编程实现; 对笔者实现的n a t - p t 网关 进行调试和初步测试。笔者的n a t - p t 网关的特点之一在于引入了 i p v 4 地址池的概念,系统管理员只需要对地址池进行简单配置,网 关即可正常工作。笔者在分析了n a t - p t 技术不足之处的基础上,提 出了在未来工作中将封装技术与n a t - p t 相结合的思想,可以进一步 提高现有n a t p t 技术的灵活性和适应能力。 西南交通大学硕士研究生学位论文第| i 页 本文反映的工作覆盖了软件工程从需求分析、系统分析设计到编 程、调试和测试的全过程。初步测试结果表明笔者所开发的n a t - p t 网关基本上达到了预定目标,可以正常工作。由于时间关系,加上 实验室开发的i p v 6 测试系统尚未完成,因此,对网关的测试工作仅 限于初步测试。全面的测试工作只好留待今后去完成,这是本项工 作留下的一点遗憾。 关键词:n a t p t ,i p v 6 ,网关 西南交通大学硕士研究生学位论文 第1 ii 页 a b s t r a c t d e f i c i e n c i e so fi p v 4p r o t o c o li na d d r e s ss p a c e ,h e a d e rp r o c e s s i n g , a n di nh a n d l i n gs t r e a m o r i e n t e dt r a f f i c ,h a v es p u r r e dt h ed e v e l o p m e n t o fi p v 6 i nv i e wt h a tm i g r a t i o nf r o mi p v 4t oi p v 6w i l lt a k eq u i t eal o n g t i m e ,i t i s v e r yi m p o r t a n t t oi n t e r c o n n e c t s y s t e m s o f s u p p o r t i n g d i f f e r e n tv e r s i o n so fi p d u r i n gt h em i g r a t i o np e r i o d ,p e o p l eh a v et of a c ew i t ht w ot y p e so f i n t e r c o n n e c t i o n p r o b l e m s , i e ,i n t e r c o n n e c t i o n a m o n gs y s t e m s s u p p o r t i n gt h es a m ev e r s i o no fi pv i aa n o t h e rv e r s i o no fi pn e t w o r k s , a n dt h a tb e t w e e ns y s t e m ss u p p o r t i n gd i f f e r e n tv e r s i o n s i nt h ef o r m e r c a s e ,e n c a p s u l a t i n g ,t u n n e l i n g ,o rf e r r y i n gw o u l db et h eb e s tc h o i c e ; w h i l ei nt h el a t t e rc a s e ,t h e r ei san e e df o rp r o t o c o lc o n v e r s i o n f o rt h i s p u r p o s e ,i e t fh a sr e c o m m e n d e dat e c h n i q u ec a l l e dn a t - p t ( n e t w o r k a d d r e s st r a n s l a t i o n p r o t o c o lt r a n s l a t i o n ) ,w h i c hi st h em a i n t o p i co f t h i sd i s s e r t a t i o n t h es i c h u a nn e t - t o mk e yl a b o r a t o r yh a sb e e nw o r k i n go ni p v 6 t e s t i n gt e c h n i q u e s ;t h e r e f o r e ,t h e w o r kp r e s e n t e di nt h i sd i s s e r t a t i o n a i m sa tap r o t o t y p en a t p tg a t e w a y w h i c hc a nb eu s e da so n eo f t e s t i n gt a r g e t s i nv i e w t h a tt h e r ea r en o tm a n yn a t - p t p r o d u c t sa r o u n d , r e s e a r c ha n dd e v e l o p m e n to fan a t p tg a t e w a ya r en e c e s s a r yb o t hf o r t e c h n i c a l e x p l o r a t i o n a n df o rf u t u r e i m p l e m e n t a t i o n t h e a u t h o r s p r o t o t y p en a t - p tg a t e w a yw a sd e v e l o p e di nt h el i n u xo s e n v i r o n m e n t w i t h i nap cf o rs e c u r i t yr e a s o na n df o rp r o d u c t i z a t i o n t h ew o r kp r e s e n t e di nt h i sd i s s e r t a t i o nc o n s i s t so ff o u ra s p e c t s : u n d e r s t a n d i n g a n d a n a l y s i s o f n a t - p t ,a n a l y s i s o ft a c t i c sa n d a r c h i t e c t u r eo f i m p l e m e n t a t i o n o fn a t - p t g a t e w a y ,d e s i g n a n d p r o g r a m m i n g ,a n ds y s t e md e b u g g i n ga n dt e s t i n go ft h eg a t e w a y i p v 4 亘童塞堕查兰塑主塑窒皇耋篁堡窒 蔓! 生亘 a d d r e s s - p o o l i so n eo ft h em a i nf e a t u r e s o fa u t h o r s g a t w a y ,w h i c h s i m p l i f i e s t h e s y s t e mc o n f i g u r a t i o n f o r s y s t e mm a n a g e r f i n a l l y ,t h e a u t h o rh a sp u tf o r :w a r dan e wt h i n k i n gt oc o m b i n et h en a t - p t w i t ht h e e n c a p s u l a t i o nt e c h n i q u e ,w h i c h m i g h t c o n t r i b u t e f l e x i b i l i t y a n d a d a p t i o na b i l i t yt on a t p t t h ew o r kp r e s e n t e di nt h ed i s s e r t a t i o ns p a n st h ew h o l ep r o c e s si n s o f t w a r e e n g i n e e r i n g ,f r o mr e q u i r e m e n ta n a l y s i st h r o u g hs y s t e m a n a l y s i sa n dd e s i g n ,p r o g r a m m i n g ,d e b u g g i n g ,a n dt e s t i n g p r e l i m i n a r y t e s t i n g h a ss h o w nt h a tt h ed e s i g np u r p o s eh a sb e e nf u l f i l l e da n dt h e p r o t o t y p eg a t e w a y i s o p e r a t i o n a l at h o r o u g ht e s t i n gi n c l u d i n g c o n f o r m a n c et e s ta n dp e r f o r m a n c et e s tw e r ep l a n n e da t t h e b e g g i n g ; h o w e v e r ,f o rt h er e a s o nt h a tt h et e s t i n gs y s t e ma tt h el a b o r a t o r yh a sn o t y e tb e e nc o m p l e t e dd u r i n gt h i sd e v e l o p m e n t ,am o r ec o n v i n c i n gt e s t i n g h a st ob er e g r e t l yl e f tb e h i n d k e yw o r d s :n a t - p t ,i p v 6 ,g a t e w a y 西南交通大学硕士研究生学位论文篁! 夏 1 1 前言 第一章:绪论 1 9 8 1 年9 月i e t f 公布了i p v 4 协议的规范r f c 7 9 1 。1 9 8 3 年1 月1 只t c p i p 成为a p r a n e t 上唯一正式的协议后,a p r a n e t 上连接的 网络、机器和用户以每1 8 个月翻一翻的速度快速增长【4 “。到目前为 止,网络已经发展为仅路由器就以亿的单位来计算的庞大规模。 网络的迅速发展成就了t c p i p 协议,使它成为迄今为止最流行的 协议,无论是w i n d o w s 还是u n i x 操作系统,t c p i p 协议都是固化在 内核中,这足以显示t c p i p 协议的地位。然而,t c p i p 在设计之初 并没有考虑到它会发展为今天的规模,在网络速度、用户日益膨胀的 今天,t c p i p 的问题已越来越突出。地址空间不足、安全问题、效率 不高、不支持区分服务,这些都成为i p v 4 的致命要害。为了解决i p v 4 协议设计之初的不足,人们丌始在i p v 4 协议上打补丁来暂时缓解日益 突出的矛盾,为了缓解i p v 4 地址的不足而使用的无类别域问路由 c i d r 和n a t 技术,为了保证传输服务质量而设计了“资源预留协 议”( r s v p r e s o u r c e r e s e r v a t i o np r o t o c 0 1 ) ,为了解决i p v 4 的安全问 题而设计了i p s e c 协议1 5 ,等等一系列补丁被加在t c p i p 协议上,使 本来已经不堪重负的协议更加的低效。 为了解决i p v 4 的这些问题,同时弥补t c p i p 协议在以往的工作中 的不足,使之更好的发展,i e t f 成立专门小组i p n g 负责研发下一代 i p 协议,1 9 9 2 年该小组开发出了i p v 6 协议。i p v 6 吸收了i p v 4 网络在 以往工作中的经验,充分考虑了网络未来的发展以及和现有网络的兼 容性。所以当i p v 6 执议提出后,就表现出了很多的优越性:地址空间 大,2 1 2 8 - 1 ( 3 4 1 0 ”) 个地址,能够为所有可以想象出的网络设备提 供一个全球唯一的地址;高效的层次寻址及路由结构;有状态和无状 态地址配置;更好的服务质量q o s 支持;对移动设备提供更好的支持 性;提供标准化的内置安全机制;利用可扩展头提供强大的扩展性等 西南交通大学硕士研究生学位论文 第2 页 - - _ _ _ _ _ _ _ - _ _ _ _ _ _ _ - - j _ _ _ _ _ _ _ - _ - _ - _ _ _ _ _ _ - _ - _ _ _ _ _ _ _ - _ _ _ _ _ _ - _ _ 2 5 1 。这些都表明了i p v 6 协议既解决了现有i p v 4 存在的问题,又充分 考虑了未来网络发展需求。 从网络的发展的历史来看,新的技术能否获得成功不但取决于技术 本身,而且取决于能否被学术界和工业界所广泛接受并得到广泛的应 用。o s i r m 及其协议集所经历的失败就是最好的证明【4 引。目前,i p v 6 正在迅猛发展,i e t f 对i p v 6 的研究工作的进展已经拓宽到以i p v 6 为 基础对i n t e r n e t 原有各类上层协议进行修改;许多网络产品开发公司 已经提供同时支持i p v 4 和i p v 6 的产品,为基于i p v 6 的网络建设奠定 了有利条件。另一方面,国际上已经丌展建设以i p v 6 为基础的试验网 络,并以全球6 b o n e 项目为代表建立了i p v 6 网络的测试环境。由此, 可阻看出:从i p v 4 向i p v 6 的过渡的工作已经提到议事f l 程,一旦条 件成熟,过渡的步伐将迅速加快,直到全部取代i p v 4 。 在这一背景下,可以预见i n t e r n e t 从i p v 4 向i p v 6 全面过渡的整个 历史进程中,将出现二者并存的局面。因此如何实现同时存在的两种 网络的互联互通就成为过渡期中必须解决的重要问题。 1 2 过渡技术及研究现状 i p v 6 协议的优势决定了它最终将成为下一代网络的核心,i p v 4 协 议必然被取代,然而,由于技术方面的原因和非技术方面的原因,i p v 4 网络不可能在一夜之间全部过渡到i p v 6 网络,这样就必须有一种技术 来实现i p v 4 网络和i p v 6 网络的互联互通。 在实现i p v 4 和i p v 6 的互联互通的方法中。大致可以分三种方式: 隧道,双协议栈和协议转换【2 。 隧道方式是用来实现i p v 6 网络穿越i p v 4 网络或者i p v 4 网络穿越 i p v 6 网络,在隧道的二端是相同的网络,而隧道本身是另一种网络。 手工隧道( c o n f i g u r e dt u n n e l s ) 、自动隧道f a u t o m a t i ct u n n e l s ) 、t u n n e l b r o k e r 、6 0 v e r 4 、6 t 0 4 都是隧道技术。 双协议栈技术是在所有的网络通信节点上既配置i p v 4 协议又配置 i p v 6 协议,从而使得节点既可以和i p v 4 节点通信又可以和i p v 6 节点 通信。 西南交通大学硕士研究生学位论文第3 夏 _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ - _ - - - _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ 协议转换技术是通过协议转换使得不同的通信协议之间可以互联 互通,s i i t ,s o c k e t 6 4 ,n a t - pt ,b i s ( b u m p i n t h e - s t a c k ) ,t r t ( t 卜 a n s p o r tr e l a yt r a n s l a t o r ) 年h 应用层网关( a p p l i c a t i o nl e v e lg a t e w a y ) ,这 些技术都是属于协议转换的范畴。 i p v 4 向i p v 6 的平滑过渡是渐进实现的。虽然i e t fn g t r a n s 工作组 提出了一系列i p v 4 向i p v 6 过渡的机制及相关的工具,但应该指出, 没有任何机制能够适用于所有的情况,所有的过渡机制都有其特定的 适用环境。 表l 一1 大致划分了i p v 4 向i p v 6 的平滑过渡五个阶段,并归纳了上 述过渡技术的演进规律。 阶段一 阶器一 阶段三阶段四阶段五 网络纯i p v 4i p v 4 海洋i p v 6i p v 4 海洋i p v 6 海洋纯i p v 6 环境网络孤岛i p v 6 海洋i p v 4 孤岛网络 过渡 纯i p v 46 t 0 4 、t u n n e l n a t p t 、d s t m 、纯i p v 6 间的通b r o k e r 、6 0 v e r 4b i s 、a l gn a t - p t 、间的通 技术 信 n a t p t 、b i sb i s 、a l g 信 表卜1i p v 4 向i p v 6 过渡技术的演进 过渡技术伴随着i p v 6 一起迅猛发展,2 0 0 1 年,c i s c o 宣布对i p v 6 的支持作为战略重点;同年,法国电信研究部门制订了法国电信集团 向i p v 6 过渡的战略计划,近期,e x t r e m e ( 美国极进网络公司) 推出 的i p v 6 过渡技术硬件解决方案,将协议转换和路由功能都集成到硅晶 片中,大大降低了对c p u 的占用 4 2 1 。在国内,北京邮电大学在进行 i p v 6 过渡技术方面前沿性的研究工作。 现阶段的i p v 6 产品开发的特点是:以软件为主,注重兼容i p v 4 。 为了实现i p v 4 向i p v 6 的过渡,目前的主机和路由器以及应用程序都 采用了双栈技术,隧道技术和6 t 0 4 地址转换技术,将i p v 6 附着在i p v 4 产品之上。 n a t - p t 技术作为i p v 4 向i p v 6 过渡的一个重要技术,亦是研究的 重点和热点。北京邮电大学一直致力于这方面的研究,他们甚至提出 西南交通大学硕士研究生学位论文第4 页 了基于n a t - p t 技术的过渡策略,在2 0 0 1 年开发出基于n e t f i l t e r 的 i p v 4 i p v 6 转换网关i5 1 l ,该网关只完成了网络层的协议翻译,后来在 2 0 0 3 年开发了1 p v 4 i p v 6 透明网关。 本论文的主要内容是解决i p v 4 和i p v 6 互联互通问题的一种方式: “地址转换协议一协议转换”( n e t w o r ka d d r e s st r a n s l a t i o n p r o t o c o l t r a n s l a t i o n ) 网关的设计与实现。在相关研究工作的进展过程中,以 i e t f 的标准r f c 2 7 6 6n a 卫p t 和r f c 2 7 6 5s t a t e l e s s1 p t l c m p t r a n s l a t i o n a l g o r i t h m ( s i i t ) 为蓝本,其他的相关资料为辅助来探索 n a t - p t 网关的工作机制,在实现平台上选择l i n u x 操作系统。本论文 重点论述了该网关的工作机制和实现方法。 1 3 笔者工作概述 本论文所涉及的n a t p t 网关是四川省网络通信技术重点实验室的 两大研究方向之i p 协议测试技术研究和测试系统开发的组成 部分,其长远的目的是将本项研究成果作为该测试系统的测试对象之 一。另一方面,它也是实现实验室研究的新一代体系结构中,实现与 现有i p v 4 和将来的i p v 6 网络与新体系结构互联手段的研究工作的组 成部分之一。 本论文反映的n a t p t 网关的设计与开发工作包括: 夺n a t p t 技术分析、n a t p t 网关功能分析和模块划分以及各模 块的功能分析; 夺n a t p t 网关各功能模块设计( 概要设计和详细设计) ; 夺n a t p t 网关软件代码实现。 审系统测试( 单元测试和集成测试) :单元测试按传统的软件测 试方法进行;由于集成测试需要建立n a t - p t 网关的工作环境, 而四川i 省网络通信技术重点实验室开发的i p 路由器测试系统 尚未完成,因而难以用该系统对n a t p t 网关是否符合协议文 本进行全面的测试( 即进行c o n f o r m a n c et e s t i n g ) 。因此,本 系统的集成测试只是通过支持不同i p 的系统间的互联的简单 测试来初步判断笔者的网关设计是否符合基本符合相关标准。 西南交通大学硕士研究生学位论文 第5 页 1 4 论文结构 本论文以后的章节安排如下:在第二章中,将分析n a t p t 技术和 n a t p t 网关的功能以及网关的总体结构;第三章中,将分析并设计网 关底层的模块一一数据管理模块;第四章分析网关中n a t 机制及其实 现;第五章将分析协议转换的细节和算法及其实现;第六章将分析网 关中应用数据转换的细节及其实现,包括d n s 和f t p 应用数据的转换; 第七章将介绍软件的测试过程已经测试环境的组建和测试的结果;第 八章给出本论文在工作中得出的结论和对未来工作的展望。 西南交通大学硕士研究生学位论文篁! 页 第二章:n a t - p t 技术分析与网关总体设计 2 1n a t - p t 技术概述 n a t p t 技术结合了n a t ( n e t w o r k a d d r e s st r a n s l a t i o n ) 和 p t ( p r o t o c o lt r a n s l a t i o n ) 技术以及部分应用层网关技术( 主要是 d n s ) ,使得以i p v 4 为基础的网络节点( 路由器或计算机) 与以i p v 6 为基础的网络节点之间可以互通,就像与同类网络设备互通一样。换 言之,这种互联互通对双方是“透明”的“1 。 应当指出,n a t p t 中的地址转换( n a t ) 与现有i p v 4 网络中因i p v 4 地址空间匮乏而采用的n a t 有很大的区别。后者是同类地址结构中的 内部i p 地址与在全球具有唯一性的i p v 4 地址之间的转换;而n a t p t 技术中的n a t 则是在地址结构不同的i p v 4 地址和i p v 6 地址间的转换。 由于i p v 4 报文头( m e s s a g eh e a d e r ) 与i p v 6 分组头( p a c k e th e a d e r ) 在字段的设置、字段的格式和意义上有着较大的区别,因此n a t p t 中的p t ( 协议转换) 则是尽可能地对i p v 4 协议和i p v 6 协议的语义作 必要的映射与转换。由于n a t p t 需要实现i p v 4 和i p v 6 网络内端系统 间的互联,从严格的意义上讲,n a t p t 网关又是应用层的网关,必须 对部分高层协议进行部分转换;n a t - p t 可以采用借助应用网关来配合 来完成相关的工作,也可以在n a t p t 网关中实现相应的应用层数据转 换的功能。 n a t p t 利用n a t 技术,在不同的网域内分别将i p v 4 地址和i p v 6 地址看作全局地址内部地址;在i p v 6 网域内维护可用的i p v 4 地址池, 分配和回收i p v 4 地址;著在i p v 4 掇文头和i p v 6 分组头间进行语义转 换,从而实现在不同网域内的节点之间的透明互联。 这里有必要说明,n a t p t 技术只需要在i p v 6 网域内维护i p v 4 地 址池,而不需要在i p v 4 网域内维护i p v 6 地址池,原因就在于i p v 6 协议在设计时充分考虑了与i p v 4 协议的兼容性,在i p v 6 地址中定义 的兼容地址( :0 9 6 ) ,映射地址( :f f f f :0 9 6 ) 来实现和i p v 4 兼容。 在n a t p t 技术中,又定义了转换地址,即前缀是:f f f f :0 9 6 ,后3 2 西南交通大学硕士研究生学位论文第l 页 位为i p v 4 地址形式的i p v 6 地址。可以认为,在n a t p t 技术中潜在的 i p v 6 地址池就是0 :f f f f :0 9 6 形式的i p v 6 地址。 使用n a t p t 技术的网关放置在i p v 6 网络与i p v 4 网络交界处,如 下圈2 一l 所示: 图2 1n a t p t 网关的位置 注:图中虚线表示可有可无 , 对于i p v 6 或i p v 4 网络内部的通信,网关不需要对这样的通信数据 做地址、协议转换,而对于发往网关另一侧网络的数据,网关则需要 做相应的地址、协议转换。 2 2n a t - p t 层次结构 从n a t p t 技术提出的动机可以知道,n a t p t 技术耍能实现纯i p v 6 协议节点和纯i p v 4 协议节点可以透明的通信,无论是i p v 4 网络发向 i p v 6 网络的数据包还是i p v 6 网络发向i p v 4 网络的数据包,都要将数 据包拦截下来,并对数据包做相应的转换,这些转换包括地址转换、 协议的语义转换和可能的上层协议的转换,从而使得这些数据包在发 往网关的另一侧时可以为另一种协议所理解。这样,根据上面的分析 以及网络o s i 模型的层次关系,可以划分n a t p t 的层次结构如下图2 2 所示: 西南交通大学硕士研究生学位论文第8 页 高层转换功能 i p 层转换功能 数据链路层与i p 层接口与管理功能 l 数据链路层+ 物理层l数据链路层十物理层2 i n t e r n e t 应用层+ 传送层 网络层 数据链路层及增强 子层+ 物理层 图2 2n a t p t 的层次结构与i n t e r n e t 协议层次的对应关系 如上图,n a t p t 分为4 个层次,从下向上依次是: 数据链路层+ 物理层:在这一层中,是利用数据链路层技术获取 n a t p t 网关接收到的数据包,从而可以对数据包做进一步的处理。这 里并没有具体的列出所用的数据链路层技术是什么技术,是因为 n a t p t 技术是对数据链路技术独立的,无论是以太网,p p p 还是其它 的链路技术,n a t p t 技术都是可以工作的。 数据链路层与i p 层接口和管理功能:这一层是连接数据链路层和 i p 层的功能接口,同时,它又负责对数据的接收和发送以及其它的管 理功能。从网络层次上来看,它对应0 s i 模型中的数据链路层的增强 子层。 i p 层转换功能:对i p v 4 和i p v 6 的协议转换,包括地址转换和协 议的语义转换以及对i c m p v 4 和i c m p v 6 协议的转换都是在这里完成的, 它是n a t p t 技术的核心。 高层转换功能:网络通信中,应用层的数据中有一些是关联到i p 地址的,它们把i p 地址嵌入到数据中才能正常的工作,比如d n s 和 f t p ,在接收到这样的数据时,网关也需要对其中的i p 地址做相应的 转换,并考虑地址转换对传输层和网络层报头的影响,从而使网关另 一侧的协议理解所接收到的数据。 2 3 总体设计 前面分析了n a t p t 技术,并划分了n a t - p t 技术的层次结构,由此, 可以具体的设计n a t p t 网关的。 根据实际的需要和试验条件的限制,本网关的设计是在基于l i n u x 平台的微机上实现的,该微机中配置了二块以太网网卡,分别配置为 西南交通大学硕士研究生学位论文蔓! 夏 i p v 4 地址和i p v 6 地址,连接i p v 4 网络和i p v 6 网络。出于试验阶段 的考虑,i p v 4 地址池也采用内部地址的形式。在协议转换算法上采用 无状态i p i c m p 转换算法s i i t ( s t a t e l e s si p i c m pt r a n s l a t i o n a l g o r i t h m ) ,同时在应用层转换实现了d n s 和f t p 协议数据的转换, 设计之初的设想网络环境如图2 3 所示: 图2 - 3 网关设计环境 对于n a t p t 网关来说,它放置与i p v 4 网络和i p v 6 网络的边界处, 处理需要转换的i p v 4 和i p v 6 数据包,必定是支持i p v 4 和i p v 6 协议 的,从而可以接收i p v 4 的数据包和i p v 6 的数据包。在网关设计时, 设计网关在安装好之后就可以直接工作,尽量减少对网关设置,这样 就不必每次在安装时都要做的类似的配置工作。综合上面的考虑,本 网关采用在数据链路层拦截数据包的技术来将数据包读取下来,从而 可以对需要转换的数据包做转换,然后将转换后的数据包再写回到数 据链路层,不需要转换的数据包就交由协议本身处理。 2 3 1 数据链路层技术及可行性分析 在对众多的数据链路层技术分析比较后,在本设计中采用了b p f ( b e r k e l e yp a c k e tf l i t e r ) 技术。 b p f 是数据包过滤器( p a c k e tf l i t e r ) 的内核代理程序,因为拦 截监听程序是以用户级别进程工作,而t c p i p 则是工作在内核级的, 使用b p f 技术可以实现数据包的拷贝跨越内核用户保护界限。 b p f 在现在的l i f l u x 版本中都是作为一个模块加载到内核中。b p f 所做的事情,就是读入数据,按照规则检查数据,符合要求则向上层 模块传递数据,不符合要求的数据就抛弃。而且它还是与协议独立的, 西南交通大学硕士研究生学位论文篁! 鱼耍 对于那些确实是发到协议中的数据包,协议部分也可以接收到这个数 据包。图2 4 是b p f 的模型及其接口m 、2 。 匦叵稠匝叵鲴匝匾圈 2 薹 图2 4b p f 的模型及其接口 由上图可见,b p f 在核心设_ 置了过滤器,预先可对数据包进行过滤, 只将符合条件的数据提交给用户进程。每个b p f 都有一个b u f f e r ,如 果过滤器判断接收某个包,b p f 就将它复制到相应的b u f f e r 中暂存起 来,等收集到足够的数据后再一起提交给用户进程,从而提高效率。 当b p f 在网络接口上监听时,数据包到达网络接口设备,链路层设 备驱动器会首先调用b p f ,b p f 会将数据包传递给每个监控进程的过滤 器。对于每一个过滤器接收的数据包,b p f 将所需的数据拷贝到与之 相连的缓存中,然后,设备驱动程序重新获得控制权,如果数据包目 的地址是本机地址,将进行正常的网络协议处理过程。 这样,b p f 过滤器可以按过滤器的设置来拦截数据链路层的数据, 并提交给用户进程,同时,它对于网络协议是没有影响的。这样,就 可以利用它将网络中的需要处理的数据包读取下来,进行必要的协议 西南交通大学硕士研究生学位论文第11 页 转换处理,在本网关中即是对数据包进行i p v 4 和i p v 6 之间的地址、 协议转换,从而采用b p f 技术是可行的。 2 3 2 网关结构设计 经过上面的分析,将数据拦截下来是完全可行,在接收到要处理的 数据后,就是对数据包做地址转换和协议转换。 根据对n a t p t 技术分析和实际需要出发,将网关功能结构进一步 划分为六个模块,如下图2 - 5 d n sa l tf t pa l t a l t m a n a g e r n a ts i i t d a tam a n a g e r f 以太网接口板以太网接口 ( n i c )板( n i c ) 高层转换功能 i p 层转换功能 数据链路层与i p 层接口与 管理功能 数据链路层+数据链路层+ 物理层1物理层2 图2 5 进一步细化后的n a t p t 的功能层次结构 图2 5 与图2 2 中的n a t p t 功能模块层次结构相比,与应用层 相关的部分进一步细化为d n s a l t ( a p p l i c a t i o nl a y e rt r a n s l a t i o n ) 和f t p a l t 两部分;n a t p t 网关模块中的i p v 4 地址池是n a t 的一部 分,没有出现在图2 5 中。 d a t a m a n a g e r 模块:这是n a t p t 网关数据链路层与网络层之间的 增强型接口和数据管理模块。它的功能包括对网关进行初始化;对b p f 过滤器进行设置;对数据链路层与网络层间的输入输出数据进行缓存; 拦截数据包并将报头字段转换交s i i t 模块来处理,地址转换处理交 n a t 模块进行处理;对必要信息的进行记录,以及将转换后的报文分 组向另一网域转发。 n a t 模块:这个模块的功能包括地址转换功能和所需要的i p v 4 地 址池( 地址池在实现时表现为一个记录可分配的i p v 4 地址的文本文 西南交通大学硕士研究生学位论文 第12 页 件) ,n a t 模块根据此文件的配置建立可用的地址表,然后处理地址的 分配、回收和映射。 s i i t 模块:该模块的主要功能是对d a t a m a n a g e r 模块提交的数据 包进行协议字段的映射和转换,它要调用a l t m a n a g e r 模块的接口来 完成对上层数掘的处理。 a l t m a n a g e r 模块:这个模块是n a t p t 技术结构中没有的,它在 这里的主要作用是接收来自s i i t 模块的调用,同时将需要处理的上层 数据递交给相应的a l t ,同时,它还要调用n a t 模块来完成对上层数 据中包含的地址进行处理。 d n s a l t 模块:该模块要完成对d n s 数据包的处理,包括报头中的 六个域( 标识、标志、问题数、资源记录数、授权资源记录数、额外 资源记录数) ,以及报文中的各个问题和各个资源记录。 f t p a l t 模块:这个模块完成对f t p 控制数据包的处理。在f t p 建 立的二个t c p 连接中,其中控制信道有几个命令和回复是和i p 地址关 联的,需要f t p a l t 来完成对这些命令和回复的转换,从而保证f t p 连接可以在纯i p v 4 节点和纯i p v 6 节点之间建立起来。 2 3 3 接口与流程 前面给出了网关的体系结构设计,将网关在逻辑上划分为六个模 块,这几个模块将共同完成对数据包的地址和协议转换。在各个模块 之间的接口设计中,类似于网络的服务访问点的方式来设计,即每个 模块设计一个函数与调用它的模块通信,亦即传输参数,其他的函数 来完成该模块的功能。从而降低模块的耦合性,提高模块的内聚性。 在数据处理的整个过程中,首先是保存处理拦截的数据包,可以定 义一个输入缓存,然后在处理数据包的过程中,将需要处理的数据保 存到输入缓存中,这类似于i p 协议的缓存思想,软件将输入缓存中的 数据处理完,同时将结果依次保存在输出缓存中,最后,当处理结束 时,输出缓存中的数据亦即是协议转换后的数据包,直接它发送出去 就完成了对数据包的地址、协议转换。 西南交通大学硕士研究生学位论文第1 3 页 2 4n a t p i 简单工作过程 前面说明了n a t p t 的功能模块的层次结构,下面说一下各个模块 在在对数据包的处理过程中是如何协调工作的。 图2 - 6n a p t 简单通信环境 当网关的初始化工作完成之后,若图2 6 中i p v 4 网络中的节点b 需要与i p v 6 网络中的节点a 进行通信,其工作过程中如下: b 节点发出一i p v 4 报文( m e s s a g e ) ,内含u d p 报头和需要转换的 上层应用层p d u ,经i p v 4 网络内的d n s 的配合,被转发至n a t p t 网 关。网关的协议转换模块将i p v 4 报文的目的地址和源地址交给n a t 模块进行地址转换。在这一过程中,n a t 模块可能是在映射链表中找 到己经存在的映射地址,也可能从地址池中指派可用地址;然后再由 p t 模块对两种不同i p 报头字段进行解释和转换。如果报文内应用层 数据需要转换,还需要将应用层协议部分交应用层转换模块处理,经 应用层转换模块处理之后再由p t 模块继续完成对i p 包头的处理,如 计算检验和。最后这个转换后的新i p v 6 分组( p a c k e t ) 就可以转发到 a 节点了。 从i p v 6 网的a 节点发至i p v 4 网的i p 分组的处理过程则进行相反 的转换过程。 堕壹窒塑盔兰堡受窒生堂丝迨窒 笪! ! 夏 第三章:d a t a m a n a g e r 模块分析与设计 前面叙述了网关的总体设计,其中d a t a m a n a g e r 模块处于网关功 能结构的最低层。它的功能是初始化网关,使之可以正常工作,设置 b p f 过滤器,分配输入输出缓存,分配套接字,将数据链路层的数据 包拦截下来,然后交由s i i t 模块来处理,并将处理后的数据包转发出 去。这里需要说明的是,出于程序设计的考虑,在d a t em a n a g e r 模块 中,只设计了和s i i t 模块的接口,而由s i i t 模块来调用n a t 模块完 成地址转换。 3 1 程序流程与数据结构定义 程序流程 由于m a n a g e r 模块是处于网关功能结构的最底层,所以在程序设计 中,它处于一个程序的主函数的地位,一些初始工作和数据结构的定 义都是在这里完成的。本模块的程序流程如下图3 1 所示: 开始程序 搏捉到程序釜壅篮馥 , 一 由 结 束 程 序 定义变量和数据结构 获取网关配置信息 设置包过滤器 分配套接字 拦截数据包 将处理后的数据包转发 图3 - 1d a t e m a n a g e r 程序流程 上图中: 设置包过滤器的主要功能是分别设置过滤i p v 4 、i p v 6 、a r p 、n d ( n e i g h b o r d i s c o v e r y ) 数据包的b p f 过滤器; 西南交通大学硕士研究生学位论文第15 页 分配套接字的主要功能是建立套接字,绑定套接字和上层接口,设 置网卡为混杂模式,并将b p f 设备作为套接字的输入输出设备; 获取过虑后的数据包,将数据包的m a c 地址倒置后保存到输出缓存 中,然后将i p 层以后的数据提交给s 1 1 t 模块处理,并将处理后的数 据包转发; 拦

温馨提示

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

评论

0/150

提交评论