• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

09-TSN配置指导

目录

01-802.1Qbv配置

本章节下载 01-802.1Qbv配置  (534.25 KB)

01-802.1Qbv配置


1 802.1Qbv

1.1  802.1Qbv简介

TSN(Time Sensitive Network,时间敏感网络)是以以太网为基础的新一代网络标准。它为以太网协议的MAC层提供一套通用的时间敏感机制,以实现语音、视频、工业自动化指令等关键数据在以太网中的低时延、高可靠的确定性传输。TSN标准主要包括时钟同步、流量控制、可靠性、安全等部分。802.1Qbv(Enhancements to Traffic Scheduling)协议属于TSN协议族中流量控制部分。

用户根据网络中运行的关键业务,分析这些关键业务的流特征和运行时间,通过802.1Qbv功能,让指定的关键业务进入指定的接口转发队列,再灵活、周期地调度这些队列来实现设备在转发这些关键业务流量时零拥塞丢包。在整个TSN网络部署802.1Qbv功能,使得关键业务流量在经过TSN网络时转发时延控制在微秒级别。

1.1.1  应用场景

图1-1所示,Endpoint 1需要向Endpoint 2下发指令,控制Endpoint 2的开、关等参数,Endpoint 1发出的指令需要穿越以太网到达Endpoint 2;Endpoint 3和Endpoint 4之间正在举行重要的视频会议,双向视频流均对网络时延和时延抖动的要求都很高。而以太网具有时延不确定性甚至拥塞丢包的风险,在Device 1、Device 2、Device 3和Device 4部署802.1Qbv功能,其中在入接口匹配流,在出接口进行队列调度和报文转发,能够使得关键业务流从发送者到达接收者时,时延控制在微秒级别内,为网络上点对点之间实时性传输提供重要保证。

图1-1 802.1Qbv应用场景示意图

 

1.1.2  基本概念

1. 转发队列

为了避免网络拥塞导致的报文丢失,接口芯片使用转发队列来发送报文。每个接口有8个转发队列,队列编号从0~7。当接口需要发送报文时,先根据一定的规则让报文进入对应的队列,对于同一队列中的报文,先进入的报文优先转发。

2. TSN流

TSN流是TSN网络中需要实现确定性传输的关键业务流量。接口收到报文后,根据流特征来判断该流量是否为TSN流,流特征参数包括报文的源MAC地址、目的MAC地址、VLAN ID等。指定的参数越多,匹配越精准。

3. 802.1Qbv控制链表

TSN流转发调度控制链表用于实现接口转发队列的调度以及报文的转发。

802.1Qbv控制链表中最多包含16个节点。节点是一个逻辑概念,每个节点定义了三个属性,通过这三个属性完成一次节点的执行操作:

·     节点编号:控制链表中最多可以定义16个节点,节点对应的编号为1~16。802.1Qbv按照节点编号从小到大的顺序依次调度。

·     队列开关状态:接口转发队列的开关状态用一个8比特的二进制字符串(XXXXXXXX)表示,按照从右到左的顺序,右边第一位表示队列0的开关状态,右边第二位表示队列1的开关状态,以此类推。当某个比特位取值为0时,表示关,即不允许发送该队列中的报文;当某个比特位取值为1时,表示开,即允许发送该队列中的报文。

图1-2 队列开关状态示意图

·     开关状态持续的时长:节点中接口转发队列开关状态的持续时间,当该时间到达,则继续执行下一个节点,切换到下一个节点中的队列开关状态。

图1-3所示,用户自定义了节点1~5的队列开关状态和开关状态持续的时长。

图1-3 TSN流转发调度控制链表示意图

 

4. 保护带(Guard band)

图1-3所示,802.1Qbv保护带是TSN流转发调度控制链表中两个节点中间的缓冲带。

每8个位组成1个字节。多个字节组成一个数据帧。以太网传输数据是以帧为单位的。保护带用于确保设备在进行802.1Qbv转发队列调度时,能完整转发当前正在发送的数据帧。例如当接口正在转发802.1Qbv特征流,某个数据帧被发送了一半,转发队列开关状态持续的时长到达,此时:

·     如果802.1Qbv保护带功能处于关闭状态,则802.1Qbv会立即执行下一个节点,当前正在发送的数据帧内容被截断,剩余的内容可能被丢弃,或者需要等到下一个轮询周期,才能被发送。

·     如果802.1Qbv保护带功能处于开启状态,则802.1Qbv会将这个数据帧的剩余部分发送完毕后,再执行下一个节点。

·     保护带设备出厂时已经确定,不支持通过命令行配置。

5. 循环时间(Cycle time)

图1-3所示,802.1Qbv周期执行控制链表,循环时间是系统执行一次控制链表的时长。802.1Qbv开始执行第一个节点时,开始计时,按顺序执行控制链表。当循环时间到达,会自动重新从第一个节点开始执行控制链表。

请合理规划循环时间:

·     如果循环时间小于控制链表中所有节点的“开关状态持续的时长”加上所有节点间的保护带时间之和,会导致部分节点始终无法执行,如图1-4所示。

图1-4 循环时间设置过小示意图

 

·     如果循环时间大于控制链表中所有节点的“开关状态持续的时长”加上所有节点间的保护带时间之和,如图1-5所示,在多余的时间t内,首先未配置的节点(16-已配置节点数4)会自动执行队列的缺省开关状态,且每个节点持续时间为262136ns,在超过这段时间后剩余的t-4*262136ns时间内,会按芯片默认转发。(队列的缺省开关状态可通过命令行配置,缺省值为11111111,即发送所有队列的报文)

图1-5 循环时间设置过小示意图

 

6. 基础时间(Base time)

接口开始执行802.1Qbv转发队列调度策略的时间。

基准时间用来计算设备何时执行调度算法。例如,用户计划在2020年3月18日12:00:00开始执行802.1Qbv调度算法,需要先计算这个时间和1970年1月1日00:00:00的时间差,并换算成PTP时间格式(秒加纳秒的形式),用换算出的秒和纳秒进行配置。

1.1.3  802.1Qbv和PTP

为了实现TSN流的确定性传输,TSN网络内所有TSN设备必须协同工作,即各TSN设备允许TSN流通过的时间点相同(对应基础时间),且允许通过的时长(对应开关状态持续时长)相等,时间精度要求达到纳秒级别。基于这个要求,所有TSN设备在传输TSN流之前必须使用PTP技术达到时间同步。有多种协议可以实现PTP时间同步,在TSN组网环境,建议使用IEEE 802.1AS协议。

PTP(Precision Time Protocol,精确时间协议)是一种时间同步的协议,可用于设备之间的高精度时间同步和频率同步。PTP的时间同步精度为亚微秒级。PTP的相关介绍请参见“网络管理和监控配置指导”中的“PTP”。

1.1.4  配置管理

要实现流量在整个TSN网络的确定性传输,则要求所有TSN设备上的流量调度机制和生效时间必须一致。同时,也为了避免误配置对流量造成影响,802.1Qbv将配置分为两类:

·     运行配置(Oper):当前正在运行的配置。

·     预配置(Admin):对当前配置进行修改,期望生效的配置。

管理员在接口视图下执行TSN命令后,这些配置不会立即下发生效,而是作为预配置保存在临时缓冲区。

管理员开启预配置生效开关或者开启端口的802.1Qbv功能都会触发下发预配置。

1.1.5  工作机制

802.1Qbv的工作流程为:

(1)     设备系统时间达到基础时间,开启802.1Qbv功能。

(2)     根据流特征对接口收到的报文进行分类,并根据配置的CoS值,进入对应的转发队列。

(3)     根据控制链表的每个节点中队列开关状态来控制队列的开启、关闭,队列开关状态的持续时长,来发送或者禁止发送每个队列中的流量,以及发送、禁止发送的时间。

(4)     循环执行控制链表,按规律发送TSN流。

TSN技术以时间同步为基础。通过网络规划,先让TSN网络中的所有设备达到微秒级别的时间同步,然后每台设备上部署相同的802.1Qbv配置,让TSN流量在所有的TSN设备上进入同样的队列,队列的开关状态和开关时间相同,达到TSN流在TSN网络可以线性转发的效果。

1.2  802.1Qbv配置限制和指导

开启802.1Qbv功能后,如需修改802.1Qbv参数,需要先关闭802.1Qbv功能。

如果使用tsn qbv control-list命令配置了802.1Qbv控制链表,则要求控制链表中的节点必须从1号节点开始,且序号是连续的,否则,无法开启预配置生效开关。

1.3  802.1Qbv配置任务简介

802.1Qbv配置任务如下:

(1)     配置802.1Qbv基础时间

(2)     配置TSN流特征

(3)     配置控制链表

(4)     (可选)开启802.1Qbv保护带功能

(5)     (可选)配置802.1Qbv循环时间

(6)     开启802.1Qbv功能

(7)     开启预配置生效开关

要使802.1Qbv配置生效,该步骤必选。

1.4  配置准备

在配置802.1Qbv功能前,请先配置PTP功能,使用IEEE 802.1AS协议使得TSN网络中的所有TSN设备完成时间同步。PTP的相关配置请参见“网络管理和监控配置指导”中的“PTP”。

1.5  配置802.1Qbv基础时间

1. 功能简介

802.1Qbv基础时间是TSN流按照802.1Qbv调度算法开始调度的时间,此时间要大于当前时间,配置前需要换算成相对于1970年1月1日00:00:00的相对时间,以PTP的时间格式(由秒和纳秒两部分组成)配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     配置基础时间。

tsn qbv base-time seconds second-value nanoseconds nanoseconds-value

缺省情况下,未配置802.1Qbv调度接口转发队列的基准时间,即不执行802.1Qbv队列调度。

1.6  配置TSN流特征

1. 功能简介

流特征是设备识别TSN流的基础,包括报文的目的、源MAC、VLAN等信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置TSN特征流。

tsn flow flow-id { destination-mac dmac-address | source-mac smac-address | vlan vlan-id | vlan-priority vlan-priority-value } *

缺省情况下,未配置TSN流特征。

1.7  绑定TSN流特征

1. 功能简介

在接口绑定流特征及优先级COS后,可以对特定的TSN流按调度方式转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     在接口下配置802.1Qbv流特征。

tsn qbv bind flow flow-id [ cos cos-value ]

缺省情况下,接口下未绑定流特征。

1.8  配置控制链表

1. 功能简介

TSN流经过设备,能在确定的时间内转发出去,和控制链表的配置有关,每个控制链表的节点对应一个端口八个转发队列开关状态和该状态持续时间,打开TSN流所在队列的开关,关闭非TSN流所在队列的开关,将开关状态持续时间配置为TSN流的传输时间,通过该配置,保证TSN流优先转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置802.1Qbv队列缺省开关状态。

tsn qbv gate-state states states

缺省情况下,端口802.1Qbv队列为全开状态。

(4)     配置TSN流转发调度控制链表。

tsn qbv control-list { index index gate-state states interval interval-value }&<1-15>

缺省情况下,未配置TSN流转发调度控制链表。

1.9  开启802.1Qbv保护带功能

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     配置接口802.1Qbv保护带功能。

tsn qbv guard-band enable

缺省情况下,802.1Qbv保护带功能处于关闭状态。

1.10  配置802.1Qbv循环时间

1. 配置限制和指导

请根据“开关状态持续的时长”和“保护带”来确定循环时间的大小:

·     如果将控制链表中所有节点执行完毕所需的时间小于循环时间,未配置的节点先会自动执行队列的缺省开关状态发送报文,且每个节点持续时间为262136ns;如果此时循环时间还没到达,报文会按芯片默认转发,直到循环时间到达,再重新开始执行控制链表。

·     如果控制链表中所有节点执行完毕所需的时间大于或等于循环时间,则循环时间到达,会重新开始执行控制链表,可能导致部分节点无法执行。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     配置循环时间。

a.     tsn qbv cycle-time numerator numerator-value denominator denominator-value

b.     缺省情况下,802.1Qbv流转发调度控制链表的轮询周期为0,表示不循环执行流转发队列调度。

1.11  开启802.1Qbv功能

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     端口开启802.1Qbv功能。

tsn qbv enable

缺省情况下,端口的802.1Qbv功能处于关闭状态。

1.12  开启预配置生效开关

1. 功能简介

管理员在接口视图下执行TSN命令后,这些配置不会立即下发生效,而是作为预配置保存在临时缓冲区。

管理员开启预配置生效开关或者开启端口的802.1Qbv功能命令都会触发下发预配置,但要使预配置下发成功,必须确保预配置生效开关和端口的802.1Qbv功能均处于开启状态。

TSN预配置下发后,接口的预配置生效开关会恢复到关闭状态。如果后续再修改TSN配置,要使修改后的TSN配置生效,需要重新开启预配置生效开关。

执行display tsn qbv interface命令,显示信息中的Admin类参数表示TSN预配置,Oper类参数表示当前生效的TSN配置。

2. 配置限制和指导

如果配置本功能前,使用tsn qbv control-list命令配置了节点,则要求配置的节点必须从1号节点开始,且序号是连续的,否则,本功能配置失败。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     开启预配置生效开关。

tsn qbv config-change

缺省情况下,接口的预配置生效开关处于关闭状态。

1.13  802.1Qbv显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后802.1Qbv的配置信息。

表1-1 802.1Qbv显示和维护

操作

命令

显示TSN流流经本设备的传输时延

display tsn bridge-delay ingress-port interface-type interface-number egress-port interface-type interface-number cos cos-value

 

显示接口绑定的TSN流信息

display tsn qbv flow interface [ interface-type interface-number ]

 

显示802.1Qbv全局信息

display tsn qbv global

 

显示接口的802.1Qbv相关信息

display tsn qbv interface interface-type interface-number

 

 

1.14  802.1Qbv典型配置举例

1.14.1  802.1Qbv基础配置举例

1. 组网需求

图1-6所示,控制中心以1毫秒为周期循环向监控网点发送指令,为确保指令准确抵达终端,在Device A和Device B上分别开启802.1Qbv功能,实现周期性TSN流的确定性传输:

(1)     Controller(MAC地址为10-10-10)向Terminal 1(MAC地址为1-1-1)发送指令,传输指令所需时间为200000纳秒。

(2)     Controller向Terminal 2(MAC地址为2-2-2)发送指令,传输指令所需时间为250000纳秒。

(3)     Controller向Terminal 3(MAC地址为3-3-3)发送指令,传输指令所需时间为100000纳秒。

2. 组网图

图1-6 802.1Qbv基础配置组网图

3. 配置准备

请先配置PTP功能,使用IEEE 802.1AS协议使得TSN网络中的所有TSN设备完成时间同步。PTP的相关配置请参见“网络管理和监控配置指导”中的“PTP”。

4. 配置Device A

# 配置TSN流特征,Controller(MAC地址为10-10-10)发往Terminal 1(MAC地址为1-1-1)的报文进入队列0,Controller发往Terminal 2(MAC地址为2-2-2)的报文进入队列1,Controller发往Terminal 3(MAC地址为3-3-3)的报文进入队列3。(队列2一般用于转发普通业务报文)

<DeviceA> system-view

[DeviceA] tsn flow 1 source-mac 10-10-10 destination-mac 1-1-1

[DeviceA] tsn flow 2 source-mac 10-10-10 destination-mac 2-2-2

[DeviceA] tsn flow 3 source-mac 10-10-10 destination-mac 3-3-3

# 将TSN流特征和入接口GigabitEthernet1/0/1绑定。TSN流1的报文进入队列0,TSN流2的报文进入队列1,TSN流3的报文进入队列3。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] tsn qbv bind flow 1 cos 0

[DeviceA-GigabitEthernet1/0/1] tsn qbv bind flow 2 cos 1

[DeviceA-GigabitEthernet1/0/1] tsn qbv bind flow 3 cos 3

[DeviceA-GigabitEthernet1/0/1] quit

# 配置802.1Qbv调度接口转发队列的基准时间。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] tsn qbv base-time seconds 1583157272 nanoseconds 1000

# 配置TSN流转发队列调度控制链表的循环时间为1毫秒。

[DeviceA-GigabitEthernet1/0/2] tsn qbv cycle-time numerator 1 denominator 1000

# 配置控制链表:节点1用于控制Controller发往Terminal 1的报文,队列开关状态为1(对应的二进制数为00000001),开关状态持续时长为200000纳秒;节点2用于控制Controller发往Terminal 2的报文,队列开关状态为2(对应的二进制数为00000010),开关状态持续时长为250000纳秒;节点3用于控制Controller发往Terminal 3的报文,队列开关状态为8(对应的二进制数为00001000),开关状态持续时长为100000纳秒。

[DeviceA-GigabitEthernet1/0/2] tsn qbv control-list index 1 gate-state 1 interval 200000 index 2 gate-state 2 interval 250000 index 3 gate-state 8 interval 100000

# 配置接口转发队列的缺省开关状态为242(对应的二进制数为11110010),即在传输非TSN流的时候,不传输TSN流,以免网络拥塞时,可能导致TSN流丢包。

[DeviceA-GigabitEthernet1/0/2] tsn qbv gate-state 242

# 开启GigabitEthernet1/0/2的802.1Qbv功能。

[DeviceA-GigabitEthernet1/0/2] tsn qbv enable

# 开启GigabitEthernet1/0/2的预配置生效开关。

[DeviceA-GigabitEthernet1/0/2] tsn qbv config-change

[DeviceA-GigabitEthernet1/0/2] quit

5. 配置Device B

配置完全同Device A,不再赘述。

6. 验证配置

# 显示Device A上802.1Qbv接口的详细配置信息。

[DeviceA] display tsn qbv interface gigabitethernet 1/0/2

TSN scheduled traffic processing configuration:

802.1Qbv                : Enabled

Admin gate states     : 11110010

Oper gate states      : 11110010

Current time           : 23404 sec  168597608 ns

UTC                      : 14:30:12 2021/01/01

Admin cycle time (sec):

  Numerator             : 1

  Denominator           : 1000

Oper cycle time  (sec):

  Numerator             : 1

  Denominator           : 1000

AdminCycleTimeExtension    : 0 ns

OperCycleTimeExtension     : 0 ns

Admin base time        : 1583157272 sec    1000 ns

Oper base time         : 1583157272 sec    1000 ns

Config change          : False

Config change time    : 1583157272 sec    1000 ns

TickGranularity        : 80

ConfigPending          : False

Config change Error   : 0

SupportedListMax       : 16

SupportedCycleMax time (sec):

  Numerator             : 34

  Denominator           : 1

SupportedIntervalMax  : 262136

Admin control List:

  Index   GateStates   Interval(ns)

  1        00000001     200000

  2        00000010     250000

  3        00001000     100000

Oper control List:

  Index   GateStates   Interval(ns)

  1        00000001     200000

  2        00000010     250000

  3        00001000     100000

# 显示Device A上802.1Qbv流特征的详细配置信息。

[DeviceA] display tsn qbv flow interface gigabitethernet 1/0/1

Interface  Flow ID  Source MAC        Destination MAC  VLAN  VLAN pri  CoS

GE1/0/1    1          0010-0010-0010   0001-0001-0001   --     --         0

GE1/0/1    2          0010-0010-0010   0002-0002-0002   --     --         1

GE1/0/1    3          0010-0010-0010   0003-0003-0003   --     --         3

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们