网络地址转换装置及其封包处理方法制造方法及图纸

技术编号:6555676 阅读:326 留言:0更新日期:2012-04-11 18:40
一种网络地址转换装置,包括封包分析模块、数据采集模块、封包重组模块及封包穿透模块。封包分析模块用于接收多个封包并分析封包是否是被分割后的封包,及分析被分割后的封包是否需要进行重组。数据采集模块用于从不需要进行重组的封包中获取其它被分割的封包重组所需的数据。封包重组模块用于重组需要进行重组的封包与数据采集模块所获取的数据,以获得完整封包。封包穿透模块用于使完整封包穿透所述网络地址转换装置。本发明专利技术还提供了所述网络地址转换装置的封包处理方法。本发明专利技术实施方式所提供的网络地址转换装置及其封包处理方法通过将被分割后的不规则封包进行分析、切割、重组等处理,使得不规则封包也可顺利穿透网络地址转换装置。

【技术实现步骤摘要】

本专利技术涉及网络装置,尤其涉及。
技术介绍
会话起始协议(Session Initiation Protocol, SIP)技术是新时代网络电话的基础技 术。通常情况下,网络电话接收端与电话发送端作为两个SIP客户端,通过SIP服务器进行通 信。如果两个SIP客户端都处于公共网络,则可以很正常的通信。但是当网络电话接收端与 发送端处于网络地址转换器(Network Address Transporter, NAT)的不同端时,NAT需要 对SIP封包中因特网协议(Internet Protocol, IP)地址与端口号做适当的转换,即使得 SIP封包正常穿透NAT。但是,某些SIP客户端与服务器搭配运作时送出的不规则SIP封包无法正常穿透NAT,造 成通话质量低落,或者根本无法正常通话。举例而言,电话接收端可能将第一个封包与第二 个封包的前半部作为第一个封包送出,接着再将第二个封包的后半部作为第二个封包送出, 且断点无固定位置。此时,习知的NAT—般只会处理第一个封包,而忽略第二个封包,使得 第二个封包不能正常穿透NAT装置。而且,第一个封包经常会覆盖掉第二个封包的前几个字 节,造成通话失败。又比如,电话发送端还可能将包头与包体分为两个封包送出。此时,习 知的NAT装置往往只会处理仅包含包头的封包,而忽略仅包含包体的封包,使得包体不能正 常穿透NAT。所以急需提供一种网络地址转换装置,可使得所述不规则封包也能穿透NAT。
技术实现思路
有鉴于此,需提供一种网络地址转换装置,可有效处理不规则封包,使其能正常穿透网 络地址转换装置。此外,还需提供一种网络地址转换装置的封包处理方法,可有效处理不规则封包,使其 能正常穿透网络地址转换装置。一种网络地址转换装置,包括封包分析模块、数据采集模块、封包重组模块及封包穿透 模块。封包分析模块用于接收多个封包并分析所述封包是否是被分割后的封包,以及分析被 分割后的封包是否需要进行重组。数据采集模块用于从不需要进行重组的封包中获取其它被 分割的封包重组所需的数据。封包重组模块用于重组需要进行重组的封包与数据采集模块所 获取的数据中所述需要进行重组的封包的数据,以获得完整封包。封包穿透模块用于使所述完整封包穿透网络地址转换装置。一种网络地址转换装置的封包处理方法,包括如下步骤接收封包;分析所接收的封包 是否是被分割后的封包;若所接收的封包是被分割后的封包,则分析所述封包是否需进行重 组;若所述封包不需要进行重组,则从所述封包中获取其它被分割的封包重组所需的数据; 若所述封包需要进行重组,则重组所述封包与所获取的数据中所述封包重组所需的数据,以 获得完整封包;及使所述完整封包穿透所述网络地址转换装置。本专利技术实施方式所提供的通过将被分割后的不规则 封包进行分析、切割、重组等处理,使得所述不规则封包可顺利穿透网络地址转换装置。附图说明图l为本专利技术网络地址转换装置一种实施方式的实施环境与功能模块图。 图2为本专利技术网络地址转换装置的封包处理方法一种实施方式的流程图。 图3A与图3B为图2所示的封包处理方法的细化流程图。 具体实施例方式参阅图l,所示本专利技术网络地址转换(Network Address Translation, NAT)装置10— 种实施方式的实施环境及功能模块图。在本实施方式中,网络地址转换装置10是指具有网络 地址转换功能的网络设备,如路由器、因特网协议(Internet Protocol, IP)分享器等。第一客户端12作为电话接收端或发送端,通过网络地址转换装置10与因特网相连。第二 客户端14作为电话发送端或接收端,通过服务器16与第一客户端12进行网络电话通信。网络 地址转换装置10用于处理并转发所接收的封包,包括处理并转发不规则封包。在本实施方式 中,网络地址转换装置10所接收的封包包括会话起始协议(Session Initiation Protocol ,SIP)封包。在本专利技术的一种实施方式中,网络地址转换装置IO包括封包分析模块IOO、数据采集模 块102、封包重组模块104及封包穿透模块106。封包分析模块100用于接收多个封包并分析所述封包是否是被分割后的封包,以及分析 被分割后的封包是否需要进行重组。在本实施方式中,封包分析模块100在接收到封包后, 先通过所述封包包头中的片段偏移(Fragment Offset)字段分析所述封包是否为被分割后 的封包,若所述封包为被分割后的封包,则进一步通过所述封包包头中的标记(Flags)字 段分析所述封包是否需要进行重组。在本实施方式中,若所述封包不是被分割后的封包,则所述封包是规则封包,能正常穿透网络地址转换装置io。封包穿透模块106用于使封包分析模块100分析出的非被分割后的封包正常穿透网络地址转换装置10并送出。在本实施方式中,封包穿透模块106通过替换所述非被分割后的封包包 头的因特网协议(IP)地址与端口号,以使其穿透网络地址转换装置IO。数据采集模块102用于从封包分析模块100所分析出的不需要进行重组的封包中获取其它 被分割的封包重组所需的数据。其中,其它被分割的封包与所述不需要进行重组的封包属于 同一个数据包,所述数据包可能因数据过大而被分割为多个封包发送。在本实施方式中,所 述属于同一个数据包的被分割后的封包的包头中都包括一个相同的唯一标志符( Identification)字段,可通过所述唯一标志符来获取所述封包的其它被分割的封包。数据采集模块102还用于判断封包分析模块100所分析出的不需要进行重组的被分割后的 封包的类型,即判断所述封包包头的内容长度(Content-Length)字段是否大于其包体实际 所传送的数据量,以按照封包的类型来采用不同的方法从中获取其它被分割的封包重组所需 的数据。在本实施方式中,不需要进行重组的被分割后的封包包括二种。 一种封包包头的内 容长度字段大于包体实际传输的数据量,如邀请(INVITE)封包、200同意(0K)封包。具 体而言,在网络通话时,电话发送端送出INVITE封包或电话接收端送出200 0K封包时,可能 会将包头与包体分为两个封包分别送出。其中,包含INVITE封包、200 OK封包的包头与包体 的两个封包都是被分割后的封包,且包含包体的封包需要重组,而包含包头的封包不需要重 组。另一种封包包头的内容长度字段小于包体实际传输的数据量,如180震铃(Ring)封包 。具体而言,在网络通话时,电话接收端可能会将第一个180 Ring封包与第二个180 Ring封 包的前半部作为一个封包送出,接着再将第二个180 Ring封包的后半部作为一个封包送出。 其中,包含第一个180 Ring封包与第二个180 Ring封包的前半部的封包与包含第二个180 Ring封包的后半部的封包都是被分割后的封包,且包含第二个180 Ring封包的后半部的封包 需要重组,而包含第一个180 Ring封包与第二个180 Ring封包的前半部的封包不需要重组。数据采集模块102还用于拷贝包头的内容长度字段大于其包体实际所传送的数据量的封 包所传输的数据,其中所拷贝出的数据即为其它被分割的封包重组所需的数据。在本实施方 式中,所述封包包含INVITE封包或本文档来自技高网...

【技术保护点】
一种网络地址转换装置,其特征在于,包括: 封包分析模块,用于接收多个封包并分析其是否为被分割后的封包,以及分析被分割后的封包是否需要进行重组; 数据采集模块,用于从不需要进行重组的封包中获取其它被分割的封包重组所需的数据;   封包重组模块,用于根据所述数据采集模块所获取的数据重组需要进行重组的封包,以获得完整封包;及 封包穿透模块,用于使所述完整封包穿透所述网络地址转换装置。

【技术特征摘要】
1.一种网络地址转换装置,其特征在于,包括封包分析模块,用于接收多个封包并分析其是否为被分割后的封包,以及分析被分割后的封包是否需要进行重组;数据采集模块,用于从不需要进行重组的封包中获取其它被分割的封包重组所需的数据;封包重组模块,用于根据所述数据采集模块所获取的数据重组需要进行重组的封包,以获得完整封包;及封包穿透模块,用于使所述完整封包穿透所述网络地址转换装置。2.如权利要求l所述的网络地址转换装置,其特征在于,所述数据采 集模块还用于判断不需要进行重组的被分割后的封包包头的内容长度字段是否大于其包体实 际所传送的数据量,以确定封包的类型。3.如权利要求2所述的网络地址转换装置,其特征在于,封包包头的 内容长度字段大于其包体实际所传送的数据量的封包的类型为邀请封包或200同意封包,反 之则为180震铃封包。4.如权利要求2所述的网络地址转换装置,其特征在于,所述数据采 集模块还用于当封包包头的内容长度字段大于其包体实际所传送的数据量时,拷贝所述封包 所传输的数据,其中所拷贝出的数据即为其它被分割的封包重组所需的数据。5.如权利要求2所述的网络地址转换装置,其特征在于,所述数据采 集模块还用于当封包包头的内容长度字段小于其包体实际所传送的数据量时,切割封包包体 中大于内容长度字段的数据,其中所切割出的数据即为其它被分割的封包重组所需的数据。6.如权利要求l所述的网络地址转换装置,其特征在于,所述封包重 组模块还用于获取需要进行重组的封包的重组所需要的数据,并判断所述需要进行重组的封 包的类型。7.如权利要求6所述的网络地址转换装置,其特征在于,若所述需要进行重组的封包类型为180震铃封包,则所述封包重组模块还用于从所获取的所述封包重组 所需的数据中切割出其所缺的部分,然后重组所述封包与所切割出的所述封包所缺的部分, 以获得所述完整封包。8.如权利要求6所述的网络地址转换装置,其特征在于,若所述需要 进行重组的...

【专利技术属性】
技术研发人员:郭婉绣
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1