IPv6协议的组播技术与远程教育

2024-05-20

IPv6协议的组播技术与远程教育(精选2篇)

篇1:IPv6协议的组播技术与远程教育

在大型PIM-SM网络中,RP路由器负责组播信息管理,并可以按照需求将组播信息流转发树切换成以特定源为根的最短路径树,达到最佳转发路径。组播网络中的RP路由器是通过一种采用自举机制实现的[1,4]。网络中每个组播路由器通过自举消息BSM(Bootstrap Message )发布自己的自举路由器BSR(BootStrap Router )的信息,利用BSM信息进行协商,选出网络中的BSR,再由BSR汇总候选RP信息,决定网络中每个组播组的RP[1,4]。研究实际网络应用,发现该方法存在隐含弊端:组播源或接收者对于自己感兴趣的组播组RP在网络拓扑结构中相距较远时,无论是组播组成员的加入还是组播源的注册,都有较大的时延;多个接收者同时访问网络中同一个组播组时,还会造成单一RP路由器负载加大,影响组播数据包的转发。

本文提出了一种新的适合大型单一PIM-SM域的组播RP选举方法,即利用任意播技术[1]实现网络中RP“就近原则”,利用PIM域间的MSDP实现RPs间信息互通,完成多个RP对相同组播组信息的转发,提高组播网络性能。

1 PIM-SM的MSDP协议基本机制

PIM是一个架构在底层单播路由协议上的组播协议,为了便于组播的管理,将组播网络划分为不同的PIM域。域间采用MSDP相互宣告各自域内组播源信息,实现域间信息互通[3]。MSDP协议关键是在一个PIM域中的RP要知道其他域中的所有活动源。RP使用MSDP协议与其他域的RP建立对等体关系,则一个RP就能够向另一个RP发送一个MSDP源活动SA(Source Active )消息,并周期地向MSDP PEER发送SA消息,维持域间SA状态。

2 利用 Anycast技术实现MSDP协议在单一PIM域中的应用

Anycast称为任意播[1],是一种和单播、组播方式不同的传输机制。网络中配置一组相同地址的网络接口,只要有一个接口收到发送的数据包就完成了传输过程。利用Anycast机制实现多RP共存便成为可能。域内多个RP配置相同的任播地址。距离源主机最近的一个RP负责数据的传送和状态的维护,减少组播数据传输时延。

在任意播RP技术[2]基础上,将MSDP协议应用到单一PIM域中。在域中均布几个“相同”RP,相互间建立MSDP PEER以交互SA信息,共同实现对某个或某几个组播组数据流的转发功能,实现RP冗余和负载均衡策略,同时解决PIM-SM网络组播容错需求。域内各个组播路由器配置动态路由协议,通过路由计算,确定两个或多个具有相同的IP地址的RP/32的主机路由,实现Anycast RP路由动态选择。Anycast RP组网设计原理如图1所示。

当接收者加入和组播源发送组播流时,在最近的RP上完成组成员加入和源注册。如果所关注的RP为同一个RP,则整个组播数据流的转发按照正常组播转发机制;如果所关注的不是同一个RP,如图1所示,组播源向R1进行源注册,而接收者向路由器R2发送了组加入消息。RP间建立了MSDP PEER,SA消息被传送到对等体R2上,R2对接收到的SA消息进行解析,确定组播源的拓扑位置。当本地有对该组播组感兴趣的接收者加入,R2在接收到接收者加入消息后,向R1发送(S,G)加入,沿途建立PIM-SM组播转发表,实现本地接收者对该组播源的接收。

采用Anycast RP技术实现组播源和接收者就近加入的同时,也保证了组播网络中的RP快速切换机制。单个RP失效后,新RP只需要在源和成员之间开始一个新的源注册和成员加入处理,简化了共享树重新建立或SPT(Shortest Path Tree)的重新切换,实现不间断转发组播数据流的传输。实际组网测试证明了在组播流存在时,一个RP失效后,原有的SPT没有发生变化,只有源发送的注册消息的目的RP发生变化。

3 Anycast RP技术的组网测试

搭建如图1所示环境,两个RP上的loopback1地址配置为相同:10.1.1.1/32,并配置为RP地址(注:该地址必须是32位掩码的主机地址)。两个RP通过loopback2接口建立MSDP PEER。上、下游路由器通过Anycast RP动态路由算法,确定最近RP(10.1.1.1)的拓扑位置,完成就近访问。由于许多路由协议会选择loopback接口作为router-id,MSDP PEER的地址不应与Anycast RP地址相同,避免诸如router-id相同导致的问题。使用边界网关协议BGP(Boarder Gateway Protocol)路由协议时[5],MSDP PEER的地址应该与BGP peer的地址保持一致,以便于反向路径转发检查RPF(Reserve Path Forwarding)检查。

网络中放置多个直连组播源,并发送组播数据流。通过抓包工具查看RP上组播源注册信息,组播源只对最近的RP进行组播源注册。实验中人为失效RP,组播源会重新选择另一最近RP注册。测试路由器采用国内某通讯企业路由器产品,配置不同的路由管理距离保证源向R1注册,接收者向R2做成员加入。采用RouterTest测试仪模拟组播源发送组播信息到225.0.0.1等多个组播地址,在接收侧模拟用户向RPs发送组播成员加入消息。组播流量正常后,使R1上组播协议无效。通过测试仪对发送和接收组播报文的数量进行比较,如表1和表2所示。可以看到在R1组播协议无效时,组播数据流没有变化,只是源注册消息发送到了R2;而不使用Anycast RP时,RP失效后,需要重新选举出RP,导致组播流量丢失。通过对测试结果分析,Anycast RP技术的应用明显降低组播转发时延,减少了RP路由器的处理负荷。

4 总 结

在组播网络中使用Anycast机制实现组播RP的负载均衡和备份,保证了组播数据流的连续性,减轻了RP的CPU负载,降低了组播网络的转发时延。这种Anycast RP机制仍存在一定的缺陷,不能更加灵活配置组播网络中的RP。考虑如何实现Anycast RP技术和MBGP之间的有机结合[5],实现组播真正意义上的负荷分担功能,将会更大地减小组播数据报文的转发时延,提高网络的运行性能。

参考文献

[1]Beau Williamson.IP组播网络设计开发:第一卷.2000.

[2]Farinacci D.IETF RFC 4610 Anycast-RP Using Protocol IndependentMulticast(PIM).

[3]David Meyer.IETF RFC 4611 Multicast Source Discovery Protocol(MS-DP)Deployment Scenarios.

[4]Bill Fenner,Mark Handley.IETF RFC4602 Protocol Independent Mul-ticast-Sparse Mode(PIM-SM):IETF Proposed Standard RequirementsAnalysis.

篇2:IPv6协议的组播技术与远程教育

1 组播过渡技术

1.1 双栈技术

其原理是将组播源配成双栈, 同时向IPv4及IPv6组发送数据, 使得运行不同协议栈的主机都能够收到组播报文。

1.2 组播协议转换技术

其原理是在使用一种IP协议的源和使用另外一种IP协议的宿之间路径上放置一个或者多个转换设备, 实现他们之间的通信。

1.3 其他组播过渡技术

●6over4

在IPv6组播中, 将IPv4组播作为其底层载体, 将IPv6组播目的地址映射到私有组播域239.0.0.0/8。

●ALM

ALM, 在应用层实现组播功能, 它实际上是一种叠加于单播网络的逻辑网。

●NAT-PT+ALG

NAT-PT+ALG是在现有NAT-PT技术的基础上加入组播应用层网关 (ALG) 以满足组播需求。

●隧道技术

它是一种将一种协议的组播报文封装在另一种协议报文中, 从而实现组播的跨网传输。

2 IVI技术

2.1 IVI简介

IVI技术是一种基于路由前缀的无状态IPv4/IPv6翻译技术。其原理是将IPv6地址和IPv4地址分别选择其中一部分, 选取的这部分IPv4的地址, 不再为IPv4所用, 而是用来进行地址的一一映射, 能够同时支持IPv4和IPv6发起的通信, 随着过渡的不断深化, IPv4地址不断扩大到所有IPv4地址的时候, 过渡完成。

IVI可以实现IPv4地址的复用和IPv6到IPv4单向通信, 在IVI技术中, 网关不需要通过DNS服务器查找IPv4与IPv6之间的对应关系, 从而大大减少网关的负担和提高了网关的效率。

2.2 IVI组播地址格式

IVI组播地址的映射规则是在IPv6地址中插入IPv4地址, IPv6具有特定的前缀96位, 也就是将IPv4地址加入后32位, 而且IPv4组播地址也是有限制的, 只能是232.0.0.0/8-232.255.255.255/8。

2.3 IVI DNS

IVI DNS, 即IVI域名服务器, 是对IPv4和IPv6网络的DNS服务器, 能够把A记录翻译成AAAA记录, 当IVI6主机的发出AAAA请求时, IVI DNS就会查找相应的A记录, 并按照IVI映射规则自动翻译成AAAA记录, 返回给IVI6主机[3]。

3 IVI组播转换网关模型

3.1 IVI-MTG

IVI-MTG模型, 其MTG部署在IPv6网络与IPv4网络的边界, 这种模型将IPv4和IPv6一视同仁。要实现IPv4与IPv6组播之间实现互访, 网关所做的工作就是能够将IPv6主机加入组播源位于IPv4网络的组播组, 反之, IPv4主机也能够加入组播源位于IPv6的组播组, 另外该网关是双栈的。

3.2 IVI-MTG模型结构

IVI_MTG模型结构主要由IPv6组播代理 (MP6) 、IPv4组播代理 (MP4) 、IVI组播协议转换器 (IMT) 、IVI地址映射器 (IAM) 、简单网络管理协议接口 (SNMP) 、管理信息库 (MIB) 。

●MP6

MP6被当作IPv6接收结点代理加入到IPv4组播组当中, 负责接收来自IPv6组播组发出的组播报文, 然后将该报文转送到组播协议转换器中进行处理。

●MP4

MP4被当作IPv6接收结点的代理加入IPv4组播组, 负责接收从IPv4组播组发出的报文, 然后将该报文发送给组播协议转换器进行处理。

●IMT

它的作用就是用来将IPv4与IPv6组播报文之间进行转换。除了进行报文头转换之外, 有时还需要对报文分片转发。

●IAM

它提供IPv4、IPv6地址池以及一个地址映射表。

●SNMP接口

SNMP接口分为内部和外部接口。

●MTG管理信息库

MIB提供MTG运行需要的环境配置并记录MTG当前的运行状态。

4 NS2简介

4.1 NS2

NS2, 是一个由C++语言编写, 以Otcl解释器为前台, 是一种面向对象网络模拟器。该模拟器支持C++中类的层次结构 (编译层次) , 和Otcl解释器中的相似层次结构 (解释层次) 。NS2通过Tclcl把这两种语言的类和对象联系起来。我们把Otcl类称为解释类, 把与之对应的C++类称为编译类, 并称他们为映像类, 他们的对象称为映像对象。

4.2 Otcl类的介绍

●Tcl Object类:在NS2中Tcl Object类是大多数编译层次和解释层次的基类。

●Tcl类:Tcl类封装的是Otcl解释器真正的实例, 并提供与解释器访问及通信的方法。

●Tcl Class类:从该类派生出来的派生类提供两种功能, 一是构将与编译类层次镜像的解释类层次, 另外则是提供实例化新Tcl Object的方法。

4.3 NS2仿真过程

NS2中需要将具体的协议在模拟环境下进行实现, 实现新协议的步骤具体如下[4]:

(1) 定义或继承C++协议类;

(2) 编写新类的成员函数和协议算法;

(3) 定义TCL相关的类和变量;

(4) 把C++代码绑定到TCL;

(5) 修改makefile文件, 重新编译ns.exe文件。

5 IVI组播转换网关的NS2实现

5.1 Tcl仿真脚本编写

●Simulator

模拟器提供了一套用做模拟配置和选择用于驱动模拟时间调度器接口的类型。

●节点

节点 (node) 是网络拓扑重要的组成部分。

●链路

即创建节点之间的连接, 通过simplexlink{}实现。

●创建跟踪对象

5.2 事件调度器

Simulator是一个事件驱动模拟器。NS中有四种可用的调度器, 默认的是时间队列调度器。

5.3 路由模块

路由模块的设计时, 需要实现3个功能模块:

●邻居交换路由包和路由代理。

●路由逻辑, 它利用路由代理收集来的信息, 执行实际的路由计算。

●节点中的分类器。他们用来计算路由表, 从而执行包的传递。

5.4 分组报头

分组报头, 分组是对象之间传递的基本单元, 由分组报头和数据组成。在非实际的网络中, 其实携带数据是没有实际意义的, 无论某个分组是否被使用都会被初始化。添加新的分组头, 需要经过几个步骤:

●在C++中创建一个结构体, 命名多采取hdr_newhdr, 定义offset_ (偏移量) 字段和访问它的方法。

●定义所需要访问的其他字段的成员函数。

●创建一个static类来完成Otcl连接, 在它的构造函数中进行bind_offset () 。

●激活新的分组头。

5.5 IVI-MTG工作流程

具体过程:PC1发出IPv4组播报文, 经过R1转发数据, 当PC2收到该数据, PC2判断是否接收该数据, PC2因为是组播组成员, 所以它接收该组播报文。当报文到达IVI-MTG, 由MP4负责将其转发给IMT, IMT对报头进行转换, 将源地址转换为MTG的IPv6地址:FF3E:0:0:0:0:0:F000:0002, 目的地址转化为R2的IPv6地址:FF3E::F002:0100, 组播报文到达R2之后, 由它将报文转发给PC3和PC4。当PC3、PC4收到组播报文, 发起MLD成员报告, 经过R2, 传到IVI_MTG, MP6将其转发给IMT, IMT将MLD报文转化成IGMPv2成员报文, 通过MP4发送成员报告关系, 从而PC3、PC4正式加入IPv4组播组。

摘要:IPv6的时代正式来临, 然而目前很多的网络应用和基础设施还是基于IPv4, 使得IPv6的还没有真正的全面推广和部署, 因此必须研究其过渡技术。IVI是一种IPv4向IPv6过渡的技术, 本文主要介绍了IVI的过渡环境下组播过渡技术研究, 再利用NS2网络模拟器实现IPv4组播和IPv6组播之间的通信。

关键词:IPv4,IPv6,组播,IVI,NS2

参考文献

[1]包丛笑, 李星.CNGI-CERNET2主干网IVI试商用配置文档 (v0.5) [J].中国教育网络, 2009 (5) .

[2]杨云江, 高鸿峰.IPv6技术与应用[M].北京:清华大学出版社, 2010 (2) .

上一篇:2016上数学小课题研究总结报告下一篇:中国职教面临六大难题