基于IPv6的单播和SSM组播双向转换方法及系统的制作方法

文档序号:7755698阅读:158来源:国知局
专利名称:基于IPv6的单播和SSM组播双向转换方法及系统的制作方法
技术领域
本发明涉及互联网技术领域,特别涉及一种基于IPv6的单播和SSM组播双向转换方法及系统。
背景技术
具有大数据量、低延时等技术特点的高性能视频传输系统(包括视频会议系统和网络电视系统)是下一代互联网的典型应用,该应用对网络带宽和实时性等方面对网络、 端系统以及应用系统本身提出了很高要求。目前流行的视频应用系统包含DVTS系统、VLC 系统和高清非压缩视频系统,分辨率从标清(720X480)到高清(1920 X 1080),传输带宽从 22Mbps到800Mbps,具有不同的特性,为用户不同需求提供不同服务。高性能视频传输系统一般具有一点到多点或多点到多点的并发传输特性,由于端口限速、网络拥塞等原因,当前的互联网不一定能满足视频传输系统在并发多路传输场景下对于带宽的要求。在此之前, 并没有专门针对视频传输系统的解决网络问题的方法,传统的基于单播的传输方法,在并发多路传输场景下,严重地消耗网络带宽,并可能因为并发数过大导致网络拥塞和丢包,每一路传输性能都受到影响。在新一代IPv6互联网体系结构的基础上,特定源组播(Source Specific Multicast, SSM)技术用以在网络层提供一种一对多的数据报文传输服务,以确保互联网中的数据冗余尽量降低。在原先发送数据报文的多个副本的链路上,SSM组播通过特定的路由方法,将该链路上发送的数据报文限制为仅单个数据报文,从而严格控制数据冗余。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是在支持单播的网络用户和支持SSM组播的网络用户之间,如何将单播网络的数据报文转发到SSM组播网络,如何将SSM组播网络的数据报文转发到单播网络。( 二 )技术方案为了解决上述技术问题,本发明提供一种基于IPv6的单播和SSM组播双向转换方法,包括以下步骤Sl IPv6单播和SSM组播双向转换初始化;S2 接收用户转换申请;若为IPv6单播到SSM组播转换申请,则转入步骤S3 ’若为 SSM组播到IPv6单播转换申请,则转入步骤S4 ;若既不是IPv6单播到SSM组播转换申请也不是SSM组播到IPv6单播转换申请,则拒绝申请;S3 进行IPv6单播到IPv6SSM组播的转换;S4 进行IPv6SSM组播到IPv6单播的转换。优选地,所述步骤Sl具体包括Sll 从本地配置文件读取本地IPv6地址列表;
S12 按照所述配置文件地址列表中地址的先后顺序,依次校验地址合法性;如果地址合法,为其分配ID ;如果地址不合法,不为其分配ID ;S13 建立S12中ID和本地IPv6地址的映射关系,保存为本地地址映射表。优选地,所述步骤Sll中指定的本地配置文件包含本地能接收IPv6SSM组播的网卡配置的多个IPv6单播地址。优选地,所述步骤S12中分配的本地地址的ID,从1开始并且为连续分配的正整数。优选地,所述步骤S3具体包括S31 提取用户提交的单播到SSM组播转换申请信息,包括需要转换的IPv6单播源地址和单播目的地址,及需要转换到的IPv6 SSM组地址;S32 根据所述申请信息中的单播源地址和单播目的地址确定是否为合法的IPv6 单播地址,如果为非合法的IPv6单播地址,则拒绝申请;S33 根据所述申请信息中的SSM组地址确定是否为合法的IPv6SSM组地址,如果为非合法的IPv6SSM组地址,则拒绝申请;S34 根据映射到的IPv6SSM组地址确定是否已经分配对应该IPv6 SSM组地址的地址池,如没有分配地址池,则分配地址池,并在 < 单播源地址,单播目的地址 > 元组到地址池的映射表中,将该 < 单播源地址,单播目的地址 > 元组的映射地址池,指向该IPv6 SSM组地址地址池;S35 用户向IPv6单播目的地址发送IPv6单播数据报文,其中单播目的地址是网卡拥有的任意单播地址;S36 对于在网卡上接收到的单播数据报文,进行转发操作。优选地,所述步骤S36具体包括S361 在接收到数据IPv6单播数据报文后,在 < 单播源地址,单播目的地址 > 元组到地址池映射表中查找到地址池,然后在地址池中查找该报文的 < 单播源地址,单播目的地址 > 元组,如果地址池中存在该报文的 < 单播源地址,单播目的地址 > 元组,则查找其对应的ID,如果地址池中不存在该报文的 < 单播源地址,单播目的地址 > 元组,则确定地址池是否有剩余地址,如果地址池中有剩余地址,则在地址池中添加该报文的源IPv6地址,并分配相应的ID,否则,拒绝转发申请,停止S36步骤;S362 使用S361中查找到或分配的ID,在S13中建立的本地地址映射表中作为ID 项,查找该ID对应的本地IPv6地址;S363 将源IPv6地址绑定到S362中查找到的本地IPv6地址;S364 将IPv6单播数据报文发送到S33中的IPv6 SSM组播组。优选地,所述步骤S4具体包括S41 提取用户提交的转换SSM到单播转换申请信息,所述申请信息包括需要转换的IPv6 SSM组的源地址和组地址,需要转换到的IPv6单播地址;S42 根据所述申请信息中的SSM组地址确定是否合法的IPv6SSM组地址,如果为非合法的IPv6 SSM组地址,则拒绝申请;S43 根据所述申请信息中的单播地址确定是否为合法的IPv6单播地址,如果为非合法的IPv6单播地址,则拒绝申请;
S44 将SSM组的源地址绑定到S13中建立的本地地址映射表中的第一个本地地址;S45 加入S41中用户提交的转换申请信息包含的IPv 6SSM源地址和IPv6 SSM组地址指定的IPv6 SSM组播组;S46 用户向IPv6 SSM组地址发送IPv6 SSM组播数据报文;S47 将IPv6 SSM数据报文发送到S43中的IPv6单播地址。本发明还提供一种基于IPv6的单播和SSM组播双向转换系统,包括申请信息接收模块,用于接收用户提交的转换申请信息;申请信息验证模块,与所述申请信息接收模块连接,用于验证用户申请的IPv6单播和SSM组播地址是否合法;如果申请的组地址无效,则拒绝申请;IPv6单播到IPv6 SSM组播转换模块,与所述申请信息验证模块连接,用于进行 IPv6单播到SSM组播的转换;IPv6 SSM组播到IPv6单播转换模块,与所述申请信息验证模块连接,用于进行 IPv6 SSM组播到单播的转换。优选地,所述IPv6单播到IPv6 SSM组播转换模块根据申请信息为 < 单播源地址, 单播目的地址 > 元组映射到的SSM组地址分配相应的地址池,当用户发送数据报文时,检查该报文的 < 单播源地址,单播目的地址 > 元组,根据该 < 单播源地址,单播目的地址 > 元组是否在地址池中存在进行相应的地址分配操作,若存在,则从地址池中查找对应的网关本地地址,若不存在,则在地址池中分配对应该源地址的网关本地地址;随后,以该网关本地地址作为源地址,发送到用户申请的IPv6SSM组播组。优选地,所述IPv6 SSM组播到IPv6单播转换模块根据申请信息加入相应的IPv6 SSM组播组,当用户向IPv6 SSM组播组发送数据时,以网关本地地址作为源地址,发送到用户申请的IPv6单播地址。(三)有益效果本发明根据所申请的转换信息进行IPv6单播和IPv6 SSM组播双向转换,能够将 IPv6 SSM组播转换为IPv6单播;能够将来自一个分组但多个来源的IPv6单播转换为多个源地址不同但组播组相同的IPv6 SSM组播。


图1是本发明网络逻辑拓扑结构图;图2、图3是本发明基于IPv6的单播和SSM组播双向转换方法流程图;图4是本发明基于IPv6的单播和SSM组播双向转换系统结构图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不是限制本发明的范围。如图1所示,以用户ul和u3申请基于IPv6的单播和SSM组播双向转换服务为例来说明本发明,其中双向转换网关GW位于u 1和u3之间,GW到u 1间的网络支持IPv6单播, Gff到u3间的网络支持IPv6 SSM组播。双向转换网关GW部署在用户Ul和u3之间,安装基于IPv6的单播和SSM组播双向转换服务程序,部署后M小时运行,等待用户的组播转换申请,主要功能如下等待用户的组播转换申请,从用户获得组播转换申请信息,包括单播到SSM转换申请信息和SSM到单播转换申请信息。其中单播到SSM转换申请信息包括转换前的单播源地址和单播目的地址、需要转换到的SSM组地址(单播目的地址必须是网关GW的任意网卡上配置的任意IPv6单播地址,否则网关GW无法接收到用户数据),SSM到单播转换申请信息包括转换前的SSM组播源和组地址、需要转换到的单播组地址;收到组播转换申请信息后,单播和SSM组播双向转换网关GW根据转换申请信息的类型进行相应操作。如图2、图3所示,本发明所述的基于IPv6的单播和SSM组播双向转换方法,包括以下步骤S1 :IPv6单播和SSM组播双向转换初始化;S2 接收用户转换申请 ’若为IPv6单播到SSM组播转换申请,则转入步骤S3 ;若为SSM组播到IPv6单播转换申请,则转入步骤 S4 ;若既不是IPv6单播到SSM组播转换申请也不是SSM组播到IPv6单播转换申请,则拒绝申请;S3 进行IPv6单播到IPv6 SSM组播的转换;S4 进行IPv6 SSM组播到IPv6单播的转换。本发明方法的具体实现流程用户向双向转换网关GW提交申请的详细信息,包括转换申请类型(包括单播到 SSM转换;SSM到单播转换)和相应的附加信息。单播到SSM转换的附加信息包括转换前的单播报文的单播源地址和单播目的地址,转换到的SSM组地址。SSM到单播转换的附加信息包括转换前的SSM源地址和组地址,转换到的单播组地址。GW根据用户转换类型,确定相应的初始化操作。如果申请单播到SSM转换,则检查该 < 单播源地址,单播目的地址 > 元组是否已经被申请过,如果未申请,则为该 < 单播源地址,单播目的地址 > 元组映射到的SSM组地址池开辟相应的地址池,并将该 < 单播源地址, 单播目的地址 > 元组指向该地址池。如果申请SSM到单播转换,则取出GW本地地址的第一个地址,作为转发地址。用户发送数据,开始转发过程如果用户发送的是单播,则首先查找该单播报文的 < 单播源地址,单播目的地址> 元组是否存在映射到的地址池。如果不存在相应的地址池,则该报文不需要进行转发,停止后续步骤。否则,在对应该单播报文 < 单播源地址,单播目的地址 > 元组的地址池中查找用户的 < 单播源地址,单播目的地址 > 元组。地址池中如果存在上述元组,则以该地址对应的 GW本地地址作为源地址,将单播报文的载荷发送到SSM组地址。地址池中如果不存在用户的地址,则为该用户地址分配一个GW本地地址,并以此为源地址,将单播报文的载荷发送到SSM组地址。如果用户发送的是SSM组播,则以GW本地地址的第一个地址作为源地址,将该SSM 报文的载荷发送到单播地址。Gff中保存的地址初始配置如下
权利要求
1.一种基于IPv6的单播和SSM组播双向转换方法,其特征在于,包括以下步骤51:IPv6单播和SSM组播双向转换初始化;52接收用户转换申请 ’若为IPv6单播到SSM组播转换申请,则转入步骤S3 ;若为SSM 组播到IPv6单播转换申请,则转入步骤S4 ;若既不是IPv6单播到SSM组播转换申请也不是SSM组播到IPv6单播转换申请,则拒绝申请;53进行IPv6单播到IPv6SSM组播的转换;54进行IPv6SSM组播到IPv6单播的转换。
2.如权利要求1所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤Sl具体包括511从本地配置文件读取本地IPv6地址列表;512按照所述配置文件地址列表中地址的先后顺序,依次校验地址合法性;如果地址合法,为其分配ID ;如果地址不合法,不为其分配ID ;513建立S12中ID和本地IPv6地址的映射关系,保存为本地地址映射表。
3.如权利要求2所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤Sll中指定的本地配置文件包含本地能接收IPV6SSM组播的网卡配置的多个IPv6单播地址。
4.如权利要求2所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤S12中分配的本地地址的ID,从1开始并且为连续分配的正整数。
5.如权利要求1所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤S3具体包括531提取用户提交的单播到SSM组播转换申请信息,包括需要转换的IPv6单播源地址和单播目的地址,及需要转换到的IPv6SSM组地址;532根据所述申请信息中的单播源地址和单播目的地址确定是否为合法的IPv6单播地址,如果为非合法的IPv6单播地址,则拒绝申请;533根据所述申请信息中的SSM组地址确定是否为合法的IPv6SSM组地址,如果为非合法的IPv6SSM组地址,则拒绝申请;534根据映射到的IPv6SSM组地址确定是否已经分配对应该IPv6SSM组地址的地址池,如没有分配地址池,则分配地址池,并在 < 单播源地址,单播目的地址 > 元组到地址池的映射表中,将该 < 单播源地址,单播目的地址 > 元组的映射地址池,指向该IPv6SSM组地址地址池;535用户向IPv6单播目的地址发送IPv6单播数据报文,其中单播目的地址是网卡拥有的任意单播地址;536对于在网卡上接收到的单播数据报文,进行转发操作。
6.如权利要求5所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤S36具体包括S361 在接收到数据IPv6单播数据报文后,在 < 单播源地址,单播目的地址 > 元组到地址池映射表中查找到地址池,然后在地址池中查找该报文的 < 单播源地址,单播目的地址> 元组,如果地址池中存在该报文的 < 单播源地址,单播目的地址 > 元组,则查找其对应的ID, 如果地址池中不存在该报文的 < 单播源地址,单播目的地址 > 元组,则确定地址池是否有剩余地址,如果地址池中有剩余地址,则在地址池中添加该报文的源IPv6地址,并分配相应的ID,否则,拒绝转发申请,停止S36步骤;5362使用S361中查找到或分配的ID,在S13中建立的本地地址映射表中作为ID项, 查找该ID对应的本地IPv6地址;5363将源IPv6地址绑定到S362中查找到的本地IPv6地址;5364将IPv6单播数据报文发送到S33中的IPv6SSM组播组。
7.如权利要求1所述的基于IPv6的单播和SSM组播双向转换方法,其特征在于,所述步骤S4具体包括541提取用户提交的转换SSM到单播转换申请信息,所述申请信息包括需要转换的 IPv6SSM组的源地址和组地址,需要转换到的IPv6单播地址;542根据所述申请信息中的SSM组地址确定是否合法的IPv6SSM组地址,如果为非合法的IPv6SSM组地址,则拒绝申请;543根据所述申请信息中的单播地址确定是否为合法的IPv6单播地址,如果为非合法的IPv6单播地址,则拒绝申请;544将SSM组的源地址绑定到S13中建立的本地地址映射表中的第一个本地地址;545加入S41中用户提交的转换申请信息包含的IPv6SSM源地址和IPv6SSM组地址指定的IPv6SSM组播组;546用户向IPv6SSM组地址发送IPv6SSM组播数据报文;547将IPv6SSM数据报文发送到S43中的IPv6单播地址。
8.一种基于IPv6的单播和SSM组播双向转换系统,其特征在于,包括申请信息接收模块(10),用于接收用户提交的转换申请信息;申请信息验证模块(20),与所述申请信息接收模块连接,用于验证用户申请的IPv6单播和SSM组播地址是否合法;如果申请的组地址无效,则拒绝申请;IPv6单播到IPv6SSM组播转换模块(31),与所述申请信息验证模块连接,用于进行 IPv6单播到SSM组播的转换;IPv6SSM组播到IPv6单播转换模块(32),与所述申请信息验证模块连接,用于进行 IPv6SSM组播到单播的转换。
9.如权利要求8所述的基于IPv6的单播和SSM组播双向转换系统,其特征在于,所述 IPv6单播到IPv6SSM组播转换模块(31)根据申请信息为 < 单播源地址,单播目的地址 > 元组映射到的SSM组地址分配相应的地址池,当用户发送数据报文时,检查该报文的 < 单播源地址,单播目的地址 > 元组,根据该 < 单播源地址,单播目的地址 > 元组是否在地址池中存在进行相应的地址分配操作,若存在,则从地址池中查找对应的网关本地地址,若不存在, 则在地址池中分配对应该源地址的网关本地地址;随后,以该网关本地地址作为源地址,发送到用户申请的IPv6SSM组播组。
10.如权利要求8所述的基于IPv6的单播和SSM组播双向转换系统,其特征在于,所述 IPv6SSM组播到IPv6单播转换模块(3 根据申请信息加入相应的IPv6SSM组播组,当用户向IPv6SSM组播组发送数据时,以网关本地地址作为源地址,发送到用户申请的IPv6单播地址。
全文摘要
本发明为一种基于IPv6的单播和SSM组播双向转换方法,包括以下步骤S1IPv6单播和SSM组播双向转换初始化;S2接收用户转换申请;若为IPv6单播到SSM组播转换申请,则转入步骤S3;若为SSM组播到IPv6单播转换申请,则转入步骤S4;若既不是IPv6单播到SSM组播转换申请也不是SSM组播到IPv6单播转换申请,则拒绝申请;S3进行IPv6单播到IPv6 SSM组播的转换;S4进行IPv6 SSM组播到IPv6单播的转换。本发明根据所申请的转换信息进行IPv6单播和IPv6 SSM组播双向转换,能够将IPv6 SSM组播转换为IPv6单播;能够将来自一个分组但多个来源的IPv6单播转换为多个源地址不同但组播组相同的IPv6 SSM组播。
文档编号H04L29/12GK102316027SQ20111023706
公开日2012年1月11日 申请日期2011年8月17日 优先权日2011年8月17日
发明者余坤, 傅必振, 包丛笑, 李星, 王伟才 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1