TSN协议族根据实现功能可以分为:定时与同步、延时、可靠性和资源管理四个类别,往期的时间同步——TSN协议802.1AS介绍一文向大家介绍了定时与同步功能的核心——802.1AS协议,而在基于TSN工具的时间同步分析(七种延时,一次厘清)一文中讨论了评价时间同步精度的七个指标,本文则将介绍实现可靠性功能中的802.1Qci协议。

简介

IEEE 802.1 Qci全称Per-Stream Filtering and Policing(以下使用简称PSFP),即对每个数据流采取过滤和控制策略,以确保输入流量符合规范,从而避免由故障或恶意攻击(如Dos攻击)引起的异常流量问题。本文将通过分析异常流量问题,阐释可行的过滤控制策略,以及为什么Qci推荐使用对每个数据流(Per-stream)的过滤控制策略,最后介绍PSFP的基本工作过程。

异常流量问题

异常流量是指发送端或交换机发送了过多流量,或是在错误的时间发送流量,这样就占用了其他流量的带宽,导致这些流量的带宽和时延都无法保证,甚至会影响到整个网络。

下图展示了基本的异常流量现象,图中T1、T2是两个发送节点,L1、L2、L3作为三个接收节点,B1、B2是两个Bridge设备,红色、绿色分别表示T1、T2发送的数据流;这里T1发送的数据流超出其规定的带宽,导致同样从B1流出的T2数据流受到影响,使得接收节点L3接收数据的带宽和延迟要求没有满足。

为了解决上述的异常流量现象,可以在异常流量进入Bridge设备时采取过滤和控制策略,如下图所示:

图中,在B1输入端口处引入过滤器,过滤器会对经过的异常流量采取限制措施,使得在B1输出端口处各流量均能满足其带宽要求。

过滤和控制策略

在对流量的限制上,有多种过滤和控制策略,按照过滤方式可以分为:

  • 对单个流量过滤(以下简称单流)

  • 对单个流量类(Traffic class)过滤(以下简称单类)

按照控制方式可以分为:

  • 限流
  • 阻断

组合起来就有四种过滤和控制策略,接下来分析这些策略。需要注意的是,过滤和控制都是针对有带宽要求的流量,即不适用于BE(Best Effort)数据流。

1. 单类+限流

如图所示,每个交换节点的输入端口均设置了单类过滤器,在输出端口设置有基于信用的整型器(CBS);图中的红、蓝、绿三种颜色表示的流量均属于同一流量类,因此,在B1的单类过滤器处,由于红色流量发生异常,导致总的流量类带宽为35+20超出40Mbit/s的限额,从而触发限流控制策略,使得红色流量实际输出带宽为30Mbit/s,蓝色流量实际输出带宽变为10Mbit/s;在B2输入端口处,红、绿、蓝流量均满足了单类过滤器的要求,但在输出端口处,红、绿流量之和为30+55超出了75Mbit/s整型要求,使得绿色流量的最终输出变为45Mbit/s。

由此可以看出,单类+限流的过滤控制策略不能隔绝异常流量的影响,在上图中蓝、绿流量自身没有异常但最终仍受到红色异常流量的影响。

2. 单类+阻断

如图所示,通过改变控制方式为阻断,可以确保绿色流量的带宽要求,但蓝色流量因为与红色流量同属一个流量类,因此也被阻断。

再考虑另一情况:

同样是单类+阻断的过滤控制,但是仅红色流量异常变为30Mbit/s,而蓝色流量此时没有数据发送,所以对于B1的单类过滤器无法检测出红色流量的异常;在B2输出端口,由于CBS限制使得红色流量变为25Mbit/s,而绿色流量变为50Mbit/s,由此可以看出单类检测会存在不能彻底检测异常流量的情况,也就无法隔绝异常流量对其他流量的影响。

3. 单流+限流

如图所示,采用单流+限流的方式,成功限制了异常流量,并且其他流量没有受到影响;但是,由于采用限流的方式,这意味着存在选择性丢包的情况,即数据可能发生错误,而接收端会认为接收到的是正常的流量。

4. 单流+阻断

最后是单流+阻断的过滤控制策略,此时,仅有出现异常的流量受到影响,其他流量正常传输。

从以上四种过滤控制策略的对比可以看出,单类过滤仅需要实现更少的过滤器,但无法保证正常流量的带宽和延时要求;与之相对的,单流过滤可以确保仅异常流量受到控制,其他正常流量不受影响,但需要对每个流量都要实现单独的过滤器,这无疑需要更多开销;阻断控制相比限流控制更直接也更安全,一方面确保恶意流量无法进入,另一方面确保流入的数据是完整的。

PSFP支持以上四种过滤控制方式,但推荐采用的是单流过滤和阻断控制的组合,因为此种方式既隔绝异常流量、而不影响网络中其他流量,又能最大程度地保障数据的完整性。

PSFP工作过程

PSFP由图中Stream Filters、Stream Gates和Flow Meters三个表配合完成,下面就来简要介绍它们:

  • Stream Filters,即流过滤器表,每个表项表示某个流对应的过滤器,与下文中的特定门控(Gate)和流量计(Meter)关联;
  • Stream Gates,即流门控表,每个表项表示对某个流采取的门控措施(如,门控状态为关表示禁止对应流量流入);
  • Flow Meters,即流量计表,每个表项表示对某个流的流量统计,当该流量超过了限制带宽则采取限流或阻断的控制。

下面介绍PSFP的基本工作流程:首先流过滤器根据其中定义的流标识(Stream ID)、优先级(Priority)信息,识别出流量是否遵循该过滤器,若由该过滤器控制,根据对应的门控决定是否允许流量流入,若允许流入,则由流量计中参数判断是否超出限额,若超出限额,根据配置决定采用限流还是阻断。

再来考虑PSFP的基本应用场景:

  • 对于未知来源的流量,PSFP通过设置门控关闭,阻止可疑流量流入;
  • 对于已知来源的异常流量,这里的异常表现不限于带宽(带宽超出预留带宽),还包括如:最大数据服务单元(SDU)长度超出要求等,PSFP可以选择阻断或限流;

由此,PSFP通过对入站流量的过滤和控制策略,提高了网络的可靠性。

结语

以上就是本次对802.1Qci协议介绍的全部内容了,总的来说,Qci 提供限制或阻断异常流量的功能,由此提升整体网络的健壮性和安全性。后续会带来更多TSN协议的解读,敬请期待。

此外,北汇信息提供TSN技术Workshop,其中对行业现状及趋势分析、根据应用场景提出TSN网络架构解决方案等内容,将有效地帮助客户迎接下一代E/E架构中时间敏感网络带来的挑战。

北汇信息还是TSN Systems在中国的独家合作伙伴,借助TSN Systems公司专业的TSN网络设备及分析软件,能够为下一代E/E架构中时间敏感网络提供系统级测试解决方案,包括系统设计测试、系统性能测试以及系统鲁棒性测试等。

参考文档:
IEEE Std 802.1Qci-2017
Ingress Policing IEEE 802.1 TSN Plenary November 10-15, 2013 – Dallas, USA
Time-Sensitive Networking (TSN) Profiles https://www.ieee802.org/1/tsn

高可靠性——TSN 802.1Qci协议介绍的更多相关文章

  1. 基于TSN 802.1AS协议的时间同步分析(7种延时,1次厘清)

    前言 往期的时间同步--802.1AS协议介绍一文向大家介绍了802.1AS协议的基本内容,基于时间同步协议就能实现主节点与各从节点的时间同步,但是如何评价时间同步的优劣呢?这就需要我们通过一些时间同 ...

  2. RTP与RTCP协议介绍(转载)

    RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...

  3. TCP/IP 协议介绍

    转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...

  4. 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门研究

    相关学习资料 Linux黑客大曝光: 第8章 无线网络 无线网络安全攻防实战进阶 无线网络安全 黑客大曝光 第2版 http://zh.wikipedia.org/wiki/IEEE_802.11 h ...

  5. RTP与RTCP协议介绍

    转自:http://zhangjunhd.blog.51cto.com/113473/25481/ 本文主要介绍RTP与RTCP协议. author: ZJ   06-11-17 Blog: [url ...

  6. Python基础教程之udp和tcp协议介绍

    Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...

  7. 第二章 ZAB协议介绍

    ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...

  8. [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP       ...

  9. kafka系列四、kafka架构原理、高可靠性存储分析及配置优化

    一.概述 Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cl ...

随机推荐

  1. 看动画学算法之:hashtable

    目录 简介 散列表的关键概念 数组和散列表 数组的问题 hash的问题 线性探测 二次探测 双倍散列 分离链接 rehash 简介 java中和hash相关并且常用的有两个类hashTable和has ...

  2. [bzoj1483]梦幻布丁

    对于每一个颜色用一个链表存储,并记录下:1.当前某种颜色的真实颜色:2.这种颜色的数量(用于启发式合并的判断):3.当前答案(即有几段),然后对于每一个操作简单处理一下就行了. 1 #include& ...

  3. Jmeter BlazeMeter实现web录制

      1. BlazeMeter安装和注册 BlazeMeter是一款与Apache JMeter兼容的chrome插件,采用BlazeMeter可以方便的进行流量录制和脚本生成,作为接口测试脚本编写的 ...

  4. LOJ 3066 - 「ROI 2016 Day2」快递(线段树合并+set 启发式合并)

    LOJ 题面传送门 人傻常数大,需要狠命卡--/wq/wq 画个图可以发现两条路径相交无非以下两种情况(其中红色部分为两路径的重叠部分,粉色.绿色的部分分别表示两条路径): 考虑如何计算它们的贡献,对 ...

  5. Codeforces 1458E - Nim Shortcuts(博弈论+BIT)

    Codeforces 题目传送门 & 洛谷题目传送门 首先看到这样的题我们不妨从最特殊的情况入手,再逐渐推广到一般的情况.考虑如果没有特殊点的情况,我们将每个可能的局面看作一个点 \((a,b ...

  6. DirectX12 3D 游戏开发与实战第七章内容(下)

    利用Direct3D绘制几何体(续) 学习目标 学会一种无须每帧都要刷新命令队列的渲染流程,由此来优化程序的性能 了解另外两种跟签名参数类型:根描述符和根常量 探索如何在程序中生成和绘制常见的几何体, ...

  7. mysql-彻底删除方法

    一.如果是使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): yum remove mysql mysql-server my ...

  8. BeautifulSoup解析库的介绍和使用

    ### BeautifulSoup解析库的介绍和使用 ### 三大选择器:节点选择器,方法选择器,CSS选择器 ### 使用建议:方法选择器 > CSS选择器 > 节点选择器 ## 测试文 ...

  9. Oracle-like 多条件过滤以及and or用法

    1.select * from  file  where DOC_SUBJECT  not like '%测试%' and (DOC_STATUS like '待审' or DOC_STATUS li ...

  10. Java交换数组元素

    Java 交换数组元素 代码示例 import java.util.Arrays; import java.util.Collections; import java.util.List; impor ...