多端口ip路由器“边界网关协议”bgp-4的并行测试技术研究_研究生学位论文(编辑修改稿)内容摘要:

植到其他测试系统之中。 企业当中具有代表性的公司有 Spirent[11]。 Spirent 推出的 TRT Interactive 是著名 的 TeraRouting Tester( TRT)的第四个版本。 目前 TRT 支持的路由及组播协议包括: RIP/RIPng、 OSPF/OSPFv BGP4/BGP4+、ISIS/ISISv6 等;另外还有 Agilent[12]、 IXIA[13]等厂家。 从 20 世纪 80 年代中期开始我国也逐步开始涉足网络协议测试技术的研究以及协议测试系统的开发。 中科院成都计算机应用研究所在国内最早着手研究网络协议测试技术和测试系统的开发,主要研究以曾华燊教授提出的“ Ferryclip Test Approach” [14],并以此为基础开发针对 OSI 传送层协议的测试系统,将之移植到微机中。 目前国内对 BGP 相关协议开展测试技术研究的其它主要机构有:清华大学 [15]、中国科技大学 [16]、中国科学院 [17]等。 从国内外对 BGP 协议测试技术的研究以及相应的协议测试系统开发现状来看,国内外对 BGP 协议的测试工作主要还是采用对一对端口或多对端口进行穿越测试,几乎没有涉及多端口的并发测试。 为此,笔者进行了针对 BGP协议的并发多端口路由器测试技术的研究。 西南交通大学硕士研究生学位论文 第 4 页 论文结构组织 本论文的后续章节内容与组织结构如下: 第 2 章在讨论了 BGP4 协议以及对 BGP4 并行测试的必要性之后,介绍了西南交通大学四川网络通信技术重点实验室研发的分布式并发多端口路由器测试系统,同时对相应的并行测试支撑环境进行了介绍。 第 3 章主要讨论了测试集规划的意义,在讨论协议测试集的基本规划原则,归纳了 BGP4 协议测试集的规划原则,并按照归纳的规划原则对 BGP4协议一致性测试集、互操作性测试集、性能测试集做出了详细的规划。 第 4 章探讨了采用半形式化语言 TTCN3 对 BGP4 测试集进行描述的方法以及采用 CMPTDL 并发测试语言对 BGP 测试集进行描述的方法, 其中TTCN3 描述主要是针对基于单对端口的测试,而基于并发多端口的测试采用 TTCN3 和 CMPTDL 两种形式化描述语言。 第 5 章在分析了 BGP 协议与其它协议的相互作用的基础了阐述了 BGP与其他协议进行联合测试的意义,并针对具体的情况给出了相关的测试例。 最后,第 6 章在对论文工作进行总结的基础上,对后续研究工作进行了分析和展望。 作者的工作与论文的贡献 作者在西南交通大学网络通信技术省重点实验室承担的主要工作是对BGP4 协议并行测试技术的研究、对 BGP4 协议测试集进行规划设计并用TTCN3 形式化语言以及 CMPDL 测试语言对 BGP 测试集进行了定义。 作者的主要工作包括以下几个方面: ○ 1 仔细研究 BGP 相关的协议; ○ 2 掌握穿越测试法、回绕测试法以及四川网络通信技术重点实验室的多端口路由器并行测试系统; ○ 3 学习 TTCN3 测试语言以及 CMPTDL 测试语言; ○ 4 对 BGP 协议测试集进行了完整的规划,完成了测试集中规划的大部分测试例的编写。 ○ 5 首 次用 CMPTDL 语言进行了 BGP- 4 同步并行测试例的描述,并提出了进一步改进 CMPTDL 语言的建议,为实验室进一步完善 CMPTDL 语言提供了参考。 西南交通大学硕士研究生学位论文 第 5 页 第 2 章 BGP4 及其并行测试技术 边界网关协议 BGP 及其并行测试的必要性 BGP 与 BGP4 边界网关或边界路由器的基本的功能是:遵从 BGP 建立的路径表确定最佳跨网路径并将分组转发到相应的自治网络。 BGP 是当今 Inter 中实现跨网路径选择典型协议。 与 BGP 相关的 RFC 文本包括: RFC1771: BGP4 的最新版本。 RFC1654:第一个 BGP4 规范。 RFC110 RFC1163 和 RFC1267 描述了 BGP4 之前的 BGP 版本。 RFC285 RFC2545 分别描述了 BGP4+的多协议扩展以及使用 BGP4的多协议扩展为 IPv6 网络自治系统之间路由。 BGP4 协议 既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。 它的主要功能就是与其他的 BGP 系统交换网络层可达性信息( NLRI - Network Layer Reachable Information)。 网络层可达性信息 NLRI 中包含了可达性信 息所经过的自治系统列表,从而构造了一个自治系统连接图,以避免路由环路,同时也使得基于自治系统级别的策略控制成为可能。 BGP 协议本质上是通信子网中的应用层协议,它利用 TCP[18]连接完成相关的 BGP 报文的传输。 由于传统上把 Inter 通信子网视为采用带内信令控制技术的网络,而由于通信子网通常为 3 层结构,难于解释为什么路由器中有需要使用传送层协议 TCP 或 UDP 的应用层协议(路径信息交换协议 RIP、OSPF、 BGP 和网络管理协议 SNMP 等)。 但是,采用带外信令控制的概念来审视 Inter,则可以将它视 为具有三层用户数据传输平台和 五 层信控管理平台的网络结构 [48], 因此,对 BGP 等协议在通信子网中的位置就容易进行解释了。 图 是 BGP4 协议的有限状态变迁图 [19]。 西南交通大学硕士研究生学位论文 第 6 页 OpenSentActiveOpenConfirmConnectEstablishedIdle15432,4,6,8,132,4,6,8,10(fail)2,4,6,8,12(fail),1311710(ok)359,11,12(ok)97BGP Event :1 BGP Start2 BGP Stop3 BGP Transport connection open4 BGP Transport connection closed5 BGP Transport connection open failed6 BGP Transport fatal error7 ConnectRetry timer expired8 Hold Timer expired9 KeepAlive timer expired10 Receive OPEN message11 Receive KEEEPALIVE message12 Receive UPDATE message13 Receive NOTIFICATION message图 BGP4 协议有限状态变迁图 BGP 执行三类路由: AS 间路由、 AS 内部路由和贯穿 AS 路由。 AS 间路由发生在不同 AS 的两个或多个 BGP 路由器之间,这些系统的对等路由器使用 BGP 来维护一致的网络拓扑视图, AS 间通信的 BGP 邻居必须处于相同的物理网络。 互联网就是使用这种路由的实例,因为它由多个 AS(或称管理域)构成,众多的研究机构、公司以域的角色一起构成互联网。 BGP 经常用于为互联网域间提供最佳路径而做路由选择。 AS 内路由发生在同一 AS 内的两个或多个 BGP 路由器间,同一 AS 内的对等路由器用 BGP 来维护一致的系统拓扑视图。 BGP 也用于决定哪个路由器作为外部 AS 的连接点。 互联网提供了 AS 间路由的实例。 一个组织,如大学,可以利用 BGP 在其自己的管理域(或称 AS)内提供最佳路由。 BGP协议既可以提供 AS 间也可以提供 AS 内部路由。 贯穿 (passthrough)AS 路由发生在通过不运行 BGP 的 AS 交换数据的两个或多个 BGP 对等路由器间。 在贯穿 AS 环境中, BGP 通信既不源自 AS 内,目的也不在该 AS 内的节点, BGP 必须与 AS 内使用的路由协议交互以成功地通过该 AS 传输 BGP 通信。 与 EGP 相比, BGP 有许多不同之处,其最重要的革新就是它采用路径向量的概念和并支持无类域间路由( CIDR - Classless InterDomain Routing)技术。 路径向量记录了所经路径上所有自治系统( AS— Autonomous System),这样可以有效地检测并避免复杂拓扑结构中可能出现的环路问题;对 CIDR 的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。 另外, BGP 一旦与其他 BGP 路由器建立对等关系,仅需在初始化时交换整个路由表;此后,只有当自身路由表发生改变时, BGP才会发送更新报文发给其它路由器。 BGP 的这种机制可以减少路由器的计算西南交通大学硕士研究生学位论文 第 7 页 量以及降低传输 BGP 报文的通信量。 BGP 有 4 种报文类型: Open 报文用来建立 BGP 同等实体的连接; Update报文用来通告可达路由和撤销无效路由;周期性地发送 KeepAlive 报文,以确保 BGP 连接的有效性;当检测到一个差错时, BGP 发言人就会发送Notification 报文通知邻接 BGP 实体并断开连接。 研究 BGP 并行测试技术的必要性 从 BGP 的工作原理分析,正如上一节提到的, BGP 执行三类路由: AS间路由、 AS 内部路由和贯穿 AS 路由。 BGP 边界路由器与自治系统外的 BGP路由器相联形成外部 BGP( EBGP),和自治系统内部的 BGP 路由器连接形成内部 BGP 连接( IBGP),同时 BGP 边界路由器还与自治系统内部的其它路由器相联,他们运行的是 OSPF、 RIP 等路由协议。 另外,在自治系统里面还有一类负责路由更新消息转发机制的反射路由器。 以上这些都是 BGP 协议的多端口工作的情况。 当然这些多端口工作的情况也需要多端口测 试来检验BGP 协议实现的一致性。 对 BGP 路由器进行性能测试就更需要多端口并发测试。 例如,当需要对路由器进行定量测试时,如果仅对一对端口进行观测,虽然能获得该对端口处于满负载时的性能,但该状态对整个路由器来说仍处于轻负载状态。 所获得的性能指标,不能表征路由器重负载情况下的性能(最大 /平均吞吐率和最大 /平均转发率等)。 由于网络数据的到达具有突发性,当多个端口的输入数据瞬时指向同一输出端口时,路由器的交换机制和该输出端口处于负载最重的状况,所测得的性能指标才能代表最坏情况下的指标。 而要模拟该种状态,必须向多个端 口同时大量注入数据,并将过量数据瞬时指向待测端口。 这只有进行多端口进行并发测试才能实现。 国际标准化组织 ISO 在对网络中继系统(路由器、交换机等)的测试研究中总结了两种测试方法:回绕测试法( LTM, Loopback Test Method) [20]和穿越测试法( TTM, Transverse Test Method) [21],当前国内外的研究机构在对 BGP 路由器进行测试也普遍采用上述两种测试方法。 但是 BGP 路由器一般来说是多端口设备,它既要完成域间的路由更新报文传送,又要转发数据报文。 而 ISO 规定的上述两种 测试方法只能对单个或一对端口进行观测,因此,测试结果不能反映 BGP 路由器的全面功能与性能。 如图 所示, ISO 9646 建议的回绕测试方法( LTM)进行测试时,测试器将测试数据的目的地址填为测试器的地址,被测路由器收到该数据时,西南交通大学硕士研究生学位论文 第 8 页 会做出相应的响应数据报文并将该测试数据返回到测试器,因此,这种测试方法称为回绕测试法。 LTM 实现相对比较简单,但一次只能测试到单个端口的相关协议实现,因此测试能力有限。 曾华燊教授在对 LTM 进行深入研究后提出的穿越测试法( TTM)能够同时对两个端口进行测试,如图。 该测试法要求 两个测试器各自观察一个路由器端口,因此从测试器 1 发出的测试控制数据经被测路由器转发到另一端口,再到达测试器 2。 实际上,在实际的协议测试网络环境中,可以将两个测试器置于同一测试系统之中,两个测试器分别使用不同的 IP 地址,便很容易实现对这两个 IP 路由器端口的严格控制下的测试,也容易实现测试器 1 和 2 之间的协调。 由于在同一测试过程中涉及被测路由器的两个端口,因而能够测试模拟路由器一对端口工作状态和外部行为的情况。 由于该测试方法的测试路径穿越了被测中继系统,因此被称为“穿越测试法”。 然而 BGP 路由器的端口数目一般 都超过两个,如果采用 TTM 则仅能够同时对 BGP 路由器的两个端口进行受控测试;而采用多个双端口测试器对BGP 路由器分别进行测试,现有的测试技术中尚缺少下面一些因素: 1. 多个测试器之间的协调与同步机制。 BGP 路由器实质上是包括应用层协议在内的信令控制平面和管理平面的协议集, BGP 路由器建立在 TCP之上, BGP 既要和对等 BGP 实体进行路由信息的交互,也要完成用户数据包的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。