CN1534951A - 基于流控制传输协议的多地址选择方法 - Google Patents
基于流控制传输协议的多地址选择方法 Download PDFInfo
- Publication number
- CN1534951A CN1534951A CNA031089046A CN03108904A CN1534951A CN 1534951 A CN1534951 A CN 1534951A CN A031089046 A CNA031089046 A CN A031089046A CN 03108904 A CN03108904 A CN 03108904A CN 1534951 A CN1534951 A CN 1534951A
- Authority
- CN
- China
- Prior art keywords
- address
- opposite end
- sctp
- data
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于流控制传输协议的多地址选择方法。该方法实现了对于存在多地址的SCTP(流控制传输协议)端点进行数据重新传输时,分别依次选择使用所有的对端及本地地址;这样,如果使用的首选路径故障,还可以找出其他可用的路径,且在选址过程中可以保证SCTP端点所存在的各个地址均可以被选择到;同时,本发明对于主用的本地地址或对端地址曾经失效过后又恢复的情况,SCTP连接仍然可以使用主用地址进行数据传输,以满足用户的传输需求。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于流控制传输协议的多地址选择方法。
背景技术
SCTP(Stream Control Transmission Protocol,流控制传输协议)为用于IP(网际协议)网络的流控制传输协议,是由IETF(互联网工程任务组)在原TCP(传输控制协议)基础上改进而来的专为信令消息在IP网上传输的一种协议,该协议可以保证信令消息的可靠、有序传输。
SCTP使用的底层的IP是TCP/IP协议族内的标准IP协议,与TCP相比SCTP对信令的传输具有实时、安全、可靠性更高的特点,同时SCTP能够提供面向连接的可靠数据包传输,无须上层实现数据定界功能,并有实时性好、安全性高、避免了行头阻塞(行头阻塞是TCP的缺陷,SCTP通过在一个连接内支持多个流,使得在一个流中数据受到阻塞不会影响其他的流中的数据传输)、支持多归属等诸多优点,因此,SCTP已在信令消息的传输领域已广泛应用。
针对IP网络的特点,SCTP提供了多归属的特点,即一个SCTP端点可以有多个IP地址,这样,一条SCTP连接的数据可以走不同的IP网络,增强了数据传输的可靠性。SCTP中规定:如果端点是多归属的,上层用户需指定一条首选的路径,包括主用的本地地址和对端地址;当首选路径不可达时,则更换一对本端-对端地址传输。这样,在选择地址对时,如果没有合理的方案进行地址对的更换,则可能出现部分地址一直无法被选到的问题;而且,对于用户指定的主用本地地址和对端地址,当主用地址对出现故障后又恢复正常时,则因为此时已选为其他非主用地址对进行传输,而导致主用地址一旦故障,即使恢复正常也无法再使用主用地址对进行传输。现有的SCTP协议标准未提供选择地址对时保证每个地址均被选到的技术方案,且无法实现优先选择用户指定的主用地址对。
发明内容
本发明的目的是提供一种基于流控制传输协议的多地址选择方法,以实现当一个SCTP端点存在多个IP地址时,保证每个地址均可以被选择到,且可以实现优先选择用户指定的主用地址。
本发明的目的是这样实现的:一种基于流控制传输协议的多地址选择方法为:对存在多地址的SCTP(流控制传输协议)端点需要更换发送数据所选择的地址时,分别依次选择使用该SCTP端点上所有的对端地址及本地地址。
该方法包括:
a、为需要选择新的地址进行发送的数据选择新的对端地址,并进行数据的发送;
b、判断SCTP端点所有的对端地址是否均已经被选择到,如果是,执行步骤c,否则,执行步骤a;
c、为需要选择新的地址进行发送的数据选择新的本地地址,并进行数据的发送。
所述的步骤a为:为确定需要选择新的地址进行发送的数据依次选择新的对端地址作为其对端地址,并进行数据的发送。
所述的步骤b为:记录已经更换对端地址次数,并判断已经更换对端地址次数是否等于该SCTP端点存在的对端地址数目,如果等于,则执行步骤c,否则,执行步骤a。
所述的步骤c为:
c1、为需要选择新的地址进行发送的数据选择新的本地地址,并进行数据的发送;
c2、记录已经更换本地地址次数,并判断已经更换本地地址次数是否等于该SCTP端点存在的本地地址数目,如果等于,则执行步骤a,否则,继续执行步骤c1。
本发明所述的方法还包括对主用的本地地址发生故障时的处理过程:
d、确定主用的本地地址发生故障,选择该SCTP端点上其他好的本地地址进行数据传输,并启动定时器;
e、当定时器超时时,判断主用的本地地址是否可用,如果可用,则执行选择该恢复正常的本地地址进行数据的传输,否则,执行步骤f;
f、重新启动定时器,并在定时器超时时执行步骤e。
所述的定时器的定时时长不小于将所有本地地址轮询一遍的时间。
本发明所述的方法还包括对主用的对端地址发生故障时的处理过程:
g、确定主用的对端地址发生故障,选择该SCTP端点上的其他对端地址进行数据的传输;
h、当发送心跳报文的定时器超时时,向主用的对端地址发送心跳消息;
i、判断是否收到了主用的对端地址返回的心跳响应报文,如果收到,则执行步骤j,否则,执行步骤k;
j、选择该主用的对端地址进行数据的传输;
k、在该SCTP端点上选择其他好的对端地址进行数据的传输。
由上述技术方案可以看出,本发明所述的基于流控制传输协议的多地址选择方法实现了在SCTP端点存在多地址的情况下,如果使用的首选路径故障,那么通过遍历算法,可以找出可用的路径,且在选址过程中可以保证SCTP端点所存在的各个地址均可以被选择到;同时,本发明对于主用的本地地址或对端地址曾经失效过后又恢复的情况,SCTP连接仍然可以使用主用地址进行数据传输,以满足用户的传输需求。
附图说明
图1为本发明的具体实施方式流程图;
图2为对主用的本地地址的选择过程流程图;
图3为对主用的对端地址的选择过程流程图。
具体实施方式
本发明所述的基于流控制传输协议的多地址选择方法的具体实施方式如图1所示,包括以下步骤地:
步骤1:确定需要选择新的地址进行数据的发送;如当数据需要重新发送时,便需要重新进行地址的选择;
步骤2:为需要选择新的地址进行发送的数据在SCTP端点上依次选择新的对端地址;即每一次重发选择的对端地址都更换,且更换对端地址为依次选择该SCTP端点的各个对端地址;
步骤3:判断SCTP端点的所有对端地址是否均已经被选择到,如果是,则执行步骤4,否则,对于需要选择新的地址进行发送的数据,继续执行步骤2,继续选择新的对端地址,直至所有的对端地址均被选择到时执行步骤4;
假设,记录数据重新发送的次数为n1,即已经更换对端地址的次数为n1,且该SCTP端点存在的对端地址个数为N1,那么在重新发送数据时,首先选择下一个对端地址进行数据的传输,并判断(n1-N1)是否等于0,如果等于0,则说明所有的对端地址均被选择到,执行步骤4,并将数据重新发送的次数n1清0,否则,保持本地地址不改变,继续执行步骤2,并更新数据重新发送的次数n1;
步骤4:为需要选择新的地址进行发送的数据依次选择本地地址,即每一次重新发送数据选择的本地地址需要根据所有的对端地址是否全部都被选择更换过,如果所有的对端地址都已选择过,才开始更换新的本地地址,以保证所有的地址对能够被选到;
假设,记录数据重新发送的次数为n2,即已经更换本地地址的次数为n2,且该SCTP端点存在的对端地址个数为N2,那么在重新发送数据时,首先选择下一个本地地址进行数据的传输,并判断(n2-N2)是否等于0,如果等于0,则说明所有的本地地址均被选择到,执行步骤2,并将数据重新发送的次数n2清0,否则,保持对端地址不改变,继续执行步骤4,并更新数据重新发送的次数n2。
本发明所述的基于流控制传输协议的多地址选择方法还包括对主用地址发生故障时的处理过程,该过程又进一步包括对主用的本地地址发生故障时的处理过程和对主用的对端地址发生的处理过程,其中:
主用的本地地址为用户指定的进行数据传输时所使用的本地地址,如果主用的本地地址正常,则进行数据发送选用该主用的本地地址作为发送该数据的本地地址,如果主用的本地地址发生故障,则选择该SCTP端点上其他好的本地地址进行数据的传输;对主用的本地址发生故障的处理过程参见图2,具体包括以下步骤:
步骤5:确定主用的本地地址由激活变为故障,并选择该SCTP端点上的其他好的本地地址进行数据传输;
步骤6:启动定时器,设定的定时器的定时时长不小于将所有本地地址轮询一遍的时间;
步骤7:定时器超时时,检查判断主用的本地地址是否已可用,即是否恢复正常,如果仍然故障,则重新启动定时器,即执行步骤6;否则,执行步骤8;
步骤8:选择该恢复正常的主用本地地址进行数据的传输。
主用的对端地址为用户指定的进行数据传输时所使用的对端地址,如果主用的对端地址正常,则进行数据发送选用该主用的对端地址作为发送该数据的对端地址,如果主用的对端地址发生故障,则选择该SCTP端点上其他好的对端地址进行数据的传输;对主用的对端地址选择过程参见图3,具体包括以下步骤:
步骤9:当通过心跳报文或者数据重新发送情况,发现主用的对端地址故障时,则选择该SCTP端点上的其他对端地址进行数据的传输;
步骤10:当发送心跳报文的定时器超时时,向主用的对端地址发送心跳消息以探测该主用的对端地址是否恢复正常;即,当发送心跳的定时器超时,则需要选择空闲时间最长的对端地址发送一个心跳消息以探测对端地址是否恢复,该对端地址可能是主用的对端地址,也可能不是主用的对端地址,所述的空闲指的是未收发数据;如果找到的空闲的对端地址不是用户指定的主用的对端地址,则需要同时向主用的对端地址发送一个心跳消息;
步骤11:判断是否收到了主用的对端地址返回的心跳响应报文,如果收到,则执行步骤12,否则,执行步骤13;
步骤12:如果收到了主用的对端地址发送来的心跳响应报文,且当前使用的对端地址不是该主用的对端地址,则选择该主用的对端地址进行数据的传输;
步骤13:在该SCTP端点上选择其他好的对端地址进行数据的传输。
Claims (8)
1、一种基于流控制传输协议的多地址选择方法,其特征在于:对存在多地址的SCTP(流控制传输协议)端点需要更换发送数据所选择的地址时,分别依次选择使用该SCTP端点上所有的对端地址及本地地址。
2、根据权利要求1所述的基于流控制传输协议的多地址选择方法,其特征在于该方法包括:
a、为需要选择新的地址进行发送的数据选择新的对端地址,并进行数据的发送;
b、判断SCTP端点所有的对端地址是否均已经被选择到,如果是,执行步骤c,否则,执行步骤a;
c、为需要选择新的地址进行发送的数据选择新的本地地址,并进行数据的发送。
3、根据权利要求2所述的基于流控制传输协议的多地址选择方法,其特征在于所述的步骤a为:为确定需要选择新的地址进行发送的数据依次选择新的对端地址作为其对端地址,并进行数据的发送。
4、根据权利要求2或3所述的基于流控制传输协议的多地址选择方法,其特征在于所述的步骤b为:记录已经更换对端地址次数,并判断已经更换对端地址次数是否等于该SCTP端点存在的对端地址数目,如果等于,则执行步骤c,否则,执行步骤a。
5、根据权利要求2所述的基于流控制传输协议的多地址选择方法,其特征在于所述的步骤c为:
c1、为需要选择新的地址进行发送的数据选择新的本地地址,并进行数据的发送;
c2、记录已经更换本地地址次数,并判断已经更换本地地址次数是否等于该SCTP端点存在的本地地址数目,如果等于,则执行步骤a,否则,继续执行步骤c1。
6、根据权利要求1或2所述的基于流控制传输协议的多地址选择方法,其特征在于该方法还包括对主用的本地地址发生故障时的处理过程:
d、确定主用的本地地址发生故障,选择该SCTP端点上其他好的本地地址进行数据传输,并启动定时器;
e、当定时器超时时,判断主用的本地地址是否可用,如果可用,则执行选择该恢复正常的本地地址进行数据的传输,否则,执行步骤f;
f、重新启动定时器,并在定时器超时时执行步骤e。
7、根据权利要求6所述的基于流控制传输协议的多地址选择方法,其特征在于所述的定时器的定时时长不小于将所有本地地址轮询一遍的时间。
8、根据权利要求1或2所述的基于流控制传输协议的多地址选择方法,其特征在于该方法还包括对主用的对端地址发生故障时的处理过程:
g、确定主用的对端地址发生故障,选择该SCTP端点上的其他对端地址进行数据的传输;
h、当发送心跳报文的定时器超时时,向主用的对端地址发送心跳消息;
i、判断是否收到了主用的对端地址返回的心跳响应报文,如果收到,则执行步骤j,否则,执行步骤k;
j、选择该主用的对端地址进行数据的传输;
k、在该SCTP端点上选择其他好的对端地址进行数据的传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031089046A CN100505742C (zh) | 2003-04-02 | 2003-04-02 | 基于流控制传输协议的多地址选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031089046A CN100505742C (zh) | 2003-04-02 | 2003-04-02 | 基于流控制传输协议的多地址选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1534951A true CN1534951A (zh) | 2004-10-06 |
CN100505742C CN100505742C (zh) | 2009-06-24 |
Family
ID=34283225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031089046A Expired - Fee Related CN100505742C (zh) | 2003-04-02 | 2003-04-02 | 基于流控制传输协议的多地址选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100505742C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247299B (zh) * | 2007-02-14 | 2010-11-17 | 华为技术有限公司 | 一种实现多归属网络接入的方法和多归属网络*** |
CN102694713A (zh) * | 2011-03-21 | 2012-09-26 | 鸿富锦精密工业(深圳)有限公司 | 网络通信多通路选择方法及*** |
CN101459530B (zh) * | 2007-12-14 | 2012-10-17 | 华为技术有限公司 | 一种无线网络管理维护的方法、***及设备 |
CN101094240B (zh) * | 2007-08-07 | 2013-01-16 | 中兴通讯股份有限公司 | 流控制传输协议多归属功能的实现方法 |
CN104243396A (zh) * | 2013-06-07 | 2014-12-24 | 阿尔卡特朗讯公司 | 在第一端点与第二端点之间建立关联的方法及相关端点 |
-
2003
- 2003-04-02 CN CNB031089046A patent/CN100505742C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247299B (zh) * | 2007-02-14 | 2010-11-17 | 华为技术有限公司 | 一种实现多归属网络接入的方法和多归属网络*** |
CN101094240B (zh) * | 2007-08-07 | 2013-01-16 | 中兴通讯股份有限公司 | 流控制传输协议多归属功能的实现方法 |
CN101459530B (zh) * | 2007-12-14 | 2012-10-17 | 华为技术有限公司 | 一种无线网络管理维护的方法、***及设备 |
CN102694713A (zh) * | 2011-03-21 | 2012-09-26 | 鸿富锦精密工业(深圳)有限公司 | 网络通信多通路选择方法及*** |
CN104243396A (zh) * | 2013-06-07 | 2014-12-24 | 阿尔卡特朗讯公司 | 在第一端点与第二端点之间建立关联的方法及相关端点 |
Also Published As
Publication number | Publication date |
---|---|
CN100505742C (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1086531C (zh) | 多处理器环境运行的进程间的数据包传送方法 | |
CN1200368C (zh) | 一种将tcp用于不可靠传输网络的局域重传方法 | |
CN1134133C (zh) | 半可靠重传协议的分组丢弃通告 | |
CN1349333A (zh) | 用于在网络通信***中发送数据分组的纠错通信方法 | |
US6330435B1 (en) | Data packet discard notification | |
US20030014684A1 (en) | Connection cache for highly available TCP systems with fail over connections | |
US7971099B2 (en) | Method for enabling faster recovery of client applications in the event of server failure | |
CN1729675A (zh) | 用于实现轻量级、可靠的、基于分组的传输协议的装置 | |
CN1423869A (zh) | 用于蜂窝电信的链路层确认和重发 | |
CN101056194A (zh) | 一种简单网络管理协议消息传送方法及装置 | |
CN1593051A (zh) | 扩展标题压缩 | |
CN1917433A (zh) | 一种网络拓扑收集***及其网络设备 | |
CN1889579A (zh) | 提高路由信息协议路由收敛速度的方法及装置 | |
JP2008085932A (ja) | データ通信方法 | |
CN1534951A (zh) | 基于流控制传输协议的多地址选择方法 | |
US7535916B2 (en) | Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications | |
CN1713596A (zh) | 在实现多链路协议时进行链路检测的方法 | |
CN1710860A (zh) | 发送装置、通信***及通信方法 | |
CN1425237A (zh) | 用于提高通信***中的数据吞吐量的方法与设备 | |
CN116132001A (zh) | 一种丢包重传方法 | |
CN1503535A (zh) | 简单网络管理协议中数据包传送的可靠性保证方法 | |
CN103107952A (zh) | 一种抗rtp媒体包网络丢包的方法 | |
CN1251447C (zh) | 一种实现网络网络接口连接的同步和恢复方法 | |
CN1859277A (zh) | 基于资源预留协议的路径消息的确认方法 | |
CN1233130C (zh) | 一种恢复流控制传输协议偶联中协议消息传输的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 Termination date: 20170402 |
|
CF01 | Termination of patent right due to non-payment of annual fee |