一种流控制传输协议地址列表动态更新的方法

文档序号:7649196阅读:173来源:国知局
专利名称:一种流控制传输协议地址列表动态更新的方法
技术领域
本发明涉及网络通信领域,尤其涉及的是, 一种流控制传输协议地址 列表动态更新的方法。
背景技术
在OSI ( Open System Interconnection,开方文式系统互连)的七层十办议体 系结构中,SCTP协议(Stream Control Transmission Protocol,流控制传输 协议)位于传输层,是一个面向连接的传输协议。SCTP协议通过在两个 SCTP端点间建立偶联来为用户提供可靠的消息传送业务,偶联 (Association)是两个SCTP端点(End Point)通过SCTP协议的握手机制 建立的进行数据传递的逻辑联系通道;两个端点之间只能有一条偶联。一个SCTP偶联可以包含多个可能的起源/目的地址的组合,这些组合 包含在每个端点的传送地址列表中,一^:的,传送地址是一个IP地址加上 一个SCTP端口号,SCTP端口号用于识别同一地址上的用户。在偶^:建立 后,每端都会定义一个起源/目的地址组合作为首选通路,用来在缺省情况 下发送SCTP分组。发送方的SCTP用户也可以使用 一组传送地址作为SCTP 分纟且的目的i也。当某个地址上没有分组发送时,通路管理功能可以通过定时的心.跳探 测消息(HEARTBEAT)来监视其可达性,其结构如图1所示。发送方通常 在心跳探测消息中携带发送方特定的信息,如发送时间等,收到心跳探测 消息的一端必须构造一个心跳回应消息(HEARTBEAT-ACK),其结构如图 2所示,将发送方特定的信息原样复制到心跳回应消息中,回复给发送方。
除了定时的心跳探测功能外,SCTP还提供了 REQUEST HEARTBEAT 原语,应用层可以在任意时刻用该原语指示本地偶联端点向特定目的地址 发送心跳探测消息。对端收到心跳探测消息后,并不区分该消息是定时发 来的还是高层用原语调用发来的,统一以心跳回应消息进行应答。SCTP协议将IP地址列表和端口号作为偶联的固有属性,未提供对其 进行动态更新的功能。而实际应用中,经常会遇到偶联建立后地址列表发 生变更的情况。比如偶联某端需要增加/删除一个IP地址,或者某个IP地 址是通过协议动态协商得到的,而IP地址协商是在偶联建立之后才完成, 这时就需要删除偶联后再次与对端协商建立偶联,修改的地址列表才能通 知对端生效。这种通过删除/重建偶联的IP地址的更新方式有失灵活性,容 易造成高层业务的中断。例如在WCDMA ( Wideband Code Division Multiple Access宽带码分多 址)的Node B (基站)和RNC ( Radio Network Controller,无线网络控制 器)之间采用SCTP协议来承载NBAP (Node B Application Part,基站Node B应用部分)信令,当业务层已经建立小区后,如果传输层偶联断链IO秒 钟内无法自动重新建链,则业务层会将所有小区自动删除。因此,现有技术存在缺陷,需要改进。发明内容本发明的目的在于提供一种流控制传输协议地址列表动态更新的方 法,通过对SCTP协议的心跳探测功能进行扩展,在偶联建立后,当某端 IP地址发生变化时,无须删除偶联就可以与对端协商进行偶联的更新,即 在不中断偶联的情况下实现对某端IP地址列表的动态更新,对于扩展心跳 探测功能的SCTP模块与标准SCTP模块之间的互联互通性,不会造成影响。本发明的技术方案如下一种流控制传输协议地址列表动态更新的方法,其包括步骤Al、流
控制传输偶联建立后,IP地址列表发生变更的一端作为发送方,调用心跳探测原语,其参数中设置需要更新的IP地址列表信息;所述IP地址列表信 息包括更新地址数目、更新方式和需要更新的IP地址;A2、所述发送方构 建心跳探测消息,并在心跳探测消息的消息头中设置有心跳探测消息的标 志字段,用于标志是否需要接收方更新所述发送方的IP地址列表;A3、所 述发送方将其IP地址的变更写入心跳探测消息的信息字段,发送给所述接 收方;A4、所述接收方根据所述心跳探测消息的标志字段,判断需要更新 其维护的所述发送方的IP地址列表,则根据所述信息字段,更新其维护的 所述发送方的IP地址列表。所述的方法,其中,其还包括步骤A5:所述接收方构建心跳探测回应 消息,反馈给所述发送方;其中,在所述心跳探测回应消息中设置心跳探 测回应消息的标志字段,用于标志是否接受所述发送方IP地址列表的更新。所述的方法,其中,所述心跳探测消息的信息字段中还包括相关信息, 所述相关信息至少包含发送时间、验证信息其中之一。所述的方法,其中,其还包括步骤A5:所述接收方构建心跳探测回应 消息,并将所述心跳探测消息的所述相关信息写入所述心跳探测回应消息 的信息字段中,反馈给所述发送方;其中,所述心跳探测回应消息设置心 跳探测回应消息的标志字段,用于标志是否接受所述发送方IP地址列表的 更新。所述的方法,其中,其还包括步骤A6:所述发送方接收所述心跳探测 回应消息,根据所述心跳探测回应消息的标志字段,判断所述接收方是否 已更新所述发送方的IP地址列表。所述的方法,其中,步骤A6中,所述发送方判断所述接收方未更新所 述发送方的IP地址列表时,所述发送方发起删除并重建偶联操作,完成IP 地址列表信息的更新。所述的方法,其中,步骤A1中,所述发送方在首选通路上调用所述心
跳探测原语。所述的方法,其中,步骤A2中具体包括,所述发送方构建所述心跳探 测消息,其中设置心跳探测消息的标志字段为已更新,用于标志需要更新本地IP地址列表;并且步骤A4中具体包括,所述接收方判断所述心跳探 测消息的标志字段是否为已更新,是则根据心跳探测消息的信息字段,更 新其维护的所述发送方的IP地址列表。所述的方法,其中,步骤A3中,所述IP地址的变更,具体包括IP地 址的变更数目、变更方式和变更内容。所述的方法,其中,步骤A3中具体包括,所述发送方将更新IP数目、 更新方式和需要更新的IP地址填写在所述信息字段中,并发送给所述接收 方。' 采用上述方案,本发明通过对SCTP协议的心跳探测功能进行扩展,调 用心跳探测原语将变化的本端IP地址列表及时通知给对端进行更新,在偶 联建立后,当某端IP地址发生变化时,在不断开偶联的情况下,即可对偶 联两端的IP地址列表进行动态修改。这样对于增加、删除网络接口,底层 IP地址重新分配、重协商等情况均不会影响到传输链路的连通性,对高层 业务也没有明显影响;对于业务实时性要求较强的通信设备之间的链路维 护具有积极意义。


图1为现有技术的心跳探测消息格式示意图; 图2为现有技术的心跳探测回应消息格式示意图; 图3为本发明的一种实施方式的双方协议栈结构示意图; 图4为本发明方法的流程示意图。
具体实施例方式
以下对本发明的较佳实施例加以详细说明。如图4所示,本发明提供了一种流控制传输协议地址列表动态更新的 方法,其包括以下步骤。Al、流控制传输偶联建立后,IP地址列表发生变更的一端作为发送方, 调用心跳探测原语,心跳探测原语的参数中设置需要更新的IP地址列表信息;所述IP地址列表信息包括更新地址数目、增加更新方式和需要更新的 IP地址。发送方的SCTP用户可以使用 一个起源/目的地址组合作为更新IP 地址的通路,更好的是,所述发送方在首选通路上调用所述心跳探测原语。A2、所述发送方构建心跳探测消息,心跳探测消息的消息头部设置有 标志字段,用于标志是否需要接收方更新所述发送方的IP地址列表; 一般 的,心跳探测消息和心跳探测回应消息分别有其消息头部,头部有现有协 议提供的标志字段。例如,可以将心跳探测消息的标志字段设定为0或1, 其中,O代表不需要接收方对心跳探测消息的信息字段进行处理,l代表需 要接收方根据心跳探测消息的信息字段更新所述发送方的IP地址列表。A3、所述发送方将其IP地址的变更写入心跳探测消息的信息字段,发 送给所述接收方。步骤A3中还可以包括,所述发送方将相关信息填写在所 述信息字段中,并发送给所述接收方;所述相关信息至少包括发送时间、 验证信息等等的其中之一或全部;即所述心跳探测消息的信息字段中还包 括相关信息。所述IP地址的变更,具体可以包括IP地址的变更数目、变更方式和变 更内容。例如,步骤A3中具体包括步骤,所述发送方将所述IP地址更新数目、 更新方式和需要更新的IP地址填写在所述信息字段中,并发送给所述接收 方。又如,步骤A3中具体包括步骤,所述发送方将所述IP地址更新数目、 更新方式、需要更新的IP地址、发送时间和验证信息等等填写在所述信息
字段中,并发送给所述接收方。A4、所述接收方根据所述心跳探测消息的标志字段,判断需要更新其 维护的所述发送方的IP地址列表,则根据所述信息字段,更新其维护的所 述发送方的IP地址列表。所述的方法,还可以包括步骤A5:所述接收方构建心跳探测回应消息, 反馈给所述发送方;其中,所述心跳探测回应消息设置心跳纟果测回应消息 的标志字段,用于标志是否接受所述发送方IP地址列表的更新。当步骤A3 中所述信息字段包含了所述相关信息时,步骤A5还可以具体包括步骤所 述接收方构建心跳探测回应消息,并将所述心跳探测消息的所述相关信息 写入所述心跳探测回应消息的信息字段中,反馈给所述发送方。并且,所述的方法还可以包括步骤A6:所述发送方接收所述心跳探测 回应消息,才艮据所述心跳探测回应消息头部的标志字段,判断所述接收方 是否已更新所述发送方的IP地址列表。所述接收方已更新所述发送方的IP 地址列表时,本发明所述流控制传输协议地址列表动态更新的方法完成; 否则,所述发送方判断所述接收方未更新所述发送方的IP地址列表时,还 可以采取现有的IP地址更新方式,对IP地址列表信息进行更新,即所述发 送方发起删除并重建偶联操作,完成IP地址列表信息的更新。例如,所述的方法中',步骤A2中具体包括,所述发送方构建所述心跳 探测消息,其中设置心跳探测消息的标志字段为需要更新,用于标志需要 更新本地IP地址列表;此时,步骤A4中具体包括,所述接收方判断所述 心跳探测消息的标志字段是否为需要更新,是则根据所述信息字段,更新 其维护的所述发送方的IP地址列表,否则不作更新。例如,更具体地说, 可以定义心跳探测消息的标志字段为1,作为需要接收方更新所述发送方的 IP地址列表的标志;此时,步骤A4中,所述接收方判断所述心跳探测消息 的标志字段是否为1即可。例如,为达到上述目的,采用以下技术方案对SCTP的心跳探测功能进
行扩展。a. 在偶联建立后,SCTP某端的IP地址列表需要更新时,在首选通 路上调用心跳探测原语操作,在参数中携带要更新的IP地址列表信息;b. 发送方构造心跳探测消息,并设置其消息头部的标志字段,表示 需要接收方更新对端IP地址列表;c. 发送方先将本端IP地址的变更数目、变更方式和变更内容填写在 心跳探测消息的信息字段中,然后再将其他信息填写在信息字段中, 一起 发送给对端;d. 心跳探测消息的接收方根据标志字段来更新本端维护的对端IP 地址列表;e. 心跳探测消息的接收方构造心跳探测回应消息,设置其消息头部 的标志字段,表示确认对端IP地址列表的更新,然后将原心跳探测消息中 携带的其他信息复制到心跳探测回应消息中,发送给对端。以下釆用另 一具体实施例对本发明的技术方案进行更详细的说明。如 图3所示,实施例中的偶耳关两端通过一对FE 口和一对El 口相连。FE 口通过以太网MAC (Medium Access Control)帧来岸义载IP分组, 而El接口则通过PPP ( Point-to-Point Protocol,点到点协议)的IPCP协议 (Internet Protocol Control Protocol, IP控制协议)来承载IP分组。系统启 动后,在偶联出局端为FE 口配置IP地址IP—FE,为PPP配置IP地址0.0.0.0, 表示需要与对端协商确定。偶联出局端以(H^FE》为本端IP地址列表,与 对端交互后建立起偶联。 一段时间后,PPP与对端协商过程完成,获得对 繞分配的IP地址为IP—PPP。此时偶联出局端的IP地址列表变为(IP—FE, IP—PPP}。在不删除重建偶联的情况下,可通过如下步骤将更新的IP地址 列表通知给对端。a. IP;也i止列衣艾更万杜百远通J谷上V 语,在参数中携带(更新地址数目,更新方式ADD, IP—PPP)信息;
如,S邻CmdRequestHB(wAssoID, pcDestAddr, ptlpChglnfo) 〃函数参数为(偶联ID,目的地址指针,ip变更信息结构体指针)b. 变更方作为心跳探测发送方构造HEARTBEAT消息,将头部的 Flags字段置为l,表示需要更新本地IP地址列表;如,ptHB = InitHBChunk(); 〃ptHB为初始化的HeartBeat信元结构体指针SetHBFlag(p細,l);c. 发送方先将(1, ADD, IP—PPP )填写在HEARTBEAT的Info字 段中,然后再将其他信息填写在Info字段中, 一起发送给对端;如,SetHBIpChglnfo(ptHB,ptlpChglnfo); SetHBNo腿lInfo(ptHB);SendHB(wAssoID, pcDestAddr, ptHB)d. 收到HEARTBEAT的一方,先检查头部的Flag字段,如果为1, 则先读取Info中的更新指示(1, ADD, IP—PPP),将保存的对端IP地址列 表由(IP—FE》更新为(IP—FE, IP—PPP};如,byHBFlag = GetHBFlag(ptHB); if(l ==byHBFlag)ptlpChglnfo = GetHBIpChglnfo(ptHB); 〃从HB中取出ip变更信 息,放出结构体指针ptlpChglnfoUpdatePeerIpList(wAssoID, ptlpChglnfo); 〃用ptlpChglnfo去更新偶联 wAssoID的对端IP地址列表wHBNormallnfoLen = GetHBNormalInfo(ptHB, pbyNormallnfoBuf); 〃然 后从HB里取出普通信息,放入pbyNormalInfoBuf,返回读取的长度 wHBNormallnfoLene. 收到HEARTBEAT的 一 方构造HEARTBEAT-ACK,先将头部的 Flag字段置为1,表示确认对发送方IP地址列表的更新,然后将原 HEARTBEAT Info中其他信息复制到HEARTBEAT-ACK的Info字段中,回 复给发送方;如,ptHBAck = InitHBAckChunk(); 〃初始化一个HB Ack ChunkSe細AckFlag(ptHBAck ,1);VmeMemCpy(ptHBAck.abyInfo,pbyNormallnfoBuf, wHBNormallnfoLen ); 〃将无需解析的信息原样复 制到HBAck的Info字段SendHBAck(wAssoID, pcDestAddr, ptHBAck )f. 原HEARTBEAT发送方收到回应消息后,先检查Flag字段,如 果为1,说明IP地址列表的更新已经同步到对端,无需删除偶联即完成同 步。釆用本方案的SCTP协议两端在不断开偶联的情况下,任何时刻都可以 通过调用心跳探测原语将变化的本端IP地址列表及时通知给对端进行更 新。若对端SCTP模块不支持通过心跳探测来进行IP地址列表更新,则根 据协议规定,心跳探测的接收方不解析收到心跳探测消息的信息字段内容, 而是直接构造一个心跳探测回应消息,将其标志字段置为0,并复制信息字 段内容到心跳探测回应消息中,然后回复给心跳探测发送方。发送方在处 理收到的心跳探测回应消息时,通过检查标志字段可得知对端是否支持动 态IP地址更新。在发现对端不支持动态更新时,再去通过先删除再建立偶 联的常规方法来完成IP地址列表的更新。这样,在不断开偶联的情况下,即可对偶联两端的IP地址列表进行动 态修改。对于增加、删除网络接口,底层IP地址重新分配、重协商等情况
均不会影响到传输链路的连通性,对高层业务也没有明显影响。对于业务 实时性要求较强的通信设备之间的链路维护具有积极意义。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以 改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护 范围。
权利要求
1、一种流控制传输协议地址列表动态更新的方法,其包括步骤A1、流控制传输偶联建立后,IP地址列表发生变更的一端作为发送方,调用心跳探测原语,其参数中设置需要更新的IP地址列表信息;所述IP地址列表信息包括更新地址数目、更新方式和需要更新的IP地址;A2、所述发送方构建心跳探测消息,并设置其标志字段,用于标志是否需要接收方更新所述发送方的IP地址列表;A3、所述发送方将其IP地址的变更写入心跳探测消息的信息字段,发送给所述接收方;A4、所述接收方根据心跳探测消息的标志字段,判断需要更新其维护的所述发送方的IP地址列表,则根据所述信息字段,更新其维护的所述发送方的IP地址列表。
2、 根据权利要求1所述的方法,其特征在于,其还包括步骤A5: 所述接收方构建心跳探测回应消息,反馈给所述发送方;其中,在所述心 跳探测回应消息中设置其标志字段,用于标志是否接受所述发送方IP地址 列表的更新。
3、 根据权利要求1所述的方法,其特征在于,所述心跳探测消息的 信息字段中还包括相关信息,所述相关信息至少包含发送时间、验证信息 其中之一。
4、 根据权利要求3所述的方法,其特征在于,其还包括步骤A5: 所述接收方构建心跳探测回应消息,并〗争所述心跳探测消息的所述相关信 息写入所述心跳探测回应消息的信息字段中,反馈给所述发送方;其中, 所述心跳探测回应消息设置其标志字段,用于标志是否接受所述发送方IP 地址列表的更新。
5、 根据权利要求2或4所述的方法,其特征在于,其还包括步骤 A6:所述发送方接收所述心跳探测回应消息,根据其标志字段,判断所述 接收方是否已更新所述发送方的IP地址列表。
6、 根据权利要求5所述的方法,其特征在于,步骤A6中,所述发 送方判断所述接收方未更新所述发送方的IP地址列表时,所述发送方发起 删除并重建偶联操作,完成IP地址列表信息的更新。
7、 根据权利要求1所述的方法,其特征在于,步骤A1中,所述发-送方在首选通路上调用所述心跳探测原语。
8、 根据权利要求1所述的方法,其特征在于,设置心跳探测消息的 标志字段为已更新,用于标志需要更新本地IP地址列表;并且步骤A4中具体包括,所述接收方判断心跳探测消息的标志字 段是否为已更新,是则根据所述信息字段,更新其维护的所述发送方的 IP地址列表。
9、 根据权利要求1所述的方法,其特征在于,步骤A3中,所述IP 地址的变更,具体包括IP地址的变更数目、变更方式和变更内容。
10、 根据权利要求1所述的方法,其特征在于,步骤A3中具体包括, 所述发送方将更新IP数目、更新方式和需要更新的IP地址填写在所述信息 字段中,并发送给所述接收方。
全文摘要
本发明公开了一种流控制传输协议地址列表动态更新的方法,其包括步骤流控制传输偶联建立后,IP地址列表发生变更的一端作为发送方,调用心跳探测原语,其参数中设置需要更新的IP地址列表信息;IP地址列表信息包括更新地址数目、更新方式和需要更新的IP地址;发送方构建心跳探测消息,并设置其标志字段,用于标志是否需要接收方更新发送方的IP地址列表;发送方将其IP地址的变更写入心跳探测消息的信息字段,发送给接收方;接收方根据心跳探测消息的标志字段,判断需要更新其维护的发送方的IP地址列表,则根据信息字段,更新其维护的发送方的IP地址列表。这样,在不断开偶联的情况下,即可对偶联两端的IP地址列表进行动态修改。
文档编号H04L12/56GK101127778SQ200710076979
公开日2008年2月20日 申请日期2007年9月11日 优先权日2007年9月11日
发明者周建波 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1