Q: ScIence and Techno1ogY Innovation HeraId J T技术 基于IPv6网络拓扑结构发现问题研究 施昌龙 (辽宁大学) 摘要:IPv6作为下一代互联网协议,具有IPv6其广泛的地址空间,优良的服务质量等诸多优势,成为下一代网络的主要应用技术之一。 而网络的拓扑发现作为网络管理重要的一个方面,对其研究具有重要的意义。本文对基于IPv6网络拓扑结构发现问题进行分析和研究。 关键词:IPv6 互联网 网络管理 拓扑发现 中图分类号:TP3I 文献标识码:A 文章编号:1 674一o98x(z008)05(b)一O027—02 1引言 随着互联网技术的不断发展,IPv4的许多 缺陷逐渐暴露出来,其中最突出的问题是IP地 地球每平方米面积上可分配l 000多个地址。 在IPv6的设计过程中除了解决地址短缺问题 以外,还考虑了在[Pv4中解决不好的其他问 目前探测子网内部设备的活动性方法几 乎用的都是Ping穷举方法,对于IPv6的子网 来说,穷举法探测主机需要2—64个ICMP回 址空间将被分配殆尽。虽然现在采用分配临 时IPv4地址或采用网络地址转换等技术,在 一定程度上缓解了IPv4地址资源不足的状况, 但同时也增加了地址解析和处理方面的开销, 导致某些高层应用无法进行,并且仍然无法回 避IPv4地址即将被分配殆尽这个现实问题。 按照目前互联网的发展速度,IPv4地址将在 2005至20l0年间分配完毕,为了彻底解决目 前IPv4遇到的问题并对未来网络应用提供更 好的支持,IPy6正在全球范围内广泛部署,下 一代互联网管理问题正在成为一个新的研究 热点,而拓扑自动发现成为网络管理功能面临 的现实问题。 2 IPv6网络拓扑发现概述 2 1拓扑发现 网络拓扑是网络的基本特征之一,一个拓 扑图基本元素为节点和链路,节点表示网络中 的设备,边表示链路。维护一个准确的网络 拓扑图对于F C APS领域具有非常重要的意 义。首先为了模拟一个真实的网络,分析网 络性能、合理扩容和优化网络,需要获得网 络拓扑图;其次对于网络管理而言,网络拓扑 信息能帮助决定是否增加新的路由器,检验网 络设备配置是否正确,检查网络错误和瓶颈; 再次网络拓扑图也能使用户确定其在网络的 位置,以帮助他们确定网站服务器的位置以及 选择哪个ISP能够得到最小化延迟、最大化网 络带宽;另外,拓扑敏感算法成了最近研究的 热点之一,这些算法利用已知的拓扑信息提高 算法性能,如基于拓扑敏感策略的路由选择算 法。但是大型网络并没有一个单独的管理者, 而且其拓扑图是动态变化的,这种复杂动态的 特性决定了手动收集大型网络的拓扑信息是 不现实和不可行的。动态拓扑发现并不是一 个新的领域,IPv4网络中各种方法及改进都 源源不断被提出,丰富了拓扑自动发现领域, 目前主要分为三大类方法;基于通用协议、基 于管理协议、基于路由协议的拓扑发现。 2.2 IPv6概述 IPv6的提出最初是因为随着互联网的迅 速发展,IPv4定义的有限地址空间将被耗尽, 地址空间的不足将影响互联网的进一步发 展。为了扩大地址空间,打算通过IPv6重新 定义地址空间。IPv4采用32位地址长度,只 有大约43亿个地址,估计在2008—2010年间 将被分配完毕,而IPv6采用128位地址长度, 几乎可以不受限制地提供地址。按保守方法 估算IPv6实际可分配的地址数量相当于整个 题。与IPv4相比,IPv6的变化主要体现在以 射请求。这对于任何网络都是不可接受的。比 下方面: 较而言,对一个IPv4的C类子网256位地址 扩展的地址。IPv6的地址结构除了将 的探测如果采用异步方式只需要几秒钟,而不 32bit的地址空间扩展为l28bit,还对IP主机 会给网络带来太大负担。所以IPv4的局域网 可获得的不同地址类型做了一些调整。例如 拓扑探测方法显然不适用于IPv6e。 IPv6取消了广播地址,使用不同范围的组播地 在IPv6中地址按照范围被划分为全球, 址代替,还定义了新的任意播地址用于向组内 本地站点地址和本地链路地址三类。目前有 的任何成员发送包,组内的“最近”成员处理 许多路由协议使用本地的链路地址来定义路 接收到的包,其他成员将不再处理该数据包。 由表中的ipv6RouteNextHop对象,而不是用 报头格式。IPv6报头包括40字节,共有 全球地址定义,因此IPv4中的基于sNMP搜 8个字段。该报头定长且简捷,使路由器检查 索算法的拓扑发现机制在IPv6情况下无法直 处理工作量减少,提高了效率。 接使用。 在IPv6报头中用“下一报头”指明报 有关SNMP的标准化工作尚未完成,相对 头后面跟的报头类型,它可以是扩展报头,也 于IPv4,目前支持IPv6的MIB库和库中被管 可以是TCP/UDP报头。如果是扩展报头,在 对象都还很少,还有许多标准化工作需要进 扩展报头中再指明下一个报头的类型,形成报 行。特别是在最重要的RFC2465中规定的很 头/扩展头链,这样IPv6报头的长度是固定 多字段目前是不可访问的。 的,就不再需要报头长度字段。 安全性。IPv6中内建了(对于IPv4安全 4 IPv6网络拓扑发现系统的设计研究 性是外置的,通过打补丁提供,所以说IPv6中 4.1系统功能分析 安全性选项是内建的)两种安全性选项:IP身 根据国际标准化组织的定义,网络管理包 份验证头(AH)Sf[I IP封装安全性的净荷。AH 括配置管理、故障管理.性能管理、安全管理、 和ESP已经通过打补丁的方式应用在IPv4上 计费管理几个部分,配置管理又包括拓扑管理 以便提高安全性。 和参数管理。参数管理、性能管理、故障管理 等需要在已知网络拓扑的情况下才能有效进 3 IPv6网络拓扑发现发展现状和面临的困 行,也就是说首先需要知道被管理的网络中存 难 在哪些网络设备,这些网络设备之间的连接情 3.1 IPv6网络拓扑发现的现状分析 况,才能有针对性的对这些网络设备和网络连 在国际上,CAIDA组织主要关注全球工 接进行监控和管理。随着网络应用的迅速发 PV6网络信息的采集和拓扑发现。它的工作 展,网络规模越来越大,尤其是在IPv6网络 重点在于对全球范围的工PV6网络发展状况 中,在这种情况下,自动发现和管理网络的拓 进行检测和分析。在相关文献中,贝尔实验室 扑结构变得非常重要。系统能够自动发现骨 提出了一种基于源路由的拓扑发现思想,对目 干网中大部分的路由器以及这些路由器之间 前的6Bone网络进行了大规模的探测。但是 的连接关系,能够发现本地链路内的路由器和 仅仅对拓扑信息进行了一次采集,没有考虑到 主机以及这些设备的配置信息。IPv6网络实 有效的管理,并且目前有很多路由器都不支持 现了节点地址的自动配置和即插即用,这给网 IPV6的源路由选项,通用性不佳,而且需要在 络的搭建带来了方便,却使网络拓扑结构变化 每一个子网内都安置探测点,系统较为复杂。 更频繁,拓扑图的实时更新就成为比较重要的 当前,国内还没有一个可视化的拓扑发现 问题。 工具进行对路由器级的IPv6网络进行有效的 综合以上分析,本系统需要实现的功能 拓扑管理。该系统利用工CMPv6信息,实现 是: 了一个基于拓扑结构的综合网络信息管理系 自动发现骨干网拓扑结构,主要是发现 统,在现阶段软硬件设施都不成熟的情况下对 骨干网中的路由器以及路由器之间的连接关 网络拓扑信息进行一定程度的有效管理。 系。自动发现本地链路内的路由器和主机及 3.2 IPv6网络拓扑发现面临的困难 其它们的配置信息,能够发现本地链路内的 IPv6已被认为是下一代互联网协议核心 路由器和骨干网的连接关系。识别网络设备 标准之一,IPv6地址结构方面的变化给基于工 中的双栈节点。识别I P v 6路由器之间的 Pv6的下一代互联网的拓扑自动发现问题造 Tunnel连接。自动更新网络拓扑发现的拓扑 成了新的困难和挑战。 结构。 科技创新导报Science and Technology innovation Herald 27 维普资讯 http://www.cqvip.com 垫塑 旦: Science and Technology Innovation Herald T技术 的,也就是说一个本地链路内的节点不可能知 道另一个本地链路内节点的数据链路层信息, 因此管理中心不可能获得骨干网中路由器的 MA C地址,也就不能采用和本地链路双栈节 点识别模块中同样的方法来识别骨干网中的 双栈节点。 , (3)拓扑更新模块 拓扑更新模块的主要功能是对本地代理 和管理中心发现的网络拓扑结构进行定期更 新,以保证通过本系统获得的网络拓扑结构能 够真实的反映实际网络拓扑。采用拓扑更新 方法是基于匹配的方法,也就是定期发现现有 网络拓扑结构,将其与原有的网络拓扑结构进 行匹配。对于新加入的节点将其加入到原有 4 2设计方案的选择 集中式的拓扑发现方法。集中式的拓扑 发现方法就是将骨干网的拓扑发现和本地链 路内的拓扑发现集成在一个程序内,在同一个 探测点上运行。探测点是指运行拓扑发现程 序去探测网络拓扑结构的网络设备。使用这 种结构,骨干网和本地链路的拓扑发现之间不 存在异地通信的问题,因此两部分拓扑信息的 整合相对更加方便和容易。但是用这种方法 只能发现一个本地链路内节点和节点的相关 配置信息,这个本地链路就是探测点所在的本 地链路。这是因为本地链路内的拓扑发现方 法利用多播地址来探测存在哪些节点,而路由 器不转发目标地址为多播地址的包,所以探测 链路的网络节点以后,进一步工作是获取各节 点的详细配置信息:包括链路层MAC地址、 节点名称、全局地址。 识别模块。本地链路双栈节点识别模块 负责识别本地链路中的双栈网络节点。对于 个网络节点来说,不管配置IPv6地址还是 IPv4地址,每个IP地址对应的接口都有唯一 的一个MAC地址(链路层地址),由于MAC地 址是全球唯一的,因此IP地址与MAC地址组 成的地址对<<IPv6地址,MAC地址>或者 <<IPv4地址,MAC地址>是唯一的。不同的 M A C地址属于不同的节点,那么含有相同 MAC地址的地址对<<IPv6地址,MAC地 址>或<IPv4地址,MAC地址>就属于相同的 一点T不可能向本地链路发送目标地址为多播 节点。因此,可以利用MAC地址来识别本地 地址的包。 链路内有哪些节点是双栈节点。在获取所有 层次化的拓扑发现方法。O.Festor提出 的<<IPv6地址,MA C地址>和<<IPv4地址, 的层次化拓扑发现方法就是将骨干网的拓扑 MAC地址>地址对后,根据MAC地址进行比 发现和本地链路内的拓扑发现分开实现,将其 对,如果<<IPv6地址,MAC地址>和<<IPv4 分布在不同的探测点上,形成“管理中心一本 地址,MAC地址>中的MAC地址相同,则说 地代理”模式的拓扑发现结构。在管理中心上 明IPv6地址和IPv4地址属于同一个节点,而 布置骨干网的拓扑发现程序,负责发现骨干网 这个节点就是一个双栈节点。这样就完成了 中路由器及其路由器之间的连接关系。在网 本地链路内双栈节点的识别工作。 络中放置多个探测点,每个探测点上有一个本 (2)管理中心的设计 地代理,在本地代理上布置本地链路的拓扑发 管理中心的主要功能是发现骨干网中的 现程序,负责发现该本地链路内的节点及配置 路由器以及这些路由器之间的连接关系,然后 信息。由本地代理向管理中心报告该本地链 判断这些路由器中有哪些是双栈路由器。同 路内的拓扑信息以及本地代理与管理中心之 时管理中心负责接收所有的本地代理发送的 间的连接关系。使用这种拓扑发现结构可以 本地链路拓扑信息,并将这些信息与发现的骨 把本地链路部分的发现从整个系统中分离出 干网拓扑信息进行整合形成完整的拓扑结构 来,将其分布在多个探测点上,这样就可以获 存人数据库。根据这些功能分析,管理中心需 得多个本地链路内的节点信息,从而使得拓扑 要分成两大部分,一部分发现骨干网拓扑结构 发现结果更全面、更详细。但是将本地链路发 并识别双栈节点,另一部分双栈节点识别模 现部分和骨干网发现部分分开以后就需要设 块。 计额外的通信部分,来负责管理中心和本地代 骨干网拓扑发现模块。网络拓扑发现方 理之间的通信,同时需要将两部分的拓扑发现 法根据使用协议的不同可以分为基于SNMP 结果进行整合。从拓扑发现结果的全面性考 的拓扑发现方法和基于通用协议的拓扑发现 虑,采用“管理中心一本地代理”模式的层次 方法两种。基于SNMP的拓扑发现方法需要 化拓扑发现系统结构。 探测范围内的设备支持SNMP,拓扑发现程序 4 3系统的主要结构设计 通过SNMP MIB获取路由器的路由表来计算 (1)本地代理的设计 网络拓扑结构。但是在IPv6网络环境下,原有 本地代理的主要功能是要发现本地链路 的MIB己经不能完全满足需要,主要是原有的 内存在哪些路由器和主机,发现这些网络节点 MIB定义都只支持32位的IPv4地址。虽然 的配置信息,识别出这些节点中有哪些是双栈 RFC2465和IZFC2466等文档已经定义了 节点。 IPv6网络中扩展的MIB标准,但目前常用的 发现模块。IPv6地址类型中包含了多播 操作系统还不能支持这些MIB标准,因此目前 地址,在RFC2373中预定义了一组多播地址, 就不能通过基于SNMP的拓扑发现方法来发 其中包括标识本地链路内所有节点的多播地 现IPv6网络拓扑结构,而只能采用基于通用 址((FF02::1)和标识本地链路内所有路由器 协议的方式来进行拓扑发现。基于通用协议 的多播地址((FF02::2)。对于目标地址为 的拓扑发现方法主要是利用I C MPv6等协议 FF02::l的包,本地链路内所有节点(包括路 来进行的,这些协议是所有操作系统都支持 由器、主机等)都会接收并处理;对于地址为 的,因此本文利用Traceroute6来发现骨干网 FF02::2的包,本地链路内所有路由器都会接 络的拓扑结构。通过Traceroute6获得多个线 收并处理。因此,本文将利用这两个多播地址 形的路由器和连接结构,这些线形的拓扑结构 来发现本地链路内存在的节点,并区分哪些是 中必然会有同一路由器在不同的线形结构中 路由器、哪些是主机。通过ping6 FF02::l 出现这种情况,将其合并就形成网状拓扑结 的应答结果可以发现本地链路内的所有节点, 构。 通过ping6 FF02::2的应答结果可以发现本 识别模块。在本地链路双栈节点识别模 地链路内的所有路由器,那么所有节点中除路 块中,利用比对MAC地址的方法来识别本地 由器以外的都是主机。这样,利用多播地址, 链路内的双栈节点。但是在骨干网中的各路 只需发送一个ICMPv6回声请求消息,而无需 由器和管理中心通常不在同一本地链路内,而 轮询IPv6网络的全部有效地址。在发现本地 数据链路层的信息是不可能跨过路由器传输 28 科技创新导报Science and Technology Innovation Herald 的网络拓扑结构中,对于不可达节点从原有拓 扑结构中去除,同时去除该节点周围的连接。 不可达节点是指原有拓扑结构中存在,但是本 次更新中没有发现的节点。拓扑更新中出现 不可达节点可能是因为该节点确实在网络中 不再存在,也可能是由于网络状况、该节点负 荷过重等原因导致在本系统进行探测时没有 收到该节点的响应而误认为该节点在网络中 不再存在。为了降低在拓扑更新中误删节点 的概率,采用基于生命周期的拓扑更新方法。 参考文献 n】宫晨.IPv6骨干网络的拓扑发现.计算机科 学,2006. 【2】黄锡伟.IPv6网络.北京:人民邮电出版社. 【3】都玉水.拓扑自动发现中数据更新策略的 研究.北京航空航天大学学报,2003.
因篇幅问题不能全部显示,请点此查看更多更全内容