流量控制

来源:互联网 发布:java和.net的区别 编辑:程序博客网 时间:2024/04/28 15:37

一、  技术实现原理4.1         流量识别流识别分为静态识别和动态识别两种类型。静态识别是根据协议类型、源目的端口、源目的地址进行识别。动态识别分成模式匹配识别和协议解析识别两种类型。
4.1.1    静态流识别静态流识别能够实现对以太网接入的用户进行区分,将来自某些IP地址的用户提供高优先级控制,某些用户提供低优先级控制。同时,对关键应用的协议类型提供高优先级,对普通业务提供低优先级。业务类型可根据协议类型,也可以按照固定端口来实现。
静态流识别技术高效、简洁,实现技术简单。缺点在于灵活性差,无法应对网络变化。当以太网用户进行IP盗用,或者采用代理技术绕开常见端口,或者进行端口欺骗在高优先级端口上传送低优先级业务,这些情况下静态流识别技术都很难灵活应对,难以实施。
静态流识别能够完成绝大多数应用的优先级控制。凡是具有固定协议类型、地址、端口的业务均能够被适配到相应的容器中,接受优先级调度。
4.1.2    动态流识别动态流识别技术能够对绝大多数网络应用进行详细的分析,能够识别出网络中存在的安全隐患,能够在应用层进行差分服务,能够根据统计特征将未知的可能危害网络SLA协议的业务进行主动控制,灵活应对各种网络变化。
动态流识别技术分成两个大的分支,一个是采用模式匹配的方法对已知的应用进行识别,根据识别结果确定优先级;一种是采用协议解析的方法对途径的流进行协议分析,获取应用类型,确定优先级。
模式匹配针对单个报文,不需要进行流重装,耗费资源较少,实现技术简单;
协议解析需要缓冲大量数据流,才能获取上下文信息,对绝大多数应用业务来说都需要结合上下文才能确定其具体的应用。但是协议解析具有精度高、控制粒度细、优先级控制较为完美。
4.1.3    TrixFlow®流量识别通过对网络流量建立恰当的数学模型,能够将P2P业务、多线程下载、端口隐藏等具有典型流量特征的业务识别出来,进行恰当的控制。
对于新出现的P2P软件、老版本P2P升级修改了协议特征码、加密的P2P软件、隐藏在80端口中的迅雷等等业务来说,依靠协议解析和特征码识别,已经无法对它们进行控制。
TMA利用申请了专利技术的TrixFlow®识别技术,对这些当前最难控制的业务进行建模,通过数学模型识别这些业务,然后对这些流量进行控制。取得了非常明显的效果。
4.2         流量分析网络流量分析技术按照数据源分类,主要分成如下的几种:
4.2.1    基于SNMP的流量分析传统的网管系统,对于流量分析来说,主要依赖于对交换机、路由器、防火墙等通信设备的SNMP MIB/RMON信息的采集,来完成流量的分析。
采集的对象主要包括SNMP MIB/MIB2规范的大量网络管理信息,例如接口的负载水平、简单的流量构成信息,从网络管理信息中提取流量相关的信息。从RMON中提取流量统计信息,得到诸如主机TOPN、端口TOPN等的统计信息。
4.2.2    基于AppFlow®的流量分析AppFlow®技术是比蒙新帆独创的、申请了专利保护的技术, 它基于应用层业务的流量分析技术,与Cisco NetFlow技术比起来,最大的优势在于,AppFlow®技术能够准确分析应用层业务的类型,同时,完整分析每一个会话的QoS指标,从而避免了NetFlow只是运行在L4层、且数据分析依赖于采样分析的缺陷。
针对基于SNMP和NetFlow的流量分析技术中存在的缺陷,其中最关键的问题来自于这些技术采集的数据源是现成的路由器和交换机,因此,信息非常有限。为了保证流量分析数据的精确度、准确性、完整性,提出了流量分析探针技术。
比蒙新帆AppFlow®流量分析探针通过完整采集网络信息流,不仅仅能够提供简单的流量分析,还能够对每一次会话的应用层业务类型进行识别,智能分析通信过程的异常状况,在通信违反规程或者可能存在安全风险的时候,还能够主动发出告警,为网管人员提供最原始、全面的网管信息,帮助网络管理人员提高网络管理水平。
4.3         流量控制流量控制技术可以分成两个大的流派,一种是结合协议本身的设计机制,巧妙利用协议本身提供的一些机制,实现流量控制;一种是采取缓冲、队列控制的办法,强制性的实现流量控制。
对于TCP/IP协议来说,TCP是面向连接的协议,提供了很多反馈控制的机制,能够端到端的控制业务的速率。而UDP只是一种尽力而为的协议,没有端到端的反馈控制能力,因此,结合协议进行流量控制将局限于TCP。对于UDP只能采取缓冲、队列控制进行流量控制。
4.3.1    基于IP协议的流量控制IP协议中由IP头部的TOS字段来标示报文的优先级。但是在现有的互联网设备中只有少量设备支持TOS字段,绝大多数设备干脆忽略了TOS字段。因此,要利用IP TOS实现QoS,需要在通信链路的两端均串联入一台设备,用于打标签和根据标签来控制报文转发。
4.3.2    基于TCP协议的流量控制TCP协议采用滑动窗口技术来实现端到端的流量控制,因此可以利用TCP的窗口通告信息,对连接的两端进行流量控制。在需要带宽抑制业务的时候,根据当前网络带宽负载情况,适当的调整修改报文的窗口值,减小窗口值将会导致对端减缓报文的发送,从源上抑制了流入网络的数据,是一种较为有效的提高网络带宽利用率的技术。它与普通流量控制的RED算法不同的是,RED算法强制性的丢弃一些报文,而这种情况必然导致用户端的重复传送,不恰当的报文丢弃算法必然造成网络中的大量报文的重传,反而加重了网络负担,降低了网络带宽利用率。
4.3.3    基于队列调度算法的流量控制队列调度算法是通过将入端口数据进行排队,赋予每一个队列一定的调度优先级,高优先级的队列较容易获得队列调度,低优先级的队列将延长其缓冲在队列的时间,甚至被强制丢弃。
队列调度算法目前应用最为广泛的是漏桶、令牌桶算法和预测丢弃算法RED。
令牌桶算法综合考虑了报文长度、优先级,同时增加了队列环回机制(低优先级的报文在需要发送的时候如果仍然不能获取令牌,则自动从队列尾部开始重新排队),避免了报文丢弃造成的网络重传,因此是较为完善的一种算法。但是令牌桶算法实现较为复杂,需要占用大量的缓冲区资源,调度算法本身也要占用大量的CPU时间,因此,在轻负载网络环境中,推荐使用令牌桶。
RED算法是根据一定的调度策略,将低优先级的队列在调度过程中如果没有可用的网络资源发送数据,简单地丢弃报文。这样由于用户端发现报文丢弃,一般都会放缓数据的发送,从另一个角度抑制了数据传送。但是用户端必然需要重传丢弃的报文,造成了网络资源浪费。RED算法较为简单,适合在高速网络中实现,同时尽量用延缓报文发送时间的方法而不是直接丢弃,这样能够用一定的设备资源的占用换取网络传送时延增大效应,抑制用户端数据的发送。
4.3.4    流量适配流识别并将其适配入相应的容器,是TMA网络综合性能管理平台产品的前提。具体的结构如下所示:

图2

如上图所示,流识别与分拣,主要完成的工作是在数据包进入流量整形器之后,首先由异常流检测引擎对报文进行异常检测,将未开放的业务、协议异常、蠕虫、病毒、木马等报文丢弃到上图左边的空容器中丢弃。
然后,再进入业务流分级引擎中,对该报文进行模式匹配,利用其IP地址进行流适配,获取该报文所应当具有的优先级。然后将其适配入相应的容器中,供流量调度进行令牌桶的调度。
4.3.5    流量整形流量整形器是TMA网络综合性能管理平台产品的核心模块,是完成业务分级控制策略的关键功能。流量整形算法采用协议反馈控制、综合的漏桶与令牌桶优化算法来实现最终的流量控制。同时,流量整形器将同时负责部分异常流识别与控制功能,针对常见的P2P应用进行限制,同时对网络病毒和蠕虫等影响网络正常使用的流量进行清除,净化网络环境。
流量整形器的系统结构如下所示:

图3

4.3.6     队列调度队列调度算法是整个TMA网络综合性能管理平台能够完成具有优先级控制策略功能的核心。目前使用基于网络状态检测、“漏桶+令牌桶”算法,能够实现两个层面(业务层面和用户层面)、四个等级(四级控制策略,0级表示丢弃,1级表示控制应用类型和限制带宽,2级表示限制带宽在有限范围,3级具有较高优先级,可以抢占资源)的流量控制。
4.4         性能测试TMA网络综合性能管理平台提供完整的应用性能测试功能,能够对网络响应时间、服务响应时间进行精确的测试。自动找出响应缓慢的主机、服务器、业务,同时,可以根据业务性能要求的不同,智能适配不同的性能劣化门限,产生符合业务质量水平的专家告警。
4.5         异常流量检测网络病毒目前主要包括如下几类:
冲击波、震荡波等利用Windows漏洞,对计算机进行饱和攻击,造成主机、网络瘫痪;
蠕虫:利用自我复制功能,将网络带宽消耗殆尽,造成网络阻塞;
后门:利用Windows的PE文件系统结构的安全漏洞,携带Troy木马,在用户系统安装后门,伺机内外结合攻破网络;
恶意代码:利用Java安全漏洞,诱骗用户执行有害代码,完成破坏;
Denial-Of-Service (DOS) 攻击
在Internet上的DOS/DDOS攻击暴虐一时。由于可以通过使用一些公开的软件进行攻击,它的发动较为简单。同时要防止这种攻击又非常困难,所以TMA网络综合性能管理平台产品针对各种DOS攻击做出了防御措施。
SYN Flooding
这是一种较为常见的攻击,不法分子会向攻击目标发出大量TCP SYN请求,使目标机器的TCP队列中充满了未建立的连接请求,从而导致服务不能正常运作,是非常危险的攻击方式。
对于SYN Flood Attack,TMA网络综合性能管理平台产品可以有效的防御。当出现大量的TCP SYN请求时,防御系统会检测这些请求是否来自同一个IP,如果是,系统会忽略掉这些TCP SYN请求,并且将该IP记录在案,发出系统警告。这样系统可以保证内部网络不会受到SYN Flood攻击,同时可以把不法分子的资料记录下来。
Windows OOB Attack
对于没有Patch过的Windows 95/NT系统,不法分子可以利用向NetBIOS (Port 139)发送Out Of Band 数据,这可以导致被攻击机器死机。
TMA网络综合性能管理平台产品会分析通往NetBIOS的信息,检查是否有OOB数据,如果检查出有问题,将会拒绝该IP包,同时记录来源IP并发出系统警告。