Copyright © 2022 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
伴随网络环境的复杂化,网络存在易被攻击者窃听、恶意修改并转发的风险。其中,Dos(Denial of Service,拒绝服务)攻击是一种常见的网络攻击行为,攻击者利用网络协议漏洞,使用来源不明的报文进行泛洪,达到消耗被攻击网络资源、带宽的目的,进而加重处理器的负担,使正常的用户请求得不到响应。
控制上送CPU的报文数量是保证CPU正常运转的重要方法,协议限速通过对上送CPU的协议报文设置限速值,从而避免协议报文占用过多的CPU资源,使合法服务请求得到及时处理。
协议限速功能支持基于协议的报文限速和基于流的协议报文限速两种方式,该功能具有如下优势:
· 基于协议的报文限速:限制指定协议报文的最大传输速率,超过阈值的流量会被丢弃,从而减少网络拥塞。
· 基于流的协议报文限速:对同一个源IP或源MAC的指定协议报文进行限速。同时,对用户的指定协议报文的流量进行统计,为网络管理员判断用户流量是否异常提供依据。
· 有效防范设备受到泛洪攻击和DoS攻击,保证控制平面在遭受攻击或者大流量的情形下维护正常的转发和协议状态。
MAC地址(Media Access Control,媒体访问控制位址),网络设备的硬件地址,网络中设备的唯一标识。源MAC地址指报文发送端的MAC地址。
IP地址(Internet Protocol Address,互联网协议地址),IP协议提供的统一的地址格式,为互联网上的每一个网络和每一台设备分配一个逻辑地址。源IP地址指报文发送端的IP地址。
DOS攻击:故意攻击网络协议的实现缺陷或直接发送大量协议报文耗尽被攻击对象的资源,使被攻击对象无法提供正常的服务或资源访问。
令牌桶(Token Bucket):一种对流量规格进行评估的技术,可以看作是一个存放一定数量令牌的容器。每到达一个报文进行一次评估,如果桶中获得足够的令牌可供使用,则说明流量控制在允许的范围内,此时从桶中获得满足报文转发的令牌;超规格流量被丢弃。
CIR(Committed Information Rate,承诺信息速率):系统向令牌桶内放置令牌的速率,单位kbps。
设备支持开启所有协议或指定协议的报文限速功能。目前支持对表1所示的协议泛洪攻击进行有效防范。具有包含关系的报文类型以最后识别出的协议类型归类,如:最后识别为应用层HTTP报文,则不归类为IP报文。
协议类型 |
描述 |
acsei |
ACSEI(ACFP Client and Server Exchange Information,ACFP客户端和服务器端信息交互协议)协议报文 |
arp |
ARP协议报文 |
capwap_ctrl |
CAPWAP协议中的控制报文 |
capwap_data |
CAPWAP协议中的数据报文 |
dhcp |
DHCP协议报文 |
dot11_action |
802.11 ACK确认报文 |
dot11_assoc |
802.11关联请求报文 |
dot11_auth |
802.11认证报文 |
dot11_ctrl |
802.11其他类型报文 |
dot11_deauth |
802.11解除认证报文 |
dot11_disassoc |
802.11取消关联请求报文 |
dot11_null |
802.11空数据报文 |
dot11_reassoc |
802.11重关联请求报文 |
dot1x |
802.1X认证报文 |
ethernet |
未被识别为表中其他协议类型的报文都会被识别为以太报文 |
http |
HTTP协议报文 |
iactp |
IACTP(Inter Access Controller Tunneling Protocol,访问控制器隧道协议)协议报文 |
icmp |
ICMP协议报文 |
icmpv6_nd |
ICMPv6邻居发现协议报文 |
icmpv6_other |
除ICMPv6邻居发现协议外的其他ICMPv6协议报文 |
igmp |
IGMP协议报文 |
ip |
IPv4协议报文 |
ipv6 |
IPv6协议报文 |
ntp |
NTP协议报文 |
openflow |
SDN(Software Defined Network,软件定义网络)架构中,定义控制器与转发层的之间的通信接口标准 |
portal_syn |
Portal重定向报文 |
radius |
RADIUS协议报文 |
snmp |
SNMP协议报文 |
tcp |
TCP协议报文 |
telnet |
Telnet协议报文 |
udp |
UDP协议报文 |
vrrp |
VRRP协议报文 |
协议报文的最大传输速率、流速率指限制指定协议报文每秒传输数据包(pps)的数量,不是比特流(bps)。
基于协议的报文限速支持对所有协议或指定协议的报文限速。开启本功能后,对报文的最大传输速率进行限速:
· 协议报文每秒传输数据包数量≤协议报文的最大传输速率,报文交由控制层面进行处理。
· 协议报文每秒传输数据包数量>协议报文的最大传输速率,丢弃报文。
本文以ARP报文为例,介绍基于协议的报文限速机制。令牌桶内的实时令牌数量由协议报文的最大传输速率和令牌生成周期共同决定。假定令牌桶内的实时令牌数量为3个,此时设备接收到4个ARP报文,则前3个ARP报文获得令牌,继续交由CPU进一步处理(如判断是否回应、学习ARP报文中的源MAC、源IP等);第4个报文无法获得令牌,设备直接丢弃报文。
图1 基于协议的报文限速示意图
设备开启基于流的协议报文限速功能后,协议报文首先按照流速率进行限制,然后按照报文的最大传输速率进行限制。具体工作流程如下:
(1) 依据源IP地址或者源MAC将指定协议报文进行分流;
(2) 对协议报文按照流速率进行限制:
¡ 协议报文每秒传输数据包数量≤指定协议报文的流速率,报文被进一步处理。
¡ 协议报文每秒传输数据包数量>指定协议报文的流速率,此协议报文将被设备丢弃。
(3) 按照报文的最大传输速率进行限制,其工作流程请参见“2.2.2 1. 基于协议的报文限速”。
本文以ARP报文为例,介绍基于流的协议报文限速机制:
(1) 设备按照源IP地址或者源MAC将ARP业务分为多条流;
(2) 每条流各自进行基于流的协议报文限速。令牌桶内的实时令牌数量由指定协议报文的流速率和令牌生成周期共同决定。若从令牌桶内获得满足协议报文转发的令牌,继续进行步骤(3),未获得令牌的报文被设备丢弃。
(3) 进行基于协议的报文限速,按照指定协议报文的最大传输速率进行限制。
图2 基于流的协议报文限速示意图
AC上配置协议限速功能支持两种方式:
· 开启基于协议的报文限速,限制指定协议报文的最大传输速率;
· 同时开启基于流的协议报文限速和基于协议的报文限速功能,首先对指定协议报文的流速率进行限制,其次对协议报文的最大传输速率进行限制。
开启协议限速功能后,能有效防范泛洪攻击,保护用户的正常访问需求。
图3 协议限速典型组网图