CN101068226A - IPv4/IPv6混合环境下多媒体交互网关实现方法 - Google Patents

IPv4/IPv6混合环境下多媒体交互网关实现方法 Download PDF

Info

Publication number
CN101068226A
CN101068226A CN 200710017336 CN200710017336A CN101068226A CN 101068226 A CN101068226 A CN 101068226A CN 200710017336 CN200710017336 CN 200710017336 CN 200710017336 A CN200710017336 A CN 200710017336A CN 101068226 A CN101068226 A CN 101068226A
Authority
CN
China
Prior art keywords
ipv4
address
ipv6
gateway
dport
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200710017336
Other languages
English (en)
Other versions
CN101068226B (zh
Inventor
郑庆华
刘均
张未展
何京江
郏新颜
车轶
刘文江
陈杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN200710017336A priority Critical patent/CN101068226B/zh
Publication of CN101068226A publication Critical patent/CN101068226A/zh
Application granted granted Critical
Publication of CN101068226B publication Critical patent/CN101068226B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了IPv4/IPv6混合环境下多媒体交互网关实现方法,基于该方法的多媒体交互网关采用一种由会话管理层,传输控制层和协议转换层分层控制的构成方法;传输控制层根据会话管理层的用户注册信息、网关负载均衡信息,实现了一种IPv4/IPv6混合环境下的自适应组播方法,自适应实现基于带宽检测和最大负载均衡算法的应用层组播和网络层组播;并在IPv4网络环境下基于IP地址匹配度的内网判别方法实现网络穿透代理功能。协议转换层跟据传输控制层提供的传输控制决策信息在数据链路层完成数据帧从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4、IPv6到IPv6的格式转换。

Description

IPv4/IPv6混合环境下多媒体交互网关实现方法
技术领域
本发明属于计算机设计与应用技术领域,涉及计算机软件、数据传输技术、多媒体技术以及IPv4、IPv6网络,特别涉及一种支持IPv4/IPv6混合环境的多点实时多媒体交互网关。
背景技术
目前,针对IPv4/IPv6混合环境下的互联互通技术,解决问题的方法主要有隧道技术、双协议栈技术,协议转换技术NAT-PT等。隧道技术适合IPv6孤岛通过隧道穿越IPv4网络实现互联,双协议栈技术更是要求所有节点都具备访问IPv4与IPv6的能力,两者并不支持纯IPv4与纯IPv6网络环境下的互联互通。NAT-PT技术主要用于实现非双栈的IPv4和IPv6节点的互通,但往往需要与特定的应用层网关技术结合使用,无法满足大规模的多点多媒体交互应用。
目前,针对大规模多媒体传输与交互技术,应用层组播技术被广泛采纳,然而,应用层组播节点往往只是多媒体数据的分发,没有充分考虑网络环境的多样性,不具备针对IPv4/IPv6网络混合环境下的快速协议转换功能。
因此,研究一种方法,在实现IPv4/IPv6混合环境下的多媒体交互互通性的基础上,同时提供一种基于网关节点的大规模的应用层组播技术是必要的。
发明内容
本发明的目的在于克服上述现有技术不足,提出一种IPv4/IPv6混合环境下多媒体交互网关实现方法,以实现在IPv4/IPv6混合环境下多点多媒体的交互,解决多媒体交互节点位于IPv4、IPv6混合环境下的互联互通,并利用基于网关的应用层组播技术实现多媒体的实时大规模传输。
本发明的技术方案是这样实现的:
分层控制的构成方法
多媒体交互网关采用分层控制的结构,包括会话管理层、协议转换层和传输控制层;
会话管理层,负责参与多点实时多媒体交互的节点的用户注册,指定一个位于支持IPv4/IPv6双栈的混合环境中,同时具有IPv4地址和IPv6地址的多媒体交互网关,多点实时多媒体交互的节点与该多媒体交互网关建立会话链接,登记自身的用户名和对应的IP地址和Mac地址,完成用户注册;会话管理层同时还负责多媒体交互网关的用户状态监控;
传输控制层,根据会话管理层的用户注册信息、多媒体交互网关负载均衡信息,实现IPv4/IPv6混合环境下的自适应组播,将位于IPv4/IPv6双栈网络、IPv4网络或IPv6网络中的其他多媒体交互网关组织成树状结构的中继网关集群,构成实时多媒体通信的应用层组播树,对于支持网络层组播的IPv4局域网环境,提供网络层组播接口,自适应实现基于带宽检测和最大负载均衡算法的应用层组播和网络层组播;并实现基于IP地址匹配度的内网判别方法,在IPv4局域网络环境下实现网络穿透代理功能;
协议转换层,该协议转换层根据传输控制层提供的传输控制信息,以基于数据链路层的协议实现在数据链路层的数据帧从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4、IPv6到IPv6的格式转换。
基于数据链路层的协议转换方法
具体方法如下:
1)从网络接口捕获到转换网关的数据链路帧F
F=(MACr,MACg,Proto,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),C)
其中,MACr表示双协议栈路由器的mac地址,MACg表示协议转换模块的mac地址,Proto表示网络数据包的协议类型,C表示链路帧校验和值。(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD))表示网络层数据包P。SIP表示源主机IP地址,DIP表示目的主机IP地址,OTHER表示IP报头中的其他字段。DIP=IP4g,协议转换模块的IPv4地址,或DIP=IP6g,协议转换模块的IPv6地址。(SPort,DPort,DCheckSum,OtherD)表示传输层报文,SPort表示源端口号,DPort表示目的端口号,DCheckSum表示传输层报文校验和,OtherD表示传输层报文中其他字段。
2)从F中提取出网络层数据包P
P=(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD))。以(SIP,SPort,DPort)为关键字搜索转换队列Q,Q={Q0,Q1,Q2,Q3......}。Qi可表示为七元组:{SIP,SPort,DPort,DIP′,SPort′,DPort′,G},表达的意思是:协议转换模块从端口DPort接收源主机SIP的SPort端口数据,然后进行协议转换,最后将协议转换后的数据以G方式从端口SPort′发往目的主机DIP′的端口DPort′。
如果没找到匹配的Qi,则不是需要协议转换的数据包,丢弃并返回。找到的匹配元素Qi可有多个,对每个Qi执行以下步骤。
根据数据帧中IP报文协议类型和Qi中的DIP′类型,决定进行从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4或IPv6到IPv6的格式转换。
3)进行数据帧F帧头的转换:
将源mac地址、目的mac地址分别替换为网关mac地址和下一跳路由器mac地址,协议类型如有改变,应修改类型字段Proto′,重新计算CRC并更新该字段,得到转换后的帧F′。即最终完成从F=(MACr,MACg,Proto,P,C)到F′=(MACg,MACr,Proto′,P′,C′)的转换。
4)将完成协议转换后的帧F′通过网络接口发送出去。
IPv4/IPv6混合环境下的自适应组播方法
具体方法如下:
1)判断多媒体交互网关所在的网络环境;
2)如果为IPv4局域网中的节点,采用基于IP地址匹配度的内网判别方法进行内网判别,自适应启动网络层的IP组播进行多媒体数据的传输;否则为IPv4/IPv6混合环境下的节点,转至3);
3)采用基于带宽检测和最大负载均衡的方法进行搭建应用层组播树;具体步骤如下:
Step1 Gi与组播树中每个网关依次进行定值带宽估测,并找出满足Bv的网关集合G;
Step2如果G不为空,计算当Gi加入后集合G中每个网关的当前链接数,如果超过了最大负载链接数,则把该网关从G中去除;否则,转至Step4;
Step3如果G不为空,在G中选取深度最小的网关做为Gi在组播树的父节点,即转发网关,算法结束;否则,转至Step4;
Step4 Gi等待一段时间,重新加入网关组播树。
4)通过以上3步,网关组播树已搭建成功,终端节点采用考虑网关的最大负载能力和可用带宽的方法加入组播树,加入步骤如下:
Step1采用pick-k算法,在当前可用的网关集群中挑选出k个候选网关,定义为集合G;
Step2采用IP相似度计算方法,计算终端节点与G中每个网关的IP相似度;其中,IP相似度计算方法是利用IPv432bit地址中的分段表示‘.’或者IPv6128bit地址中的‘:’,对输入的IPa和IPb从最高段到最低段逐段比较,定义一个整数S为IPa和IPb之间的IP相似度,S初始化为0,如果一段完全匹配S增加25,并检查下一段,否则计算完毕;
Step3选择G中IP相似度最高的网关作为终端节点加入的网关。
基于IP地址匹配度的内网判别方法
具体方法如下:
首先,交互节点在交互前要在网关上进行注册,注册时需要向网关以TCP数据包的方式提交该节点的地址信息,所以交互节点将把自己本地地址信息写入TCP数据包,并发送给多媒体交互网关。
然后,多媒体交互网关中的管理模块接收到数据包之后将数据包进行解析,得到交互节点的地址信息。
最后,管理模块将解析出地址信息与接收TCP数据包时侦听到的Socket地址进行比较,若相同则代表节点位于公网,否则说明节点位于内网。
本发明采用以上方法,能够达到了以下技术效果:
1)通过分层控制的构成方法,对多点实时多媒体交互网关的功能进行了明确分层管理,实现了IPv4/IPv6混合环境下多媒体数据管理的易操作性和透明性;
2)通过使用基于数据链路层的协议转换方法,达到了IPv4到IPv4、IPv4到IPv6、IPv6到IPv4、IPv6到IPv6协议的数据包格式快速转换,最大限度地节省了一般在网络层进行协议转换所花费的时间,从而很好地保证了IPv4/IPv6混合环境下的多点多媒体交互的互通性,实时性和可靠性。
3)提出一种IPv4/IPv6混合环境下的自适应组播的实现方法。该实现方法以定值带宽估测和多媒体网关的最大负载均衡为权值进行组播树的搭建和调度,通过使用这种方法,可以在组播时合理地对每个交互节点进行自适应调度,最大限度地保证每个节点网络环境良好,通常在网络状况良好下,源节点到目的节点延迟小于0.5s,这很好地保证了每个交互节点的交互质量;通过使用组播协议,每个多媒体网关支持的最大节点数约为40个节点,若在实际应用中采用分级扩展,假设分二级,则总共支持1600个节点,这样最大限度地扩展了系统支持的交互规模,满足大规模的实时多点多媒体交互传输所需要的需求。
4)通过提出一种基于IP地址匹配度的网络环境自适应判别方法,保证了网关在IPv4环境下能够自适应的判断各种网络状况,从而根据所处环境做出相应调整来保证多点多媒体交互的顺利进行。
附图说明
图1是本发明多点实时交互多媒体交互网关的分层结构。
图2是本发明多点实时交互多媒体交互网关的信息流图。
图3是本发明协议转换层的工作流程图。
图4是本发明IPv4/IPv6混合环境下的自适应组播结构图。
图5是本发明多点实时多媒体交互网关的应用层组播树搭建策略图。
图6是本发明多媒体交互节点接入策略具体流程图。
图7是本发明多点实时交互多媒体交互网关穿透代理的连接示意结构图。
图8是本发明多点实时交互多媒体交互网关建立NAT映射示意图。
图9是本发明多点实时交互多媒体交互网关根据映射穿透网关示意图。
图10是本发明基于IP地址匹配度的内网判别方法流程图。
下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
分层控制的构成方法
参照图1所示,所述的多点实时交互多媒体交互网关是一种分层控制网关,由会话管理层,传输控制层和协议转换层,会话管理层包括用户注册和状态监控功能模块;传输控制层包括混合环境自适应多播、IPv6代理穿透和负载均衡模块;协议转换层包括IPv4/IPv6协议转换和缓冲区队列管理模块。
首先,主网关位于支持IPv4/IPv6双栈的混合环境中,同时具有IPv4地址和IPv6地址。参与多点实时多媒体交互的节点可能位于纯IPv4网络或纯IPv6网络中。参与多点实时多媒体交互的节点根据自身的网络类型与网关的IPv4地址和IPv6地址建立会话链接,登记自身的用户名和对应的IP地址和Mac地址。完成用户注册。会话管理同时还负责网关用户的状态监控,包括显示节点是否参与交互,及用户的多媒体数据发送参数,帧速率。传输控制层基于会话管理层的会话管理,对汇聚在网关的多媒体数据进行传输控制,确定传输方式。针对所处网络环境的异构特点,本发明实现了针对混合环境的自适应组播。位于异构网络环境下的网关构成树状结构的中继网关集群,构成实时多媒体通信的应用层组播树。并对于IPv4内网提供组播接口。另外,对于IPv4内网,本发明提供了基于IP地址匹配度的网络环境自适应判别策略内网穿透NAT代理的功能。协议转换层根据传输控制层提供的传输控制决策,完成基于链路层的协议解析转换功能,并针对多入多出的实时多媒体数据,进行缓冲区队列管理控制。
多点实时多媒体交互网关的通信原语
多点实时多媒体交互网关与实时多媒体交互节点之间的通信及网关会话管理层与传输控制层及协议转换层的通信基于以下通信原语,通信原语实现按其功能,通信原语可分为以下两种类型。
1)多媒体数据传输类通信原语
主要用于对多媒体数据的发送、接收进行控制,定义如下:
传输类通信原语::=<操作类型>,<结点ID>,<传输地址>,<数据类型>操作类型::=<用户注册>|<撤销注册>|<开始发送>|<停止发送>|<开始接收>|<停止接收>
结点ID表示执行此原语的结点。
传输地址::=<源IP地址>|<目标IP地址>,<端口>,<源Mac地址>|<目Mac地址>
传输地址还隐含了数据传输模式,即采用组播方式或单播方式进行传输。
数据类型::=<用户注册数据>|<音频数据>|<视频数据>。
2)会话控制类通信原语
主要用于网关内部会话管理层,传输控制层,协议转换层之间的会话消息传递。
会话控制类通信原语::=<操作类型>,<结点ID>,<层ID>,<数据类型>操作类型::=<服务请求>|<服务请求响应>|<传输控制决策>
结点ID表示执行此原语的结点。
层ID::=<源层ID>|<目标层ID>
数据类型::=<服务请求信息数据>|<服务请求响应信息数据>|<传输控制决策信息数据>。
服务请求指会话管理层传递给传输控制层用户节点服务请求信息的操作,如节点加入退出请求,传输质量要求和节点交互请求等,传输控制层基于服务请求产生相应的服务请求响应操作,将接入许可信息,目的地址信息等服务请求响应信息数据反馈给会话管理层,并将传输控制决策信息传递给协议转换层,包括协议转换方式,单,组播策略,队列管理等。
多点实时多媒体交互网关的工作流程
参照图2所示,多媒体交互网关的工作流程信息流图如下:
其中细线表示物理连线,粗线表示信息流。图2以源主机位于IPV4网络中的情况为例,叙述多媒体交互网关的工作流程。
1){用户注册,结点ID,传输地址,注册数据}
位于IPV4网内的主机H1向多媒体交互网关发起注册请求,申请加入多媒体交互应用系统。
2){服务请求,结点ID,层ID,{用户服务请求信息数据}
会话管理层将用户请求传递给传输控制层处理,如节点加入请求,多媒体接收请求,传输质量要求和节点交互请求等,传输控制层根据这些信息,将服务请求响应反馈给会话管理层。
3){服务请求响应,结点ID,层ID,请求响应信息数据}
传输控制层根据这些信息,将服务请求响应决策信息反馈给会话管理层。
4){传输控制决策,结点ID,层ID,转换策略数据}
同时,多媒体交互网关的传输控制层将制定的传输控制决策信息发送给协议转换层,如协议转换方式,单,组播策略,队列管理等。
5){用户注册,结点ID,传输地址,注册数据}
会话管理层将目的多媒体交互网关的IPV4地址,服务端口号以及Mac地址发送给H1
6){接收,结点ID,传输地址,{音频数据,视频数据}}
多媒体交互网关的协议转换层接收来自H1的应用数据报文。
7)协议转换层根据用户传输策略完成协议转换。
8){发送,结点ID,传输地址,{音频数据,视频数据}}
网关将转换后的数据帧,进行多路视音频数据融合,并转发给其它交互目的主机。可以是单播传送、也可以是组播传送,并目的主机可以位于不同IP协议的网络中。
基于数据链路层的协议转换方法
本协议转换模块工作在数据链路层。其具体实施方式如下:
首先,从网络接口捕获链路层数据。数据的捕获使用winpcap开发包的pcap_loop函数。
然后,根据应用策略,对捕获到的链路帧进行从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4、或IPv6到IPv6的协议转换。
最后,将完成协议转换后的帧通过网络接口发送出去,数据发送使用winpcap开发包的pcap_sendpacket函数。
为了清楚地说明协议转换的具体实施,首先有必要对数据帧和数据包的格式进行形式化说明。
F表示链路层数据帧,SM表示源主机MAC地址,DM表示目的主机MAC地址,C表示校验和值,P表示IP数据包,P可以为IPv4包或IPv6包,Proto表示网络协议。本协议转换模块只针对IPv4和IPv6协议进行转换,设INET4=0x0800,表示IPv4协议,INET6=0x86dd,表示IPv6协议,则Proto=INET4或Protoi=INET6,数据帧F可以表示为:F=(SM,DM,Proto,P,C)。
设SIP表示源主机IP地址,SIP可以为IPv4或IPv6地址;DIP表示目的主机IP地址,DIP可以为IPv4或IPv6地址;DATA表示传输层报文数据,DATA可以是TCP报文或UDP报文;G表示是否采用组播传输方式,G取值0表示采用非组播方式,取值1表示采用组播方式,具体取值由管理服务器确定。
链路帧F中的网络层包P可粗略的表示为P=(SIP,DIP,OTHER,DATA),为了形式简练,这里用OTHER表示IP报头中的的其他字段。
传输层报文DATA可表示为DATA=(SPort,DPort,DCheckSum,OtherD),SPort表示源端口号,DPort表示目的端口号,DCheckSum表示传输层报文校验和,OtherD表示DATA中其他字段。
网络层数据包P等价表示方式为:
P=(SIP,DIP,OTHER,DATA)
P=(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD))
链路帧F等价的表示方式为:
F=(SM,DM,Proto,P,C)
F=(SM,DM,Proto,(SIP,DIP,OTHER,DATA),C)
F=(SM,DM,Proto,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),C)
在图2中,双协议栈路由器的mac地址表示为MACr,协议转换模块的mac地址表示为MACg。所有发向协议转换模块的数据帧F可以表示为:F=(MACr,MAAg,Proto,P,C)。所有从协议转换模块发出的数据帧F′可以表示为:F′=(MACg,MACr,Proto′,P′,C′)。
协议转换模块的IPv4地址表示为IP4g,IPv6地址表示为IP6g。发往协议转换模块的网络层包P=(SIP,IP4g,OTHER,DATA),其中SIP也为IPv4地址,或P=(SIP,IP6g,OTHER,DATA),其中SIP也为IPv6地址。由协议转换模块发出的网络层包P′=(IP4g,DIP′,OTHER′,DATA′),其中DIP′也为IPv4地址,或P′=(IP6g,DIP′,OTHER′,DATA′),其中DIP′也为IPv6地址。
转换队列Q由队列元素Qi组成,Q={Q0,Q1,Q2,Q3......}。Qi可表示为七元组:{SIP,SPort,DPort,DIP′,SPort′,DPort′,G},表达的意思是:协议转换模块从端口DPort接收源主机SIP的SPort端口数据,然后进行协议转换,最后将协议转换后的数据以G方式从端口SPort′发往目的主机DIP′的端口DPort′。
要完成协议转发功能,协议转换部件事先从管理层获得相关信息,建立和维护转换队列Q,然后按一定步骤完成从F=(MACr,MACg,Proto,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),C)到F′=(MACg,MACr,Proto′,(SIP′,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD)),C′)的协议转换。
如图3所示,协议转换层的具体工作流程如下:
1)从网络接口接收链路层数据。数据的接收使用winpcap开发包的pcap_loop函数来捕获数据包。该函数原型如下:
int pcap_loop(pcap_t*p,int cnt,pcap_handler callback,u_char*user);
参数说明如下:
p是由pcap_open_live()返回的所打开网卡的指针;
cnt用于设置所捕获数据包的个数;
packet_handler是与void packet_handler(u_char*param,const structpcap_pkthdr*header,const u_char*pkt_data)配合使用的一个参数。它是一个回调函数,用来描述所捕获的数据包的处理方式;
user值一般为NULL。
过滤出的源主机到本机的数据链路帧F。
F=(MACr,MACg,Proto,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),C)2)从F中提取出网络层数据包P,P=(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD))。以(SIP,SPort,DPort)为关键字搜索转换队列Q。
如果没找到匹配的Qi,则不是需要协议转换的数据包,丢弃并返回。找到的匹配元素Qi可有多个,对每个Qi执行以下步骤。
根据数据帧中IP报文协议类型和Qi中的DIP′类型,决定进行从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4或IPv6到IPv6的格式转换。
(1)如果SIP、DIP′都为IPv4地址,则将原IPv4报头中的源端IP地址SIP、目的端IP地址IP4g分别替换为转换服务器的IPv4地址IP4g和DIP′,设置总长度字段,并装填重新计算的IP头部校验和;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填。完成从
P=(SIP,IP4g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP4g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换。
(2)如果SIP为IPv4地址、DIP′为IPv6地址,则将原IPv4报头,按IPv6报头格式重组,其中,源端IP地址、目的端IP地址IP4g分别改为转换服务器的IPv6地址IP6g和DIP′;根据G值,决定是否填写相应的流标签;根据IPv4报头中的分片信息,决定是否给IPv6报头增加扩展的分段报头;设置负载长度字段;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填。完成从
P=(SIP,IP4g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP6g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换。
(3)如果SIP为IPv6地址、DIP′为IPv4地址,则将原IPv6报头,按IPv4报头格式重组,源端IP地址、目的端IP地址IP6g分别为转换服务器的IPv4地址IP4g和DIP′,设置总长度字段,计算头部校验和,并装填在相应的位置;如果IPv6报头中有分段扩展报头,则填写IPv4报头中的相应字段,如是否最后一片、偏移量等;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填。完成从
P=(SIP,IP6g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP4g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换。
(4)如果SIP、DIP′都为IPv6地址,则将原IPv6报头中的源端IPv6地址SIP、目的端IPv6地址IP6g分别替换为转换服务器的IPv6地址IP6g和DIP′;根据G值,决定是否填写相应的流标签;设置负载长度字段;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填。完成从
P=(SIP,IP6g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP6g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换。
3)进行数据帧F帧头的转换:将源mac地址、目的mac地址分别替换为网关mac地址和下一跳路由器mac地址,协议类型如有改变,应修改类型字段Proto′,重新计算CRC并更新该字段,得到转换后的帧F′。即最终完成从F=(MACr,MACg,Proto,P,C)到F′=(MACg,MACr,Proto′,P′,C′)的转换。
4)将完成协议转换后的帧F′通过网络接口发送出去,数据发送使用winpcap开发包的pcap_sendpacket函数。该函数原型如下:
int pcap_sendpacket(pcap_t*p,u_char*buf,int size);
p是打开网卡时返回的网卡指针;
buf是发送数据包的内容缓冲区首地址,其指向的内容就是转换后的帧Fi’;
size是发送数据包的大小。
该函数内部调用的具体发送方式可以由一个指向函数的指针inject_op来确定。由于我们之前会使用pcap_open函数来打开设备,该函数内部执行会给指针inject_op赋值,使其指向函数pcap_inject_snoop,最终调用write函数将数据包直接写入设备的发送缓冲区中。从而实现数据直接在链路层发出。IPv4/IPv6混合环境下的自适应组播方法
如图4所示,在IPv4/IPv6混合环境下,多媒体交互网关根据目标节点所使用的网络协议划分后,采用基于带宽检测和最大负载均衡的算法的应用层组播的调度策略搭建了一个多级应用层组播树进行多媒体数据的传输;终端节点采用终端节点加入策略与该组播树中的某一多媒体交互网关相连,接收或发送多媒体数据;对于位于IPv4局域网中的终端节点,则通过网络层组播协议进行多媒体数据传输,以扩大系统的支持规模,满足多点实时多媒体传输的需求。
1)基于带宽检测和最大负载均衡算法的多媒体交互网关的应用层组播调度策略
(1)多级应用层多媒体交互网关树形结构的搭建方法
在多点实时多媒体传输中,需要保证传输的质量和规模。通常而言,实时多媒体的质量由传输带宽和交互时延决定。传输规模由单个多媒体交互网关的最大负载能力决定,通过多级互联结构可以以指数扩大单个多媒体交互网关的规模。我们的搭建策略就是基于带宽估测,传输时延,以及单个多媒体交互网关的最大负载能力。
实时多媒体传输需要最小定值带宽为Bv,最大时延为Tmax,单个多媒体交互网关的最大负载为Cmax路链接。其中,Bmin和Tmax由多媒体数据传输要求决定,Cmax由网关本身所在网络的最大带宽决定。
参见图5所示,应用层组播树搭建策略,是根据多媒体交互网关间估测带宽和最大负载能力来决定网关之间的连接关系,从而组成分布式应用层组播树。其中,Gi为新加入的网关,S为多媒体数据源节点,具体步骤如下:开始条件:Gi加入
Step1判断多媒体交互网关组播树是否为空;为空,转至Step2;否则,转至Step4;
Step2 Gi与S估测带宽,如果带宽满足Bv,则转至Step3;否则,转至Step10;
Step3将Gi与S相连;更新Gi的深度和转发路数,并加入组播树;转至Step11;
Step4 Gi与组播树中每个网关进行带宽估测,找出带宽满足的网关集合G;
Step5判断G是否为空;为空转至Step10;否则,转至Step6;
Step6计算当Gi加入后,G中每个网关的最大负载链接数;将链接数超过Cmax的网关从G中去掉;
Step7判断当前G是否为空;为空,转至Step10;否则,转至Step8;
Step8在G中选择深度最小的网关,将Gi与该网关相连,更新该网关的负载链接数;
Step9更新Gi的深度和转发路数,并加入组播树;转至Step11;
Step10 Gi等待一段时间再重新加入,转至Step1;
Step11算法结束。
在应用层组播树搭建策略中,主要考虑以下几点因素:
√多媒体交互网关之间的估测带宽。
√多媒体交互网关的最大负载能力。
√数据延迟。
下面分别讨论。
定值带宽的估测算法
常用的带宽估测算法主要有Pathchar算法和包对算法,但是这两种算法的主要目的是获得当前链路的最大可用带宽。其中,Pathchar算法一般采用ICMP数据包,因此需要路径中的所有节电都必须提供ICMP支持,测量过程严重依赖于路由器的稳定性。另外,Pathchar算法需要向网络发送大量的测量数据包,将耗费大量的网络带宽,因此不适合多媒体数据传输的带宽估测。包对算法则要求系统中有精确的计时器来获得包与包之间的间隔时间。在多媒体数据传输过程中,无需获得链路的全部可用带宽,只要知道链路带宽是否满足Bv,即可判断经过该链路的媒体数据传输效果。
因此,提出了一种定值带宽估测算法,用于估测当冗余度不超过上限Rmax且目的端获得某定值带宽Bv时,远端发送数据是需要增加的冗余度。
定值带宽估测算法如下:
算法输入:待检测的定值带宽Bv,系统最大冗余度Rmax;
算法输出:发送端实际发送冗余度Rs。返回-1时,说明链路在最大冗余度Umax时仍不具有Bv的带宽;
中间变量:发送持续时间Ts,链路丢包率Ld,目的端接收带宽Bd;
算法描述如下:
Step1源端向目的端发送持续时间为Ts速率为Bv×(1+Rm)的最大冗余连续数据包,若目的端接收到的带宽Bd<Bv,则说明该链路在冗余度为Rm的情况下无法达到Bv的带宽,算法结束,返回Rs=-1。否则说明链路具有速率为Bv的带宽;
Step2源端向目的端发送持续时间为Ts速率为Bv的无冗余连续数据包,通过接收到的数据包个数和总数据包个数计算链路丢包率Ld;
Step3目的端为了获得Bv的带宽,发送端的数据冗余度满足以下公式:
R s 1 + R s = Ld
则Rs为:
R s = L d 1 - L d
则发送端的发送速率为:
                    Bs=Bv×(1+Rs)
该方法实现的基础是以一个定值的带宽发送数据,下面我们具体讨论源端以某定值带宽发送数据的方法。考虑以带宽bKbps发送时长为t的数据,数据包大小为nByte,则需要发送的数据包个数c为:
c = b &times; t &times; 1024 n
网络上发送数据所花的时间t包括数据发送时间ts、发送间隔时间ti和计算机处理时间tp,由于目前计算机性能十分强大,计算机处理时间tp≈0,则数据发送时间为:
                      t=ts+c×ti
若网卡的发送速率为Ba Kbps,则数据发送时间为:
t s = b &times; t B a
则,包发送间隔ti为:
t i = ( 1 - b B a ) &times; t c
多媒体交互网关最大负载能力
在多媒体交互网关处理能力没有限制的情况下,由于多媒体交互网关所在网络环境带宽有限,因此不能无限制的增加转发路数,即与网关连接的终端或其他网关的总个数。如果多媒体交互网关所在网络带宽为Bp,那么其最大负载能力为Bp/Bv。
数据延迟
多媒体数据传输中,为了减少数据延迟,应用层组播树的搭建应该尽量符合广度优先策略。这样还可以增加整个多媒体交互网关集群的转发规模。
(2)终端节点接入策略
参见图6所示,在终端节点接入策略中,同样需要考虑网关的最大负载能力和可用带宽。但是可用带宽的测量会增加接入延迟,所以我们提出一种简便的结合pick-k算法的IP相似度计算方法来代替定量的带宽估测。其中,Ei为新加入的终端节点,具体步骤如下:
开始条件:Ei加入;
Step1判断多媒体网关组播树是否为空;为空转至Step7;否则,转至Step2;
Step2利用Pick-k算法从网关急群众选择K个网关,组成集合G;
Step3计算当Gi加入后,G中每个网关的负载链接数,并将超过Cmax的从G中去掉;
Step4判断当前G是否为空;为空转至Step8;否则,转至Step5;
Step5 Ei与G中每个网关计算IP相似度,选择IP相似度最高的网关;
Step6 Ei与该网关相连,更新该网关的最大负载链接数,转至Step9;
Step7 Ei加入失败;
Step8 Ei等待一段时间并重新加入,转至Step1;
Step9算法结束。
利用pick-k算法在网关集群中选取满足最大负载能力的网关任意k个,利用终端IP地址和网关IP地址进行相似度算法匹配,终端接入相似度最高的一个网关。相比定值带宽估测,这样可以大大减少接入时延。
IP相似度匹配算法认为源节点与目标节点的IP地址相似的程度越大,两者之间网络环境越优越。例如同在一个网段等。算法利用IPv432bit地址中的分段表示‘.’或者IPv6128bit地址中的‘:’来进行逐段匹配。
算法输入:节点A的IP地址IPa,节点B的IP地址IPb(条件:IPa和IPb的IP类型必须一致,同为IPv4地址或同为IPv6地址)
算法输出:节点A和B的IP相似度(取值范围:IPv4相似度为0,25,50,75,100;IPv6相似度为0,25,50,75,100,125,150,175,200)。若IP地址类型不同,返回-1;
算法具体实现如下伪代码:int GetIPSameDegree(IPa,IPb){if(IP Version of IPa!=IP Version of IPb)
                Return-1;//error
               int SameDegree=0;
               if(IP Version of IPa==4)//IPv4
               {
               IPa is divided into 4 parts by 3 dots′.′;
               IPb is divided into 4 parts by 3 dots′.′;
               for(int i=1;i<=4;i++)
               {
                Compare the No.i parts of IPa and IPb;
                if(they are same)
                    SameDegree+=25;
               else
                Break;
               }
               }
               if(IP Version of IPa==6)//IPv6
               {
               IPa is divided into 8 parts by 7 colons′:′;
               IPb is divided into 8 parts by 7 colons′:′;
               for(int i=1;i<=8;i++)
               {
                Compare the No.i parts of IPa and IPb;
                if(they are same)
                    SameDegree+=25;
               else
                Break;
               }
               }
          Return SameDegree;
2)对于位于IPv4网络局域网内网中的节点,基于IP地址匹配度的内网判别方法使用网络层的组播协议进行多媒体数据的传输。这样可以扩大系统的支持规模,满足多点实时多媒体传输的需求。
基于IP地址匹配度的内网判别方法
参照图7所示,图7是实际应用中多媒体穿透代理网关连接示意图。图中共有3个公网结点和2个企业内部局域网通过Internet网连接起来,2个企业内部局域网多媒体网关我们设他们为A,B,他们的对内地址分别为192.168.0.1和192.168.20.1,其多媒体网关的公网地址分别为202.117.15.86和202.117.10.182。局域网A的内部节点地址分别为192.168.0.21,192.168.0.22和192.168.0.23,局域网B的内部节点地址分别为192.168.20.34,192.168.20.37和192.168.20.38。他们共同通过Internet连接进行多点交互。
参照图8所示,该图中描述了建立NAT映射的过程。设内部节点为A,其内网地址为192.168.0.21,多媒体网关的公网地址为202.117.15.86,外部交互节点为B,其公网地址为202.117.16.182,当内部节点A向外部交互节点B发送报文路由经过多媒体网关时,多媒体网关将自动分配好的端口NAT.port和A地址IN.ip和端口IN.port,以及网关地址NAT.ip和B的地址端口OUT.ip和OUT.port作为一个六元组绑定后添加表项到多媒体网关自己维护的NAT映射表中,以建立NAT映射。
参照图9所示,该图中描述了,当外部交互节点向内网节点发送数据时,如何根据NAT映射找到路由关系的过程。设内网节点为A其内网地址为192.168.0.21,多媒体网关的公网地址为202.117.15.86,外部交互节点为B,其公网地址为202.117.16.182,当外部节点B向内网节点发送数据,路由途径多媒体网关时,多媒体网关自动根据B数据中的NAT.ip和NAT.port查询其维护的NAT映射表,若查询到表项则根据表项中的IN.ip和IN.port将数据发送至A;若没有查到,则表明并未建立NAT映射关系,无法路由交互。
参照图10所示,该图为多媒体网关判别交互节点的流程图。首先,每个交互节点在交互前都要向多媒体网关注册,在注册时需要将填写自己的IP地址和端口等信息,然后将这些信息以TCP数据包的形式发送到多媒体网关上。多媒体网关中的管理模块收到数据包后,首先将数据包进行解析,提取出其中的节点IP地址,然后将提取出的节点IP地址与通过TCP Socket监听到的IP地址,也就是其网关地址,进行比较,如果两个IP地址相同则表明节点为公网交互节点,如果不相同则表明节点为内网交互节点。
下面详细说明基于IP地址匹配度的内网判别方法的具体实施方式:
多点实时交互多媒体交互网关支持穿透代理功能,能够根据多点实时交互节点的网络环境提供相应策略,保证实时交互在各种网络平台上的顺利进行,很好地保证了多点交互的可扩展性,移植性和适应性。查新项目提出了一种新的基于IP地址匹配度的内网判别方法,使得多媒体交互网关能够更加容易和准确地判断交户结点所在的网络环境,从而根据网络环境实施相关策略。
穿透代理功能是指在IPv4环境下,当交互节点位于企业内部局域网时,位于内部的源节点依然能够和位于外网的目标节点正常交互,目标节点向源节点发出的媒体数据能够顺利地穿透代理服务器,路由到内部局域网内。图7是实际应用中多媒体穿透代理网关连接示意图。
1)多媒体交互网关穿透代理功能的具体实现
此项功能主要是基于NAT(Net Address Translation)技术,NAT实现的核心是把内部网络中数据报文的地址翻译为外部合法地址并向外部网络发送,而在收到外部数据报文后,再翻译为内部地址并向内部网络发送。NAT的实质就是动态维护一个映射表,用来把内部的地址(IP地址,端口)映射到合法的外部地址上去。在此用<IN.ip,IN.port>表示内部计算机的地址,对应的NAT翻译后的合法外部地址为<NAT.ip,NAT.port>,而与之通信的外部主机地址相应表示为<OUT.ip,OUT.port>。因此,在多媒体交互网关中,NAT映射表就表示为<IN.ip,IN.port,NAT.ip,NAT.port,OUT.ip,OUT.port>六元组形式的映射表项的集合。
当内网交互节点向外发送媒体数据报文时,若其目的地址不在内部网络内,NAT就以<IN.ip,IN.port>为关键字在该映射表内进行查找,如果表项存在,服务器将直接翻译地址并向外转发报文;如果表项不存在,服务器分配一个新的地址资源<NAT.ip,NAT.port>,并将其保存在映射表中,然后再根据该表项转发报文。图8显示了从内网交互节点向外网发送报文网关建立NAT映射的过程。
当服务器收到外部主机发来的报文后,以<NAT.ip,NAT.port>为关键字在映射表内查找,如果找到则进行地址翻译并向内部转发,如果找不到则抛弃报文。图9显示了网关接受外网交互节点数据并根据NAT映射表转发给内网交互节点的过程。
NAT映射表是动态维护的,超过一定时间还未继续使用的<NAT.ip,NAT.port>将会被服务器系统自动回收,以备下次重新分配。
2)多媒体交互网关对源节点和目的节点网络环境的自适应判断。
首先描述多媒体交互网关对源节点和目的节点网络环境的自适应判断。每个交互节点在交互前要在网关上进行注册,注册时需要向网关以TCP数据包的方式提交该节点的地址信息,如位于内网的交互节点将把自己的IP地址例如:192.168.0.21写入TCP数据包,再将该数据包发送到网关节点,网关的管理模块会在交互节点注册时,从数据包中解析出该节点的地址信息。与此同时,当管理模块接收交互节点提交的TCP数据包时,也将侦听到该交互节点所在的网关的Socket网络地址。当交互节点位于内网时,其自身的网卡地址(192.168.0.21)和其所在网关的网络地址(例如:202.117.15.86)有所不同,而当交互节点位于公网时,其自身地址和网关地址则相同(均为202.117.15.86),多媒体交互网关的管理模块将根据此原理判别节点的网络环境。管理模块将该节点地址信息与管理模块监测到的代理服务器地址信息进行比较,若相同则代表节点位于公网,否则说明节点位于内网。例如:由于内网交互节点192.168.0.21位于代理服务器202.117.15.86之后,则管理模块监测到的IP地址应该为202.117.15.86,而解析出的IP地址为192.168.0.21,两者作比较发现不相同,则判定交互节点位于内网。而当多媒体交互网关与一个内网交互节点在同一个网段,如均为192.168.0.XX格式,则经过IP地址比较后将该交互节点当作公网交互结点处理。

Claims (5)

1、IPv4/IPv6混合环境下多媒体交互网关实现方法,其特征在于:该方法通过多媒体交互网关实现IPv4/IPv6混合环境下的多点实时多媒体交互;具体包括:
多媒体交互网关采用分层控制的结构,包括会话管理层、协议转换层和传输控制层;
会话管理层,负责参与多点实时多媒体交互的节点的用户注册,指定一个位于支持IPv4/IPv6双栈的混合环境中,同时具有IPv4地址和IPv6地址的多媒体交互网关,多点实时多媒体交互的节点与该多媒体交互网关建立会话链接,登记自身的用户名和对应的IP地址和Mac地址,完成用户注册;同时还负责多媒体交互网关的用户状态监控;
传输控制层,该传输控制层根据会话管理层的用户注册信息、多媒体交互网关负载均衡信息,实现IPv4/IPv6混合环境下的自适应组播,将位于IPv4/IPv6双栈网络、IPv4网络或IPv6网络中的其他多媒体交互网关组织成树状结构的中继网关集群,构成实时多媒体通信的应用层组播树,对于支持网络层组播的IPv4局域网环境,提供网络层组播接口,自适应实现基于带宽检测和最大负载均衡算法的应用层组播和网络层组播;并以基于IP地址匹配度的内网判别方法,在IPv4局域网络环境下实现网络穿透代理功能;
协议转换层,该协议转换层根据传输控制层提供的传输控制信息,以基于数据链路层的协议实现在数据链路层的数据帧从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4、IPv6到IPv6的格式转换。
2、根据权利要求1所述的IPv4/IPv6混合环境下多媒体交互网关实现方法,其特征在于,所述的基于数据链路层的协议转换方法,具体步骤为:
1)从网络接口捕获到转换网关的数据链路帧F,
F=(MACr,MACg,Proto,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),C)其中,MACr表示双协议栈路由器的mac地址,MACg表示协议转换模块的mac地址,Proto表示网络数据包的协议类型,C表示链路帧校验和值,(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD))表示网络层数据包P,SIP表示源主机IP地址,DIP表示目的主机IP地址,OTHER表示IP报头中的其他字段,DIP=IP4g,协议转换模块的IPv4地址,或DIP=IP6g,协议转换模块的IPv6地址,(SPort,DPort,DCheckSum,OtherD)表示传输层报文,SPort表示源端口号,DPort表示目的端口号,DCheckSum表示传输层报文校验和,OtherD表示传输层报文中其他字段;
2)从F中提取出网络层数据包P,
P=(SIP,DIP,OTHER,(SPort,DPort,DCheckSum,OtherD)),以(SIP,SPort,DPort)为关键字搜索转换队列Q,Q={Q0,Q1,Q2,Q3......},Qi可表示为七元组:{SIP,SPort,DPort,DIP′,SPort′,DPort′,G},表达的意思是:协议转换模块从端口DPort接收源主机SIP的SPort端口数据,然后进行协议转换,最后将协议转换后的数据以G方式从端口SPort′发往目的主机DIP′的端口DPort′;
如果没找到匹配的Qi,则不是需要协议转换的数据包,丢弃并返回,找到的匹配元素Qi可有多个,对每个Qi执行以下步骤:
根据数据帧中IP报文协议类型和Qi中的DIP′类型,决定进行从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4或IPv6到IPv6的格式转换;
3)进行数据帧F帧头的转换:
将源mac地址、目的mac地址分别替换为网关mac地址和下一跳路由器mac地址,协议类型如有改变,应修改类型字段Proto′,重新计算CRC并更新该字段,得到转换后的帧F′,即最终完成从F=(MACr,MACg,Proto,P,C)到F′=(MACg,MACr,Proto′,P′,C′)的转换;
4)将完成协议转换后的帧F′通过网络接口发送出去。
3、根据权利要求2所述的IPv4/IPv6混合环境下多媒体交互网关实现方法,其特征在于:所述的从IPv4到IPv4、IPv4到IPv6、IPv6到IPv4或IPv6到IPv6的格式转换,其具体实现方式为:
1)如果SIP、DIP′都为IPv4地址,则将原IPv4报头中的源端IP地址SIP、目的端IP地址IP4g分别替换为转换服务器的IPv4地址IP4g和DIP′,设置总长度字段,并装填重新计算的IP头部校验和;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填,完成从
P=(SIP,IP4g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′(IP4g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换;
2)如果SIP为IPv4地址、DIP′为IPv6地址,则将原IPv4报头,按IPv6报头格式重组,其中,源端IP地址、目的端IP地址IP4g分别改为转换服务器的IPv6地址IP6g和DIP′;根据G值,决定是否填写相应的流标签;根据IPv4报头中的分片信息,决定是否给IPv6报头增加扩展的分段报头;设置负载长度字段;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填,完成从
P=(SIP,IP4g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP6g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换;
3)如果SIP为IPv6地址、DIP′为IPv4地址,则将原IPv6报头,按IPv4报头格式重组,源端IP地址、目的端IP地址IP6g分别为转换服务器的IPv4地址IP4g和DIP′,设置总长度字段,计算头部校验和,并装填在相应的位置;如果IPv6报头中有分段扩展报头,则填写IPv4报头中的相应字段,如是否最后一片、偏移量等;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填,完成从
P=(SIP,IP6g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP4g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换;
4)如果SIP、DIP′都为IPv6地址,则将原IPv6报头中的源端IPv6地址SIP、目的端IPv6地址IP6g分别替换为转换服务器的IPv6地址IP6g和DIP′;根据G值,决定是否填写相应的流标签;设置负载长度字段;传输层报文中的SPort、DPort分别替换为SPort′、DPort′;重新计算传输层报文校验和DCheckSum并装填,完成从
P=(SIP,IP6g,OTHER,(SPort,DPort,DCheckSum,OtherD))
到P′=(IP6g,DIP′,OTHER′,(SPort′,DPort′,DCheckSum′,OtherD))的转换;
4、根据权利要求1所述的IPv4/IPv6混合环境下多媒体交互网关实现方法,其特征在于:所述的实现IPv4/IPv6混合环境下的自适应组播的方法如下:
1)判断多媒体交互网关所在的网络环境;
2)如果为IPv4局域网中的节点,采用基于IP地址匹配度的内网判别方法进行内网判别,自适应启动网络层的IP组播进行多媒体数据的传输;否则为IPv4/IPv6混合环境下的节点,转至3);
3)采用基于带宽检测和最大负载均衡的方法进行搭建应用层组播树;具体步骤如下:
Step1  Gi与组播树中每个网关依次进行定值带宽估测,并找出满足Bv的网关集合G;
Step2  如果G不为空,计算当Gi加入后集合G中每个网关的当前链接数,如果超过了最大负载链接数,则把该网关从G中去除;否则,转至Step4;
Step3  如果G不为空,在G中选取深度最小的网关做为Gi在组播树的父节点,即转发网关,算法结束;否则,转至Step4;
Step4  Gi等待一段时间,重新加入网关组播树;
4)通过以上三步,网关组播树已搭建成功,终端节点采用考虑网关的最大负载能力和可用带宽的方法加入组播树,加入步骤如下:
Step1  采用pick-k算法,在当前可用的网关集群中挑选出k个候选网关,定义为集合G;
Step2  采用IP相似度计算方法,计算终端节点与G中每个网关的IP相似度;其中,IP相似度计算方法是利用IPv432bit地址中的分段表示‘.’或者IPv6128bit地址中的‘:’,对输入的IPa和IPb从最高段到最低段逐段比较,定义一个整数S为IPa和IPb之间的IP相似度,S初始化为0,如果一段完全匹配S增加25,并检查下一段,否则计算完毕;
Step3  选择G中IP相似度最高的网关作为终端节点加入的网关。
5、根据权利要求1所述的IPv4/IPv6混合环境下多媒体交互网关实现方法,其特征在于:所述的基于IP地址匹配度的内网判别方法,其步骤如下:
首先,交互节点在交互前要在网关上进行注册,注册时需要向网关以TCP数据包的方式提交该节点的地址信息,所以交互节点将把自己本地地址信息写入TCP数据包,并发送给多媒体交互网关;
然后,多媒体交互网关中的管理模块接收到数据包之后将数据包进行解析,得到交互节点的地址信息;
最后,管理模块将解析出地址信息与接收TCP数据包时侦听到的Socket地址进行比较,若相同则代表节点位于公网,否则说明节点位于内网。
CN200710017336A 2007-02-01 2007-02-01 IPv4/IPv6混合环境下多媒体交互网关实现方法 Expired - Fee Related CN101068226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710017336A CN101068226B (zh) 2007-02-01 2007-02-01 IPv4/IPv6混合环境下多媒体交互网关实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710017336A CN101068226B (zh) 2007-02-01 2007-02-01 IPv4/IPv6混合环境下多媒体交互网关实现方法

Publications (2)

Publication Number Publication Date
CN101068226A true CN101068226A (zh) 2007-11-07
CN101068226B CN101068226B (zh) 2010-05-19

Family

ID=38880663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710017336A Expired - Fee Related CN101068226B (zh) 2007-02-01 2007-02-01 IPv4/IPv6混合环境下多媒体交互网关实现方法

Country Status (1)

Country Link
CN (1) CN101068226B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202056A (zh) * 2011-05-09 2011-09-28 华为数字技术有限公司 一种数据发送方法、数据发送装置及数据发送接收系统
CN101552803B (zh) * 2008-04-03 2011-10-05 华为技术有限公司 网络地址转换地址映射表维护方法、媒体网关及其控制器
CN102281301A (zh) * 2011-08-25 2011-12-14 中兴通讯股份有限公司 一种将IPv6终端接入流媒体服务器的方法和系统
CN102333207A (zh) * 2011-09-28 2012-01-25 河南省电力通信自动化公司 一种电力系统的协议转换控制系统和协议转换方法
CN102707693A (zh) * 2012-06-05 2012-10-03 清华大学 一种时空联合的多架无人机协同控制系统的构建方法
CN101616192B (zh) * 2009-07-16 2014-01-01 清华大学 IPv4地址和端口复用的分级转换方法
CN103501276A (zh) * 2013-10-09 2014-01-08 中国联合网络通信集团有限公司 一种服务器与传感器节点通信的方法及装置
CN104320502A (zh) * 2014-11-14 2015-01-28 大唐移动通信设备有限公司 终端网关ip地址分配方法、数据传输的方法、mme及系统
CN104753747A (zh) * 2014-12-31 2015-07-01 北京海尔广科数字技术有限公司 一种连接网关与设备的方法、装置及网关设备
WO2015192457A1 (zh) * 2014-06-16 2015-12-23 中兴通讯股份有限公司 家庭网关DS-Lite组播方法及设备
US9374235B2 (en) 2010-02-02 2016-06-21 Huawei Technologies Co., Ltd. Method for implementing communication between different networks and apparatus
CN109981367A (zh) * 2019-03-28 2019-07-05 湖南大学 基于内网穿透的虚机paas服务管理的方法
CN110324437A (zh) * 2019-07-09 2019-10-11 中星科源(北京)信息技术有限公司 一种原始地址传输方法、系统、存储介质和处理器
CN112243009A (zh) * 2020-10-19 2021-01-19 重庆邮电大学 基于IPv6的工业异构网络多协议融合组网与通信系统及方法
CN112291256A (zh) * 2020-11-06 2021-01-29 北京中航通用科技有限公司 Uart网关数据传输方法
CN112351014A (zh) * 2020-10-28 2021-02-09 武汉思普崚技术有限公司 一种安全域间防火墙安全策略合规基线管理方法及装置
CN114095429A (zh) * 2021-10-14 2022-02-25 东北大学 一种基于IPv6地址的多源组播流量优化方法
US11290685B2 (en) * 2013-07-03 2022-03-29 Huawei Technolgoies Co., Ltd. Call processing method and gateway
CN114640663A (zh) * 2022-03-03 2022-06-17 上海联虹技术有限公司 远程控制cpe设备的方法及远程控制系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459572C (zh) * 2005-06-23 2009-02-04 华为技术有限公司 由IPv4到IPv6网络的基于端口的报文转换实现方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552803B (zh) * 2008-04-03 2011-10-05 华为技术有限公司 网络地址转换地址映射表维护方法、媒体网关及其控制器
CN101616192B (zh) * 2009-07-16 2014-01-01 清华大学 IPv4地址和端口复用的分级转换方法
US9374235B2 (en) 2010-02-02 2016-06-21 Huawei Technologies Co., Ltd. Method for implementing communication between different networks and apparatus
CN102202056A (zh) * 2011-05-09 2011-09-28 华为数字技术有限公司 一种数据发送方法、数据发送装置及数据发送接收系统
CN102281301A (zh) * 2011-08-25 2011-12-14 中兴通讯股份有限公司 一种将IPv6终端接入流媒体服务器的方法和系统
CN102281301B (zh) * 2011-08-25 2017-10-03 南京中兴新软件有限责任公司 一种将IPv6终端接入流媒体服务器的方法和系统
CN102333207A (zh) * 2011-09-28 2012-01-25 河南省电力通信自动化公司 一种电力系统的协议转换控制系统和协议转换方法
CN102707693A (zh) * 2012-06-05 2012-10-03 清华大学 一种时空联合的多架无人机协同控制系统的构建方法
US11290685B2 (en) * 2013-07-03 2022-03-29 Huawei Technolgoies Co., Ltd. Call processing method and gateway
CN103501276A (zh) * 2013-10-09 2014-01-08 中国联合网络通信集团有限公司 一种服务器与传感器节点通信的方法及装置
CN105306227A (zh) * 2014-06-16 2016-02-03 中兴通讯股份有限公司 家庭网关DS-Lite组播方法及设备
WO2015192457A1 (zh) * 2014-06-16 2015-12-23 中兴通讯股份有限公司 家庭网关DS-Lite组播方法及设备
CN104320502A (zh) * 2014-11-14 2015-01-28 大唐移动通信设备有限公司 终端网关ip地址分配方法、数据传输的方法、mme及系统
CN104320502B (zh) * 2014-11-14 2017-11-24 大唐移动通信设备有限公司 终端网关ip地址分配方法、数据传输的方法、mme及系统
CN104753747B (zh) * 2014-12-31 2019-06-04 海尔优家智能科技(北京)有限公司 一种连接网关与设备的方法、装置及网关设备
CN104753747A (zh) * 2014-12-31 2015-07-01 北京海尔广科数字技术有限公司 一种连接网关与设备的方法、装置及网关设备
CN109981367B (zh) * 2019-03-28 2021-05-07 湖南大学 基于内网穿透的虚机paas服务管理的方法
CN109981367A (zh) * 2019-03-28 2019-07-05 湖南大学 基于内网穿透的虚机paas服务管理的方法
CN110324437A (zh) * 2019-07-09 2019-10-11 中星科源(北京)信息技术有限公司 一种原始地址传输方法、系统、存储介质和处理器
CN112243009B (zh) * 2020-10-19 2022-07-15 重庆邮电大学 基于IPv6的工业异构网络多协议融合组网与通信系统及方法
CN112243009A (zh) * 2020-10-19 2021-01-19 重庆邮电大学 基于IPv6的工业异构网络多协议融合组网与通信系统及方法
CN112351014A (zh) * 2020-10-28 2021-02-09 武汉思普崚技术有限公司 一种安全域间防火墙安全策略合规基线管理方法及装置
CN112351014B (zh) * 2020-10-28 2022-06-07 武汉思普崚技术有限公司 一种安全域间防火墙安全策略合规基线管理方法及装置
CN112291256A (zh) * 2020-11-06 2021-01-29 北京中航通用科技有限公司 Uart网关数据传输方法
CN112291256B (zh) * 2020-11-06 2023-12-01 北京中航通用科技有限公司 Uart网关数据传输方法
CN114095429A (zh) * 2021-10-14 2022-02-25 东北大学 一种基于IPv6地址的多源组播流量优化方法
CN114095429B (zh) * 2021-10-14 2023-08-15 东北大学 一种基于IPv6地址的多源组播流量优化方法
CN114640663A (zh) * 2022-03-03 2022-06-17 上海联虹技术有限公司 远程控制cpe设备的方法及远程控制系统

Also Published As

Publication number Publication date
CN101068226B (zh) 2010-05-19

Similar Documents

Publication Publication Date Title
CN101068226A (zh) IPv4/IPv6混合环境下多媒体交互网关实现方法
CN1905530A (zh) 组播点播方法及系统
CN1236583C (zh) 域间路由选择系统
CN1423201A (zh) 地址变换装置、消息处理方法及装置
CN1829195A (zh) 分组转发装置
CN1551583A (zh) 数据包通信装置
CN1665221A (zh) 多点发送控制装置及方法
CN1914862A (zh) 集群系统、集群成员、故障恢复方法及程序
CN1799219A (zh) 家庭网络系统
CN1496632A (zh) 用在扩展局域网中的以优先级为基础的负载平衡方法和设备
CN1910870A (zh) 负载分散方法、节点和控制程序
CN1839592A (zh) 包中继装置
CN1505429A (zh) 移动终端设备及终端间包通信方法
CN1466340A (zh) 以策略流方式转发数据的方法和数据转发设备
CN101061672A (zh) 通信系统、无线局域网基站控制装置和无线局域网基站装置
CN1615635A (zh) 移动节点,路由器,服务器和根据ip版本6(ipv6)协议的移动通信的方法
CN1674554A (zh) 数据包传送装置
CN1816053A (zh) 基于会话初始化协议的流媒体直播p2p网络方法
CN1450765A (zh) 服务器负载平衡系统、装置以及内容管理装置
CN1497898A (zh) 资源管理系统
CN1539221A (zh) 传送装置和传送方法
CN101047633A (zh) 一种实现多路径传输的方法、装置和系统
CN1855825A (zh) 计算机系统
CN1866919A (zh) 基于虚拟局域网堆叠的业务交换方法
CN1780260A (zh) Atm装置间通信支持系统、数据发送方法及其支持装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20150201

EXPY Termination of patent right or utility model