流量管理需求背景
- 带宽资源被非关键应用大量占用
- 例如公司内的员工在上班时间使用P2P等软件下载与工作无关的资源,会导致工作期间带宽不足,影响工作效率
- 传统的缓存丢包式的流控无法控制P2P的下行流量
- P2P流量具有带宽侵蚀性,只要内部有对外的P2P请求,流控设备虽然可以丢掉部分的P2P下行数据包,但是来自公网侧的数据包会占据公网带宽,导致核心业务得不到保障
- 空闲时带宽的利用率低
- 为了保障核心业务,针对非业务相关,但是常用的应用的带宽进行严格限制。业务高峰期后,常用流量依然被限制,导致带宽利用率不高,用户体验差
- 一刀切的流量控制手段,影响员工的使用体验
- 例如公司配置的流控策略是限额制,当员工的上网时长、流量等超过配额,导致网络不可用,会影响正常的办公,带给员工不好的体验
流量管理技术
传统流控技术的缺陷
- 基于网路协议的4层及一下的内容进行分析,通常基于固定的数据封装格式提取数据特征
- 例如Qos技术实现基于源目IP、源目端口以及协议类型的流量控制
- 通过五元组定义各种流量,针对同的流量实施不同的排队机制和拥塞机制,来实现控制流量的目的
- 传统的IP的数据包流量识别和QoS技术,仅根据数据包的五元组进行分析,不能识别出流量中所涉及的应用,不能针对应用进行精细的流控
- 传统流控是伪流控
- 基于缓存丢包方式,UDP协议自身没有速率调控机制,而P2P传输模式具有特殊性,外网的线路依然会被大量的P2P数据报文占用,导致带宽浪费
主流的流量管控技术
- 应用检测技术
- 常用端口检测
- 依赖端口来识别流量
- 现在应用的常用端口越来越不明显,所以导致端口检测技术识别能力有限
- 深度流检测(DFI)
- 基于流量行为的应用识别技术,不同的应用类型体现在会话连接或数据流上的状态不同
- 主要识别指标:数据包的大小、速率、延时、持续时间、发送频率、上下行流量的比例关系以及IP地址的连接方式等
- 深度包检测(DPI)
- 不仅检测源目IP、源目端口、协议类型,还对应用层的数据进行分析,识别各种应用及其中的内容
- 包括关键字检测、应用网关检测、行为模式检测
- DFI检测有对新P2P应用的感知能力,对加密协议识别率高,避免查看应用层协议内容,检测效率高,但准确率低
- DPI检测准确率高,但是DPI检测是建立在了解通信协议的基础上,对新的、加密的P2P应用识别能力弱,需要不断进行协议分析和特征搜寻。系统的检测模块需要不断升级,后期的维护成本高,对检测设备的处理能力要求较高
- 应用控制技术
- 流量整形技术
- 根据数据流识别的结果,对数据流量采用阻塞、随机丢包、或者提供QoS保证等方式,对符合策略控制条件的数据流进行流量管理和资源调度,达到流量控制的目的
- 连接干扰(TCP)
- 连接干扰—根据数据流识别的结果,针对TCP流量,复制数据流的IP五元组信息,并交换源/目的IP、端口,伪造成为数据流连接的对端,发送标准的TCP Reset/FIN数据包,中断该数据流连接,或者引发TCP重传,达到流量控制的目的
- 信令干扰(UDP)
- 信令干扰—针对UDP流量,由于UDP为无状态协议,所以无法从4层对数据流进行干扰,只能通过7层的协议信令进行干扰,达到流量控制的目的
- 应用控制技术对比
- 识别控制组网模式
- 直路串联流控模式(透明模式部署、路由模式部署)
- 串联在网络中(流量的必经之路上),控制方式直接,可以灵活的针对不同流量使用不同的策略
- 串联使控制设备成为被控网络的一部分,会影响到整个被控链路
- 旁路干扰流控模式(旁路部署,需要网络中的流量镜像到控制设备中,通过伪造数据包,将干扰数据包发送给通信的终端设备)
- 旁路部署在网络中(不是流量的必经之路上)
- TCP截断,通过伪造并发送TCP RST报文来截断TCP连接
- TCP降速,通过伪造并发送特殊sequence报文来减小TCP的滑动窗口值
- UDP截断,通过伪造并发送P2P应用层特殊控制命令方式来截断UDP连接
- UDP降速,通过伪造并发送P2P应用层特殊控制命令方式来降低UDP连接的传送速率
- 优点是对链路的影响较小,可扩展性强
- 缺点是只能对应的使用连接干扰、信令干扰技术进行数据流控,控制能力收到影响
- 网络流量控制系统
- 流量分类
- 按照不同的优先级或控制策略,将数据包注入到不同队列
- 队列管理
- 网络传输节点中队列缓冲资源的管理和分配,即缓冲管理
- 通过控制队列的平均深度来避免拥塞发生
- 分组调度
- 根据分组的上下文和粒度确认它所在的队列,分组进入相应队列排队等候,直至调度器将其选择发送
- 可以控制不同类型的分组对链路带宽的利用,使不同的数据流得到不同等级的服务
- 流量整形
- 使经过网络瓶颈的数据包平缓的注入主干网,减少数据包在边缘网关排队等待的时间,从而减少边缘网关缓存的大小和数据包丢失率
- 流量整形主要采用两种基本方法:漏桶算法和令牌桶算法
SangFor流控解决方案
- 流量是别更全、更准
- 更人性化的流量管控策略
- 从单级策略到多级策略,支持多层队列嵌套,策略指定更加灵活
- 从静态策略到动态策略,用户体验最大化
- 从一刀切封堵到疏堵结合,兼顾业务体验
SangFor流控原理
- 流控缓存
- 即Qos中的流量整形,通过缓存数据流,来解决丢包问题
- 流控缓存虽然可以一定程度上解决减轻丢包问题,但是相应的也会增加数据包的延时
- 队列调度(HTB分层令牌桶)
- 可以使每个连接的数据包得到公平的调度,支持队列的嵌套,在一个队列中,还可以细分子队列
- 可以避免因为某个连接速率国过高,占用较多带宽,导致其他连接得不到带宽的问题
- 单用户流量的公平调度(UCFQ:User & Conn Fair Qdisc)
- 对当前有流量的用户进行公平调度,而不是根据在线用户进行带宽分配
- 对用户流量进行公平调度,可以避免某个用户的流量很大,占用较多带宽,导致其他用户 分配不到带宽使用,可以保障同一通道的用户流量可以平均分配
- 通过应用识别技术对流量进行分类,匹配对应的通道后,对需要流控的数据打标记并放入流控缓冲区
- 数据从缓冲区转发出去,是通过队列进行调度转发的,HTB通过流控通道设置对进行数据转发,从而实现流控
- HTB可以实现对父子通道进行流控设置
P2P智能流控技术
- P2P的流量上传速度和下载速度是具有正相关性的,即上传速度越大,下载速度也越大
- 通过抑制上传的流量,以此达到控制下载速度的效果
- 传统的流控技术,只是减少了内网接收到带宽,但是无法减少公网的P2P数据流量占用的带宽。SangFor的P2P智能流控技术则可以有效的减小公网侧接收P2P流量的带宽。空闲下来的带宽就可以分配给业务流量使用
动态流控技术
- 通过设定阈值来区分空闲和繁忙状态,当整体带宽的利用率低于阈值时,通道的最大带宽限制将会上浮,直到整体利用率超过阈值,才会回收上浮部分,实现带宽利用率的最大化
- 在繁忙时期,为业务流量预留足够的带宽保障,将其他流量限制在很小的带宽中。当业务流量减少后,带宽得到空闲,此时其他流量的会占用空闲的带宽,进行流量转发
流控黑名单
- 为每个用户配置限额,当某个用户应用的流量、流速、时长超过了限额
- 首先会将该用户业务无关的应用流量划分到流量惩罚通道中进行限速
- 然后会将该用户必要的业务流量划分进保障通道,保障业务不受影响
- 合理分配带宽,更加人性化,提高了用户体验
流控通道匹配及优先级
- 流控通道匹配过程
- 同级通道从上往下匹配
- 匹配到父通道后,如果有下一级子通道,则继续往下级匹配,直到匹配到最后一级
- 如果无法匹配到任何自定义通道,则匹配到所在级别的默认通道
- 流控通道优先级
- 保证通道和限制通道都可以设置优先级
- 优先级别相同时,如果都需要借用带宽,则按照保证带宽的比例借用
- 优先级别不同,都需要借用带宽时,带宽优先给优先级高的通道使用,剩下的带宽才给低级别的通道借用
【AC 流量管理实验】
以上内容均属原创,如有不详或错误,敬请指出。
本文链接: http://t.csdn.cn/ive91