一种报文传输的方法及装置制造方法及图纸

技术编号:12988321 阅读:45 留言:0更新日期:2016-03-09 20:27
本发明专利技术公开了一种报文传输方法和装置,涉及SCTP网络应用领域,在需要发送流控制传输协议SCTP的握手报文时,判断本机网际协议IP列表中是否有与带外IP池中的IP不一致的IP;如果有与带外IP池中的IP不一致的IP,将不一致的IP加入到所述握手报文中;在将所有本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文后,发送所述握手报文。在本发明专利技术实施例中,保证了链路的正常连接,解决了在现有技术中在分布式组网环境中多台设备连接一个服务器时,多个多宿主主机由于拥有同一个内部调试IP而被拒绝连接的问题。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种报文传输方法及装置。
技术介绍
SCTP (Stream Control Transmiss1n Protocol,流控制传输协议)是一个面向连接的流传输协议,它可以在两个端点之间提供稳定、有序的数据传输服务。SCTP是TCP (Transmiss1n Control Protocol,传输控制协议)的延伸与改进,它继承了 TCP的拥塞控制机制;SCTP与TCP最大的不同之处在于SCTP支持多宿主以及多流。支持多宿主是SCTP的一项重要特性,当SCTP链路其中一端的设备具有多个IP (Internet Protocol,网际协议)地址可用于数据传输时,就认为该设备是多宿主的。其中有一个IP地址作为主要传输通道,默认情况下,数据会往这个IP通道发送;其他IP通道备用;当主通道链路断开之后,可以将数据发往备用通道,保持SCTP链路不中断,从而不影响业务。很多设备都有一个IP用于内部调试使用,通常该内部IP不需要对外通信,也不需要设备外的网络访问此IP,因此将该IP称为带外IP。在SCTP建立连接的第一步,客户端发起初始化INIT报文,INIT报文中会在opt1n字段携带本机的地址列表。在分布式组网环境下,当多台客户端设备拥有同样的内部调试IP(带外IP)且都连接同一个服务器时,多宿主特性使多个客户端设备将同样的带外IP包含在SCTP INIT包中发给服务器,导致服务器会拒绝后续接入的客户端。
技术实现思路
本专利技术实施例提供一种报文传输的方法及装置,用以解决现有技术中在分布式组网环境中多台设备连接一个服务器时,多个多宿主主机由于拥有同一个内部调试IP而被拒绝连接的问题。本专利技术实施例提供一种报文传输方法,包括:在需要发送流控制传输协议SCTP的握手报文时,判断本机IP列表中是否有与带外IP池中的IP不一致的IP ;如果本机IP列表中有与带外IP池中的IP不一致的IP,将本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文中;在将所有本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文后,向服务器发送所述握手报文。本专利技术上述实施例提供一种报文传输方法,在建立SCTP连接时,发送握手报文时,判断本机IP列表中是否有与带外IP池中的IP不一致的IP,如果有不一致的,则将不一致的IP写入到报文中,然后将握手报文发送给服务器。在本专利技术实施例中,在不影响SCTP协议多宿主特性的前提下,可以动态的接受用户配置的多个带外IP,并最终能够在连接对端时隐藏带外IP,保证率链路的正常连接,解决了在现有技术中在分布式组网环境中多台设备连接一个服务器时,多个多宿主主机由于拥有同一个内部调试IP而被拒绝连接的问题。进一步地,判断本机IP列表中是否有与带外IP池中的IP不一致的IP ;如果本机IP列表中有与带外IP池中的IP不一致的IP,将本机IP列表中与带外IP池中的IP不一致的IP加到所述握手报文中,包括:判断本机IP列表中的目标IP是否与带外IP池中的IP相同;如果不相同,则将所述目标IP加入到所述握手报文中;判断本机IP列表中是否还有未进行判断的IP ;如果有,则从未进行判断的IP中选择一个作为目标IP,并返回判断本机IP列表中的目标IP是否与带外IP池中的IP相同的步骤;如果没有,则确定将本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文中。本专利技术上述实施例中,逐一对本机列表中的IP进行判断,若列表中有与带外IP池不一致的IP,则将所述IP写入到报文中,并且直到本机IP列表中所有IP执行完判断步骤才将报文发送给服务器,保证了将需要隐藏的带外IP不发送给服务器,而将不需要隐藏的IP发送给服务,保证链路的正常连接。进一步地,所述方法还包括:对用户输入的字符串进行解析,将解析正确的字符串存入所述带外IP池中。本专利技术上述实施例中,可以动态的接受用户配置的带外IP并能够正确解析,由于内核态没有函数能够稳定解析多个IP,所以利用本专利技术实施例的方法可以在内核态正确解析多个IP,并且将用户需要隐藏的IP隐藏起来,只保留有效通信的数据流。进一步地,据下列方式判断是否正确解析字符串:若对字符串的解析结果为预设参数值,则确定所述字符串为错误的字符串;若对字符串的解析结果不是预设参数值,则确定所述字符串为正确的字符串。本专利技术上述实施例中,根据预设值判断字符串解析的结果是否正确,只有解析结果为正确的字符串才可以被放置在带外IP池中,保证了带外IP池中所有IP的正确性。进一步地,在对用户输入的字符串进行解析之前,还包括:确定带外IP池中的IP数量小于预设阈值。本专利技术上述实施例中,带外IP池中的容量是一个预设阈值,在对字符串进行解析的时候需要查看带外IP池中容量是否已满,保证了带外IP池的正常运转。进一步地,该方法包括:如果本机IP列表中没有与带外IP池中的IP不一致的IP,直接向服务器发送所述握手报文。本专利技术上述实施例中,在将本机IP列表中所有IP与带外IP池中的IP进行比较完毕后,若本机列表中没有与带外IP池中的IP不一致的IP,直接向服务器发送所述握手报文。保证了有效通信数据流的正常链接。本专利技术实施例还提供一种报文传输装置,包括:判断模块,用于在需要发送流控制传输协议SCTP的握手报时,判断本机IP列表中是否有与带外IP池中的IP不一致的IP ;添加模块,用于如果本机IP列表中有与带外IP池中的IP不一致的IP,将本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文中;发送模块,用于在将所有本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文后,向服务器发送所述握手报文。本专利技术上述实施例提供一种报文传输方法,在建立SCTP连接时,发送握手报文时,判断模块判断本机IP列表中是否有与带外IP池中的IP不一致的IP,如果有不一致的,添加模块则将不一致的IP写入到报文中,然后利用发送模块将握手报文发送给服务器。在本专利技术实施例中,在不影响SCTP协议多宿主特性的前提下,可以动态的接受用户配置的多个带外IP,并最终能够在连接对端时隐藏带外IP,保证了链路的正常连接,解决了在现有技术中在分布式组网环境中多台设备连接一个服务器时,多个多宿主主机由于拥有同一个内部调试IP而被拒绝连接的问题。进一步地,所述判断模块,还用于:判断本机IP列表中的目标IP是否与带外IP池中的IP相同;如果不相同,则将所述目标IP加入到所述握手报文中;判断本机IP列表中是否还有未进行判断的IP ;如果有,则从未进行判断的IP中选择一个作为目标IP,并返回判断本机IP列表中的目标IP当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种报文传输方法,其特征在于,该方法包括:在需要发送流控制传输协议SCTP的握手报文时,判断本机网际协议IP列表中是否有与带外IP池中的IP不一致的IP;如果本机IP列表中有与带外IP池中的IP不一致的IP,将本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文中;在将所有本机IP列表中与带外IP池中的IP不一致的IP加入到所述握手报文后,向服务器发送所述握手报文。

【技术特征摘要】

【专利技术属性】
技术研发人员:邹远鹏
申请(专利权)人:京信通信技术广州有限公司
类型:发明
国别省市:广东;44

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

1