当前位置:文档之家› 基于SCTP的多路同时传输负载均衡和重传策略研究

基于SCTP的多路同时传输负载均衡和重传策略研究

基于SCTP的多路同时传输负载均衡和重传策略研究
基于SCTP的多路同时传输负载均衡和重传策略研究

分类号密级

UDC

学位论文

基于SCTP的多路同时传输负载均衡和

重传策略研究

作者姓名:邹洪星

指导教师:刘杰民副教授

东北大学信息科学与工程学院

申请学位级别:硕士学科类别:工学

学科专业名称:计算机应用技术

论文提交日期:2008年6月论文答辩日期:2008年7月学位授予日期:答辩委员会主席:

评阅人:

东北大学

2008 年6月

A Thesis in Computer Application Technology

Research on SCTP-based Concurrent

Multipath Transfer Load Balancing and

Retransmission Policies

by Zou Hong Xing

Supervisor: Associate Professor Liu Jiemin

Northeastern University

June 2008

独创性声明

本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚挚的谢意。

学位论文作者签名:

签字日期:

学位论文版权使用授权书

本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部或部分内容编入有关数据库进行检索、交流。

作者和导师同意网上交流的时间为作者获得学位后:

半年□一年□一年半□两年□

学位论文作者签名:导师签名:

签字日期:签字日期:

基于SCTP的多路同时传输负载均衡和重传策略研究

摘要

随着Internet的发展,传输层单穴的端到端通信协议如TCP、UDP在传输性能、容错性和安全性等方面皆受到了极大的挑战。传输层多穴的端到端通信协议如基于SCTP 的多路同时传输CMT(Concurrent Multipath Transfer)的出现大大提高了端到端吞吐量和网络资源利用率。随着CMT的广泛应用,如何构建高性能、高可伸缩和高可用的基于SCTP的CMT负载均衡机制,以满足不断出现的大型SCTP应用的需求正成为当前的研究热点。此外,由于数据重传的不可回避性及接收端缓存存在上限的事实,多路同时传输重传策略的优劣将直接影响到接收端缓存拥塞的程度,因此多路同时传输重传策略对于保障多路传输的性能具有重要的作用,对其研究也已成为该领域的重点课题。

目前,对多路同时传输负载均衡和重传策略的研究存在如下问题:(1)标准SCTP 基于关联的拥塞控制机制在支持多路同时传输负载均衡应用方面存在很大的局限性。此外,多路同时传输负载均衡必然面临数据包乱序和TCP友好性的问题;(2)现存的多路同时传输重传策略缺乏对网络参数的综合考虑,未能很好的处理“接收缓存拥塞”问题,该问题制约着多路同时传输端到端吞吐量的提高。

本文对上述两个问题进行了深入的剖析,并提出了相应的解决方案:(1)针对多路同时传输负载均衡的问题,对SCTP协议进行了三个方面的扩展,即子路径拥塞控制机制、具有带宽意识的数据调度算法和共享瓶颈检测与恢复机制,提出了SCTP扩展协议子路径拥塞控制SCTP(SPCC-SCTP),并通过仿真实验验证了所提出负载均衡机制的合理性和有效性,该机制提高了多路径传输的负载均衡能力;(2)针对现存的多路同时传输重传策略所存在的问题,通过对多路同时传输CMT重传机制进行修改,提出了基于综合参数的多路同时传输重传策略RTX-CSL(Retransmission-Congestion window and Slow start threshold and Lossrate),并对该策略合理性和有效性进行了仿真实验验证,结果证明该策略一定程度地避免了接收端缓存拥塞问题。

最后,对课题工作进行了总结,并对未来研究工作给予了展望。

关键词:多路同时传输(CMT);负载均衡;接收端缓存拥塞;SPCC-SCTP;RTX-CSL

Research on SCTP-based Concurrent Multipath Transfer Load

Balancing and Retransmission Policies

Abstract

With the improvement of Internet, end-to-end communication protocol based on transport layer singlehoming such as TCP and UDP are challenged in aspect of transmission performance, fault tolerance and security. The emergence of end-to-end communication protocol with transport layer multihoming such as SCTP-based CMT (Concurrent Multipath Transfer) greatly improved the end-to-end throughput and network resources utilization. With the extensive application of CMT, how to build a high-performance, scalable and highly available SCTP-based CMT load balancing mechanism so as to meet the emerging needs of large-scale application of SCTP is a current hotspot. In addition, because the data retransmission can not be avoided and the fact that the existence of the finite receive buffer, the pros and cons of CMT retransmission policies will directly affect the level of receive buffer blocking, so CMT retransmission policies plays an important role in guarantee the performance of the multipath transmission and the study on this issue has also become the focus of the field.

At present, the problems of CMT load balancing and retransmission policies are as follows: (1)the standard SCTP congestion control mechanisms based on association are significantly limited in support of CMT load balancing application. In addition, the CMT load balancing has to face the issue of packet reordering and TCP-friendliness; (2) the existing CMT retransmission policies can not handle very well with the problem of "receive buffer blocking" for the lack of comprehensive consideration with network performance parameters. This problem has constrainted the improvement of the CMT end-to-end throughput.

This paper analysis these two issues in-depth and points out the corresponding solutions: (1) did three aspects expansion for the SCTP with the CMT load balancing issues, namely the congestion control mechanisms based on path, the bandwidth-aware scheduling algorithm and the sharing bottleneck detection and recovery mechanisms, raised the Sub Path Congestion Control SCTP (SPCC-SCTP) to extend the standard SCTP and verified the rationality and effectiveness of the proposed load balancing mechanism by simulation. This mechanism enhanced the capacity of the CMT load balancing; (2) did potential changes to the CMT retransmission mechanism against the problem of the existing CMT retransmission policies and proposed RTX-CSL retransmission policies (Retransmission-Congestion window and Slow start threshold and Lossrate) based on an integrated parameters.Verified the rationality

and effectiveness of the proposed policies and the simulation test results show that the strategy avoid the receive buffer blocking problem to some extent.

Finally, the paper gived the summary of the subject and outlook the research work of future.

Key words:Concurrent Multipath Transfer;Load Balancing;Buffer Blocking;

SPCC-SCTP;RTX-CSL

目录

独创性声明................................................................................................................................ I 摘要..................................................................................................................................... III A BSTRACT ............................................................................................................................... I V 第1章绪论 .. (1)

1.1课题研究背景 (1)

1.2课题研究现状 (2)

1.2.1国内外研究现状 (2)

1.2.2SCTP研究动态 (3)

1.2.3SCTP应用 (3)

1.3本文研究内容和方法 (4)

1.4本文的组织结构 (5)

第2章基于SCTP的端到端多路同时传输 (7)

2.1SCTP及其多穴特性 (7)

2.1.1SCTP关联的概念 (7)

2.1.2SCTP分组格式 (8)

2.1.3多穴特性 (11)

2.1.4SCTP与TCP及UDP的区别 (12)

2.2SCTP拥塞控制机制 (13)

2.3多路同时传输及其关键技术 (15)

2.3.1多路同时传输 (15)

2.3.2关键技术 (16)

2.4小结 (18)

第3章基于SCTP的端到端多路同时传输负载均衡 (21)

3.1引言 (21)

3.2相关工作 (21)

3.3问题的提出 (22)

3.3.1标准SCTP拥塞控制的限制 (22)

3.3.2基于SCTP的负载均衡机制面临的问题 (23)

3.4SPCC-SCTP方案的设计 (24)

3.4.1方案的提出 (24)

3.4.2方案的实现 (25)

3.5仿真实验及结果分析 (30)

3.5.1仿真拓扑和模拟场景 (30)

3.5.2结果分析和性能评价 (31)

3.6本章小结 (38)

第4章基于SCTP的端到端多路同时传输重传策略 (39)

4.1引言 (39)

4.2相关工作 (39)

4.3问题的提出 (40)

4.4基于综合参数的CMT重传策略RTX-CSL (42)

4.4.1方案的提出 (42)

4.4.2方案的实现 (42)

4.5仿真实验及结果分析 (45)

4.5.1仿真拓扑结构 (45)

4.5.2结果分析 (46)

4.6本章小结 (49)

第5章总结与展望 (51)

5.1本文工作总结 (51)

5.2未来研究方向 (52)

参考文献 (53)

致谢 (59)

研究生期间发表的文章及科研情况 (61)

第1章绪论

1.1课题研究背景

随着因特网向多业务网的发展,尤其是近年来IP 电话(VoIP)、交互式网络电视(IPTV)的发展,在因特网中传输语音、视频等多媒体信息成为必然。现代网络面临的核心问题是多媒体数据业务和实时通信的传输,以及如何为这些业务提供一定的服务质量保证。基于IP 的包交换网络为支持多媒体等流式通信有多种技术:(1)通过采用高性能的交换机和路由器提升网络容量。

(2)多播实验如IP 多播传输,Mbone 网络等已经取得了很多研究成果。

(3)允许用户预留网络容量,并为各种业务类型分配优先级。

(4)新的传输层协议,能够满足流媒体等实时数据的传播需求。

前三者都是网络层功能,而传输层协议主要通过通信端点之间的协作来为多媒体应用服务,更加灵活。传统的传输层协议TCP[1]由于严格的顺序递交和确认重传引入了额外的传输流量和较大的延时,不能很好的满足多媒体传输要求。而另一种广泛使用的传输层协议UDP[2]又过于简单,缺乏必要的可靠传输保证,而且基于UDP的应用通常没有拥塞控制机制,其不公平的带宽竞争方式容易导致网络拥塞甚至崩溃。

流控制传输协议(Stream Control Transmission Protocol, SCTP)[3-4]是IETF于2000 年10月制定的传输层协议标准,最初用于在IP网上传输SS7 信令消息。新诞生的SCTP 集合了TCP、UDP的优点,克服了TCP固有的队头阻塞、DoS攻击[5],另外新增了许多功能,如多流、多穴[6]、面向消息传输Cookie安全机制[7],动态地址重配置[8]、部分可靠传输[9]、支持移动IP[10]等等。由于具有很多新特性,特别是多穴和多流特性,SCTP 吸引了越来越多的关注,获得了广泛的研究与开发,不但满足了在分组网上传输信令的要求,而且成为了通用的传输协议,能提供更好的多媒体传输服务。如今IETF将SCTP 作为主要的传输层协议研究对象,使之成为下一代IP网上面向连接的主要传输层协议。

多穴是指一个主机拥有多个网络接口,这些网络接口可以连接到一个或多个网络服务提供商。多穴节点可以通过多接入技术甚至是多个端到端路径同时连接来抵御路径失败。比如,一个移动用户可以通过802.11b标准的无线局域网和GPRS无线广域网同时进行网络连接。基于传输层多穴的端到端通信使端到端的安全性得以提高,使端到端的容错性得以实现,使端到端的传输性能得以加强,使端到端的QoS得以改善。传输层多穴的端到端通信为Internet的发展注入了强大的生命力。

SCTP多穴特性允许关联(SCTP 中表示连接的术语)的一端绑定多个IP 地址,这种绑定允许发送者将数据通过不同路径发送到接收端,从而提高了关联的可靠性。但是,当前SCTP 协议只允许同时使用一条路径传输数据。这种情况能够很好地满足网络的可

靠性要求,但是他是以牺牲系统中的某些路径为代价的,因此造成资源的浪费。试想如果在网络负载比较重的情况下,单条的路径可能会出现网络的拥塞,因此必将造成数据传输缓慢,甚至造成丢失。而与此同时,备用的路径却一直处于空闲状态,没有得到很好的利用。如果多穴主机下的多条路径能够同时进行数据传输,将会大大提高系统的吞吐量,实现网络重载下的负载均衡,提高网络资源利用率。

因此,随着多穴的大量出现以及SCTP 的广泛应用,研究如何利用SCTP 关联中的多条路径同时进行数据传输(CMT)具有非常现实的意义。本文主要针对SCTP这些新的特性在多路同时传输应用时出现的问题进行研究,并给出相应的解决方案。

1.2课题研究现状

1.2.1国内外研究现状

SCTP是新诞生的协议,协议的功能不断的增加,性能不断的增强。目前主要是在网络模拟中研究,也有一些公司、大学、组织搭建了SCTP实验网。

国外的研究侧重于起草标准。IETF是互联网传输协议最主要的标准化组织。TSVWG 和SIGTRAN等工作组负责传输层的标准制定。目前TSVWG关于SCTP主要在以下几个方面开展工作:提交SCTP动态地址重配置建议标准[8];制定部分可靠传输SCTP (PR-SCTP)标准[9];定义SCTP对移动IP的支持[10];定义SCTP负荷分担草案(多路同时传输)[11];提交SCTP API草案[12]等等。SIGTRAN的主要工作是解决在IP网上基于包的PSTN信令传输,同时考虑PSTN信令传输的功能和性能要求。

特拉华大学(University of Delaware)的协议工程实验室(P.E.L.)受美国军方(ARL,美国陆军研究实验室)的资助,重点研究SCTP在移动网络[13]和Ad hoc[14]网上的应用,包括军事应用。PEL的主要研究内容是新型传输层协议,包括SCTP和部分可靠性传输服务。PEL的SCTP研究包括三个方面:自适应故障倒换;多路径同时传输(Concurrent Multipath Transfer, CMT);传输层多流。SCTP有内在的故障检测和恢复系统,称为故障倒换,故障倒换可以使关联按需要动态地把业务流发送到对端的另外一个IP地址。SCTP的故障倒换机制是静态的,不能适应上层应用要求或者网络状况,PEL正在研究动态的自适应倒换机制。SCTP提供多穴功能,PEL认为可以在传输层执行端到端的CMT,传输层比应用层更了解端到端的各路径状况,可以执行细粒度的负荷分担。PEL 还修改了FTP以使用SCTP及其多流服务。SCTP承载FTP避免了当前FTP协议的开销,而又不引入应用层的复杂性,同时还保持TCP友好,这个研究鼓励了对SCTP的革新性服务功能的使用,例如多流,将会提高未来的应用性能。

除了PEL,国外主要研究机构还有思科、SUN、诺基亚等。

国内的研究侧重于应用。SCTP与TCP的比较[15];SCTP在移动环境下的性能研究(比如平滑切换[16],移动IP[17],最后一跳性能恶化问题[18],基于SCTP移动Internet传

输模型[19]等);基于独立路径拥塞控制的SCTP负荷分担机制研究[20];结合SS7的研究[21];SCTP的安全问题;军事应用[22]等等。

国内研究在广度上逐渐跟上国际步伐,但在深度上,权威性方面还有一定距离。国内在这方面研究比较多的机构有北京邮电大学、南京邮电大学、华为、中兴等。

1.2.2SCTP研究动态

(1)SCTP多穴特性研究

如果SCTP关联的两端支持多穴,那么关联的端点之间就可以同时存在多条传输路径。SCTP为应用层提供了路径切换功能,应用层可以改变首选路径把流业务量转移到另一条备用路径上,这一功能可用来提供应用层的负载均衡。鉴于SCTP有多路径功能,端到端的负载均衡可以在传输层执行。如果实行传输层负载均衡,可以预见会带来拥塞控制以及丢失探测和恢复的问题。PEL正在研究端到端的多路径同时传输(Concurrent Multipath Transfer, CMT)[23-24],PEL认为传输层比应用层更了解端到端的各路径状况,可以执行细粒度的负荷分担。

(2)SCTP多流特性研究

许多应用程序的数据都是由逻辑上互相独立的几个部分组成,比如多媒体应用。SCTP维持一个流内的有序传输,而非整个关联的有序传输。使用SCTP的多流特性,不同的独立部分可以使用不同的流传输,因而消除了队列头阻塞现象(head of line, HOL)。研究表明[25]在网络拥塞的情况下,使用SCTP传输的流媒体应用可以有效减少延时现象。

(3)SCTP部分可靠传输研究

实时多媒体传输(比如VoIP, IPTV)等网络应用需要部分可靠的消息传输功能。为此,IETF对SCTP进行了一定的扩展,使之在采用拥塞控制机制的同时能够容忍数据报文的丢失。这使SCTP在满足完全可靠传输(比如FTP, HTTP传输)要求的同时,还能满足部分可靠传输的要求,从而进一步的拓广了SCTP的应用范围[26]。

(4)SCTP在移动/无线网络环境中的应用研究

目前,关于SCTP在无线/移动网络环境中的应用研究包括以下几个方面:(a)突发性的高延迟对SCTP性能的影响[27];(b)SCTP应用于移动IP[28];(c)利用SCTP 的多穴特性提高移动切换的速度[29-30];(d)SCTP在多跳(Multihop)无线网络中的性能研究[31-32];(e)SCTP在无线接入网中的性能研究[33]。

1.2.3SCTP应用

目前已经有大量的SCTP 产品可用于研究和商业应用,下面描述这些产品。

(1)SCTP协议实现

许多主流操作系统已经出现了SCTP内核实现,包括FreeBSD、NetBSD、OpenBSD、

Linux、Solaris、AIX以及HP-UX。还出现了大量的用户态实现,包括Windows、Mac OS X以及Cisco、Nokia、Siemens的专有平台。这些SCTP实现还进行了大量的一致性交互测试,IETF草案“SCTP实现者手册”[34]记录了测试过程中发现的不一致和不明确的地方。

(2)Ns-2 模拟器中的SCTP模块

Ns-2[35]是目前应用最广泛的网络研究工具之一,它为传输协议、路由协议、多播协议在有线和无线网络中的模拟提供基本支持。特拉华大学的研究小组为Ns-2模拟器开发了SCTP模块。这个模块提供了RFC 2960[3]规范中的SCTP主要功能,方便了SCTP 的性能研究。

(3)基于SCTP的应用程序

应用程序也已经开始使用SCTP作为自己的主要传输机制。诸如FTP和HTTP之类的传统应用程序已经在SCTP的特性基础上进行了构建。其他一些协议也正在开始使用SCTP,例如会话初始化协议(Session Initiation Protocol,SIP)[36]和通用通道信号系统7(SS7)。在商业领域中,可以在多数用于传输信令的通信产品中发现SCTP应用。

1.3本文研究内容和方法

本文广泛分析了 SCTP的研究和应用现状,并在深入分析SCTP协议特点和相关技术等基础上,围绕基于SCTP多穴的多路同时传输(CMT)负载均衡和重传策略两个问题,以阐述该研究的相关工作、论证所存在的问题、提出相应解决方案、通过仿真实验与结果的分析验证方案的合理性和有效性的线索展开论述。

(1)基于SCTP多穴的CMT负载均衡研究

当今网络服务需要更高的吞吐率、更好的交互性、更高的安全性,这就要求服务平台具有更强的处理能力和更高的可用性。目前广泛使用的解决方案是利用若干台服务器组建一个负载均衡集群系统来满足大型应用的要求,但是这些负载均衡系统无一例外的都不支持SCTP协议,且这些负载均衡系统的调度算法都没有考虑SCTP的流量特点[23]。

随着多穴主机在普通消费者中的流行,如何利用多穴进行负载均衡正成为当前的研究热点。传输层是第一个端到端的协议层,它拥有详细的端到端的路径信息,所以基于传输层多穴的多路径同时传输(CMT)将比其它协议层在负载均衡上做的更好,同时在传输层还可以进行拥塞控制、丢失检测与错误恢复,而且还有利于程序移植。

本文主要探讨如何构建高性能、高可伸缩和高可用的基于SCTP多穴的CMT负载均衡机制,以满足不断出现的大型SCTP应用的需求。论文深入分析了SCTP的协议特点,阐述了标准SCTP拥塞控制机制在支持多路同时传输(CMT)负载均衡应用方面的局限性,给出了基于SCTP的负载均衡系统所必然面临的问题。最终本文提出了在多路同时传输(CMT)情况下扩展SCTP来达到有效的多路径负载均衡,扩展协议命名为子

路径拥塞控制SCTP(SPCC-SCTP)。

最后,通过仿真实验验证了所提出负载均衡机制的合理性和有效性。

(2)基于SCTP多穴的CMT重传策略研究

多路同时传输CMT(Concurrent Multipath Transfer)是传输层多穴的重要特性,该技术提高了端到端的吞吐量[37-40],由于数据重传的不可回避性及接收端缓存存在上限的事实,多路同时传输重传策略的优劣将直接影响到接收端缓存拥塞的程度[41-42],因此多路同时传输重传策略对于保障多路传输的性能具有重要的作用,对其研究已成为该领域的重点课题。

现存的CMT重传策略有五种[43],即RTX-SAME、RTX-ASAP、RTX-CWND、RTX-SSTHRESH和RTX-LOSSRATE,该五种重传策略仅考虑了路径的单一性能指标对其传输性能的影响,但路径传输性能的优劣是由多种因素综合决定的,比如:带宽、拥塞控制窗口、慢启动门限、丢失率、延迟等。因此,仅有一个路径性能指标达到较好的状况时,并不一定能确定此路径为当前性能最好的路径。

本文的研究重点是综合利用多个性能指标,寻找更加明智的重传策略来减缓受限的接收端缓冲区阻塞问题,最终提出了基于综合参数的多路同时传输重传策略RTX-CSL (Retransmission-Congestion window and Slow start threshold and Lossrate),分析了它在接收端缓冲区受限条件下的性能表现。此外,本文的仿真试验假设端到端路径瓶颈是相对独立的,这种限制将会在未来的研究工作中释放。

1.4本文的组织结构

本节是对课题研究工作的总结,全文共分为5章,结构如下:

第一章绪论。介绍了课题的研究背景,分析了SCTP 的研究与应用现状,最后介绍了课题的研究内容和方法。

第二章基于SCTP多穴的多路同时传输概述。重点介绍了SCTP协议多穴特性和拥塞控制机制,分析了基于SCTP多穴的多路径同时传输关键技术。

第三章基于SCTP多穴的多路同时传输负载均衡。深入分析了SCTP的协议特点,阐述了标准SCTP拥塞控制机制在支持多路同时传输(CMT)负载均衡应用方面的局限性,给出了基于SCTP多穴的负载均衡系统所必然面临的问题,最终提出了子路径拥塞控制SCTP(SPCC-SCTP)扩展协议来达到有效的多路径负载均衡。最后,通过仿真实验验证了所提出的负载均衡机制的合理性和有效性。

第四章基于SCTP多穴的多路同时传输重传策略。对现存的多路同时传输重传策略进行了研究,发现了现存5种重传策略在处理“接收端缓存拥塞”问题中的不足,提出了基于综合参数的多路传输重传策略,最后通过仿真实验对所提出的重传策略与现存重传策略进行了对比分析。

第五章总结和展望。对本文工作进行了总结,并对下一步工作进行了展望。

第2章基于SCTP的端到端多路同时传输

随着多穴的大量出现以及SCTP 的广泛应用,研究如何利用SCTP 关联中的多条路径同时进行数据传输(CMT)具有非常现实的意义。本章重点介绍了SCTP协议特点,分析了基于SCTP多穴的多路径同时传输及其关键技术。

2.1SCTP及其多穴特性

流控制传输协议SCTP[3-4]是由EITF(互联网工程任务组)的SIGTRAN 工作组制定的,命为RFC2960,使得SCTP正式成为国际标准。SCTP 最初的目的是用来在IP 网络上传输SS7 信令,但由于SCTP具有适合Internet数据和多媒体传输的特性,并可能成为下一代的传输层协议,因此SCTP正成为当前研究的热点。

2.1.1SCTP关联的概念

SCTP位于SCTP用户应用和无连接网络业务层之间,这种无连接的网络可以是IP网络或者其他的网络。RFC2960标准规定的SCTP协议主要是运行在IP网络上的。与TCP 类似,SCTP 也是面向连接的,能够提供可靠和有序的数据传输。

SCTP协议通过在两个SCTP端点间建立关联(asso-ciation),来为两个SCTP用户之间提供可靠的消息传送业务。关联类似于TCP的连接,但它的意义更广。SCTP关联实际上是在两个SCTP端点间的一个对应关系,它包括了两个SCTP端点、以及包括验证标签和传送顺序号码等信息在内的协议状态信息,一个关联可以由使用该关联的SCTP端点用传送地址来惟一识别,在任何时候两个SCTP端点间都不会有多于一个的关联。

图2.1给出了SCTP关联在IP网络协议中的示意。

图2.1 SCTP关联

Fig. 2.1 SCTP association

SCTP协议提供了在两个SCTP端点间的一组传送地址之间建立关联的方法,通过这些建立好的关联,SCTP端点可以发送SCTP分组。TCP的连接只有一条传输路径,一个SCTP关联可以包含用多个可能的起源/目的地地址的组合,这些组合包含在每个端点

的传送地址列表中。SCTP 在建立关联的时候会向对方提供一个端口号和一个IP 地址列表,这样每个关联都由两个端口号和两个IP 地址列表来组成。

TCP容易受SYN Flooding[44]的攻击。面向连接的TCP三次握手是SYNFlooding存在的基础,SYN Flooding利用了TCP/IP的这一固有漏洞。SCTP关联的启动过程中采用了COOKIE机制的四次握手,很好的解决这一安全问题。

如图2.2所示为SCTP关联启动四次握手和关联关闭过程。

Host A Host B

图2.2 SCTP关联启动四次握手和关闭过程

Fig. 2.2 SCTP association established fourth handshake and closed

2.1.2SCTP分组格式

图2.3是SCTP的分组格式。SCTP分组由公共的分组头和若干数据块[45](CHUNK)组成,每个数据块中既可以包含控制信息,也可以包含用户数据。控制CHUNK用于关联的建立和关闭、路径可达性测试以及报文确认,数据CHUNK用于传输上层协议数据。除了INIT,INIT ACK和SHUTTDOWN COMPLETE数据块外,其他类型的多个数据块可以捆绑在一个SCTP分组中,当然必须要满足关联对MTU的要求。如果一个用户消息不能放在一个SCTP分组中,则这个消息可以被分成若干个数据块。

SCTP公共头(common header)共12个字节,其各字段含义如下所述。

起源端口号(16bit的无符号整数):该端口号用来识别SCTP发送方的端口号码,接收方使用起源端口号和起源IP地址,以及目的地端口号和可能的目的地IP地址来识别属于某个关联的分组。

目的端口号(16bit的无符号整数):该SCTP端口号用来确定分组的去向。接收方主机将利用该端口号把SCTP分组解复用到正确的接收端点或应用。

验证标签:判别所收分组的有效性,其可以提高安全性。

校验和:用于判断分组是否比特错误,提高分组的可靠性。

图2.3 SCTP分组格式

Fig. 2.3 SCTP packet format

块是SCTP特有的消息格式,主要分为控制块和数据块。下面将重点介绍Data数据块(Data Chunk)和选择性应答(SACK,Selective ACK)控制块。

图2.4 Data Chunk的分组格式

Fig. 2.4 Format of Data Chunk

如图2.4 所示,在SCTP 的数据块中存在三个序列号:传输序列号、流标识符、流序列号。

SCTP 除了多穴特性外,还有一个很重要的特点就是多流。流是两个SCTP 端点之间建立的一个单向逻辑通道,是消息序列。一条关联中可以有多条流,即多流。流内可以顺序传输,递交;也可无序传输,递交,这取决于应用层对流的性质的规定。SCTP 使用流标识符(Stream Identifier)来区别这些不同的逻辑通道。在SCTP 中,一个流中的数据有序递交不影响其它流中的数据有序递交,这有效避免了队列头阻塞问题(HOL)。流中的有序递交是通过流序列号(Stream Sequence Num,SSN)来保证的,而可靠性传输是通过传输序列号(Transmission Sequence Number,TSN)保证的。SCTP 将数据可靠性传输和数据有序传输分开,就是依靠SSN 和TSN 两种不同的序列号。

图2.5是选择证实(SACK)数据块的格式,这个数据块使用DATA数据块中的TSN 用来向对等的端点确认接收到的DATA数据块,并通知对等的端点在收到的DATA数据块中的间隔。所谓间隔是指接收到的DATA数据块的TSN不连续的情况。

SCTP协议详情详解

SCTP协议详解 SCTP 被视为一个传输层协议,它的上层为SCTP 用户应用,下层作为分组网络。在SIGTRAN 协议的应用中,SCTP 上层用户是SCN 信令的适配模块(如M2UA、M3UA),下层是IP 网。 目录 ?SCTP相关术语 ?SCTP功能 ?SCTP 基本信令流程 SCTP相关术语 1. 传送地址 传送地址由IP 地址、传输层协议类型和传输层端口号定义。由于SCTP 在IP 上传输,所以一个SCTP 传送地址由一个IP 地址加一个SCTP 端口号决定。SCTP 端口号就是SCTP 用来识别同一地址上的用户,和TCP 端口号是一个概念。比如IP 地址10.105.28.92 和SCTP 端口号1024 标识了一个传送地址,而10.105.28.93 和1024 则标识了另外一个传送地址,同样,10.105.28.92 和端口号1023 也标识了一个不同的传送地址。 2. 主机和端点 主机(Ho ST)主机配有一个或多个IP 地址,是一个典型的物理实体。 端点(SCTP Endpoint) 端点是SCTP 的基本逻辑概念,是数据报的逻辑发送者和接收者,是一个典型的逻辑实体。 一个传送地址(IP 地址+SCTP 端口号)唯一标识一个端点。一个端点可以由多个传送地址进行定义,但对于同一个目的端点而言,这些传送地址中的IP 地址可以配置成多个,但必须使用相同的SCTP 端口。 3. 偶联和流

偶联(Associ ATION)偶联就是两个SCTP 端点通过SCTP 协议规定的4 步握手机制建立起来的进行数据传递的逻辑联系或者通道。SCTP 协议规定在任何时刻两个端点之间能且仅能建立一个偶联。由于偶联由两个端点的传送地址来定义,所以通过数据配置本地IP 地址、本地SCTP 端口号、对端IP 地址、对端SCTP 端口号等四个参数,可以唯一标识一个SCTP 偶联。正因为如此,在GTSOFTX3000 中,偶联可以被看成是一条M2UA 链路或M3UA 链路。 流(Stream)流是SCTP 协议的一个特色术语。SCTP 偶联中的流用来指示需要按顺序递交到高层协议的用户消息的序列,在同一个流中的消息需要按照其顺序进行递交。严格地说,“流”就是一个SCTP 偶联中,从一个端点到另一个端点的单向逻辑通道。一个偶联是由多个单向的流组成的。各个流之间相对独立,使用流ID 进行标识,每个流可以单独发送数据而不受其他流的影响。 4. 通路(Path)和首选通路(Primary Path) 通路(Path)通路是一个端点将SCTP 分组发送到对端端点特定目的传送地址的路由。如果分组发送到对端端点不同的目的传送地址时,不需要配置单独的通路。 首选通路(Primary Path)首选通路是在默认情况下,目的地址、源地址在SCTP 分组中发到对端端点的通路。 如果可以使用多个目的地地址作为到一个端点的目的地址,则这个SCTP 端点为多 归属。如果发出SCTP 分组的端点属于多归属节点时,如果定义了目的地址、源地址,能够更好控制响应数据块返回的通路和数据包被发送的接口。一个SCTP 偶联的两个SCTP 端点都可以配置多个IP 地址,这样一个偶联的两个端点之间具有多条通路,这就是SCTP 偶联的多地址性。SCTP 偶联的多地址性是SCTP 与TCP 最大的不同。 一个偶联可以包括多条通路,但只有一个首选通路。如图1所示,MGC(如GTSOFTX3000)一个端点包括两个传送地址(10.11.23.14:2905 和 10.11.23.15:2905),而SG 一个端点也包括两个传送地址(10.11.23.16:2904 和10.11.23.17:2904)。 图1 SCTP 双归属

负载均衡和会话保持

A10负载均衡和会话保持 在大多数的企业级应用中,客户端与服务器经常需要通过多次的交互才能完成一次事务处理或一笔交易。由于这些交互与用户的身份是紧密相关的,因此,与这个客户端相关的应用请求,往往需要转发至一台服务器完成,而不能被负载均衡器转发至不同的服务器上进行处理。为了实现这一机制,我们需要在负载均衡上配置会话保持(Session Persistence)机制,以确保客户端与应用系统之间的交互不会因为部署了负载均衡而发生问题。 实际上,会话保持机制与负载均衡的基本功能是完全矛盾的。负载均衡希望将来自客户端的连接、请求均衡的转发至后端的多台服务器,以避免单台服务器负载过高;而会话保持机制却要求将某些请求转发至同一台服务器进行处理。因此,在实际的部署环境中,我们要根据应用环境的特点,选择适当的会话保持机制。 连接和会话的区别 在介绍会话保持技术之前,我们必须先花点时间弄清楚一些概念:什么是连接(Connection)、什么是会话(Session),以及这二者之间的区别。 需要特别强调的是,如果我们仅仅是谈论负载均衡,会话和连接往往具有相同的含义。但是,如果我们和开发人员沟通这些术语时,这两个术语却具有截然不同的含义。希望广大读者能够注意这其中的区别。在本文中,我想着重说明的是开发人员眼中的连接及会话的含义。

通常,在普通的客户端或服务器上,我们把具有相同[源地址:端口],和相同[目的地址:端口]的数据包定义为一个连接。下表是Windows系统中用命令netstat–an输出的部分系统连接状态。 1.C:\>netstat-an 2. 3.活动连接 4. 5.协议本地地址外部地址状态 6. 7....<省略部分输出内容>... 8.TCP172.31.20.53:47669122.225.67.240:80ESTABLISHED 9.TCP172.31.20.53:47670122.225.67.240:80ESTABLISHED 10.TCP172.31.20.53:47671122.228.243.240:80ESTABLISHED 11.TCP172.31.20.53:47672110.75.34.138:80TIME_WAIT 12.TCP172.31.20.53:47673110.75.34.138:80TIME_WAIT 13.TCP172.31.20.53:47674110.75.34.138:80TIME_WAIT 14.TCP172.31.20.53:47675122.225.67.240:80ESTABLISHED 15.TCP172.31.20.53:47676122.225.67.240:80ESTABLISHED 16.TCP172.31.20.53:47677122.228.243.240:80ESTABLISHED 17.TCP172.31.20.53:47679110.75.24.105:80ESTABLISHED 18.TCP172.31.20.53:47681122.225.67.240:80ESTABLISHED 19.TCP172.31.20.53:47682122.225.67.240:80ESTABLISHED 20.TCP172.31.20.53:4768360.191.143.240:80ESTABLISHED 21.TCP172.31.20.53:4768460.191.143.240:80ESTABLISHED 22.TCP192.168.1.4:18231203.208.46.29:443CLOSE_WAIT 23....<省略部分输出内容>... 对于负载均衡来说,情况则稍微发生了一些变化。负载均衡会将来自相同[源IP:端口],发送到相同[目的IP:端口]的数据包,通过NAT技术做一些转换后,转发至后端的某台固定的服务器。如下表所示,虽然两个TCP连接具有相同的源地址,但源端口不同,AX负载均衡仍然将其识别为两个不同的连接,并且转发至两台不同的服务器进行处理。 1.AX#show session 2....<省略部分输出内容>... 3.

负载均衡解决方案设计设计

一、用户需求 本案例公司中现有数量较多的服务器群: WEB网站服务器 4台 邮件服务器 2台 虚拟主机服务器 10台 应用服务器 2台 数据库 2台(双机+盘阵) 希望通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并要求新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。 二、需求分析 我们对用户的需求可分如下几点分析和考虑: 1.新系统能动态分配各服务器之间的访问流量;同时能互为冗余,当其中 一台服务器发生故障时,其余服务器能即时替代工作,保证系统访问的 不中断; 2.新系统应能管理不同应用的带宽,如优先保证某些重要应用的带宽要 求,同时限定某些不必要应用的带宽,合理高效地利用现有资源;

3.新系统应能对高层应用提供安全保证,在路由器和防火墙基础上提供了 更进一步的防线; 4.新系统应具备较强的扩展性。 o容量上:如数据访问量继续增大,可再添加新的服务器加入系统; o应用上:如当数据访问量增大到防火墙成为瓶颈时,防火墙的动态负载均衡方案,又如针对链路提出新要求时关于Internet访问 链路的动态负载均衡方案等。 三、解决方案 梭子鱼安全负载均衡方案总体设计 采用服务器负载均衡设备提供本地的服务器群负载均衡和容错,适用于处在同一个局域网上的服务器群。服务器负载均衡设备带给我们的最主要功能是:

当一台服务器配置到不同的服务器群(Farm)上,就能同时提供多个不同的应用。可以对于每个服务器群设定一个IP地址,或者利用服务器负载均衡设备的多TCP端口配置特性,配置超级服务器群(SuperFarm),统一提供各种应用服务。

SCTP偶联断告警处理总结

故障处理经验案例---SCTP偶联断告警处理总结

使用建议:在阅读本文档的同时参阅如下资料:

故障现象描述 LTE基站上报"SCTP偶联断"告警,在告警详细信息中的附加文本会提示具体偶联号。 可能伴随的相关告警有:网元断链告警、基站退出服务(基站上报)、TD NodeB退服告警(RNC上报)、S1断链告警、X2断链告警。 故障分析排查思路 一、确定具体SCTP偶联号及类型。 在告警详细信息的“附加文本”指示具体偶联号。目前LTE基站存在3类偶联:TDS基站与RNC的SCTP偶联、LTE基站与EPC的SCTP偶联、LTE基站与LTE基站之间的SCTP偶联。 二、在基站端、OMC服务器、核心网侧做ping检测。 LTE使用IP分组传输技术,出现传输类故障时可以通过ping方法定位故障节点。下图是LTE 双模基站IP传输逻辑图。 LTE双模基站IP传输逻辑图 双模基站配置有3个IP,分别是基站维护IP、基站LTE业务IP、基站TDS业务IP。可在配置表中的“SCTP参数配置”中确定哪两个IP分别用于TDS业务和LTE业务,在“OMC通道” 配置项中确定哪个IP用于基站维护。 三、检查对应SCTP偶联本端(基站侧)、PTN传输、SCTP偶联对端(EPC/RNC/基站)配置是否 正确。

图(1)SCTP参数配置图 图(2)OMC通道配置图 故障排查方法 1)ping包检测故障节点 EDMS ping包检测界面见下图所示。

图(3)Ping包检测界面 “Ping基站网关”右侧下拉列表中的地址都需要保证能ping通,不通的话说明对应传输链路故障。双模基站有3个网关,分别是TDS网关、LTE网关、维护网关。LTE单模基站没有TDS网关。对于特定基站,ping基站网关时实际ping 的就是图(4)中"172.39.1.1"、“100.64.36.129”、“100.92.36.129”这三个地址。 “Ping OMC服务器”功能可以检测基站到网管服务器之间链路状态。“Ping”功能可以实现“以一个基站本地IP为源端ping任意一个目的IP”功能,比如ping LTE核心网IP、PTN设备IP。“Ping基站网关”和“Ping OMC 服务器”是“Ping”的一个功能子集。 提示: 1. EDMS提供了三种ping包功能:ping基站网关、ping omc服务器、ping特定IP。 后台人员ping包检测方法 A、t elnet登录OMC服务器,IP地址为OMC服务器地址; B、telnet登录基站,IP地址为基站管理网元IP地址; C、进入Ushell; D、P ad到MGR.EXE进程; E、使用“brsping”指令ping远端IP F、操作实例见下: -bash-3.2$ telnet 100.92.1.181 //telnet到基站 正在尝试... 连接到 100.92.1.181。 换码字符为 '^]'。 (none) login: zte //输入基站用户名及密码 Password:

几种负载均衡策略比较~

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用 Nginx/HAProxy+Keepalived作负载均衡器;后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 一、Nginx Nginx的优点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。 2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会; 3、Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 3、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些。 4、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而不满。 5、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。 6、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,可以考虑用其作为反向代理加速器。 7、Nginx可作为中层反向代理使用,这一层面Nginx基本上无对手,唯一可以对比

Wireshark_SCTP_SIGTRAN_and_SS7说明

SCTP/SIGTRAN & SS7 Overview April 2nd, 2008 Michael Tüxen Wireshark Core Developer SHARK FEST '08 Foothill College March 31 - April 2, 2008

Outline ?Signaling System Number 7 (SS7). ?SS7 over IP. ?SIGTRAN Protocol Suite. ?Stream Control Transmission Protocol (SCTP).

Signaling System Number 7 A protocol suite used for classical telephony signaling. Standardized by the ITU and country specific variants by local standards bodies. ?It uses four levels: ●?MTP 1 ●?MTP 2 ●?MTP 3 ●?User Parts

Some SS7 concepts ?Nodes are addressed by point codes. ?Links have limited bandwidth, typically 56/64 kbit/sec. Two adjacent nodes are connected by at most 16 links. ?Loadsharing is done based on SLS. ?Each MSU contains OPC, DPC, SLS. ?Defined failover proceduces.

gopher,协议

竭诚为您提供优质文档/双击可除 gopher,协议 篇一:网络七层模型各层的协议 网络七层模型各层的协议 在互联网中实际使用的是tcp/ip参考模型。实际存在 的协议主要包括在:物理层、数据链路层、网络层、传输层和应用层。各协议也分别对应这5个层次而已。 要找出7个层次所对应的各协议,恐怕会话层和表示层的协议难找到啊。。 应用层 ·dhcp(动态主机分配协议) ·dns(域名解析) ·Ftp(Filetransferprotocol)文件传输协议 ·gopher(英文原义:theinternetgopherprotocol中 文释义:(RFc-1436)网际gopher协议) ·http(hypertexttransferprotocol)超文本传输协 议 ·imap4(internetmessageaccessprotocol4)即 internet信息访问协议的第4版本·iRc(internetRelaychat)

网络聊天协议 ·nntp(networknewstransportprotocol)RFc-977)网络新闻传输协议 ·xmpp可扩展消息处理现场协议 ·pop3(postofficeprotocol3)即邮局协议的第3个版本 ·sip信令控制协议 ·smtp(simplemailtransferprotocol)即简单邮件传输协议 ·snmp(simplenetworkmanagementprotocol,简单网络管理协议) ·ssh(secureshell)安全外壳协议 ·telnet远程登录协议 ·Rpc(Remoteprocedurecallprotocol)(RFc-1831)远程过程调用协议 ·Rtcp(Rtpcontrolprotocol)Rtp控制协议 ·Rtsp(Realtimestreamingprotocol)实时流传输协议 ·tls(transportlayersecurityprotocol)安全传输层协议 ·sdp(sessiondescriptionprotocol)会话描述协议 ·soap(simpleobjectaccessprotocol)简单对象访问

负载均衡技术的三种实现方法

目前,网络应用正全面向纵深发展,企业上网和政府上网初见成效。随着网络技术的发展,教育信息网络和远程教学网络等也得到普及,各地都相继建起了教育信息网络,带动了网络应用的发展。 一个面向社会的网站,尤其是金融、电信、教育和零售等方面的网站,每天上网的用户不计其数,并且可能都同时并发访问同一个服务器或同一个文件,这样就很容易产生信息传输阻塞现象;加上Internet线路的质量问题,也容易引起出 现数据堵塞的现象,使得人们不得不花很长时间去访问一个站点,还可能屡次看到某个站点“服务器太忙”,或频繁遭遇系统故障。因此,如何优化信息系统的性能,以提高整个信息系统的处理能力是人们普遍关心的问题。 一、负载均衡技术的引入 信息系统的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,必须采用多台服务器协同工作,提高计算机系统的处理能力和计算强度,以满足当前业务量的需求。而如何在完成同样功能的多个网络设备之间实现合理的业务量分配,使之不会出现一台设备过忙、而其他的设备却没有充分发挥处理能力的情况。要解决这一问题,可以采用负载均衡的方法。 负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高。 对一个网络的负载均衡应用,可以从网络的不同层次入手,具体情况要看对网络瓶颈所在之处的具体情况进行分析。一般来说,企业信息系统的负载均衡大体上都从传输链路聚合、采用更高层网络交换技术和设置服务器集群策略三个角度实现。 二、链路聚合——低成本的解决方案 为了支持与日俱增的高带宽应用,越来越多的PC机使用更加快速的方法连入网络。而网络中的业务量分布是不平衡的,一般表现为网络核心的业务量高,而边缘比较低,关键部门的业务量高,而普通部门低。伴随计算机处理能力的大幅度提高,人们对工作组局域网的处理能力有了更高的要求。当企业内部对高带宽应用需求不断增大时(例如Web访问、文档传输及内部网连接),局域网核心部位的数据接口将产生瓶颈问题,因此延长了客户应用请求的响应时间。并且局域网具有分散特性,网络本身并没有针对服务器的保护措施,一个无意的动作,像不小心踢掉网线的插头,就会让服务器与网络断开。 通常,解决瓶颈问题采用的对策是提高服务器链路的容量,使其满足目前的需求。例如可以由快速以太网升级到千兆以太网。对于大型网络来说,采用网络系统升级技术是一种长远的、有前景的解决方案。然而对于许多企业,当需求还没有大到非得花费大量的金钱和时间进行升级时,使用升级的解决方案就显得有些浪费

SCTP

中华人民共和国通信行业标准 流控制传送协议(SCTP) YD/T 1194-2002 前言 本标准是根据RFC 2960(2000)建议制定的,它规定了流控制传送协议(SCTP)所使用的消息格式编码和程序。SCTP协议主要用于在IP网中传送PSTN的信令消息,同时SCTP协议还可以用于其他的信息在IP网内传送。 本标准的附录A、附录B和附录C是资料性的附录。 本标准由信息产业部电信研究院提出并归口。 本标准起草单位:信息产业部电信传输研究所 深圳市中兴通讯股份有限公司 华为技术有限公司 上海贝尔有限公司 本标准主要起草人:吕军续合元张宜高峰迮超林铭吕严 中华人民共和国信息产业部 2002-06-21发布 2002-06-21实施 1 范围 本标准规定了流控制传送协议(SCTP)所使用的消息格式编码和程序,SCTP协议主要用于在IP网中传送PSTN的信令消息和IP网内的信令消息。 本标准主要适用于完成No.7信令与IP网互通的信令网关(SG)设备,以及IP网用于呼叫控制的软交换(Soft-Switch)交换机等设备的开发、生产、引进和购买。 2 规范性引用文件 下列文件中的条款通过在本标准中引用而成为本标准的条款,凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而鼓励根据本部分达成协议的各方研究是否可以使用这些文件的最小版本。凡是不注日期的引用文件,其最新版本适用于本标准。 RFC 793 传送控制协议(TCP) RFC 1191 发现通路MTU RFC 1123 对Internet主机的要求—应用和支持 RFC 1700 分配的号码 RFC 1750 出于安全目的的随机建议 RFC 1981 用于IPv6的发现通路MTU RFC 1982 串号的算法 RFC 2373 IPv6的地址结构 RFC 2401 Internet协议的安全结构 RFC 2460 Internet协议,版本6 RFC 2481 明确的拥塞通知 RFe 258l TCP拥塞控制 RFC 2960 流传送控制协议(SCTP) 3 名词术语和缩略语

华为SCTP协议

HUAWEI GT800 GTSOFTX3000 技术手册信令与协议分册目录 目录 4 SCTP协议....................................................................................................................................4-1 4.1 概述..............................................................................................................................................................4-2 4.2 SCTP相关术语............................................................................................................................................4-2 4.3 SCTP功能....................................................................................................................................................4-5 4.3.1 偶联的建立和关闭.............................................................................................................................4-6 4.3.2 流内消息顺序递交.............................................................................................................................4-6 4.3.3 用户数据分段.....................................................................................................................................4-7 4.3.4 证实和避免拥塞.................................................................................................................................4-7 4.3.5 消息块绑定........................................................................................................................................4-7 4.3.6 分组的有效性.....................................................................................................................................4-7 4.3.7 通路管理............................................................................................................................................4-7 4.4 SCTP原语....................................................................................................................................................4-8 4.4.1 SCTP用户向SCTP发送的请求原语................................................................................................4-8 4.4.2 SCTP向SCTP用户发送的通知原语..............................................................................................4-10 4.5 SCTP协议消息..........................................................................................................................................4-12 4.5.1 消息结构..........................................................................................................................................4-12 4.5.2 SCTP数据块的格式.........................................................................................................................4-16 4.5.3 SCTP端点维护的参数和建议值.....................................................................................................4-31 4.6 SCTP基本信令流程..................................................................................................................................4-34 4.6.1 偶联的建立和发送流程...................................................................................................................4-34 4.6.2 偶联关闭流程...................................................................................................................................4-37

集群的负载均衡技术综述

集群的负载均衡技术综述 摘要:当今世界,无论在机构内部的局域网还是在广域网如Internet上,信息处理量的增长都远远超出了过去最乐观的估计,即使按照当时最优配置建设的网络,也很快会感到吃不消。如何在完成同样功能的多个网络设备之间实现合理的业务量分配,使之不致于出现一台设备过忙、而别的设备却未充分发挥处理能力的情况,负载均衡机制因此应运而生。本组在课堂上讲解了《集群监控与调度》这一课题,本人在小组内负责负载均衡部分内容,以及PPT的制作。 关键词:负载均衡集群网络计算机 一、前言 负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:解决网络拥塞问题,服务就近提供,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。 其实,负载均衡并非传统意义上的“均衡”,一般来说,它只是把有可能拥塞于一个地方的负载交给多个地方分担。如果将其改称为“负载分担”,也许更好懂一些。说得通俗一点,负载均衡在网络中的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人累死累活。不过,这种意义上的均衡一般是静态的,也就是事先确定的“轮值”策略。 与轮流值日制度不同的是,动态负载均衡通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。结构上分为本地负载均衡和地域负载均衡(全局负载均衡),前一种是指对本地的服务器集群做负载均衡,后一种是指对分别放置在不同的地理位置、在不同的网络及服务器群集之间作负载均衡。 服务器群集中每个服务结点运行一个所需服务器程序的独立拷贝,诸如Web、FTP、Telnet或e-mail服务器程序。对于某些服务(如运行在Web服务器上的那些服务)而言,程序的一个拷贝运行在群集内所有的主机上,而网络负载均衡则将工作负载在这些主机间进行分配。对于其他服务(例如e-mail),只有一台主机处理工作负载,针对这些服务,网络负载均衡允许网络通讯量流到一个主机上,并在该主机发生故障时将通讯量移至其他主机。 二、负载均衡技术实现结构 在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务: 1.解决网络拥塞问题,服务就近提供,实现地理位置无关性 2.为用户提供更好的访问质量 3.提高服务器响应速度

03-SCTP

目录 第3章SCTP ........................................................................................................................... 3-1 3.1 概述................................................................................................................................... 3-1 3.1.1 SCTP概念............................................................................................................... 3-1 3.1.2 SCTP功能............................................................................................................... 3-2 3.1.3 SCTP在MSOFTX3000中的应用........................................................................... 3-3 3.2 SCTP消息 ......................................................................................................................... 3-4 3.3 消息流程............................................................................................................................ 3-5

软件负载均衡优缺点总结

(总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用 Nginx/HAProxy+Keepalived作负载均衡器;后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 Nginx的优点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。 2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会; 3、Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 3、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些。 4、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而不满。 5、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。 6、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器

SCTP协议算法

SCTP协议分析算法 1.丢包: 1)首先确定指定方向报文的流向。 2)遍历该单向报文,如果满足:SCTP序号(DATA数据块的TSN)逆向跳变、IPID正向增加,也就是发生了重传的条件下,查看上游是否能找到相同的SCTP序号的报文。如果找到,说明抓包点下游丢包,认为是重传;如果 抓包点之前查询未找到相同序号的报文,说明在上游丢包,这种情况下认 为是丢包。 3)当前向查找没有找到相同序号报文时,记录该丢失的报文信息。 2.重传: 1)先确定报文的流向。统计该方向报文的个数。 2)遍历该单向报文,如果SCTP序号减小、IPID正向增加,在向前或向后查找时找到相同序号的报文,此时说明报文发生了重传。查找的范围是以 当前遍历的报文为基准,向前或向后查找2000个数据包。为了提高查找 效率,在查找的过程中,由于先前丢包导致了重传,在确定丢包点的位 置时,就不用再向前遍历。考虑两种情况:a. 当查找的报文序号出现间 断,且间断序号是重传的报文序号时,间断点之前相邻的报文是TSN序 号正常连续增大的报文,未发生重传,该位置是丢包点,则此次遍历结 束;b. 间断点之前的报文也发生了重传,为非正常报文,说明该间断点 还不是真正的丢包点,仍要向前查找,直到满足a条件为止。 3)把遍历查找到重传包和SACK中duplicate的重传包求并集,即是所有重传包。 4)找到相同序号报文时记录重传报文信息,同时统计重传报文的个数。3.乱序: 1)单方向考察报文,统计该方向报文个数。 2)遍历该单方向报文,两两比较,如果SCTP序号减小、IPID也减小,说明该报文发生了乱序,正常报文是SCTP序号连续增大,IPID也增大。发现 乱序时记录该乱序报文。 3)置换该相邻乱序包,继续下一次两两比较。 4.时延抖动: 1)单方向考察报文,统计该方向报文个数。 2)遍历该单向报文,确定是否是DATA数据块,如是DATA,根据五元组(源IP、目的IP、源端口、目的端口、DSCP)查找与之对应的SACK,找到这样的DATA和SACK时,计算两者的时间差,DATA和SACK是源和目的相反

实现服务器负载均衡常见的四种方法

为了提高服务器的性能和工作负载能力,天互云计算通常会使用DNS服务器、网络地址转换等技术来实现多服务器负载均衡,特别是目前企业对外的互联网Web 网站,许多都是通过几台服务器来完成服务器访问的负载均衡。 目前企业使用的所谓负载均衡服务器,实际上它是应用系统的一种控制服务器,所有用户的请求都首先到此服务器,然后由此服务器根据各个实际处理服务器状态将请求具体分配到某个实际处理服务器中,对外公开的域名与IP地址都是这台服务器。负载均衡控制与管理软件安装在这台服务器上,这台服务器一般只做负载均衡任务分配,但不是实际对网络请求进行处理的服务器。 一、企业实现Web服务器负载均衡 为了将负载均匀的分配给内部的多个服务器上,就需要应用一定的负载均衡策略。通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并要求新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。 对于WEB服务应用,同时有几台机器提供服务,每台机器的状态可以设为regular(正常工作)或backup(备份状态),或者同时设定为regular状态。负载均衡设备根据管理员事先设定的负载算法和当前网络的实际的动态的负载情况决定下一个用户的请求将被重定向到的服务器。而这一切对于用户来说是完全透明的,用户完成了对WEB服务的请求,并不用关心具体是哪台服务器完成的。 二、使用网络地址转换实现多服务器负载均衡 支持负载均衡的地址转换网关中可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。很多硬件厂商将这种技术集成在他们的交换机中,作为他们第四层交换的一种功能来实现,一般采用随机选择、根据服务器的连接数量或者响应时间进行选择的负载均衡策略来分配负载。然而硬件实现的负载控制器灵活性不强,不能支持更优化的负载均衡策略和更复杂的应用协议。 基于网络地址转换的负载均衡器可以有效的解决服务器端的CPU和磁盘I/O负载,然而负载均衡器本身的性能受网络I/O的限制,在一定硬件条件下具有一定的带宽限制,但可以通过改善算法和提高运行负载均衡程序的硬件性能,来提高这个带宽限制。不同的服务类型对不同的服务器资源进行占用,我们使用的负载衡量策略是使用同一个负载进行评估,这对于大多数条件是适合的,然而最好的办法是针对不同的资源,如CPU、磁盘I/O或网络I/O 等,分别监视服务器负载,由中心控制器选择最合适的服务器分发客户请求。 三、使用DNS服务器实现负载均衡

相关主题
文本预览
相关文档 最新文档