Upload
karim
View
156
Download
0
Embed Size (px)
DESCRIPTION
基于 SNMP 代理的 IPv6 网络仿真环境. 任兴田 北京邮电大学信息网络中心 2004 年 12 月 2 6 日. 提纲. 当前各种设备对 IPv6 的支持情况 拥有 IPv6 网络仿真环境的必要性 IPv6 仿真环境实现的主要功能 IPv6 仿真环境所支持的标准 要实现的 IPv6 相关的 MIB 对象 IPv6 仿真环境工作原理 IPv6 仿真环境的具体实现 Get 请求响应处理过程 仿真环境与真实环境的结合 结论 参考文献. 当前各种设备对 IPv6 的支持情况. 当前各种设备对 IPv6 的支持情况. - PowerPoint PPT Presentation
Citation preview
基于 SNMP 代理的 IPv6 网络仿真环境
任兴田北京邮电大学信息网络中心
2004 年 12 月 26 日
提纲 当前各种设备对 IPv6 的支持情况 拥有 IPv6 网络仿真环境的必要性 IPv6 仿真环境实现的主要功能 IPv6 仿真环境所支持的标准 要实现的 IPv6 相关的 MIB 对象 IPv6 仿真环境工作原理 IPv6 仿真环境的具体实现
Get 请求响应处理过程 仿真环境与真实环境的结合
结论 参考文献
当前各种设备对 IPv6 的支持情况
当前各种设备对 IPv6 的支持情况 到 2004 年 6 月为止,各种路由器对 IPv6
的相关 MIB 不支持或支持的不够,如: Cisco 路由器 (IOS Version 12.0(26)S1) 不支
持 IPv6 相关的 MIB; NEC 路由器不能通过 IPv6 地址访问 IPv6 的 M
IB; Net-snmp 软件包到目前为止不支持 IPv6
网管中拓扑发现所需 MIB( 如: RFC2465定义的 IPv6-MIB)
拥有 IPv6 网络仿真环境的必要性
拥有 IPv6 网络仿真环境的必要性 它能够模拟一个 IPv6 大型网络,从而使基
于 IPv6 网管的开发能够顺利进行; 能够对开发的 IPv6 网络管理系统进行有效
的测试; 能够模拟各种 IPv6 网络设备,从而降低开
发成本; 能够在开发网管系统的过程中营造各种调
试环境方便调试。
IPv6 仿真环境实现的主要功能
IPv6 网络仿真环境实现的主要功能 可以仿真 IPv6 的大型网络; 可与现有实际 IPv6 网络无缝结合; 支持多种网络设备的仿真 , 如 Cisco 、 Juniper 路
由器等; 支持多种 SNMP 协议版本; 可以通过修改 XML 文件,以实现各种网络环境的
仿真; 支持标准的 Trap 和各种网络设备特有的 Trap 的
发送; 能够响应管理站对代理的 Get 、 Set 请求。
IPv6 仿真环境所支持的标准
IPv6 仿真环境所支持的标准
要实现的 IPv6 相关的 MIB 对象 RFC2465 定义的 IPv6-MIB
要实现的 IPv6 相关的 MIB 对象( 续 ) RFC2466 定义的 ICMPv6-MIB
RFC2452 定义的 IPv6-TCP-MIB
RFC2454 定义的 IPv6-UDP-MIB
IPv6 仿真环境工作原理
IPv6 仿真环境工作原理 IPv6 仿真环境的结构图
IPv6 仿真环境工作原理(续) 系统组成:系统由 SimulationAgent 模块
和 SimulationAgentProxy 模块组成的 SimulationAgent 仿真 IPv6 网络设备; SimulationAgentProxy 实现了对网络拓扑的模
拟,它负责把管理站发往某一被仿真设备的 SNMP 请求根据网络拓扑转发到相应的 SimulationAgent ,并把该 SimulationAgent 的响应转发给管理站。
IPv6 仿真环境的具体实现
IPv6 仿真环境的具体实现 Get 请求响应处理过程 仿真环境与真实环境的结合
Get 请求响应处理过程 仿真环境接收到发往某一被仿真设备的 Get 请求后,
SimulationAgentProxy 根据网络拓扑把该请求转发到模拟该设备的 SimulationAgent 上;
SimulationAgent 收到转发来的 Get 请求后,监听Get 请求的线程把内存中对应的 MIB 对象值( SimulationAgent 启动时从 XML 文件中把被模拟设备相关的 MIB 对象的值导入内存 )作为返回值进行响应;
SimulationAgentProxy 把该 SimulationAgent 的响应转发给管理站。
Get 请求响应处理过程(续) 要模拟实时性,在程序运行的过程中需要对某些 M
IB 变量的值进行改变,这些改变是通过修改内存中对应的 MIB 对象值来获得的,方法有: 用获取实际设备的 MIB 对象的值代替内存中对应的 MIB
对象值。例如,要想对 ipv6IfStatsInReceives 对象的值进行改变,就可以用获取 IPv4 路由器的 IP 组 ipInReceives 对象的值修改 ipv6IfStatsInReceives 变量的值来实现的;
或用设定的随机数代替内存中对应的 MIB 对象值等。
仿真环境与真实环境的结合 要实现的 IPv6 仿真环境拓扑图
仿真环境与真实环境的结合(续) 为了与真实 IPv6 环境结合,需要分配一块 IPv6 地址,并对这
段地址进行规划(如上图) 然后根据要仿真的 IPv6 网络构造每个被仿真设备的相关的 MIB
信息 对于经常变化的 MIB 信息(如 IPv6-MIB 的 ipv6IfStatsTable 、
ICMPv6-MIB 的 ipv6IfIcmpTable 等表中的信息),可以参考ipv6IfStatsTable 中的 ipv6IfStatsInReceives 实现方法。
而对于相对不经常变化的 MIB 信息(如 IPv6-MIB 的 ipv6IfTable , ipv6IfStatsTable , ipv6AddrPrefixTable , ipv6AddrTable , ipv6RouteTable , ipv6NetToMediaTable 等表中的信息),可以把这些 MIB 信息用 XML 文件表示,通过修改XML 文件可以仿真不同的 IPv6 网络。
仿真环境与真实环境的结合(续) 下面以路由器 A 为例说明如何构造 XML 文件:
从上图看到路由器 A 通过接口 A1 、 A2 、 A3 分别与另外三台路由器相连,接口 A4 、 A5 直连两个子网。
要以这些信息为基础,构造相关的 IPv6 接口信息、 IPv6接口地址前缀信息、 IPv6 接口地址信息、 IPv6单播路由表信息、 IPv6 地址转换信息等,然后把这些信息写入相应的 XML 文件中。
如:把 IPv6 地址转换信息 ( 包括路由器 A 所配的 IPv6地址、对应的物理地址、 IPv6 地址到物理地址的映射类型和状态等信息 ) 写入 Ipv6NetToMediaTable.xml 文件。以下是路由器的 Ipv6NetToMediaTable 的 XML 文件
Ipv6NetToMediaTable.xml 文件<table> … <row> <column name="ipv6IfIndex" value="3" ></column> <column name="ipv6NetToMediaNetAddress" value="20010250020420200
00000000000001" ></column> <column name="ipv6NetToMediaPhysAddress" value="66 94 00 00 00 a2" >
</column> <column name="ipv6NetToMediaType" value="1" ></column> <column name="ipv6IfNetToMediaState" value="1" ></column> <column name="ipv6IfNetToMediaLastUpdated" value="0"></column> <column name="ipv6NetToMediaValid" value="1" ></column> </row> ...</table>
结论
结论 该仿真环境模拟了 IPv6 大型网络,并在此
基础上进行了 IPv6 网管相关功能的开发和测试
该模拟仿真环境可用于各种试验,理论上可以在一台服务器上模拟比较复杂的 IPv6 网络,并可与现有实际 IPv6 网络无缝结合。
参考文献 Isabelle Astic, Olivier Festor, “Current Status of IPv6 Managemen
t”, http://www.inria.fr/rrrt/rt-0274.html, 2002 J.D. Case, M. Fedor, M.L. Schoffstall, J. Davin, “Simple Network
Management Protocol (SNMP)”, RFC1157, 1990 J. Case, K. McCloghrie, M. Rose, S. Waldbusser, “Introduction to
Community-based SNMPv2”, RFC1901, 1996 D. Haskin, S. Onishi, “Management Information Base for IP Versi
on 6: Textual Conventions and General Group”, RFC2465, 1998 D. Haskin, S. Onishi, “Management Information Base for IP Versi
on 6: ICMPv6 Group”, RFC2466, 1998 M. Daniele, “IP Version 6 Management Information Base for the T
ransmission Control Protocol”, RFC2452, 1998 M. Daniele, “IP Version 6 Management Information Base for the
User Datagram Protocol”, RFC2454, 1998
谢谢!Email : [email protected]