27
基基 SNMP 基基基 IPv6 基基基基基基 基基基 基基基基基基基基基基基基 2004 基 12 基 26 基

基于 SNMP 代理的 IPv6 网络仿真环境

  • 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

Page 1: 基于 SNMP 代理的 IPv6 网络仿真环境

基于 SNMP 代理的 IPv6 网络仿真环境

任兴田北京邮电大学信息网络中心

2004 年 12 月 26 日

Page 2: 基于 SNMP 代理的 IPv6 网络仿真环境

提纲 当前各种设备对 IPv6 的支持情况 拥有 IPv6 网络仿真环境的必要性 IPv6 仿真环境实现的主要功能 IPv6 仿真环境所支持的标准 要实现的 IPv6 相关的 MIB 对象 IPv6 仿真环境工作原理 IPv6 仿真环境的具体实现

Get 请求响应处理过程 仿真环境与真实环境的结合

结论 参考文献

Page 3: 基于 SNMP 代理的 IPv6 网络仿真环境

当前各种设备对 IPv6 的支持情况

Page 4: 基于 SNMP 代理的 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)

Page 5: 基于 SNMP 代理的 IPv6 网络仿真环境

拥有 IPv6 网络仿真环境的必要性

Page 6: 基于 SNMP 代理的 IPv6 网络仿真环境

拥有 IPv6 网络仿真环境的必要性 它能够模拟一个 IPv6 大型网络,从而使基

于 IPv6 网管的开发能够顺利进行; 能够对开发的 IPv6 网络管理系统进行有效

的测试; 能够模拟各种 IPv6 网络设备,从而降低开

发成本; 能够在开发网管系统的过程中营造各种调

试环境方便调试。

Page 7: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境实现的主要功能

Page 8: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 网络仿真环境实现的主要功能 可以仿真 IPv6 的大型网络; 可与现有实际 IPv6 网络无缝结合; 支持多种网络设备的仿真 , 如 Cisco 、 Juniper 路

由器等; 支持多种 SNMP 协议版本; 可以通过修改 XML 文件,以实现各种网络环境的

仿真; 支持标准的 Trap 和各种网络设备特有的 Trap 的

发送; 能够响应管理站对代理的 Get 、 Set 请求。

Page 9: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境所支持的标准

Page 10: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境所支持的标准

Page 11: 基于 SNMP 代理的 IPv6 网络仿真环境

要实现的 IPv6 相关的 MIB 对象 RFC2465 定义的 IPv6-MIB

Page 12: 基于 SNMP 代理的 IPv6 网络仿真环境

要实现的 IPv6 相关的 MIB 对象( 续 ) RFC2466 定义的 ICMPv6-MIB

RFC2452 定义的 IPv6-TCP-MIB

RFC2454 定义的 IPv6-UDP-MIB

Page 13: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境工作原理

Page 14: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境工作原理 IPv6 仿真环境的结构图

Page 15: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境工作原理(续) 系统组成:系统由 SimulationAgent 模块

和 SimulationAgentProxy 模块组成的 SimulationAgent 仿真 IPv6 网络设备; SimulationAgentProxy 实现了对网络拓扑的模

拟,它负责把管理站发往某一被仿真设备的 SNMP 请求根据网络拓扑转发到相应的 SimulationAgent ,并把该 SimulationAgent 的响应转发给管理站。

Page 16: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境的具体实现

Page 17: 基于 SNMP 代理的 IPv6 网络仿真环境

IPv6 仿真环境的具体实现 Get 请求响应处理过程 仿真环境与真实环境的结合

Page 18: 基于 SNMP 代理的 IPv6 网络仿真环境

Get 请求响应处理过程 仿真环境接收到发往某一被仿真设备的 Get 请求后,

SimulationAgentProxy 根据网络拓扑把该请求转发到模拟该设备的 SimulationAgent 上;

SimulationAgent 收到转发来的 Get 请求后,监听Get 请求的线程把内存中对应的 MIB 对象值( SimulationAgent 启动时从 XML 文件中把被模拟设备相关的 MIB 对象的值导入内存 )作为返回值进行响应;

SimulationAgentProxy 把该 SimulationAgent 的响应转发给管理站。

Page 19: 基于 SNMP 代理的 IPv6 网络仿真环境

Get 请求响应处理过程(续) 要模拟实时性,在程序运行的过程中需要对某些 M

IB 变量的值进行改变,这些改变是通过修改内存中对应的 MIB 对象值来获得的,方法有: 用获取实际设备的 MIB 对象的值代替内存中对应的 MIB

对象值。例如,要想对 ipv6IfStatsInReceives 对象的值进行改变,就可以用获取 IPv4 路由器的 IP 组 ipInReceives 对象的值修改 ipv6IfStatsInReceives 变量的值来实现的;

或用设定的随机数代替内存中对应的 MIB 对象值等。

Page 20: 基于 SNMP 代理的 IPv6 网络仿真环境

仿真环境与真实环境的结合 要实现的 IPv6 仿真环境拓扑图

Page 21: 基于 SNMP 代理的 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 网络。

Page 22: 基于 SNMP 代理的 IPv6 网络仿真环境

仿真环境与真实环境的结合(续) 下面以路由器 A 为例说明如何构造 XML 文件:

从上图看到路由器 A 通过接口 A1 、 A2 、 A3 分别与另外三台路由器相连,接口 A4 、 A5 直连两个子网。

要以这些信息为基础,构造相关的 IPv6 接口信息、 IPv6接口地址前缀信息、 IPv6 接口地址信息、 IPv6单播路由表信息、 IPv6 地址转换信息等,然后把这些信息写入相应的 XML 文件中。

如:把 IPv6 地址转换信息 ( 包括路由器 A 所配的 IPv6地址、对应的物理地址、 IPv6 地址到物理地址的映射类型和状态等信息 ) 写入 Ipv6NetToMediaTable.xml 文件。以下是路由器的 Ipv6NetToMediaTable 的 XML 文件

Page 23: 基于 SNMP 代理的 IPv6 网络仿真环境

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>

Page 24: 基于 SNMP 代理的 IPv6 网络仿真环境

结论

Page 25: 基于 SNMP 代理的 IPv6 网络仿真环境

结论 该仿真环境模拟了 IPv6 大型网络,并在此

基础上进行了 IPv6 网管相关功能的开发和测试

该模拟仿真环境可用于各种试验,理论上可以在一台服务器上模拟比较复杂的 IPv6 网络,并可与现有实际 IPv6 网络无缝结合。

Page 26: 基于 SNMP 代理的 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

Page 27: 基于 SNMP 代理的 IPv6 网络仿真环境

谢谢!Email : [email protected]