找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 互操作性测试研究——BGP4+测试

[复制链接]
admin 发表于 2013-3-22 23:53:05 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 针对面向IPv6的边界网关协议BGP4+进行了互操作性测试研究。讨论了BGP4+与BGP4的区别,给出了BGP4+协议测试的有限状态机模型。运用形式化与非形式化相结合的方法生成了BGP4+的测试例,并给出了运用测试例对具体的协议实现测试的结果。
关键词: BGP4+;路由协议;互操作性测试;IPv6
    互操作性测试就是检测在不同厂商生产的设备之间能否实现正确的通信交互的测试方法。由于BGP4+[1]是下一代互联网中重要的域间路由协议,因此对它展开互操作性测试对于验证下一代互联网络产品在真实网络环境中的互连互通能力具有十分重要的意义,对于路由设备与软件开发商在对产品进行调试、验证和改进等方面也有着非常重要的作用。
 由于互操作性测试对于产品的推广应用具有非常重要的意义,因此,国内外有许多研究机构在从事互操作性测试的研究工作,例如:日本的TAHI计划研发了IPv6协议的互操作性测试系统。德国的JOIN(Join Open InterNetworks)工程,建立了互操作性测试实验网络。美国New Hampshire大学的IOL(Interoperability Lab)专门成立IPv6小组进行IPv6相关协议的测试研究工作,在其网站上可以免费下载到用于测试BGP4+、OSPFv3、RIPng等路由协议的互操作测试套件。国内的清华大学、中科院计算所、中国科技大学、兰州大学、上海交通大学等多所高校也成立了IPv6实验室在从事这方面的研究。
 在互操作性测试例的生成算法研究方面,国内外有许多相关的文献,例如,参考文献[2]中提出了一种生成互操作性测试例的算法,但是这种算法的缺陷是只能处理两个内部消息交互的情况;参考文献[3]中研究了在互操作性测试生成过程中如何避免状态爆炸的问题;参考文献[4]中提出了一种基于有向图的测试序列生成算法可以满足互操作性测试的最小完全覆盖准则。但目前关于互操作性测试工具的开发研究方面的文献并不多见。
1 BGP4+协议与BGP4的不同
 随着下一代互联网络协议IPv6的部署,原来只能支持IPv4的边界网关协议BGP4已经不能满足实际的应用需要,为了使BGP4能够支持IPv6,IETF组织修订完成了RFC2858(Multiprotocol Extentions for BGP4)。在BGP4+中,IETF定义了一个特殊属性--MP-BGP(Multi-Protocol BGP)来携带IPv6的路由信息,使得BGP4+既可以运行在IPv4网络上也可以运行在IPv6网络上。
 在BGP4协议的消息属性中有三部分与IPv4的信息相关,分别是:NEXT-HOP、NLRI和AGGREGATOR属性。假设任何BGP发言者都有一个IPv4地址,那么要使BGP4能够支持多网络层协议的路由只需要加入两个功能把特定的网络层协议分别与NEXT-HOP和NLRI关联起来。因此,IETF在修订后的BGP4+中增加了MP_REACH_NLRI(Multiprotocol Reachable NLRI)属性和MP_UNREACH_NLRI(Multiprotocol Unreachable NLRI)属性。这两个属性是可选非传递的,不支持多协议扩展的BGP发言者可以忽略这两个属性中携带的信息并且不转发这些信息。MP_REACH_NLRI属性详细定义了所使用的网络层协议的类型、下一跳长度和地址、子网接入点信息和NLRI信息。如果在UPDATE消息中使用了MP_REACH_NLRI属性,就不需要原来的IPv4的NEXI-HOP属性了。而MP_UNREACH_NLRI属性相对简单得多,如果在UPDATE消息中使用了MP_UNREACH_NLRI属性就不需要携带其他的路径属性了。RFC1771规定UPDATE消息中必须包含强制属性,否则就发送NOTIFICATION消息,但是RFC2858中增加的这两个属性无形中改变了这一规定。BGP4+中还增加了对这两个新属性的错误处理,而且还采用了BGP能力通告协议[5],该协议定义了BGP4+的OPEN消息的可选属性中可以采用BGP能力通告,用来决定在BGP连接建立时是否与对等体使用多协议扩展传递路由信息,否则将无法获知其他对等体是否能支持这一扩展。如果双方都支持这一扩展,它们转发的UPDATE消息就可以携带IPv6网络层可达信息。BGP4+的这种扩展机制是向后兼容的,支持这种扩展的路由器能够与不支持这种扩展的路由器完全交互。
2 测试体系结构
 在对BGP4+进行互操作性测试的过程中选用的体系结构如图1所示。在该互操作性测试体系结构中,IUT(被测实现)A 和IUT B分别代表了两个进行互操作的产品实现;网络协议分析仪由装有Ethereal协议分析软件的PC机来代替,它可以捕获在IUT A和IUT B之间传递的内部消息,并对捕获的信息进行观察和分析,但是不能对这些消息进行更改,这样可有效地减少外界环境对被测系统的干预,并能体现IUT A和IUT B之间能否进行互操作的真实情况;测试器A和测试器B是抽象意义上的互操作性测试工具。
    20121107051639427353274.gif
   3 测试BGP4+
3.1 BGP4+的形式化定义

 图2是完整的BGP4+互连行为有限状态机,可以看到,在BGP4+对等体完全建立连接之前要经历的状态包括:Idle、Connect、Active、OpenSent、OpenConfirm和Established。
    20121107051639458603275.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-24 03:26 , Processed in 0.055793 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表