一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

IPv4/IPv6协议交换方法及相关设备与流程

2022-06-25 10:15:32 来源:中国专利 TAG:

ipv4/ipv6协议交换方法及相关设备
技术领域
1.本说明书涉及互联网领域,更具体地说,本发明涉及ipv4/ipv6协议交换方法及相关设备。


背景技术:

2.h.323协议是国际电信联盟为分组交换网络设计的多媒体会议标准。目前很多国家都将基于ip的h.323协议作为新一代视频多媒体会议系统标准的首选。ipv6是ip协议的新版本,它最终将会取代ipv4协议成为为来互联网的核心网络协议,然而,过渡期间ipv4与ipv6需要并存很长时间,网络环境的变化必然会对h.323此类上层应用协议产生影响,因此,h.323协议如何能够穿越ipv4/ipv6异类网络,是未来网络发展必然面临的问题。


技术实现要素:

3.在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
4.为了提出一种可,第一方面,本发明提出一种ipv4/ipv6协议交换方法,上述方法包括:
5.基于ipv6终端发出的第一探测报文获取上述ipv6终端的第一地址信息与第一数据信息;
6.通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,并将转换后第一地址信息与第一数据信息封装成第二探测报文,其中,上述第一转换为将ipv6地址转换为ipv4地址;
7.将上述第二探测报文发送至上述ipv4端,以使上述ipv4端生成第一反馈报文,其中,上述第一反馈报文中包括第二地址信息和第二数据信息;
8.通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,并将转换后第二地址信息与第二数据信息封装成第二反馈报文,其中,上述第二转换为将ipv4地址转换为ipv6地址;
9.将上述第二反馈报文发送至上述ipv6终端以完成数据交互。
10.可选的,在上述第一探测报文为请求入网报文的情况下,上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
11.利用上述nat64模块将上述第一地址信息转换为第一源ipv4地址和第一目的ipv4地址并创建第一动态转换映射表,其中,上述第一动态转换映射表为主叫h.323终端ipv6地址和ras信令知名端口1719与目标ipv4地址和上述ras信令知名端口1719的映射关系,上述第一地址信息包括第一源ipv6地址和第一目的ipv6地址,上述第一源ipv6地址为主叫h.323终端ipv6地址和ras信令知名端口1719,上述第一目的ipv6地址为网守ipv4地址嵌入nat64模块知名96位前缀的组合地址和ras信令知名端口1719,上述第一源ipv4地址为预先
配置的ipv4地址资源池中随机选取的地址和ras信令知名端口1719,上述第一目的ipv4地址为网守ipv4地址和ras信令知名端口1719;
12.通过上述alg模块和上述第一动态转换映射表对上述第一数据信息进行第一转换;
13.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
14.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
15.通过上述alg模块将上述第二数据信息替换为目标ipv6地址和ras信令知名端口1719,其中,上述第二数据信息为被叫h.323终端ipv6地址和ras信令知名端口1719,上述目标ipv6地址为上述ipv4地址对应的ipv6地址。
16.可选的,在上述第一探测报文为注册请求报文的情况下,
17.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
18.利用上述nat64模块和上述第一动态转换映射表对上述第一地址信息进行第一转换;
19.通过上述alg模块将上述第一数据信息转换为上述目标ipv4地址和h.225信令知名端口1720并创建第二转换映射表,上述第一数据信息为主叫h.323终端ipv6地址和h.225信令知名端口1720,上述第二转换映射表为主叫h.323终端ipv6地址和h.225信令知名端口1720与上述目标ipv4地址和h.225信令知名端口1720的映射关系;
20.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
21.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
22.通过上述alg模块和第二转换映射表对上述第二数据信息进行第二转换。
23.可选的,在上述第一探测报文为呼叫请求报文的情况下,
24.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
25.利用上述nat64模块通过上述第一动态转换映射表对上述第一地址信息进行第一转换;
26.通过上述alg模块和第二转换映射表对上述第一数据信息进行第一转换;
27.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
28.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
29.通过上述alg模块将上述第二数据信息替换为目标ipv6地址和h.225信令知名端口1720,其中,上述第二数据信息为被叫h.323终端ipv4地址和h.225信令知名端口1720。
30.可选的,在上述第一探测报文为连接报文的情况下,上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
31.利用上述nat64模块将上述第一地址信息转换为第二源ipv4地址和第二目标ipv4地址并创建第三动态转换映射表,其中,上述第三动态转换映射表为主叫h.323终端ipv6地址和通信端口与目标ipv4地址和通信端口的映射关系,上述第一地址信息包括第二源ipv6地址和第二目的ipv6地址,上述第二源ipv6地址为主叫h.323终端ipv6地址和通信端口,上述第二目的ipv6地址为被叫ipv4地址嵌入nat64模块知名96位前缀的组合地址和h.225信令知名端口1720,上述第二源ipv4地址为预先配置的ipv4地址资源池中随机选取的地址和通信端口,上述第二目的ipv4地址为被叫ipv4地址和h.225信令知名端口1720,上述目标通信端口是随机选取的;
32.通过上述alg模块将上述第一数据信息转换为上述目标ipv4地址和h.245信令协商的随机端口并建立第四动态转换映射表,其中,上述第一数据信息为主叫h.323终端ipv6地址和h.245信令协商的随机端口,上述第四动态转换映射表为h.323终端ipv6地址和h.245信令协商的随机端口与上述目标ipv4地址和h.245信令协商的随机端口映射关系;;
33.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
34.利用上述nat64模块通过上述第三动态转换映射表对上述第二地址信息进行转换;
35.通过上述alg模块将上述第二数据信息替换为上述ipv4地址的ipv6形式和h.245信令协商的随机端口,其中,上述第二数据信息为被叫h.323终端ipv4地址和h.245信令协商的随机端口。
36.可选的,在上述第一探测报文为地址协商交互报文的情况下,
37.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
38.利用上述nat64模块和上述第四动态转换映射表对上述第一地址信进行第一转换;
39.通过上述alg模块将h.323终端ipv6地址和rtp协议协商的随机端口替换为上述目标ipv4地址和rtp协议协商的随机端口并建立第五动态转换映射表,其中,上述第五动态转换映射表为h.323终端ipv6地址和rtp协议协商的随机端口与上述目标ipv4地址和rtp协议协商的随机端口的映射关系;
40.通过上述alg模块将h.323终端ipv6地址和rtcp协议协商的随机端口替换为目标ipv4端口和rtcp协议协商的随机端口并创建第六动态转换映射表,其中,上述第六动态转换映射表为h.323终端ipv6地址和rtcp协议协商的随机端口与目标ipv4地址和rtcp协议协商的随机端口的映射关系。
41.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
42.利用上述nat64模块通过上述第四动态转换映射表对上述第二地址信息进行转换;
43.通过上述alg模块将被叫h.323终端ipv4地址和rtp协议协商的随机端口替换为上述目标ipv6地址和上述rtp协议协商的随机端口;
44.通过上述alg模块将被叫h.323终端ipv4地址和rtcp协议协商的随机端口替换为
上述目标ipv6地址和rtcp协议协商的随机端口。
45.可选的,在上述第一探测报文为流媒体报文的情况下,
46.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
47.利用上述nat64模块、上述第五动态转换映射表和第六动态转换映射对上述第一地址信息进行转换;
48.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
49.利用上述nat64模块上述第五动态转换映射表和第六动态转换映射对上述第一地址信息进行转换。
50.第二方面,一种电子设备,包括:存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器用于执行存储器中存储的计算机程序时实现如上述的第一方面任一项的基于h.323的ipv4/ipv6协议交换方法的步骤。
51.第三方面,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现第一方面上述任一项的基于h.323的ipv4/ipv6协议交换方法。
52.综上,本技术实施例提出的ipv4/ipv6协议交换方法包括:基于ipv6终端发出的第一探测报文获取上述ipv6终端的第一地址信息与第一数据信息;通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,并将转换后第一地址信息与第一数据信息封装成第二探测报文,其中,上述第一转换为将ipv6地址转换为ipv4地址;将上述第二探测报文发送至上述ipv4端,以使上述ipv4端生成第一反馈报文,其中,上述第一反馈报文中包括第二地址信息和第二数据信息;通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,并将转换后第二地址信息与第二数据信息封装成第二反馈报文,其中,上述第二转换为将ipv4地址转换为ipv6地址;将上述第二反馈报文发送至上述ipv6终端以完成数据交互。本技术提出的方法,通过应用层翻译网关对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的ip地址和端口及需特殊处理的字段进行相应的转换和处理,该方法采用有状态nat64和应用层网关alg合作的机制,完成对纯ipv4站点和纯ipv6站点之间的h.323协议数据包中数据负荷部分的如呼叫、注册、许可、状态、控制等信令及流媒体协议地址及端口进行解决和映射会话保持。当纯ipv6站点发送的h.323消息包到达该网关时,nat网关为发送站点匹配临时ipv4地址,同时alg改写h.323相关消息包的ip地址,使消息包符合纯ipv4接收站点的语法和语义标准。这样,ipv4终端应用程序不做任何修改就可以实现与ipv6网络中的所有用户通信。采用该方法,可保证采用h.323标准的一系列协议能成功穿越nat设备并实现跨ipv4/ipv6的互通。
53.本发明的提出的ipv4/ipv6协议交换方法,本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
54.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
55.图1为本技术实施例提供的一种ipv6终端与ipv4网守ras协议消息工作流程示意图;
56.图2为本技术实施例提供的一种ipv6终端与ipv4终端q.931呼叫信令工作流程示意图;
57.图3为本技术实施例提供的一种ipv6终端与ipv4终端h.245控制信令工作流程示意图;
58.图4为本技术实施例提供的一种ipv4/ipv6协议交换方法流程示意图;
59.图5为本技术实施例提供的另一种ipv4/ipv6协议交换方法流程示意图;
60.图6为本技术实施例提供的一种ipv4/ipv6协议交换电子设备结构示意图。
具体实施方式
61.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
62.h.323是基于ip分组网的多媒体通信标准,它涵盖了包交换网络上的音频、视频、数据通信,解决了点对点以及多点视频会议中诸如呼叫与会话控制、多媒体与带宽控制等问题。h.323为基于ip分组网的视频会议系统定义了四个主要的组件:h.323终端、h.323网关、h.323网守、h.323mcu。h.323终端:一种支持音视频编/解码并与电路交换网中h.323网关、h.323网守、h.323mcu进行实时通信的终端。h.323网关:是指在h.323网络与其他非h.323网络的互连,并在两个不同网络之间转换不同的信令协议及多媒体信息流格式的设备。本方案主要解决h.323网络间(ipv4/ipv6网终),因此不涉及h.323网关。h.323网守:控制区域内多个h.323终端、h.323网关、h.323mcu设备,实现功能包括对h.323端点设备分配与ip地址具有映射关系的别名;控制并保证端点间通信质量;对h.323端点进行用户身份识别(鉴权)、计费、分帐以及呼叫转接业务。h.323mcu:用以处理三方及多方会议业务,所有参加会议的h.323终端均与h.323mcu相连。mcu控制并管理着每个终端,协调终端间的编、解码器使用及完成信息的流量控制等。h.323通信主要包括呼叫信令协议q.931,注册(registration)、许可(admission)、状态(status)信令协议ras,及多媒体信息流管理控制协议h.245。三种协议相互协作,实现呼叫的建立、维护与撤消。注册、许可、状态信令协议ras:h.323终端在发起或释放呼叫时需要事先注册到网守,作用于终端与网守间的ras(注
册、许可、状态)信令协议,保证终端访问网络资源的合法性。h.225的呼叫控制信令:来建立h.323终点连接,这是通过在呼叫信令信道上交换h.225协议信息实现的。该呼叫信令信道可以位于两h.323终点之间也可以位于终点和关守之间。h.225详细定义了q.931信令信息的使用和支持。在ip网络的tcp端口1720需要创建一个可靠的tcp呼叫控制信道,该端口完成q.931呼叫控制信息的初始化,从而实现连接、维持和呼叫分离功能。ras协议消息工作过程如图1所示。
63.呼叫信令协议q.931:在2个h.323端点进行通话时,首先要建立rtp会话,rtp会话建立前需要使用h.245控制信令消息,进而在两个h.323端点间互换各自的rtp和rtcp传输地址,而呼叫信令协议就是一种用于建立h.245控制信令消息逻辑信道的信令协议q.931,q.931呼叫信令协议工作过程如图2所示。
64.h.245控制信令协议:主要功能是在通话的端与端之间协商多媒体信息流格式以及传输多媒体信息流所需要的带宽等。其本身不能用于传输多媒体信息流,只是负责建立用于传输多媒体信息流的rtp会话。h.245控制信令协议工作过程如图3所示。
65.请参阅图4,为本技术实施例提供的ipv4/ipv6协议交换方法流程示意图,具体可以包括:
66.s110、基于ipv6终端发出的第一探测报文获取上述ipv6终端的第一地址信息与第一数据信息;
67.示例性的,如图5所示,ipv6的h.323终端发出第一探测报文,第一探测包括:grq报文、rrq报文、arq报文、setup报文、能力交换和主从判断报文,协商rtp和rtcp传输地址报文及rtp报文和rtcp报文。需要说明的是第一探测报文即为从ipv6端发往nat64模块和alg模块的报文,其中,第一报文中包括第一地址信息和第一数据信息,第一地址信息和第一数据信息是指未经转换的有ipv6端发出的地址信息和数据信息。
68.s120、通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,并将转换后第一地址信息与第一数据信息封装成第二探测报文,其中,上述第一转换为将ipv6地址转换为ipv4地址;
69.示例性的,第一地址信息和第一数据信息到达nat64模块和alg模块后,nat64模块和alg模块对第一地址信息和第一数据信息执行第一转换,将地址信息和数据信息转换为ipv4端可以识别的地址信息和数据信息,并将转换后的第一地址信息和第一数据信息封装形成第二探测报文。
70.s130、将上述第二探测报文发送至上述ipv4端,以使上述ipv4端生成第一反馈报文,其中,上述第一反馈报文中包括第二地址信息和第二数据信息;
71.示例性的,nat64模块和alg模块完成第一转换和封装报文工作后,将第二探测报文发送至ipv6终端的网守,ipv6端的网守基于第二探测报文生成第一反馈报文,第一反馈报文中包括第二地址信心和第二数据信息。需要说明的是,如图5所示,每个第一反馈报文都是基于其对应的第一探测报文生成的,每个第一反馈报文与每个第一探测报文都有其固定的对应关系。
72.s140、通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,并将转换后第二地址信息与第二数据信息封装成第二反馈报文,其中,上述第二转换为将ipv4地址转换为ipv6地址;
73.示例性的,nat64模块和alg模块在接收到第二地址信息和第二数据信息后进行第二转换,即把第二地址信息和第二数据信息转换为ipv6终端可以识别的地址信息和数据信息,并将转换后的地址信息和数据信息封装好形成第二反馈报文。
74.s150将上述第二反馈报文发送至上述ipv6终端以完成数据交互。
75.示例性的,nat64模块和alg模块在第二转换完成并封装成第二反馈报文后,将第二反馈报文发送至ipv6端,从而完成数据交互。需要说明的是,nat64模块修改报文网络层的ip:port,alg修改报文内应用层协议报文里面携带的ip:port信息。两者配合在一起使用,完成整个报文的修改,实现ipv6和ipv4的转换。alg依靠nat相关模块去获取ip:port的映射关系,由nat管理ip:port的映射关系资源,并且为alg预留出传输数据需要使用的ip:port。alg模块修改应用层报文(即数据信息)是alg最主要的工作,根据h.323协议自身特点,通过alg协议的探测,找出报文中携带的需要修改的呼叫(q.931),注册、许可、状态信令(ras)、控制信令(h.245)及流媒体协议(rtp/rtcp)等地址及端口信息,对应用层协议协商的ip:port进行修改,对于这些协商出来的ip:port,为了让数据能穿越nat64,由nat64模块对这些ip:port进行映射和修改,完成源目标地址转换,然后对修改后的报文进行报文编码封装,产生一个修改后的新报文。通过nat64模块和alg模块实现ipv6和ipv4的地址和数据转换,从而使得ipv6端和ipv4端可以突破隔阂,实现数据正常交互。
76.综上,本技术出的方法,通过应用层翻译网关对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的ip地址和端口及需特殊处理的字段进行相应的转换和处理,该方法采用有状态nat64和应用层网关(alg)合作的机制,完成对纯ipv4站点和纯ipv6站点之间的h.323协议数据包中数据负荷部分的如呼叫、注册、许可、状态、控制等信令及流媒体协议地址及端口进行解决和映射会话保持。当纯ipv6站点发送的h.323消息包到达该网关时,nat网关为发送站点匹配临时ipv4地址,同时alg改写h.323相关消息包的ip地址,使消息包符合纯ipv4接收站点的语法和语义标准。这样,ipv4终端应用程序不做任何修改就可以实现与ipv6网络中的所有用户通信。采用该方法,可保证采用h.323标准的一系列协议能成功穿越nat设备并实现跨ipv4/ipv6的互通。
77.在一些示例中,
78.,在上述第一探测报文为请求入网报文的情况下,上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
79.利用上述nat64模块将上述第一地址信息转换为第一源ipv4地址和第一目的ipv4地址并创建第一动态转换映射表,其中,上述第一动态转换映射表为主叫h.323终端ipv6地址和ras信令知名端口1719与目标ipv4地址和上述ras信令知名端口1719的映射关系,上述第一地址信息包括第一源ipv6地址和第一目的ipv6地址,上述第一源ipv6地址为主叫h.323终端ipv6地址和ras信令知名端口1719,上述第一目的ipv6地址为网守ipv4地址嵌入nat64模块知名96位前缀的组合地址和ras信令知名端口1719,上述第一源ipv4地址为预先配置的ipv4地址资源池中随机选取的地址和ras信令知名端口1719,上述第一目的ipv4地址为网守ipv4地址和ras信令知名端口1719;
80.通过上述alg模块和上述第一动态转换映射表对上述第一数据信息进行第一转换;
81.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信
息进行第二转换,包括:
82.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
83.通过上述alg模块将上述第二数据信息替换为目标ipv6地址和ras信令知名端口1719,其中,上述第二数据信息为被叫h.323终端ipv6地址和ras信令知名端口1719,上述目标ipv6地址为上述ipv4地址对应的ipv6地址。
84.具体的,在第一探测报文为请求入网报文时,即第一探测报文为grq报文时,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时:主叫ipv6的h.323客户端向ipv4的h.323网守发送请求加入网守控制的网络区域的grq报文,nat64模块使用pool6转换ipv6数据包目标地址为去掉前96位前缀的ipv4地址,源地址在预先配置的ipv4地址资源池中随机挑选一个地址做为转换源ipv4地址(即目标ipv4地址)且转换的源端口保持不变,同时自动创建一条nat64动态转换映射表。即第一动态转换映射表:主叫h.323终端ipv6地址和ras信令知名端口1719与nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1719的对应关系。
85.alg模块探测数据包发现是grq报文,查询nat64映射表,发现已存在ras地址和端口映射关系,则改写grq数据报文中的ras信令地址及端口,将主叫h.323终端ipv6地址和ras信令知名端口1719替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1719,对修改后的报文进行编码封装,产生一个新报文,即第二探测报文。
86.在ipv4向ipv6转换时,gcf报文在nat64模块和alg模块处理的处理过程如下:
87.h.323网守向主叫h.323客户端回复同意加入网守控制的网络区域的gcf报文,nat64模块使用pool6来转换传入ipv4数据包的源地址为96位前缀加32位ipv4地址的嵌入格式(即目标ipv6地址)。使用转换器(nat64模块和alg模块)已创建的第一动态转换映射表进行目标地址转换。第一动态转换映射表为:主叫h.323终端ipv6地址和ras信令知名端口1719与nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4)和ras信令知名端口1719的对应关系。
88.alg模块探测数据包发现是gcf报文,则改写gcf数据报文中的ras信令地址及端口,使用nat64地址pool96位前缀加32位ipv4地址的嵌入格式,将被叫h.323终端ipv6地址和ras信令知名端口1719替换为nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和ras信令知名端口1719。对修改后的报文进行编码封装,产生一个新报文,即第二反馈报文。
89.在一些示例中,在上述第一探测报文为注册请求报文的情况下,
90.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
91.利用上述nat64模块和上述第一动态转换映射表对上述第一地址信息进行第一转换;
92.通过上述alg模块将上述第一数据信息转换为上述目标ipv4地址和h.225信令知名端口1720并创建第二转换映射表,上述第一数据信息为主叫h.323终端ipv6地址和h.225信令知名端口1720,上述第二转换映射表为主叫h.323终端ipv6地址和h.225信令知名端口
1720与上述目标ipv4地址和h.225信令知名端口1720的映射关系;
93.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
94.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
95.通过上述alg模块和第二转换映射表对上述第二数据信息进行第二转换。
96.示例性的,第一探测报文为注册请求报文的情况下,即第一探测报文为rrq报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时:主叫pv6的h.323客户端向h.323ipv4的网守发送注册请求消息的rrq报文,nat64模块使用pool6进行目标地址转换,使用nat64模块已建立的第一动态映射表进行源地址转换,即将主叫h.323终端ipv6地址和ras信令知名端口1719转换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1719。
97.alg模块探测数据包发现是rrq报文,查询nat64映射表,发现已存在ras地址和端口映射关系,则改写rrq数据报文中的ras信令地址和端口,将主叫h.323终端ipv6地址和ras信令知名端口1719替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1719。查询nat64映射表,发现已存在h.225地址映射关系,但无端口映射关系,则改写rrq数据报文中的h.225信令地址和端口,将主叫h.323终端ipv6地址和h.225信令知名端口1720替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1720,alg对修改后的报文进行编码封装,产生一个新报文,即第二探测报文。同时,nat64模块根据alg模块改写的地址和端口,自动创建一条nat64第二动态转换映射表。映射表包含源v6地址和端口及源v4地址加端口的映射关系。第二动态转换映射表为:主叫h.323终端ipv6地址和h.225信令知名端口1720与nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1720的对应关系。
98.在ipv4向ipv6转换时,rcf报文在nat64模块和alg模块处理的处理过程如下:
99.h.323网守向主叫h.323客户端回复注册确认消息的rcf报文,nat64模块使用pool6进行源地址转换,使用转换器已创建的第一映射表进行目标地址转换,将主叫h.323终端ipv6地址和ras信令知名端口1719转换为nat64模块中ipv4地址资源池预分配ipv4地址和ras信令知名端口1719
100.alg模块探测数据包发现是rcf报文,查询nat64映射表,发现已存在h.225地址和端口映射关系,则改写rcf数据报文中的h.225信令地址和端口,将nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1720替换为主叫h.323终端ipv6地址和h.225信令知名端口1720。对修改后的报文进行编码封装,产生一个新报文,即第二反馈报文。
101.在一些示例中,在上述第一探测报文为呼叫请求报文的情况下,
102.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
103.利用上述nat64模块通过上述第一动态转换映射表对上述第一地址信息进行第一转换;
104.通过上述alg模块和第二转换映射表对上述第一数据信息进行第一转换;
105.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
106.利用上述nat64模块通过上述第一动态转换映射表对上述第二地址信息进行第二转换;
107.通过上述alg模块将上述第二数据信息替换为目标ipv6地址和h.225信令知名端口1720,其中,上述第二数据信息为被叫h.323终端ipv4地址和h.225信令知名端口1720。
108.具体的,在第一探测报文为呼叫请求报文,即第一探测报文为arq报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时:
109.主叫ipv6h.323客户端向ipv4h.323网守发送一个呼叫请求的arq报文,nat64模块使用pool6进行目标地址转换,使用nat64模块已建立的第一动态映射表进行源地址转换,将主叫h.323终端ipv6地址和ras信令知名端口1719转换为nat64模块中ipv4地址资源池预分配ipv4地址(即目标ipv4地址)和ras信令知名端口1719。
110.alg模块探测数据包发现是arq报文,查询nat64映射表,发现已存在h.225地址和端口映射关系,则改写rrq数据报文中的h.225信令地址和端口,将主叫h.323终端ipv6地址和h.225信令知名端口1720替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1720。对修改后的报文进行编码封装,产生一个新报文,即第二探测报文。
111.在ipv4向ipv6转换时,acf报文在nat64模块和alg模块处理的处理过程如下:
112.h.323网守向h.323客户端回复同意呼叫的acf报文,解析别名为被叫h.323终端h.225信令ipv4地址,nat64模块使用pool6进行源地址转换,使用转换器已创建的第一动态转换映射表进行目标地址转换:将主叫h.323终端ipv6地址和ras信令知名端口1719转换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4)和ras信令知名端口1719
113.alg模块探测数据包发现是acf报文,则改写acf数据报文中的被叫h.225信令地址和端口,使用nat64地址pool96位前缀加32位ipv4地址的嵌入格式,将被叫h.323终端ipv4地址和h.225信令知名端口1720替换为nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和h.225信令知名端口1720,对修改后的报文进行编码封装,产生一个新报文,即第二反馈报文。
114.在一些示例中,
115.在上述第一探测报文为连接报文的情况下,上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
116.利用上述nat64模块将上述第一地址信息转换为第二源ipv4地址和第二目标ipv4地址并创建第三动态转换映射表,其中,上述第三动态转换映射表为主叫h.323终端ipv6地址和通信端口与目标ipv4地址和通信端口的映射关系,上述第一地址信息包括第二源ipv6地址和第二目的ipv6地址,上述第二源ipv6地址为主叫h.323终端ipv6地址和通信端口,上述第二目的ipv6地址为被叫ipv4地址嵌入nat64模块知名96位前缀的组合地址和h.225信令知名端口1720,上述第二源ipv4地址为预先配置的ipv4地址资源池中随机选取的地址和通信端口,上述第二目的ipv4地址为被叫ipv4地址和h.225信令知名端口1720,上述目标通信端口是随机选取的;
117.通过上述alg模块将上述第一数据信息转换为上述目标ipv4地址和h.245信令协
商的随机端口并建立第四动态转换映射表,其中,上述第一数据信息为主叫h.323终端ipv6地址和h.245信令协商的随机端口,上述第四动态转换映射表为h.323终端ipv6地址和h.245信令协商的随机端口与上述目标ipv4地址和h.245信令协商的随机端口映射关系;;
118.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
119.利用上述nat64模块通过上述第三动态转换映射表对上述第二地址信息进行转换;
120.通过上述alg模块将上述第二数据信息替换为上述ipv4地址的ipv6形式和h.245信令协商的随机端口,其中,上述第二数据信息为被叫h.323终端ipv4地址和h.245信令协商的随机端口。
121.具体的,在第一探测报文为连接报文的情况下,即第一探测报文为setup报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时,setup报文nat64和alg处理的处理流程如下:
122.主叫h.323客户端向被叫h.323客户端发送请求建立呼叫连接初始化信息的setup报文(包含主叫h.323终端发送和接收h.245控制信令消息的ip地址及端口),nat64模块使用pool6进行目标地址转换,使用nat64模块已预分配的地址加新的端口建立第三动态映射表并进行源地址转换,即将主叫h.323终端ipv6地址和目标通信端口转换为nat64模块中ipv4地址资源池预分配ipv4地址和目标通信端口,第三动态映射表为主叫h.323终端ipv6地址和目标通信端口与nat64模块中ipv4地址资源池预分配ipv4地址和目标通信端口的对应关系。
123.alg模块探测数据包发现是setup报文,查询nat64映射表,发现已存在h.225地址和端口映射关系,则改写数据报文中的主被叫h.225信令地址和端口,将主叫h.323终端ipv6地址和h.225信令知名端口1720替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和ras信令知名端口1720。将nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和h.225信令知名端口1720替换为被叫h.323终端ipv4地址和h.225信令知名端口1720。查询nat64映射表,发现已存在h.245地址映射关系,但无端口映射关系,则改写数据报文中的h.245信令地址和端口,将主叫h.323终端ipv6地址和h.245信令协商的随机端口替换为nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和h.245信令协商的随机端口,alg对修改后的报文进行编码封装,产生一个新报文,即第二探测报文。并自动创建一条nat64第四动态转换映射表,第四动态转换映射表包含源v6地址和端口及源v4地址加端口的映射关系,动态转换映射表为:主叫h.323终端ipv6地址和h.245信令协商的随机端口和nat64模块中ipv4地址资源池预分配ipv4(目标ipv4地址)地址和h.245信令协商的随机端口的对应关系。
124.在ipv4向ipv6转换时,connect报文在nat64模块和alg模块处理的处理过程如下:
125.被叫h.323客户端向主叫h.323客户端回复确认呼叫连接已成功建立的connect报文,nat64模块使用pool6进行源地址转换,使用转换器已创建的nat64第三动态转换映射表进行目标地址转换,将主叫h.323终端ipv6地址和目标通信端口转换为nat64模块中ipv4地址资源池预分配ipv4地址和目标通信端口。
126.alg模块探测数据包发现是connect报文,则改写数据报文中的被叫h.245信令地
址和端口,使用nat64地址pool96位前缀加32位ipv4地址的嵌入格式,将被叫h.323终端ipv4地址和h.245信令协商的随机端口替换为nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和h.245信令协商的随机端口,对修改后的报文进行编码封装,产生一个新报文,即第二反馈报文。
127.在一些示例中,在上述第一探测报文为信息交互报文的情况下,
128.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
129.通过上述nat64模块和上述第四动态转换映射表对上述第一地址信息替进行第一转换;
130.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
131.通过上述nat64模块和上述第四动态转换映射表对上述第二地址信息进行第二转换。
132.具体的,在第一连接报文为信息交互报文的情况下,即第一连接报文为能力交换报文和主从判断报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时:
133.主叫h.323客户端与被叫h.323客户端使用h.245信令端口相互交互能力与主从判断,通过能力交换确认彼此交换自己发送与接受远程视频会议能力,如系统的视频格式、分辨率、音频协议等,通过主从判断避免终端同时初始化一个事件导致的冲突,nat64模块使用pool6进行目标地址转换,使用nat64模块已建立的第四动态映射表进行源地址转换将主叫h.323终端ipv6地址和h.245信令协商的随机端口替换为nat64模块中ipv4地址资源池预分配ipv4地址和h.245信令协商的随机端口。
134.nat64模块使用pool6进行源地址转换,使用nat64模块已建立的第四动态映射表进行目标地址转换将主叫h.323终端ipv6地址和h.245信令协商的随机端转换为nat64模块中ipv4地址资源池预分配ipv4地址和h.245信令协商的随机端口。
135.在一些示例中,在上述第一探测报文为地址协商交互报文的情况下,
136.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
137.利用上述nat64模块和上述第四动态转换映射表对上述第一地址信进行第一转换;
138.通过上述alg模块将h.323终端ipv6地址和rtp协议协商的随机端口替换为上述目标ipv4地址和rtp协议协商的随机端口并建立第五动态转换映射表,其中,上述第五动态转换映射表为h.323终端ipv6地址和rtp协议协商的随机端口与上述目标ipv4地址和rtp协议协商的随机端口的映射关系;
139.通过上述alg模块将h.323终端ipv6地址和rtcp协议协商的随机端口替换为目标ipv4端口和rtcp协议协商的随机端口并创建第六动态转换映射表,其中,上述第六动态转换映射表为h.323终端ipv6地址和rtcp协议协商的随机端口与目标ipv4地址和rtcp协议协商的随机端口的映射关系。
140.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
141.利用上述nat64模块通过上述第四动态转换映射表对上述第二地址信息进行转换;
142.通过上述alg模块将被叫h.323终端ipv4地址和rtp协议协商的随机端口替换为上述目标ipv6地址和上述rtp协议协商的随机端口;
143.通过上述alg模块将被叫h.323终端ipv4地址和rtcp协议协商的随机端口替换为上述目标ipv6地址和rtcp协议协商的随机端口。
144.示例性的,第一探测报文为地址协商报文,地址协商报文为主叫协商rtp和rtcp传输地址报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时,主叫向被叫协商rtp和rtcp传输地址报文nat64和alg处理流程如下
145.nat64模块使用pool6进行目标地址转换,使用nat64模块已建立的以下第四动态映射表进行源地址转换将主叫h.323终端ipv6地址和h.245信令协商的随机端口转换为nat64模块中ipv4地址资源池预分配ipv4地址和h.245信令协商的随机端口。
146.alg模块探测数据包发现是协商报文,查询nat64映身表,发现已存在主叫rtp/rtcp地址映射,但无端口映射关系,则改写数据报文中的主被叫rtp/rtcp地址和端口,将主叫h.323终端ipv6地址和rtp协议协商的随机端口替换为nat64模块中ipv4地址资源池预分配ipv4地址和rtp协议协商的随机端口。将主叫h.323终端ipv6地址和rtcp协议协商的随机端口替换为nat64模块中ipv4地址资源池预分配ipv4地址和rtcp协议协商的随机端口。alg对修改后的报文进行编码封装,产生一个新报文。
147.nat64模块根据alg模块改写的地址和端口,自动创建两条nat64动态转换映射表。第五动态转换映射表包含源v6地址和端口及源v4地址加端口的映射关系,具体为:主叫h.323终端ipv6地址和rtp协议协商的随机端口与nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和rtp协议协商的随机端口的对应关系。第六动态转换映射表为主叫h.323终端ipv6地址和rtcp协议协商的随机端口和nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和rtcp协议协商的随机端口的对应关系。
148.在ipv4向ipv6转换时,被叫向主叫协商rtp和rtcp传输地址报文在nat64模块和alg模块处理的处理过程如下:
149.nat64模块使用pool6进行源地址转换,使用nat64模块已建立第四动态映射表进行目标地址转换,将nat64模块中ipv4地址资源池预分配ipv4地址(目标ipv4地址)和h.245信令协商的随机端口转换为主叫h.323终端ipv6地址和h.245信令协商的随机端口。
150.alg模块探测数据包发现是协商报文,则改写数据报文中的被叫rtp/rtcp地址和端口,使用nat64地址pool96位前缀加32位ipv4地址的嵌入格式,将被叫h.323终端ipv4地址和rtp协议协商的随机端口替换为nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和rtp协议协商的随机端口。将被叫h.323终端ipv4地址和rtcp协议协商的随机端口替换为nat64模块中pool96位前缀加32位被叫h.323终端ipv4地址的嵌入式ipv6格式地址(目标ipv6地址)和rtcp协议协商的随机端口。alg对修改后的报文进行编码封装,产生一个新报文,即第二反馈报文。
151.在一些示例中,在上述第一探测报文为流媒体报文的情况下,
152.上述通过nat64模块和alg模块对上述第一地址信息与上述第一数据信息进行第一转换,包括:
153.利用上述nat64模块、上述第五动态转换映射表和第六动态转换映射对上述第一地址信息进行转换;
154.上述通过上述nat64模块和上述alg模块对上述第二地址信息与上述第二数据信息进行第二转换,包括:
155.利用上述nat64模块上述第五动态转换映射表和第六动态转换映射对上述第一地址信息进行转换。
156.示例性的,在第一探测报文为流媒体报文时,流媒体报文包括rtp和rtcp流媒体报文,ipv6与ipv4端交互中的协议转换主要为,在ipv6向ipv4转换时:
157.去向报文:nat64模块使用pool6进行目标地址转换,使用nat64模块已建立的第五动态转换映射表和第六动态转换映射表进行地址和端口转换。
158.在ipv4向ipv6转换时:
159.回向报文:nat64模块使用nat64模块已建立的第五动态转换映射表和第六动态转换映射表进行地址和端口转换。
160.如图6所示,本技术实施例还提供一种电子设备300,包括存储器310、处理器320及存储在存储器320上并可在处理器上运行的计算机程序511,处理器320执行计算机程序311时实现上述基于h.323的ipv4/ipv6协议交换的任一方法的步骤。
161.由于本实施例所介绍的电子设备为实施本技术实施例中ipv4/ipv6协议交换装置所采用的设备,故而基于本技术实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍,只要本领域所属技术人员实施本技术实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
162.在具体实施过程中,该计算机程序311被处理器执行时可以实现图4对应的实施例中任一实施方式。
163.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
164.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
165.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
166.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
167.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
168.本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图4对应实施例中的基于h.323的ipv4/ipv6协议交换方法的流程。
169.计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
170.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
171.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
172.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
173.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
174.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介
质。
175.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献