基于网络安全的下一代边界网关协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于网络安全的下一代边界网关协议
[摘要] 边界网关协议bgp4+是保证下一代互联网网络安全基础的中重要的域间路由协议,它是在bgp4的基础上加入了对ipv6的支持,对它的测试研究有助于ipv6网络的顺利部署。本文针对下一代边界网关协议bgp4+进行了一致性测试研究。文章分析了bgp4+的工作机制,对一致性测试研究中使用的测试方法进行了介绍,然后详细的介绍了bgp4+协议的测试实践过程。
[关键词] bgp4+ 协议一致性测试 ipv6 测试例
目前许多发达国家都加大力度在一致性测试方面进行研究,不仅在理论研究上取得了很大进展,而且先后建立了一批可以提供协议测试服务的一致性测试系统。如美国杜克大学计算机系[2]开发的pcts协议一致性测试系统可以完成ttcn描述的x.400协议测试集的一致性测试。芬兰的oes公司[3]开发的运行在windows和linux 操作系统下的基于ttcn-3的openttcn tester v2.54.0测试平台。国内在协议测试研究方面近些年也取得了一定的研究成果,如清华大学计算机系开发的协议集成测试系统pits,该系统使用ttcn作为测试集描述语言,使用该系统已经对cisco、huawei等许多厂家的路由产品进行了一致性测试并发现了其中存在的不一致问题。国内还有中科院计算所、兰州大学、中国科技大学、内蒙古大学等多所高校成立了ipv6实验室从事这方面的研究,也发表了一些相关的文章。文章[4,5]针对bgp4+作为路由协议的特点,对现有的测试方法进行了分析研究,并设计实现了bgp4+协议一致性测试系统。
在[6]中,作者提出了一种基于on-the-fly策略符号测试生成方法。
1.bgp4+的工作机制
在对等体协商达成一致后,开始交换路由信息。bgp4+只在初始情况下交互全部路由表,此后,只在路由表发生变化的时候才进行增量路由刷新。bgp4+通过决策过程选择最好的路由发送给对等体,发送的路由包括宣告新路由和撤消无效路由。对于无效的路由信息,bgp4+通过发送带有mp_unreach_nlri路径属性的update消息撤消路由,在一个update消息中可以同时撤消一条或多条路由信息。bgp4+宣告新路由是通过发送带有mp_reach_nlr路径属性的update消息来进行的,mp_reach_nlri属性的网络可达性信息由一个或多个二元组构成,描述了通过下一跳所指明的网关可以到达的网络。运行bgp4+的对等体间会周期性的发送keepalive消息来维持双方的连接,否则,超过hold time的时间间隔连接会断开。2.测试方法的选择
协议一致性测试使用在控制观察点pco(point of control and observation)对被测实现的层间服务原语asp和协议数据单元pdu 进行控制和观察的原理。根据pco的不同,osi一致性测试的方法和框架定义了四种不同的抽象测试方法,分别是本地测试法(local test method),协调式测试法(coordinated test method),分布式测试法(distributed test method)和远程测试法(remote test method)。
3.bgp4+测试实践
要进行边界网关协议bgp4+的测试研究,我们首先需要建立bgp4+实验网。实验网内包括根据不同的测试实验要求进行模拟的网络拓扑、运行bgp4+的各种路由设备与路由软件、bgp4+协议一致性测试系统、协议运行监测工具等软硬件平台。
3.1 测试环境配置
在bgp4+实验网中,我们在主机上安装zebra-0.94b路由软件包,从而使主机来充当边界路由器。zebra是linux操作系统下的开源路由软件,它提供基于tcp/ip的路由服务,目前能够支持ripv1、ripv2、ripng、ospfv2、ospfv3、bgp4和bgp4+等路由协议,其中ripng、ospfv3和bgp4+扩展了对ipv6的支持。由于zebra是把主机操作系统的网络接口当作路由器的接口来使用,因此在对bgp4+进行测试的过程中,我们在主机上安装了多块100m以太网卡,利用zebra路由软件使主机具有了路由器的功能并完成了一些用昂贵的路由器才能完成的比较复杂的路由协议功能。
另外,在测试环境中使用的pc有运行windows xp操作系统的测试系统和运行linux操作系统的pc路由器,为了使这些pc能支持ipv6,我们在windows xp操作系统中启用ipv6协议栈,在linux 操作系统的配置文件/etc/modules.conf中写入alias net-pf-10 ipv6启动对ipv6的支持。要使pc路由器实现bgp4+的功能,需要在zebra中建立bgp4+的配置文件bgpd.conf。
3.2 bgp4+测试系统
由于bgp4+协议比较复杂,涉及较多的变量,很难直接使用现有
的测试工具进行一致性测试,而ttcn虽然功能强大,但是用其书写的测试集过于复杂,内容关联性强扩展性差,对ttcn文件的修改须借助专用工具来完成并且ttcn编译器的实现非常困难。因此,在我们的测试研究中,我们针对bgp4+的特点,自行设计开发了协议一致性测试系统,测试系统的功能包括测试数据的生成、测试数据的发送与接收、测试结果的显示等。
3.3 bgp4+一致性测试规范
目前,我国协议一致性测试的具体标准主要基于ietf文件、rfc 文档以及设备技术规范与协议测试方法等。在ipv6标准系列中包括ipv6的邻居发现协议技术规范、ipv6无状态地址自动配置技术规范、基于ipv6的路由协议——ospf协议技术规范、ipv6协议一致性测试方法、基于ipv6的ospf协议一致性测试规范、基于ipv6的bgp协议一致性测试规范等。但基于ipv6的路由协议bgp4+的一致性测试规范尚未最终成文。
本文参考信息产业部发布的路由协议一致性测试方法——边界
网关协议(bgp4)一致性测试规范yd/t 1251.3,根据bgp4+的协议说明及测试目的,为每一测试组中的测试目的制定出了用自然语言描述的bgp4+协议一致性测试规范。
在测试组bgp4+/v2ddff中针对mp_reach_nlri属性的nlri字段的测试目的,制定测试项目为“bgp4+差错处理功能测试”(测试编号testcase75)的测试规范,如表1。
表 1 bgp4+协议一致性测试规范举例