一种用于网络地址转换和协议翻译中的应用层网关的方法技术

技术编号:3547149 阅读:272 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于IPv4/IPv6网络地址转换和协议翻译中的SIP应用层网关的实现方法,该方法包括:首先在NAT-PT系统的地址映射表中为IPv6域内的边界SIP代理(Proxy)服务器建立一条静态映射条目;NAT-PT系统识别SIP协议的数据包,将数据包送到SIP应用层网关上处理;SIP应用层网关对SIP协议的数据包的处理包括两个方面的内容:第一,对SIP消息头部字段的翻译处理;第二,对SDP消息体内容的翻译处理;最后,SIP应用层网关将翻译处理后的SIP数据包发送出去。本方法可以在多种网络拓扑环境中实现,保证了IPv4网络内的SIP用户终端和IPv6网络内的SIP用户终端进行通信。

【技术实现步骤摘要】
一种用于网络地址转换和协议翻译中的应用层网关的方法
本专利技术涉及计算机网络通信的应用层网关
,特别是一种用于IPv4和IPv6网络地址转换和协议翻译中的SIP应用层网关的实现方法。
技术介绍
IPv6(Internet Protocol Version 6)协议是替代IPv4(Internet ProtocolVersion 4)协议的下一代互联网协议,它具有许多新的特性与功能。网络过渡时期中IPv4和IPv6技术将保持长时间共存,并最终过渡到IPv6。目前,如何实现IPv4协议向IPv6协议平滑过渡是人们面临的问题。IETF工作组提出了几种实现IPv4和IPv6互通的机制:双协议栈(RFC2893中说明),隧道技术(RFC2893中说明),NAT-PT(Network Address TransitionProtocol,网络地址转换和协议翻译机制,RFC2766中说明)等。NAT-PT是一种协议转换技术,用来解决纯IPv6网络和纯IPv4网络互通的问题。其主要思想是在IPv6节点与IPv4节点的通信时,借助于中间的NAT-PT系统,把网络层协议头进行IPv6/IPv4间的转换,以适应对端的协议类型。由于NAT-PT这种过渡方式,只需要在中间设置转换系统即可完成IPv6网络和IPv4网络的互通,应用较为简便,适用于常用的网络互通需求。然而对于一些内嵌地址信息的高层协议,如DNS(Domain Name Service)和SIP(Session Initiation Protocol,会话初始化协议)协议等,NAT-PT需要和ALG(Application Level Gateway,应用层的网关)协作来完成翻译。在实现方面,如果没有DNS ALG的支持,IPV6网络和IPV4网络就不能通过域名进行通信。SIP协议是一个可供多媒体数据传输和因特网电话呼叫等使用的标准会话协议。是基于文本编码的构建在UDP(User Datagram Protocol,用户数据报协议)和TCP(Transfer Control Protocol,传输控制协议)之上的,用于创建、修改和终止会话连接的应用层控制信令协议。SDP(Session-->Description Protocol,会话描述协议,RFC2327中说明)与SIP都是由IETF(国际工程任务组)MMUSIC(多方多媒体会话控制)工作组定义。SDP数据内容基于文本编码,使用的字符集是ISO10646。SDP头用在SIP信令消息中主要有三个目的,一是告知对方自己想要接收何种类型的媒体:音频、视频或者皆有,第二是希望对方使用什么类型的编码方法。再一个就是让其知道自己用于接收媒体流的地址及端口。同样对方也需要在应答消息或者请求中给出以上这些信息,应答中给出的编码方式应该是对方请求消息中所支持的编码方式的子集,如果双方没有共同支持的编码方式,则协商不成功,会话连接失败。SIP系统由SIPUA(User Agent,用户代理,SIP用户终端)和SIP Proxy(代理)服务器组成。对于SIP应用,SIP消息包的内部含有IP地址的信息,当包含有SIP协议的包穿越IPv4和IPv6两种不同网络时,需要对SIP协议包内部的IP地址进行翻译,否则双方的通信就不能建立起来。SIP ALG是对应于SIP应用的特定代理,可以使IPv6节点与IPv4节点互相通信。SIP应用会把网络地址存在封包的载荷中,可是NAT-PT系统本身并无法得知载荷里面存的内容,SIP ALG可以协助NAT-PT系统来完成翻译载荷内容的功能。NAT-PT的机制在RFC2766中说明,但是里面没有说明SIP ALG的实现机制,而且到目前为止也没有关于在NAT-PT中实现SIP ALG的机制和可遵循的标准。本专利技术给出了一种用于NAT-PT中的SIP ALG的实现方法。
技术实现思路
本专利技术的目的是提供一种用于IPv4/IPv6网络地址转换和协议翻译中的SIP应用层网关的实现方法,以实现IPv4 SIP用户终端和IPv6 SIP用户终端互相通信。本专利技术的目的是这样实现的:一种用于IPv4/IPv6网络地址转换和协议翻译中的SIP应用层网关的实现方法,包括:(1)首先在NAT-PT系统的地址映射表中为IPv6域内的边界SIP代理服务器分配一条静态的地址映射条目,此条目的内容为:IPv6域内的边界SIP代理服务器的IPv6地址和它对应的全局IPv4地址;-->(2)NAT-PT系统根据目的信息或者端口信息来识别SIP协议的数据包,将数据包发送到SIP应用层网关上处理;(3)SIP应用层网关对SIP协议的数据包进行处理;(4)最后,SIP应用层网关将处理后的SIP数据包发送出去。所述的在NAT-PT系统的地址映射表中为IPv6域内的边界SIP代理服务器分配一条静态的地址映射条目,此条目的内容为:IPv6域内的边界SIP代理服务器的IPv6地址和对应的全局IPv4地址。IPv6域内的边界SIP代理服务器支持域名访问的方式,需要在它的上层域名服务器的配置上添加一个域名记录。从IPv4域内访问IPv6域内的边界SIP代理服务器时,由DNS ALG协助来完成。IPv6域内的边界SIP代理服务器支持域名访问的方式,需要在它的上层域名服务器的配置上添加一个域名记录,从IPv4域内访问IPv6域内的边界SIP代理服务器时,由DNS应用层网关协助来完成。所述的步骤(3)SIP应用层网关对SIP协议的数据包进行处理,包括:(21)当数据包为IPv6格式的SIP数据包,采用从IPv6到IPv4的SIP包的转换处理方式;(22)当数据包为IPv4格式的SIP数据包,采用从IPv4到IPv6的SIP包的转换处理方式。所述的步骤(21)包括:(41)处理SIP协议头部字段:对SIP协议的头部字段进行转换处理,包括Contact、Via、Record-Route、Route、Request-URI、From、To、Content-Length字段。把SIP头部字段的IPv6地址和端口信息转换成IPv4地址和端口信息,必要时要建立IPv4网络到IPv6网络的映射条目;(42)处理SDP协议的内容:根据SDP包的“c=”字段和“m=”字段判断RTP的映射条目是否已经建立,如果没有建立,则为RTP和RTCP建立映射条目,然后,翻译修改“o=”字段、“c=”字段和“m=”字段的内容;(43)经过步骤(42)的处理,SDP内容的大小已经改变了,需要修改SIP协议头部的Content-Length字段;-->(44)对数据包重新计算IPv4头部和UDP头部的校验和。然后,执行步骤(4)。所述的步骤(22)包括:SIP应用层网关对SIP协议的数据包进行处理中的IPv4 SIP协议包到IPv6 SIP协议包的转换处理,(51)处理SIP协议头部字段:对SIP协议的头部字段进行转换处理,包括Contact、Via、Record-Route、Route、Request-URI、From、To、Content-Length等字段,把SIP头部字段的IPv4地址和端口信息转换成IPv6地址和端口信息,必要时需要查询映射表,取出查询到的映射条目,进行相本文档来自技高网
...

【技术保护点】
一种用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,包括:(1)首先在NAT-PT系统的地址映射表中为IPv6域内的边界SIP代理服务器分配一条静态的地址映射条目,此条目的内容为:IPv6域内的边界SIP代理服务器的IPv 6地址和它对应的全局IPv4地址;(2)NAT-PT系统根据目的信息或者端口信息来识别SIP协议的数据包,将数据包发送到SIP应用层网关上处理;(3)SIP应用层网关对SIP协议的数据包进行处理;(4)最后,SIP应 用层网关将处理后的SIP数据包发送出去。

【技术特征摘要】
1.一种用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,包括:(1)首先在NAT-PT系统的地址映射表中为IPv6域内的边界SIP代理服务器分配一条静态的地址映射条目,此条目的内容为:IPv6域内的边界SIP代理服务器的IPv6地址和它对应的全局IPv4地址;(2)NAT-PT系统根据目的信息或者端口信息来识别SIP协议的数据包,将数据包发送到SIP应用层网关上处理;(3)SIP应用层网关对SIP协议的数据包进行处理;(4)最后,SIP应用层网关将处理后的SIP数据包发送出去。2.根据权利要求1所述的用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,其特征在于,SIP应用层网关对SIP协议的数据包进行处理,包括:(21)IPv6 SIP协议包到IPv4 SIP协议包的转换处理;(22)IPv4 SIP协议包到IPv6 SIP协议包的转换处理。3.根据权利要求1所述的用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,其特征在于,IPv6域内的边界SIP代理服务器支持域名访问的方式,需要在它的上层域名服务器的配置上添加一个域名记录,从IPv4域内访问IPv6域内的边界SIP代理服务器时,由DNS应用层网关协助来完成。4.根据权利要求2所述的用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,其特征在于,SIP应用层网关对SIP协议的数据包进行处理中的IPv6 SIP协议包到IPv4 SIP协议包的转换处理,包括:(41)处理SIP协议头部字段:对SIP协议的头部字段进行转换处理,包括Contact、Via、Record-Route、Route、Request-URI、From、To和Content-Length等字段,把SIP头部字段的IPv6地址和端口信息转换成IPv4地址和端口信息,必要时要建立IPv4网络到IPv6网络的映射条目;(42)处理SDP协议的内容:根据SDP包的“c=”字段和“m=”字段判断RTP的映射条目是否已经建立,如果没有建立,则为RTP和RTCP建立映射条目,然后,把“c=”字段的协议类型由IP6改变为IP4,把IPv6地址转换为映射条目的IPv4地址,“m=”字段的端口信息转换为映射条目的IPv4的端口信息,“o=”字段的地址部分进行转换;(43)经过步骤(42)的处理,SDP内容的大小已经改变了,需要修改SIP协议头部的Content-Length字段;(44)对数据包重新计算IPv4头部和UDP头部的校验和,然后,执行步骤(4)。5.根据权利要求2所述的用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,其特征在于,SIP应用层网关对SIP协议的数据包进行处理中的IPv4 SIP协议包到IPv6 SIP协议包的转换处理,包括:(51)处理SIP协议头部字段:对SIP协议的头部字段进行转换处理,包括Contact、Via、Record-Route、Route、Request-URI、From、To、Content-Length等字段,把SIP头部字段的IPv4地址和端口信息转换成IPv6地址和端口信息,必要时需要查询映射表,取出查询到的映射条目,进行相关字段的转换处理;(52)处理SDP协议的内容:处理SDP包的“o=”、“c=”和“m=”字段,在把“c=”和“o=”字段字段的协议类型由IP4改变为IP6,把IPv4地址转换为IPv6地址,“m=”字段的端口信息不变;(53)经过步骤(52)的处理,SDP内容的大小已经改变了,需要修改SIP头部的Content-Length字段;(54)对数据包重新UDP头部的校验和,然后,执行步骤(4)。6.根据权利要求1所述的用于网络地址转换和协议翻译中的SIP应用层网关的实现方法,其特征在于,具体实施的一种网络拓扑结构是:IPv6网络域内包含一个边界SIP Proxy服务器和IPv6 DNS服务器,IPv6 SIP用户终端注册到本域内的IPv6 SIP Proxy服务器上,IPv4网络域内包含一个边界SIP Proxy服务器和IPv4 DNS服务器,IPv4 SIP用户终端注册到本域内的IPv4 SIP Proxy服务器上,包括:(61)IPv6 SIP用户终端主动发起呼叫请求时,SIP应用层网关需要处理SIP INVITE消息中的SIP相关字段和SDP相关字段,并且建立IPv4SIP用户终端到IPv6 SIP用户终端的RTP和RTCP映射条目,SIP应用层网关需要处理BYE消息的SIP相关字段,并...

【专利技术属性】
技术研发人员:李丹王春峰李忠诚
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1