一种流控制传输协议报文穿越网络地址转换设备的方法

文档序号:7750015阅读:265来源:国知局
专利名称:一种流控制传输协议报文穿越网络地址转换设备的方法
技术领域
本发明属于网络通信技术领域,尤其属于传输层通信协议技术领域。
背景技术
流控制传输协议(SCTP)是近年发展起来的一种用于IP网络中新的传输 层协议,是由IETF (Internet Engineering Task Force,互联网工程任务组)在原 TCP (Transmission Control Protocol,传输控制协议)协议基础上改进而来的,与IPv6网 络协议配合的,以在IP网络上传输消息为目的的一种协议,SCTP是IP网络中建立高质量 通信和电子商务应用的关键部分。在核心网设备中,SCTP位于传输层,主要用于在IP网络 中传送PSTN (Public Switched Tel印honeNetwork,公共交换电话网)的信令消息和IP网 内的信令消息,与其上层用户构成IP信令网的节点;也用于在IP网络中传输数据消息。SCTP结合了用户数据报协议(UDP)保留边界的报文传输和TCP可靠有序的特点, 特别适合电信领域的信令传输,因为电信领域通常要求可靠有序的投递服务,且不希望上 层为报文额外进行定界处理。同时SCTP另外还支持多归属功能和多流功能,尤其是多归属 功能使得SCTP可以用于异构网络接入的场景中,作为异构网络无缝切换首选的传输层解 决方案,弥补了 TCP或UDP无法解决异构网络切换问题的缺憾,使其在IPv6网络完全实施 之前提早进入目前的IPv4通信应用之中,担当现有异构接入网络无缝切换的应用场景的 关键技术。在IPv4网络中,由于IP地址数量受限,现有网络中大量使用了网络地址转换 (NAT)设备来承担内网和外网间IP地址及端口的转换任务,缓解IP地址的受限问题。NAT 设备虽然作为三层设备增设在大多数IP网络中,然而为了完成完整的内网和外网地址转 换功能,必须对传输层协议的端口号进行转换。而现有IPv4网络中的大多数NAT设备对传 输层协议的支持仅限于传输控制协议TCP和用户数据报协议UDP,不支持流控制传输协议 SCTP。这就导致现有商用的NAT设备收到SCTP报文后无法对其进行内网与外网地址间的 映射,而直接丢弃,SCTP报文无法在网络中继续传输,也即现有NAT设备对SCTP报文形成 障碍,SCTP报文无法穿越NAT设备,造成了 SCTP无法在含有NAT设备的现有IPv4网络中 使用。当前已有的解决方案关注于设计一种新型的NAT设备,对SCTP协议的网络地址转 换以及多归属功能进行支持,计划在未来将增设这种新型的NAT设备,配合IPv6以及其他 协议协同工作。然而,IPv6网络短期内还难以大规模实施,现有的IPv4网络在今后相当长 一段时间内仍将是主流的组网形式,占据大多数网络应用场景,现有商用的NAT设备也将 大规模存在,这都将滞后SCTP协议在网络通信领域的发展应用。

发明内容
本发明的目的就是提供一种流控制传输协议报文穿越网络地址转换设备的方法, 该方法对现有的NAT设备无需做任何改动或升级就可以实现SCTP报文对NAT的穿越,从而使得SCTP协议在现有的IPv4网络系统中得到发展应用。本发明实现其发明目的,所采用的技术方案是,一种流控制传输协议报文穿越网 络地址转换设备的方法,其做法是A、在使用SCTP(流控制传输协议)的终端的SCTP层和网际协议IP层之间,增设 UDP (用户数据报协议)封装/解封层;B、UDP封装/解封层在终端发送SCTP报文前对报文进行封装,使其具有UDP报文 头后再发送;C、NAT设备对具有UDP报文头的SCTP报文按UDP报文进行转发; D、终端判断到达的报文是否为进行过UDP封装的SCTP报文,若不是,直接按照UDP 报文处理方法进行接收;若是,UDP封装/解封层先对其进行解封装去掉UDP报文头,再由 SCTP层按照SCTP报文处理方法进行接收。与现有技术相比,本发明的有益效果是一、本发明通过在穿越NAT设备的SCTP终端的协议栈内插入UDP封装/解封装层, 对SCTP报文进行UDP报文头封装,然后利用NAT设备对UDP协议的支持能力来实现SCTP 报文在NAT中的穿越。从而,本发明无需对现有的NAT设备做任何改动或升级,就可以实现 SCTP报文在现有的IPv4网络中对NAT设备的穿越。同时,本发明对接收到的报文是否为经 过UDP报文头封装的SCTP报文进行判断,避免了与标准的UDP报文产生冲突,使得本发明 不影响标准UDP报文的传输;也即采用本发明的终端与普通的终端完全兼容。这样,SCTP协 议的优势可以在现有的包含NAT设备的IPv4网络系统中得到充分发挥,从而使得SCTP协 议在现有的IPv4网络系统中得到广泛发展应用。二、本发明对SCTP协议层和IP协议层保持透明,这些协议层不做任何更改;SCTP 协议不需要知道是否有UDP封装/解封层的存在,同时,对于通过UDP封装/解封层进入IP 层的报文,IP协议仅将其认为是标准的UDP报文进行处理。因此,本发明既便于实施,同时 也不会影响现有网络原有业务的安全性和服务质量。三、本发明只需对通信双方的终端进行软件升级,即可在双方之间实现SCTP报文 的无障碍传输。如对全网终端或部分终端进行传输层协议升级,则可以在全网或已升级的 终端范围内实现SCTP报文对现有NAT设备的穿越,其实施灵活、方便;并且由于终端软件升 级非常方便,因此其实施容易,成本低。四、如果网络中的NAT设备更新为对SCTP报文提供支持的设备,采用本发明的终 端无需对软件进行更改,可照常使用,也即本发明能够对其提供兼容性支持。上述步骤B中UDP封装/解封层在终端发送SCTP报文前对报文进行封装的具体 做法为在SCTP报文头的前面插入一个标准的UDP报文头,该UDP报文头的目标端口域和 本地端口域由从SCTP报文头提取出的相应端口信息来填充。上述步骤D中,UDP封装/解封层先对其进行解封装去掉UDP报文头的具体做法 为提取出UDP报文头中的目标端口域和本地端口域的信息,并复制到SCTP报文中的相应 端口域中覆盖原端口数据。以上对SCTP报文进行UDP报文头封装及解封装的方法既简单又有效。上述步骤D中,步骤D中终端判断到达的报文是否为进行过UDP封装的SCTP报文 的具体做法为判断UDP报文头后面的报文是否与SCTP报文的特征相符合。若符合,则判定为是进行过UDP封装的SCTP报文;否则,判定为不是进行过UDP封装的SCTP报文。这种 判断方法既简单又可靠。下面结合附图和具体实施方式
对本发明作进一步详细的说明。


图1为本发明方法中SCTP报文穿越NAT设备的示意图。
具体实施例方式实施例图1示出,本发明的一种具体实施方式
是,一种流控制传输协议报文穿越网络地 址转换设备的,其做法是A、在使用SCTP(流控制传输协议)的终端的SCTP层和网际协议IP层之间,增设 UDP (用户数据报协议)封装/解封层;B、UDP封装/解封层在终端(图1中发送SCTP报文的终端)发送SCTP报文前对 报文进行封装,使其具有UDP报文头后再发送;本例中UDP封装/解封层在终端发送SCTP报文前对报文进行封装的具体做法为 在SCTP报文头的前面插入一个标准的UDP报文头,该UDP报文头的目标端口域和本地端口 域由从SCTP报文头提取出的相应端口信息来填充。图1示出,在发送SCTP报文的终端中,封装前的报文依次由IP报文头、SCTP报文 头及数据构成;封装后的报文依次由IP报文头、UDP报文头、SCTP报文头及数据构成。C、NAT设备对具有UDP报文头的SCTP报文按UDP报文进行转发;显然,根据传输的需要,报文传输时需要穿越的NAT设备可能是一个,也可能是多 个,具体由通信双方的传输路径决定,如图1所示。D、终端判断到达的报文是否为进行过UDP封装的SCTP报文,若不是,直接按照UDP 报文处理方法进行接收;若是,UDP封装/解封层先对其进行解封装去掉UDP报文头,再由 SCTP层按照SCTP报文处理方法进行接收。本例中终端判断到达的报文是否为进行过UDP封装的SCTP报文的具体做法为判 断UDP报文头后面的报文是否与SCTP报文的特征相符合。若符合,则判定为是进行过UDP 封装的SCTP报文;否则,判定为不是进行过UDP封装的SCTP报文。本例中,UDP封装/解封层先对其进行解封装去掉UDP报文头的具体做法为提取 出UDP报文头中的目标端口域和本地端口域的信息,并复制到SCTP报文中的相应端口域中 覆盖原端口数据。图1示出,在接收SCTP报文的终端中,解封装前的报文依次由IP报文头、UDP报文 头、SCTP报文头及数据构成;解封装后的报文依次由IP报文头、SCTP报文头及数据构成。
权利要求
一种流控制传输协议报文穿越网络地址转换设备的方法,其做法是A、在使用SCTP(流控制传输协议)的终端的SCTP层和网际协议IP层之间,增设UDP(用户数据报协议)封装/解封层;B、UDP封装/解封层在终端发送SCTP报文前对报文进行封装,使其具有UDP报文头后再发送;C、NAT设备(网络地址转换设备)对具有UDP报文头的SCTP报文按UDP报文进行转发;D、终端判断到达的报文是否为进行过UDP封装的SCTP报文,若不是,直接按照UDP报文处理方法进行接收;若是,UDP封装/解封层先对其进行解封装去掉UDP报文头,再由SCTP层按照SCTP报文处理方法进行接收。
2.根据权利要求1所述的一种流控制传输协议报文穿越网络地址转换设备的方法,其 特征在于步骤B中UDP封装/解封层在终端发送SCTP报文前对报文进行封装的具体做法为在 SCTP报文头的前面插入一个标准的UDP报文头,该UDP报文头的目标端口域和本地端口域 由从SCTP报文头提取出的相应端口信息来填充。步骤D中,UDP封装/解封层先对其进行解封装去掉UDP报文头的具体做法为提取出 UDP报文头中的目标端口域和本地端口域的信息,并复制到SCTP报文中的相应端口域中覆 盖原端口数据。
3.根据权利要求1所述的一种流控制传输协议报文穿越网络地址转换设备的方法,其 特征在于步骤D中终端判断到达的报文是否为进行过UDP封装的SCTP报文的具体做法 为判断UDP报文头后面的报文是否与SCTP报文的特征相符合,若符合,则判定为是进行 过UDP封装的SCTP报文;否则,判定为不是进行过UDP封装的SCTP报文。
全文摘要
一种流控制传输协议报文穿越网络地址转换设备的方法。其做法是A、在终端增设UDP(用户数据报协议)封装/解封层;B、UDP封装/解封层对报文进行封装,使其具有UDP报文头再发送;C、NAT设备(网络地址转换设备)对具有UDP报文头的SCTP报文按UDP报文进行转发;D、终端判断到达的报文是否为封装过的SCTP报文,若不是,直接按照UDP报文处理方法接收;若是,先对其进行解封装,再按照SCTP报文处理方法进行接收。该方法对现有的NAT设备无需做任何改动或升级就可以实现SCTP报文对NAT的穿越,使得SCTP协议在现有的IPv4网络系统中得到发展应用。
文档编号H04L12/56GK101834805SQ20101018616
公开日2010年9月15日 申请日期2010年5月31日 优先权日2010年5月31日
发明者付晓强, 方旭明 申请人:西南交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1