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

下载本文档

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

文档简介

北京邮电大学硕士论文 s n m p 网管安全性的研究与实现 s n m p 网管安全性的研究与实现 摘要 随着互联网技术的发展,特别是i p v 6 ,网络的规模正在迅速扩大,i p 网络 已经渗透到社会各个领域,尤其在教育、商业、金融等重要部门。基于t c p i p 的i n t e r n e t ( 互联网) 已把人们带入前所未有的信息时代。所以,如何保证网络 高效、安全和畅通的运行变得尤为重要,更加迫切地需要一个安全地,可网管 的网络。这个重任当然就落在s n m p v 3 的身上。 本文首先简要地介绍了s n m p 网络管理框架,原理以及它的安全体系,并系 统分析了存在的安全漏洞以及相关的新标准,在对s n m p v 3 体系结构以及相应的 m i b ( 即s n m p t a r g e t m i b 、s n m p n o t i f i c a t i o n m i b 、s n m p p r o x y m i b 、 s n m p u s m m i b 、s n m p - v a c m - m i b ) 进行了系统地分析的基础上,着重研究和探讨 了s n m p v l ,2 ,3 共存环境下,如何解决s n m p 网管安全性问题,提出一种基于p r o x y 的解决方案,使得原有的s n m p v l ,v 2a g e n t 很方便的具有v 3 的安全特性,最终 使得整个网络的管理的安全性得到保障。本项目以支持i p v 4 i p v 6 双栈的共享 网络为实验环境,结合u n i x 操作系统( l i n u x 、s o l a r i s 、f r e e b s d ) 和j a v a 语 言本身的优越性。提出了具有良好可扩展性的解决方案,并给出了具体关键技 术的实现细节和测试结果。 【关键词】 s n m p v 3m i b u s mv a c mp r o x y s e c u r it y 北京邮电大学硕士论文 a b s t r a c t a b s t r a c t w i mt h e d e v e l o p m e n to ft h e i n t e m e tt e c h n o l o g y , e s p e c i a l l yt h ei p v 6 t h e s c a l eo ft h en e t w o r ki se x t e n d i n gf l e e t l y i pn e t w o r kt e c h n o l o g yh a db e e nu s e di n e v e r yi m p o r t a n tf i e l d s u c ha se d u c a t i o n ,c o m m e r c e ,f i n a n c e n l ei n t e m e tw h i c h b a s e dt c p i ph a db r o u g h t p e o p l e i n t oan e wi n f o r m a t i o nt i m e s b u t ,h o wt o g u a r a n t e et h es e c u r i t ya n de f f i c i e n c yo ft h en e t w o r ki s c r u c i a l s oi ti s u r g e n tt o b u i l das e c u r e ,m a n a g e a b l en e t w o r ka n do fc o u r s et h i si m p o r t a n tt a s ki sd e p e n d so n s n m p v 3 t 1 1 i st h e s i sf i r s t l yi n t r o d u c e st h ef r a m e w o r k ,p r i n c i p l e ,s e c u r i t ys y s t e mo ft h e s n m pn e t w o r km a n a g e m e n ta n da n a l y s e st h ep o t e n t i a ls e c u r i t yl e a k ,a n dt h e n d i s c u s s e sa n dr e s e a r c h e s 也es n m p v 3f r a n l e w o r ka n d t h er e l a t e dm i b s ( s n m p t a r g e t - m i b ,s n m p - n o t i f i c a t i o n m i b ,s n m p p r o x y m i b ,n m p - u s m m i b , s n m p v a c m m i b ) ,a n do nt h eb a s eo ft h e s e ,t h i sp a p e re m p h a s i z e sh o w t o s o l v et h es e c u r i t yq u e s t i o ni nt h ec o e x i s t e n c eo fs n m p v l ,v 2 ,v 3 ,a n db r i n g sf o r w a r d af e a s i b l es o l u t i o nb a s e dp r o x yw h i c hs o l v et h es e c u r i t yl e a ko f t h es n m p v l v 2 , a n di nt h ei p v 4 i p v 6d u a l s t a c k c o m p a t i b l e n e t w o r ke n v i r o n m e n t ,t h e i m p l e m e n t a t i o nf o r a p r o x ys o f t w a r es y s t e ma n dt e s t i n g r e s u l t si sg i v e n k e y w o r d : s n m p v 3m i bu s mv a c m p r o x ys e c u r i t y 北京邮电大学硕士论文p v 4 与j p v 6 协议 1 1 研究背景 第一章前言 随着互联网技术的发展,特别是i p v 6 ,使得网络的规模迅速扩大,i p 网络 已经渗透到社会各个领域,尤其在教育、商业、金融等重要部门。基于t c p i p 的i n t e m e t ( 互联网) 已把人们带入前所未有的信息时代。所以,如何保证网络高 效、安全和畅通的运行变得尤为重要,更加追切地需要一个安全地,可网管的 网络。这个重任当然就落在s n m p v 3 的身上。 然而由于历史原因和s n m p v 3 的复杂性,s n m p v 3 一直都没有被设备厂商 所重视,现有的网络设备仍然有很多仅仅支持s n m p v l ,v 2 ,这使得网络的正 常运行受到很大的威胁。而网络能否正常运行,影响到教育、商业、金融等行 业能否正常运转。 鉴于s n m p 研究的进展和设备厂商产品对s n m p v 3 的支持的实施情况,作 为8 6 3 科研项目“新下一代互联网技术综合实验环境”的网络管理子项目,有必 要提供个基于i p v 4 v 6 网络,支持s n m p v l ,v 2 ,v 3 的网络实验环境,以测试新 型的安全的网络管理系统。所以对“s n m p 网管的安全性研究与实现”课题的研 究是很有必要的。通过对s n m p v l ,v 2 ,v 3 共存下s n m p 网管中的安全问题的 研究,提出一种方案,使得原有的s n m p v l ,v 2 a g e n t 很方便的具有v 3 的安全特 性,同时对v 3 作了扩展,最后对该方案进行实现,并作为该8 6 3 项目的实验环 境进行测试以及和8 6 3 网管平台的各个模块如故障,性能等进行交互,进而验 证陔方案的可行性。 1 2 课题来源和意义 本课题来源于国家8 6 3 科研项目新一代互联网技术综合实验环境网络 管理子项目,本项目任务书中对整个实验环境的网管系统的需求如下: 夺要实现对口v 4 和i p v 6 双协议棱的支持; 冷确保网络管理的可行性和安全性; 夺能够开展于先进体系结构的新一代互联网的可扩展性研究。 夺具有配置管理、性能管理、失效管理、安全管理和计费管理等完整功能 的实用网络管理系统。 第1 页共7 2 页 北京邮电大学硕士论文 s n m p 网管安全性的研究与实现 要研究并实现一套完全满足上述项目需求的综合网管系统,无疑是对整个 网管系统的体系结构提出了很高的要求不仅在功能上要求具有国际标准化 组织( i s o ) 规定的五项功能,而且在可扩展性、鲁棒性、灵活性和安全性以及 性能等方面上提出了更高的要求,这就要求所要实现网管系统的底层网管基础 平台除了能够支持传统的s n m p v l 2 c 集中式管理模式,很重要就是支持 s n m p v 3 的基于视图的访问控制模式( v a c m ) 和基于用户的安全模式( u s m ) , 并且支持通过s n m p 安全地远程配置,以满足网管系统的可扩展性,鲁棒性、 安全性、灵活性和高效性方面的需求。因此研究i p v 4 f f p v 6 下s n m p v 3 和p r o x y 的实现,不仅有科研上的具有较高的学术价值,而且在实践上还具有较好的应 用价值。 1 3 课题目标 本课题目标是研究i p v 4 和 p v 6 双栈环境下i e t f 的网络管理框架 ( s n m p v 3 ) 方案的实现,并将其在上文提到的综合网管项目中得到应用。其 中本人主要负责s n m p v 3 网络管理框架咀及p r o x y 的研究与实现工作。从2 0 0 2 年5 月开始,到目前为止,已经基本实现了相关最新r f c ( r f c 3 4 1 1 - - r f c 3 4 1 5 ) 中建议实现的部分,并在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 双栈环境下使用: 夺s n m p v 3 可扩展的模块化体系结构的实现; 夺采用m a s t e r _ s u b a g e n t 架构,可以向m a s t e ra g e n t 动态注册;实现 s n m p t a r g e t m i b 、s n m p - n o t i f i c a f i o n - m i b 、s n m p - p r o x y m i b 、 s n m p u s m m i b 、s n m p v a c m m i b ,从而使得该p r o x y 具有良好的 可扩展性; 夺安全性和可移植性:协议操作上基于s n m p v 3 的v a c m 和u s m ,同时 在s n m p v 3 a g e n t 的实现上也借助了x m l 和j a v a 语言的平台无关性, 大大地提高了可移植性。 第2 页共7 2 页 北京邮电大学硕士论文 p q 4 与i p v 6 协议 第二章l p v 4 与l p v 6 协议 2 。1l p v 4 的局限性与缺点 二十世纪九十年代以来,采用t c p 1 p 协议栈的i n t e m e l 获得了空前的成功, 这说明i p 协议( i p v 4 ) 的设计是灵活和强有力的,并已经证明了它能够支持连接 各种规模的网络并保证它们之间的通信。不幸的是1 p v 4 的设计不是完美的,随 着i n t e m e t 用户正以几何级数的速度飞速增加,目前的3 2 位i p 地址空间已经不 能满足分配的需求。 新的计算机和通信技术不断发展,新的业务需求不断出现,用户对网络服 务的要求也越来越高,用户需要网络能够保证服务质量、提供安全性保障、支 持移动通信等等,而这些都是i p v 4 最初设计时所没有考虑到的。虽然人们采用 了各种技术,开发了很多新的协议来使i p v 4 提供对以上需求的支持,但是由于 协议本身的限制,这种支持也是很不完善的,只有开发一个全新的协议来替代 现在正在使用的i p v 4 协议才能根本解决这一问题。 总的来说,i p v 4 的缺点主要有以下几点: 夺地址空间的局限性:i p v 4 只有3 2 位长的地址空间,只容许约4 0 亿 ( 2 n 3 2 ) 个全球唯一标识的地址,4 0 亿看起来是一个很大的数目,但 是却远远小于全球的总人口数,再加上浪费极其严重,而且分配的极不 均筏,导致很多用户现在已经申请不到足谚的地址,并且将会进一步限 制新的应用技术如信息家电,宽带移动通信技术的应用和发展; 夺骨干路由器路由表爆炸:由于i p v 4 的地址分配不是按照可聚类的方式 进行的,导致路由表项不能进行有效的合并,在i n t e m e t 的核心路由器 上路由表甚至膨胀到了上否万条记录,极大的影响了路由转发效率; 夺性能:尽管现有的i p 协议表现得不错,但是一些源自2 0 年甚至更早以 前的设计还能够进一步改进。譬如校验和、最大包长度、对v l s i 实现 的支持等; 夺安全性差:网络安全现在已经变得如此重要,以至于必须要在i p 层这 么低的层次上来保证安全性; 第3 页共7 2 页 北京邮电大学硕士论文s n m p 网管安全性的研究与实现 夺移动性差:随着网络规模的不断扩大和移动网络的发展,对“即插即用” 的支持变得越来越重要。3 g 及各种移动设备的出现产生了移动数据通 信需求,而传统的i p v 4 协议解决起来很吃力。 2 2 i p v 6 协议 2 2 1j p v 6 对j p v 4 的改进 巨大的地址空间: i p v 6 有1 2 8 位的地址空间,容许2 1 2 8 个地址全球唯一标识的地址,即使 一个最小的i p v 6 网络子网掩码为6 4 位,其所拥有的地址空间仍是整个i p v 4 子网的约4 0 亿( 2 n 3 2 ) 倍,这样巨大丰富的地址空间,使未来每个接入设备如 移动终端,信息家电都可以用于一个全球唯一的、可以路由的地址,可以真正 保证端到端的通信。 安全性高: 对于i p v 4 ,i p s e c 是可选的实现,只有通信的双方都实现了i p s e c 才能实现 安全通信;但对于i p v 6 ,对于i p s e c 的支持是强制的,一个i p v 6 的端到端的连 接是安全的,对通信对端的验证和数据加密保护使得敏感的数据可以在i p v 6 网 络上安全地传输,而且全球唯一的地址可以清楚的标识每个接点,并且避免了 n a t ( 网络地址转换) 对端到端安全性的破坏。 服务质量( q o s ) 好: i p v 6 包头有一个业务类别域( t r a 筒cc l a s s ) ,利用此域可以实现对关键用户 和应用的优先服务,i p v 6 包头的流标签域( f l o wl a b e l ) 则为流量工程 ( t r a f f i c e n g i n e e r i n g ) 和负荷平衡以及端到端的数据流提供了一个强有力的工 具:全球唯一的地址可以更详细的区分数据流,而结构化的地址可以很容易的 在边缘网络上实现数据流的聚合。 移动性强: 可以通过i p v 6 的地址自动配置功能在任何地方自动获得一个转交地址,并 且用此地址与网络上的通信节点进行通信。利用移动i p v 6 和家乡代理,i p v 6 移动终端可以在保持已有通信连接不被中断的情况下在不同的网络间进行漫 游,同时还能保持自身的可达性。 路由性能高: 第4 页共7 2 页 北京邮电火学硕士论文p v 4 与i p v 6 协议 i p v 6 可聚类的结构化地址规范可以有效的限制骨干网路由表的条数,按照 i p v 6 地址规范,骨干网缺省只需要8 1 9 2 条,解决了骨干路由表的爆炸问题; 同时i p v 6 简化了的、固定长度的头部结构,以及用可选的扩展头部替代i p v 4 头部的可选项,扩展头部也分为中间路由器要检查的,和只需要终端接点检查 的两类,使i p v 6 路由器厂商更容易实现硬件加速。 组播和任意播: 在i p v 4 中组播是可选的实现,而在i p v 6 中组播使强制实现的,在i p v 6 核 心规范中广泛地使用组播;同时i p v 6 还支持i p v 4 中没有的任意播送( a n y c a s t ) 地址,更有利于服务的自动发现 2 2 ,2l p v 6 地址 2 2 2 1l p v 6 地址的语法表示 i p v 4 地址长度为3 2 位( 4 个字节) ,采用“点分十进制”的形式“d d d d ”,在书写 这种地址时,每个字节作为一个无符号整数,四个字节写成由三个点号分开的 四个十进制数,例如:1 2 9 2 8 3 0 1 。 标准的i p v 6 地址表达方式 对于i p v 6 地址来说,r f c l 8 8 4 规定的标准语法推荐把i p v 6 地址的1 2 8 位 f 1 6 个字节) 写成8 个1 6 位的无符号整数,每个整数用四个十六进制整数表示; 这些数之闯用冒号分开,例如:2 0 0 1 :2 5 f :f e e 4 :o o o o :o o o o :o o o :d 2 1 9 :8 4 c a 简化的i p v 6 地址表达方式 上面是一种比较标准的i p v 6 地址表达方式,考虑到i p v 6 的巨大地址空间 和工p v 6 的地址分配策略,i p v 6 地址中很可能包含一长串的0 。当出现这种情况 时,标准中允许用“空隙”来表示这一长串的0 ,举例说明,地址f r 0 1 :o :0 :o :o :o :o :1 司以表示为i f 0 1 :1 ,这两个冒号表示该地址可以扩展到一个完整的1 2 8 位地址, 但只有当某个1 6 位组全部为0 时才会被两个冒号取代,且两个冒号在地址中 只能出现一次,例如,对于地址0 :0 :0 :b a 9 8 :7 6 5 4 :0 :0 :0 ,只能表示 成:b a 9 8 :7 6 5 4 :0 :0 :0 或0 :0 :0 :b a 9 8 :7 6 5 4 :,但不能表示成:b a 9 8 :7 6 5 4 :,否则会产 生歧义。 i p v 4 和i p v 6 地址的混合表达方式 在i p v 4 和i p v 6 的混合环境中可以有第三种表示方法。i p v 6 地址中的最低 3 2 位可以用于表示i p v 4 地址,该地址可以按照一种混合方式表达,即 第5 页共7 2 页 北京邮电大学硕士论文s n m p 网管安全性的研究与实现 x :x :x :x :x :x :d d d d ,其中x 表示一个1 6 位整数,而d 表示一个8 位十进制整 数。例直口,地址2 0 0 1 :2 5 0 :f e e 4 :1 2 9 ,2 5 3 2 8 7 就是一个合法的i p v 6 地址。 总之,除了上述所介绍的表达方式外,由于i p v 6 地址被分成两个部分:子 网前缀和接口标识符,因此一个i p v 6 节点的地址可以按照类似c i d r 地址的方 式表示为一个携带额外数值的地址,其中指出了地址中有多少位是掩码。即, i p v 6 节点地址中指出了前缀长度,该长度与i p v 6 地址间以斜杠区分,例如: 2 0 0 1 :2 5 0 :f 0 0 4 :d 2 1 9 :8 4 b b 4 8 ,这个地址中用于路由选路的前缀长度为4 8 位。 2 2 2 2 i p v 6 地址结构与类型 i p v 6 地址是具有层次结构的,可以从i p v 6 的地址前缀上区别i p v 6 地址的 类型。r f c 2 3 7 3 中定义了i p v 6 的地址类型有三种:单播、组播和任意播地址。 单播地址( u n i c a s t ) :一个单接口的标识符。送往一个单播地址的包将被 传送至该地址标识的接口上。包括下列种类: 1 ) 全球可以路由的地址: 其地址格式请参见下图2 1 31 33 21 66 4 比特 l 。,。t l an l as l a接口标识 图2 - 1 全球可以路由的单播地址格式 其中t l a ( t o p l e v e la g g r e g a t o r ) 为顶级聚类标识,可以不是实际的地址 分配机构的标识,主要用于实现骨干网路由器的路由表项的聚合,从而可以使 骨干路由器路由表缺省只需8 1 9 2 条( 2 “1 3 ) ;n l a ( n e x tl e v e la g g r e g a t o r ) 为 下一级聚类标识,主要用于标识地址的分配机构和提供商,n l a 还可以进一步 分成多个子级的n l a ,以便进一步详细分级标识;s l a ( s i t e l e v e la g g r e g a t o r ) 为站点本地聚类标识,用来标识一个站点中的每条链路:最后的6 4 比特为接口 标识地址,采用i e e e 的e u i 6 4 格式,唯一标识一个硬件接口。对于旧的4 8 位m a c 地址的以太网卡,映射到i p v 6 地址中时,在前面的2 4 位厂商标志后 面插入1 6 比特f i f e ,并把高2 4 位中的第7 位变为1 ( 该位用来说明6 4 比特的 e u i 地址是用户自己配置的,以区别由i a n a 正式分配的地址) 。 2 1 特殊类型的地址:除了由地址分配机构或i s p 分配的单播地址,我们还经常 遇到下列5 种类型的地址: 第6 页麸7 2 页 北京邮电大学硕士论文 p v 4 与i p v 6 协议 令非指名的地址( u n s p e c i f i e d ) :也被称为通配符( w i l d c a r d ) 地址或任何 本地( a n y l o c a l ) 地址,由1 6 个全0 的字节构成,可以用两个冒号表示 ( :) ,对应i p v 4 中的0 00 0 ,可以用作一个还没有配置正常地址的网 络接口的源地址,也可以被应用服务进程用来建立服务s o c k e t 。该地址 一定不能用作目的地址。 夺环回地址( l o o p b a c k ) :地址为“:1 ”,对于i p v 4 中1 2 7 0 0 1 ,用于节点 发送i p v 6 数据包给自身。 夺i p v 4 兼容的( i p v 4 一c o m p a t i b l e ) i p v 6 地址,例如:1 1 0 2 5 1 3 2 1 8 7 ,这种地 址主要用来构造自动隧道。 夺i p v 4 映射的( i p v 4 一m a p p e d ) i p v 6 地址,在i p v 4 的“点十进制”地址前加上 一个全1 的字节“f 肝,例如:自强1 1 0 2 5 1 3 2 1 8 7 ,用来映射纯i p v 4 主 机的地址到i p v 6 地址空间。 另外,在i p v 6 中还定义了另一种特殊前缀,以2 0 0 2 开头,称为6 t 0 4 地 址,这种地址也是用来自动构造隧道的。这种地址利用一个全球可路由 的i p v 4 地址作为 p v 6 地址第二级的标志,如: 2 0 0 2 :c a 6 f = 0 a o a :l :0 2 8 0 :c 8 i f :f e 2 b :f b 2 8这个地址把i p v 4地址 1 0 2 。2 1 2 1 0 1 0 填入i p v 6 地址的高1 7 - 4 8 位中。在6 m 4 路由器中,对于 这种地址可以定义一条发送规则,就是把其中的i p v 4 地址取中来,作 为目的地址,建立i p v 4 隧道。 3 ) 站点本地地址:相当于i p v 4 中的内部网地址像1 0 x x x 和1 9 2 1 6 8 x x 之类, 可用于企业内部网,无需申请和分配。其1 0 位的地址前缀f p = 】1 1 11 】01 1 ( f e c o ) ,最低6 4 位也是i e e e 6 4 的接口地址,其余1 6 位是子网i d 。剩下3 8 位为全0 ,其地址格式请参见图2 2 : i - 。3 81 66 4 比特 f1 1 1 1 ,1 1 i 0 ,1 i o子网i d接口标识 图2 - 2 站,最本地地址格式 4 ) 链路本地地址:只能在所在同一链路上或l a n 上使用,且不能被路由器转 发的地址,用于自动配置,其1 0 位的前缀f p = 1 1 1 11 1 1 01 0 ( f e 8 0 ) a 链路本地 地址是自动生成的,也是由网络接口卡的e u l 6 4 物理地址( m a c 地址) 填入i p v 6 地址的低6 4 位得到。其地址格式请参见图2 3 : 第7 页共7 2 页 北京邮电大学硕士论文s n m p 网管安全性的研究与实现 |l o5 46 4 比特 【1 1 1 1 ,1 1 1 0 ,1 0 o接口标识 图2 - 3 链路本地地址格式 任意播地址( a n y c a s t ) :一组接口( 一般属于不同节点) 的标识符。送往一个 任意点播地址的包将被传送至该地址标识的接口之一( 根据选路协议对于距离 的计算方法选择“最近”的一个) 。 其地址格式请参见下图2 4 : in1 2 8 n 比特 ls u b n e t 前缀 0 图2 - 4 子网任意播地址格式 组播地址( m u t i c a s t ) :一组接口( 般属于不同节点) 的标识符。送往一个组 播地址的包将被传送至有该地址标识的所有接口上。其8 位的地址前缀f p = 1 1 1 11 1 1 1f f f ) ,4 位的标签,i p v 6 标准中仅定义了最后1 位刈o o t ,t ( t r a n s i e n t ) t = o 表示该地址是被i a n a 永久定义的组播地址,反之,t = i 为非 永久性定义组播,4 位作用范围域,其地址格式请参见下图5 : i 84 41 1 2 比特 i1 1 1 1 1 1 1 f l a gs c o p e 组i d l 图2 - 5 组播地址格式 2 3i p v 4 i p v 8 兼容的双栈技术 要实现i p v 4 向i p v 6 的平滑过渡,有多种过渡技术,其中双栈技术是比较理 想的过渡策略。其工作机理为:主机和路由器同时运行i p v 4 和i p v 6 两套协议 栈,同时支持两套协议。i p v 6 和i p v 4 是功能相近的网络层协议,两者都基于相 同的物理平台,而且承载于其上的传输层协议t c p 和u d p 又没有任何区 别。由图2 - 6 所示的协议栈结构就可以看出,如果一台主机同时支持i p v 4 和i p v 6 两种协议,那么该主机既能使用i p v 4 与支持i p v 4 协议的主机通信,又能使用 i p v 6 与支持i p v 6 协议的主机通信。 第8 页共7 2 页 北京邮电大学硕士论文p v 4 与i p v 6 协议 应用程序 传输层协议( t c p u d p ) i p v 4 协议i p v 6 协议 i p 层以下部分 图2 - 6 双协议栈的协议间关系 对于双栈主机节点,为了能够直接同i p v 4 和i p v 6 节点相互操作,节点必 须提供一个能够处理i p v 4a 记录和i p v 6a a a a 或a 6 记录的解析器库。当d n s 中同时存在a 、a a a a 和a 6 记录时可能会有三种不同的操作:( 1 ) 只返回i p v 6 地址;( 2 ) 只返回i p v 4 地址 ( 3 ) 同时返回i p v 4 和i p v 6 地址。地址类型的选 择或不同类型地址的返回次序都将影响到最终产生哪种类型的i p 通信量。 不过“双栈”这个称呼本身有些误导。大多数i p v 6 实现并不提供两个完全不 同的t c p i p 栈分别为i p v 4 和p v 6 服务,而是提供一个混合的栈,在两套协议 栈中共享大部分代码。然而由于“双栈”这个术语已经被广泛应用于其他文档中, 本文仍将继续使用这个术语。 2 3 1 路由设备的支持 目前许多国际著名的路由器厂商和研究机构,通过在原有的高端路由器产 品中增加对i p v 6 的支持,或重新研制支持i p v 4 i p v 6 双栈的路由器产品,实现 了i p v 4 i p v 6 双栈兼容。 令c i s c o 路由器,通过在其i o s 软件内加入i p v 6 版本的支持,通过升级可 以实现了对i p v 4 f l p v 6 的双栈的软件支持; 令j u n i p e r 公司发布了支持i p v 6 的j u n o s ,通过升级也可以实现了对 i p v 4 f l p v 6 的双栈的软件支持; 令n o k i a 公司很早就推出了支持i p v 4 i p v 6 双栈的低端路由器: 夺f u j i t s u 、h i t a c h i 和n e c 公司都推出了自己的硬件支持i p v 4 i p v 6 的高端 路由器,性能达到了g s r 级别: 夺另外还有许多世界著名的网络公司和研究机构如3 c o m 、n o r t e l n e t w o r k s 、e r i c s s o nt e l e b i t 、g a t e dc o n s o r t i u m 、f u t u r e s o f t w a r e 、i p i n f u s i o n 、6 w i n d 等的路由产品也都支持双栈技术; 锛9 页共7 2 页 北京邮电大学硕士论文s n m p 网管安全性的研究与实现 夺中国国内北方交通大学和北京佳讯公司合作在2 0 0 1 也推出了支持 i p v 4 i p v 6 的双栈的路由器f h 6 5 0 1 ; 夺目前清华大学,中国科学院计算技术研究所正依托与本课题同一的国家 8 6 3 项目支持,开发支持i p v 4 i p v 6 的双栈的高端路由器和交换机,已 经完成基本实现工作。 2 3 2 主流操作系统的支持 现有的主流操作系统都透过了增加对i p v 6 的支持,实现了i p v 4 i p v 6 双栈 兼容。 s o l a r i s 从版本8 0 开始起支持i p v 6 夺l i n u x 在内核2 4 版中完善了对i p v 6 的支持; 夺基于b s d 的操作系统( f r e e b s d4 0 、o p e n b s d2 7 、n e t b s d1 5 、 b s d o s 4 。2 及以上舨本) 通过移植了曰本i p v 6 研究项目- k a m e 项目来完成对i p v 6 的支持; 令m i c r o s o f t 的w i n d o w s 2 0 0 0 系列可以通过p a t c h 来支持i p v 6 ,而随后 推出的w i n d o w s x p 则内置了对几乎所有i p v 6 特性的支持; 夺a p p l e 的m a c o s 从版本1 0 2 开始起支持i p v 6 ; 夺h p u x 从版本1 1 i 起开始支持i p v 6 ; 夺i b m 的a i x 从版本4 3 起开始支持i p v 6 夺s c ou n i x w a r e 从从版本7 起开始支持i p v 6 ; 2 3 3j a v a 语言对i p v 6 的支持 s u n 公司在2 0 0 2 年发布了最新的j a v a 标准开发组件和运行环境 j 2 s d 刚j r e1 4 版本,j a v a 网络a p i 从此版本起开始支持i p v 6 ,其实现遵 从下列r f c 标准: 夺r f c2 3 7 3 :i p v 6 地址结构; 夺r f c2 5 5 3 :基本i p v 6s o c k e t 接口扩展; 夺r f c2 7 3 2 :u r l 中的i p v 6 地址的文字格式。 由于j 2 s d k 并不支持r a ws o c k e t s ,所以此版本并不支持r f c2 2 9 2 ( 高级 i p v 6s o c k e t sa p i ) 。其它i p v 6 的新特征,如隧道技术、地址的自动配置,移动 第1 0 页共7 2 页 北京邮电大学硕士论文p v 4 与i p v 6 协议 i p v 6 等等,在j a v a 网络a p i 层次上不支持,它们由底层的操作系统自动支持。 类的改动 类i n e t a d d r e s s 表示一个i p 地址它提供地址存储、名字地址互译、地址 转换和地址测试的方法。在j 2 s e1 4 中,该类自身被扩充以便同时支持i p v 4 和 i p v 6 两类地址,并加入了检测地址类型和范围的方法。它还新增了两个子类 i n e t 4 a d d r e s s 和i n e t 6 a d d r e s s ,用来区分i p v 4 和i p v 6 两种类型的地址,i p v 4 和 i p v 6 各自特定的状态和行为都分别在这两个子类中实现。 由于j a v a 语言面向对象的特点,所以一个应用程序通常只需要处理 i n e t a d d r e s s 类通过多态,它可以进行正确的行为。只有当需要访问特定协 议族的行为,例如调用一个只有i p v 6 才有的( i p v 6 一o n l y ) 方法,或者当应用程 序想要知道i p 地址的类型时。它才会使用i n e t 4 a d d r e s s 和i n e t 6 a d d r e s s 。新增 加的方法有: s o c k e t s e r v e r s o c k e t 和d a t a g r a m s o c k e t 由于j a v a 语言面向对象的特点,地址类型和存储结构在s o c k e ta p i 层上并 不会暴露,因此不需要新的接口。现存的s o c k e t a p i 可以同时处理i p v 4 和i p v 6 两类包。选择使用哪个协议栈取决于底层的操作系统支持和用户协议栈首选属 性的设置。 所有支持的i p v 6s o c k e t 选项,大都有i p v 4 的对等体,这样没有新的a p i 增加以支持i p v 6s o c k e t 选项,而是原有的a p i 被重载以支持i p v 4 和i p v 6 s o c k e t 选项。 m u l t i c a s t s o c k e t 所有s o c k e t 选项a p i ,也都被重载来支持i p v 6 组播s o c k e t 选项。 第1 1 页菇7 2 页 北京邮电火学硕士论文s n m p 网管安全性的研究与实现 除现有的m u l t i c a s t s o c k e t s e t i n t e r f a c e m u l t i c a s t s o c k e t g e t i n t e r f a c e 方法用来 发送返回一个i n e t a d d r e s s 外,1 4 版中又增加了两个新的a p i 来s e t g e t 网络接 口。现存的两个方法被用来设黄或者获取网络接口,目前m u l t i c a s t s o c k e t 使用 该网络接口来发送组播包,( 即等价于本地的s o c k e t 选项中的 i pm u l t i c a s ti f ) ,对于i p v 4 ,接口用一个i p 地址来表示,这些我们可以使 用对等的j a v a 中i n e t a d d r e s s 。然而根据r f c 2 5 5 3 ,在i p v 6 中,接口应当使用 一个接口索引来表示,为了更好地支持一个网络接口地概念,我们引入了一个 n e t w o r k i n t e r f a c e ,它封装的数据表示网络接口的状态,包括一个i p 地址和一些 基本的操作方法,这样我们引入了两种新的方法,用来为m u l t i c a s t s o c k e t 设置 输出端口,s e t n e t w r o k i n t e r f a c e 和g e t n e t w o r k i n t e r f a c e ,它们发送和返回一个 n e t w o r k i n t e r f a c e 对象。这些新方法可以同时被i p v 4 和i p v 6 使用。 在一个网络接口上,为加入和离开一个组播组而新添加的方法有: 对特殊的i p v 6 地址类型的支持 1 ) a n y i o c a l 地址( :对应i p v 4 中的0 0 0 o ) 如果在一个双栈的机器上将一个s o c k e t 绑定到一个i p v 6a n y l o c a l 地址上, 那么它就能同时接收i p v 6 和i p v 4 的包了,如果它被绑定到一个1 p v 4 ( i p v 4 一m a p p e d ) a n y l o c a l 地址,那么它就只能接受i p v 4 的包了;在一个双栈的 机器上我们总是尽量绑定一个i p v 6a n y l o c a l 地址,除非一个与之相关的属性值 被设成了i p v 4 栈。 当将s e r v e r s o c k e t 绑定到:时,s e r v e r s o c k e t a c c e p t 将会接受来自i p v 6 和 i p v 4 主机的连接,j a v a 平台a p i 目前没有方法来指定仅仅接受来自i p v 6 主机 的连接。 2 ) 环回地址( :l 对应i p v 4 中的1 2 7 0 0 1 ) 带有环回地址的i p 包肯定不会被发送到一个链路上和被一台i p v 6 路由器转 发。对于1 p v 4 和i p v 6 ,环回地址是两个分离的地址。类i n e t a d d r e s s 中增加了 i s l o o p b a c k a d d r e s s 方法来判断是否是环回地址。 第1 2 页共7 2 页 北京邮电大学硕士论文p v 4 与l p v 6 协议 3 ) 兼容地址:w - x y z j a v a 通过了类i n e t 6 a d d r e s s 的i s i p v 4 c o m p a t i b l e a d d r e s s 方法来测试它。 4 ) i p v 4 映射的地址- :f f f f - w x y z 当与i p v 6 和i p v 4 的节点通信时,该类地址允许本地的程序使用相同的地 址数据结构和相同的s o c k e t ,这样,在一个具有i p v 4 映射地址支持的双栈节点 上,一个i p v 6 应用程序既可以与支持i p v 6 的对方进行对话,也可与支持i p v 4 的对方对话。操作系统将会执行底层的连通工作,发送和接收个i p v 4 包并将 它处理后放到一个i p v 6 目的s o c k e t 内,当需要的时候,操作系统也将合成一个 i p v 4 映射的i p v 6 地址。 对于j a v a ,该类地址被用于内部表示,而没有功能性作用。j a v a 永远不会 返回一个i p v 4 映射的i p v 6 地址。j a v a 能够识别字节数组和文本形式的i p v 4 映 射的i p v 6 地址的语法,然而j a v a 会自动将它转换成一个i p v 4 地址。 与1 p v 4 和i p v 6 相关的系统属性 在一个双栈的机器上,j a v a 提供设置首选的协议栈i p v 4 和i p v 6 和首选 的地址族类型i n e t 4 和i n e t 6 的系统属性。缺省的首选的是i p v 6 栈,因为在 一个双栈的机器上,i p v 6s o c k e t 与支持i p v 6 的对方进行对话,也可与支持i p v 4 的对方对话。该设蚤n - 删j a v a n e t p r e f e r l p v 4 s t a c k = 系统属性来 修改。通常,我们会首选i p v 4 地址,丽不是i p v 6 地址,因为,当查询名字服 务( 例如d n s 服务) 时,我们会先于i p v 6 地址,返回一个i p v 4 地址,这种选 择有两个原因: 夺有一些应用程序期望使用一种l p v 4 地址文本格式,即”d d d d , 使用一个i p v 4 地址可以将意外减到最少; 呤使用i p v 4 地址,我们可以使用一次调用( 利用i p v 6s o c k e t ) 来达到既 能使用传统的i p v 4 o n l y 服务,也可使用 p v 6 服务( 除非i p v 6 服务仅 在一个只支持i p v 6 的节点上) 。 该项设置可以通过系统属性j l a v a n e t p 佗f b d p v 6 s 龇k 仃u e f a l s e 进行设置e 双栈节点 一个双栈节点的一般属性是一个i p v 6s o c k e t ,在传输层上( t c p 或u d p ) , 既能与支持i p v 6 的对方进行对话,也可与支持i p v 4 的对方对话。在本地层次 上,i p v 6s o c :k e t 可以通过一个i p v 4 映射的i p v 6 地址来与一个支持i p v 4 的对方 第1 3 页共7 2 页 北京邮电大学硕士论文s n m p 网管安全性的研究与实现 进行通信。然而,除非一个s o c k e t 特

温馨提示

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

评论

0/150

提交评论