网络拓扑发现常用方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《电子技术应用》2006 年第 8 期
Address1
Address2
Address3
Address4
202.196.65.114 202.196.65.115 202.196.65.175 202.196.65.178
10001101
10001110
10101111
10110010
图 1 启发式规则 2 在以太网上的应用示例
//构造主机号全为 0 或全为 1 的广播地址 BrdcstAddrs = CnstructBrdcstAddr (MskLen ) ;
//ping 构 造 的 广 播 地 址 ResultCount = BrdcstPing(BrdcstAddrs ) ; //若每个广播地址都获得了回复, 算法结束, 返回当前
关 键 词 : 拓 扑 发 现 算 法 SNMP ICMP
近年来, 由于计算机网络的迅速发展, 有效的网络 管理得到了越来越多的重视, 而获得最新的网络拓扑结 构对于网络管理至关重要。因为网络具有动态特性, 并 且网络规模日益增大, 利用人工维护网络的拓扑图几乎 不可能。因此, 网络拓扑自动发现技术的研究广泛开展 起 来 。Cornell 大 学 的 CNRG 研 究 组 、美 国 南 加 州 大 学 USC (University of Southern California) 的 SCAN 研 究 组 和 Inter- net 数 据 分 析 合 作 组 织 CAIDA(Cooperative Association for Internet Data Analysis )等 都 在 该 领 域 进 行 了 大 量 的 研 究 工作, 并取得了很多成果。网络拓扑发现涉及到网络体 系结构的各个层次, 可以利用很多协议设计不同的算 法 。各 种 算 法 的 性 能 差 距 很 大 , 各 有 所 长 。判 断 一 种 算 法 优 劣 的 指 标 主 要 是 : 负 载 、速 度 和 准 确 性 等 , 具 体 说 就 是 一个算法在不过多增加网络负载的前提下, 尽量提高收 敛 速 度 和 准 确 性 。以 前 的 网 络 拓 扑 发 现 算 法 主 要 集 中 精 力 在 发 现 网 络 的 逻 辑 拓 扑(基 于 第 三 层 的), 这 些 算 法 忽 略了 第二层 的网 络设备(交换 机或 网桥)的 连接 。即使提 供了第二层的网络拓扑发现, 也是针对具体的网络设 备 , 不 具 有 通 用 性 。近 年 来 , 出 现 了 一 些 通 用 的 基 于 第 二 层的网络拓扑发现算法。
域 名 服 务 器 DNS(Domain Name Service) 中 保 存 了 域 内 的 主 机 名 和 IP 地 址 的 对 应 关 系 列 表 。“zone transfer”命 令 可 以 使 DNS 服 务 器 返 回 域 内 所 有 域 名 的 列 表 , 所 以 DNS Zone Transfer 可 被 用 来 发 现 域 内 的 主 机 和 路 由 器 。 1.5 其他拓扑发现工具
1 拓扑发现的常用工具 1 . 1 ARP 协 议
每 个 支 持 地 址 解 析 协 议 ARP (Address Resolution Pro- tocol)的 网 络 设 备 中 都 维 护 着 一 张 ARP 表 , 该 表 中 记 录 了 该 设 备 所 连 接 的 以 太 网 中 网 络 设 备 的 IP 地 址 和 MAC 地 址 的 对 应 关 系 。根 据 ARP 表 的 这 个 特 点 , 可 以 从 一 台 已 知 的 路 由 器 或 交 换 机 的 ARP 表 发 现 其 连 接 的 以 太 网 中 其 他网络设备, 再从这些新发现的设备中区分出路由器和交 换 机 , 并 继 续 根 据 这 些 设 备 的 ARP 表 进 行 网 络 设 备 发 现 。 依此类推, 就得到了整个网络的拓扑结构。 1 . 2 S NMP 协 议
第三层的网络拓扑发现方法着重于发现路由设备
28 欢迎网上投稿 www.aetnet.cn www.aetnet.com.cn 《电子技术应用》2006 年第 8 期
计算机技术 ● 计算机网络
表 1 拓扑发现常用工具执行效果对比
性能指标 协议
ARP SNMP Ping Traceroute DNS Zone Transfer RIP OSPF BGP
在 网 络 拓 扑 发 现 中 主 要 利 用 了 Internet 控 制 消 息 协 议 ICMP(Internet Control Message Protocol)的 echo(回 应 )请 求 、echo 应 答 和 超 时 这 三 种 报 文 。 拓 扑 发 现 中 常 用 的 工 具 Ping 就 是 利 用 ICMP 的 echo 报 文 发 现 网 络 的 连 通 性 , 而 Traceroute 则 是 利 用 ICMP 超 时 报 文 发 现 网 络 中 两 节 点 间 的 路 径 。 Mercator 算 法 就 是 利 用 启 发 式 规 则 和 限 制 跳 数 的 Traceroute 进 行 拓 扑 发 现 [1]。 1 . 4 DNS Zone Tra ns fe r
负载
低 低 中 高 中 高 高 中
速度
快 快 慢 慢 快 中 慢 中
准确性
高 高 中 中 高 高 低 高
适用范围
中 中 大 大 中 小 小 小
以图 1 为例执行本规则, 因这组地址的前三个字段相 同, 故不失一般性, 只对第四个字段进行运算:
①BitwiseAND{A}=10000000, BitwiseOR{A}= 10111111; ②BitwiseAND{A}与 BitwiseOR{A}在 第 三 位 不 同 ; ③ 子 网 掩 码 的 最 后 一 个 字 节 一 定 为 ab000000 (ab 为 11 , 10 或 00); ④ 将 ab000000 与 10000000 (BitwiseAND{A})进 行 按 位 与 , 结 果 形 如 c0000000(c 为 1 或 0)。
利 用 简 单 网 络 管 理 协 议 SNMP (Simple Network Man-
agement Protocol), 一 个 管 理 工 作 站 可 以 远 程 管 理 所 有 支 持这种协议的网络设备, 包括监视网络状态、修改网 络 设 备 配 置 和 接 收 网 络 事 件 警 告 等 。 SNMP 协 议 利 用 管 理 信 息 库 MIB(Management Information Base ) 管 理 网 络 设 备 的 配 置 和 状 态 信 息 , 每 个 支 持 SNMP 的 被 管 理 设 备 都 维 护 了 一 些 MIB 库 。 其 中 , 最 常 用 的 是 MIBII(RFC- 1213)和 Bridge- MIB(RFC- 1493)。 1 . 3 ICMP 协 议
//猜 测 的 子 网 掩 码 长 度 if(ResultCount > = 2 )
return MskLen ; } 本规则的基本思想是递减猜测子网掩码的长度, 对每 个 猜 测 的 子 网 掩 码 构 造 广 播 ping 地 址 , 如 果 主 机 对 构 造 的 广 播 地 址 有 回 应 则 说 明 猜 测 的 子 网 掩 码 是 正 确 的 [2]。 规则 2: 利用一组地址进行子网猜测。 假 设 知 道 地 址 集 A 中 的 IP 地 址 同 属 于 一 个 子 网 , 可利用本规则猜测这组地址所属的子网地址。 ① 计 算 A 的 按 位 与 BitwiseAND {A }和 它 的 按 位 或 BitwiseOR {A}; ② 逐 位 对 比 BitwiseAND{A}和 BitwiseOR {A}, 找 出 第 一个不相同的位; ③将步骤②中找到的位和其后的各位设置为 0, 猜 测子网掩码; ④ 将 步 骤 ③ 中 的 结 果 分 别 与 BitwiseAND{A}进 行 按 位与, 算出子网号。 本规则的基本思想是: 对比地址集 A 的按位与和 按位或的结果, 找出第一个不相同的位, 则子网掩码在 该位一定为 0 即该位及其后的各位都只能是主机号, 而 不 可 能 是 子 网 号 。从 而 判 断 出 子 网 掩 码 的 长 度 , 而 子 网 地 址 则 可 通 过 BitwiseAND{A}与 子 网 掩 码 做 按 位 与 运 算 得 出 [2]。 启发式规则 2 在以太网上的应用示例如图 1 所示。
计算机技术 ● 计算机网络
网络拓扑发现算法的分析
吴 远, 李润知, 刘亚珂 (郑 州 大 学 河 南 省 信 息 网 络 重 点 开 放 实 验 室 , 河 南 郑 州 450052)
摘 要 : 介 绍 了 几 种 常 见 的 网 络 拓 扑 发 现 工 具 , 从 负 载 、速 度 、准 确 性 及 适 用 范 围 几 个 方 面 对 各 工 具的执行效果进行了对比; 分类归纳了常用的网络拓扑发现的方法; 分析了利用这些方法实现的七 种拓扑发现算法, 并针对每种算法详细列出了其优缺点。给出了对网络拓扑发现算法进行评价的标 准及其量化的表示形式。
间 的 逻 辑 连 接 关 系 。它 发 现 的 拓 扑 结 构 并 不 表 示 网 络 中 设 备 的 真 正 连 接 关 系 , 而 是“IP 数 据 报 转 发 ”意 义 上 的 连 接 关 系 。下 文 介 绍 了 三 种 基 于 第 三 层 的 拓 扑 发 现 的 启 发式规则:
规 则 1 : 利 用 广 播 Ping 进 行 子 网 猜 测 。 给 定 一 个 IP 地 址 , 可 利 用 本 规 则 猜 测 该 地 址 所 属 的子网掩码: for(MskLen=31 ; MskLen>7 ; MskLen- - ) {
//this 的 最 后 一 个 字 节 为 1 、65 、129 或 193
if(GetLastByte(this)=1 or 65 or 129 or 193) // 选 取 与 this 具 有 相 同 前 缀 的 N 个 地 址 , 存 入 临 时
//地 址 集
GetIPsWithSamePrefix(this , N); }
利 用 路 由 信 息 协 议 RIP(Routing Information Protocol)、 开 放 最 短 路 径 优 先 协 议 OSPF(Open Shortest Path First)或 边 界 网 关 协 议 BGP (Border Gateway Protocol) 可 以 获 得 路 由 设 备 中 存 储 的 路 由 信 息 。利 用 该 信 息 发 现 新 的 路 由 设 备 并 判 断 设 备 之 间 的 连 接 关 系 。从 而 发 现 整 个 网 络 的 拓 扑 结 构 。 CNRG 提 出 的 拓 扑 发 现 算 法 和 CAIDA 的 Skitter 算 法 都 利 用 了 BGP 协 议 。 表 1 列 出 了 上 述 方 法 在 执 行 效 果 (负 载 、速 度 、准 确 性 和 适 用 范 围 )上 的 对 比 。 2 网络拓扑发现常用方法 2.1 基于第三层的拓扑发现常用方法
规则 3: 猜测域内的有效地址。
本规则可被用来推测已知的子网地址空间中有效
的 IP 地 址 。 其 算 法 描 述 如 下 。
while(AliveIPList Not NULL) { this = getIP (AliveIPList ) ;
// 获 得 this 后 的 N 个 地 址 , 存 入 临 时 地 址 集 GetFollowingIPs(this , N);
N 的选择非常重要, 若 N 过大, 则能够获得所有的
有效地址, 但也会包含一些无效地源自文库; 若 N 太小, 则发
现的大部分地址是有效的, 但同时也会遗漏一些有效 地 址 [2]。
2.2 基于第二层的拓扑发现常用方法
基于第二层的拓扑发现方法着重于发现网络设备
Address1
Address2
Address3
Address4
202.196.65.114 202.196.65.115 202.196.65.175 202.196.65.178
10001101
10001110
10101111
10110010
图 1 启发式规则 2 在以太网上的应用示例
//构造主机号全为 0 或全为 1 的广播地址 BrdcstAddrs = CnstructBrdcstAddr (MskLen ) ;
//ping 构 造 的 广 播 地 址 ResultCount = BrdcstPing(BrdcstAddrs ) ; //若每个广播地址都获得了回复, 算法结束, 返回当前
关 键 词 : 拓 扑 发 现 算 法 SNMP ICMP
近年来, 由于计算机网络的迅速发展, 有效的网络 管理得到了越来越多的重视, 而获得最新的网络拓扑结 构对于网络管理至关重要。因为网络具有动态特性, 并 且网络规模日益增大, 利用人工维护网络的拓扑图几乎 不可能。因此, 网络拓扑自动发现技术的研究广泛开展 起 来 。Cornell 大 学 的 CNRG 研 究 组 、美 国 南 加 州 大 学 USC (University of Southern California) 的 SCAN 研 究 组 和 Inter- net 数 据 分 析 合 作 组 织 CAIDA(Cooperative Association for Internet Data Analysis )等 都 在 该 领 域 进 行 了 大 量 的 研 究 工作, 并取得了很多成果。网络拓扑发现涉及到网络体 系结构的各个层次, 可以利用很多协议设计不同的算 法 。各 种 算 法 的 性 能 差 距 很 大 , 各 有 所 长 。判 断 一 种 算 法 优 劣 的 指 标 主 要 是 : 负 载 、速 度 和 准 确 性 等 , 具 体 说 就 是 一个算法在不过多增加网络负载的前提下, 尽量提高收 敛 速 度 和 准 确 性 。以 前 的 网 络 拓 扑 发 现 算 法 主 要 集 中 精 力 在 发 现 网 络 的 逻 辑 拓 扑(基 于 第 三 层 的), 这 些 算 法 忽 略了 第二层 的网 络设备(交换 机或 网桥)的 连接 。即使提 供了第二层的网络拓扑发现, 也是针对具体的网络设 备 , 不 具 有 通 用 性 。近 年 来 , 出 现 了 一 些 通 用 的 基 于 第 二 层的网络拓扑发现算法。
域 名 服 务 器 DNS(Domain Name Service) 中 保 存 了 域 内 的 主 机 名 和 IP 地 址 的 对 应 关 系 列 表 。“zone transfer”命 令 可 以 使 DNS 服 务 器 返 回 域 内 所 有 域 名 的 列 表 , 所 以 DNS Zone Transfer 可 被 用 来 发 现 域 内 的 主 机 和 路 由 器 。 1.5 其他拓扑发现工具
1 拓扑发现的常用工具 1 . 1 ARP 协 议
每 个 支 持 地 址 解 析 协 议 ARP (Address Resolution Pro- tocol)的 网 络 设 备 中 都 维 护 着 一 张 ARP 表 , 该 表 中 记 录 了 该 设 备 所 连 接 的 以 太 网 中 网 络 设 备 的 IP 地 址 和 MAC 地 址 的 对 应 关 系 。根 据 ARP 表 的 这 个 特 点 , 可 以 从 一 台 已 知 的 路 由 器 或 交 换 机 的 ARP 表 发 现 其 连 接 的 以 太 网 中 其 他网络设备, 再从这些新发现的设备中区分出路由器和交 换 机 , 并 继 续 根 据 这 些 设 备 的 ARP 表 进 行 网 络 设 备 发 现 。 依此类推, 就得到了整个网络的拓扑结构。 1 . 2 S NMP 协 议
第三层的网络拓扑发现方法着重于发现路由设备
28 欢迎网上投稿 www.aetnet.cn www.aetnet.com.cn 《电子技术应用》2006 年第 8 期
计算机技术 ● 计算机网络
表 1 拓扑发现常用工具执行效果对比
性能指标 协议
ARP SNMP Ping Traceroute DNS Zone Transfer RIP OSPF BGP
在 网 络 拓 扑 发 现 中 主 要 利 用 了 Internet 控 制 消 息 协 议 ICMP(Internet Control Message Protocol)的 echo(回 应 )请 求 、echo 应 答 和 超 时 这 三 种 报 文 。 拓 扑 发 现 中 常 用 的 工 具 Ping 就 是 利 用 ICMP 的 echo 报 文 发 现 网 络 的 连 通 性 , 而 Traceroute 则 是 利 用 ICMP 超 时 报 文 发 现 网 络 中 两 节 点 间 的 路 径 。 Mercator 算 法 就 是 利 用 启 发 式 规 则 和 限 制 跳 数 的 Traceroute 进 行 拓 扑 发 现 [1]。 1 . 4 DNS Zone Tra ns fe r
负载
低 低 中 高 中 高 高 中
速度
快 快 慢 慢 快 中 慢 中
准确性
高 高 中 中 高 高 低 高
适用范围
中 中 大 大 中 小 小 小
以图 1 为例执行本规则, 因这组地址的前三个字段相 同, 故不失一般性, 只对第四个字段进行运算:
①BitwiseAND{A}=10000000, BitwiseOR{A}= 10111111; ②BitwiseAND{A}与 BitwiseOR{A}在 第 三 位 不 同 ; ③ 子 网 掩 码 的 最 后 一 个 字 节 一 定 为 ab000000 (ab 为 11 , 10 或 00); ④ 将 ab000000 与 10000000 (BitwiseAND{A})进 行 按 位 与 , 结 果 形 如 c0000000(c 为 1 或 0)。
利 用 简 单 网 络 管 理 协 议 SNMP (Simple Network Man-
agement Protocol), 一 个 管 理 工 作 站 可 以 远 程 管 理 所 有 支 持这种协议的网络设备, 包括监视网络状态、修改网 络 设 备 配 置 和 接 收 网 络 事 件 警 告 等 。 SNMP 协 议 利 用 管 理 信 息 库 MIB(Management Information Base ) 管 理 网 络 设 备 的 配 置 和 状 态 信 息 , 每 个 支 持 SNMP 的 被 管 理 设 备 都 维 护 了 一 些 MIB 库 。 其 中 , 最 常 用 的 是 MIBII(RFC- 1213)和 Bridge- MIB(RFC- 1493)。 1 . 3 ICMP 协 议
//猜 测 的 子 网 掩 码 长 度 if(ResultCount > = 2 )
return MskLen ; } 本规则的基本思想是递减猜测子网掩码的长度, 对每 个 猜 测 的 子 网 掩 码 构 造 广 播 ping 地 址 , 如 果 主 机 对 构 造 的 广 播 地 址 有 回 应 则 说 明 猜 测 的 子 网 掩 码 是 正 确 的 [2]。 规则 2: 利用一组地址进行子网猜测。 假 设 知 道 地 址 集 A 中 的 IP 地 址 同 属 于 一 个 子 网 , 可利用本规则猜测这组地址所属的子网地址。 ① 计 算 A 的 按 位 与 BitwiseAND {A }和 它 的 按 位 或 BitwiseOR {A}; ② 逐 位 对 比 BitwiseAND{A}和 BitwiseOR {A}, 找 出 第 一个不相同的位; ③将步骤②中找到的位和其后的各位设置为 0, 猜 测子网掩码; ④ 将 步 骤 ③ 中 的 结 果 分 别 与 BitwiseAND{A}进 行 按 位与, 算出子网号。 本规则的基本思想是: 对比地址集 A 的按位与和 按位或的结果, 找出第一个不相同的位, 则子网掩码在 该位一定为 0 即该位及其后的各位都只能是主机号, 而 不 可 能 是 子 网 号 。从 而 判 断 出 子 网 掩 码 的 长 度 , 而 子 网 地 址 则 可 通 过 BitwiseAND{A}与 子 网 掩 码 做 按 位 与 运 算 得 出 [2]。 启发式规则 2 在以太网上的应用示例如图 1 所示。
计算机技术 ● 计算机网络
网络拓扑发现算法的分析
吴 远, 李润知, 刘亚珂 (郑 州 大 学 河 南 省 信 息 网 络 重 点 开 放 实 验 室 , 河 南 郑 州 450052)
摘 要 : 介 绍 了 几 种 常 见 的 网 络 拓 扑 发 现 工 具 , 从 负 载 、速 度 、准 确 性 及 适 用 范 围 几 个 方 面 对 各 工 具的执行效果进行了对比; 分类归纳了常用的网络拓扑发现的方法; 分析了利用这些方法实现的七 种拓扑发现算法, 并针对每种算法详细列出了其优缺点。给出了对网络拓扑发现算法进行评价的标 准及其量化的表示形式。
间 的 逻 辑 连 接 关 系 。它 发 现 的 拓 扑 结 构 并 不 表 示 网 络 中 设 备 的 真 正 连 接 关 系 , 而 是“IP 数 据 报 转 发 ”意 义 上 的 连 接 关 系 。下 文 介 绍 了 三 种 基 于 第 三 层 的 拓 扑 发 现 的 启 发式规则:
规 则 1 : 利 用 广 播 Ping 进 行 子 网 猜 测 。 给 定 一 个 IP 地 址 , 可 利 用 本 规 则 猜 测 该 地 址 所 属 的子网掩码: for(MskLen=31 ; MskLen>7 ; MskLen- - ) {
//this 的 最 后 一 个 字 节 为 1 、65 、129 或 193
if(GetLastByte(this)=1 or 65 or 129 or 193) // 选 取 与 this 具 有 相 同 前 缀 的 N 个 地 址 , 存 入 临 时
//地 址 集
GetIPsWithSamePrefix(this , N); }
利 用 路 由 信 息 协 议 RIP(Routing Information Protocol)、 开 放 最 短 路 径 优 先 协 议 OSPF(Open Shortest Path First)或 边 界 网 关 协 议 BGP (Border Gateway Protocol) 可 以 获 得 路 由 设 备 中 存 储 的 路 由 信 息 。利 用 该 信 息 发 现 新 的 路 由 设 备 并 判 断 设 备 之 间 的 连 接 关 系 。从 而 发 现 整 个 网 络 的 拓 扑 结 构 。 CNRG 提 出 的 拓 扑 发 现 算 法 和 CAIDA 的 Skitter 算 法 都 利 用 了 BGP 协 议 。 表 1 列 出 了 上 述 方 法 在 执 行 效 果 (负 载 、速 度 、准 确 性 和 适 用 范 围 )上 的 对 比 。 2 网络拓扑发现常用方法 2.1 基于第三层的拓扑发现常用方法
规则 3: 猜测域内的有效地址。
本规则可被用来推测已知的子网地址空间中有效
的 IP 地 址 。 其 算 法 描 述 如 下 。
while(AliveIPList Not NULL) { this = getIP (AliveIPList ) ;
// 获 得 this 后 的 N 个 地 址 , 存 入 临 时 地 址 集 GetFollowingIPs(this , N);
N 的选择非常重要, 若 N 过大, 则能够获得所有的
有效地址, 但也会包含一些无效地源自文库; 若 N 太小, 则发
现的大部分地址是有效的, 但同时也会遗漏一些有效 地 址 [2]。
2.2 基于第二层的拓扑发现常用方法
基于第二层的拓扑发现方法着重于发现网络设备