QoS(Quality of Service)即服务质量。指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率、网络抖动等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率、降低网络抖动值等措施来提高服务质量。限流是Qos中常用的一种技术手段
Meter表限速
1.原理简介
Meter表限速是SDN的限速方式。OpenFlow 1.3版本中增加了对单个数据流的计量功能,使得OpenFlow能够实现简单的QoS服务(例如流量限速),并且可以结合每个端口队列来实现更复杂的QoS框架(例如DiffServ)
Meter表的字段
- Meter Identifier 32位的无符号整数,用来唯一识别该计量表项
- Merter Bands 由计量带组成的无序列表,其中每个计量带都指明了其速率及处理数据包的方式
- Counters 用于在报文被计量表项处理时更新相关计数
每个计量表项可能具有有一个或多个计量带,每个计量带都指定了其所适用的速率和数据被处理的方式。每个Meter Band指明了带宽速率以及对数据包的处理行为。数据包基于其当前的速率会被其中一个Meter Band来处理。
Meter Band详细字段:
- Band Type 定义了数据包怎样被处理(drop,dscp remark)
- Rate 用于选择计量带,定义了带可以运行的最高速率
- Counters 当数据报文被计量带处理时,更新计数器
- Type specific arguments 带类型的可选参数
下发meter表
ovs-ofctl add-meter s1 meter=1,kbps,band=type=drop,rate=5000 -O OpenFlow13
Meter表名称:s1
Meter表id:1
Rate:最大速率
Band=type=drop:超出速率处理方式丢弃
查看流表转发端口:ovs-ofctl show s1