基于FAST的TSN交换(2)基于FAST的TSN交换模型
发布时间:2019-1-14
在802.1Q-2014定义的以太网交换基本模型基础上,针对TSN的特定需求,802.1Qci和802.1Qbv修订对交换模型中分(fēn)组输出缓存的入队列操作和出队列调度机制进行了扩展,通过使用(yòng)门控时间列表等机制对时间敏感分(fēn)组入队和出队操作进行了限制。
FAST 3.0的流水線(xiàn)可(kě)以在保持现有(yǒu)模块不变前提下,通过按需扩展插入新(xīn)的模块支持用(yòng)户定制的功能(néng),因此可(kě)以方便地将TSN交换处理(lǐ)流程映射到FAST流水線(xiàn)上实现。
一、TSN交换处理(lǐ)流程
(1)标准以太网交换流程
802.1Q-2014定义了标准以太网的交换流程,如下图所示。处理(lǐ)流程主要包含10个模块,每个模块的功能(néng)见下表。
802.1Q规范没有(yǒu)明确定义流量测量的粒度,无法对进入网络的流量进行细粒度的测量和管控。虽然支持多(duō)种输出调度算法,但更多(duō)是保证输出调度的优先级,或者按照预先确定的权值分(fēn)配不同优先级队列占用(yòng)的输出带宽,在调度中没有(yǒu)利用(yòng)全局时间信息,无法实现确定性的延时控制。软件定义网络技术的应用(yòng)可(kě)以简化交换流程,将生成树管理(lǐ)以及地址學(xué)习功能(néng)上载到控制器上实现,可(kě)以针对每条细粒度的流定义交换行為(wèi),但也难以实现确定性的延时控制。
图1 标准的帧交换流程及其TSN扩展
(2)TSN对以太网交换流程的扩充
针对确定性交换的目标,TSN主要在时间同步(802.1AS)、单流的过滤和管控(802.1Qci,Per-Stream Filtering and Policing),时间敏感流量的调度(802.1Qbv Enhancement for scheduled traffic)以及帧剥夺(802.1Qbu)四个方面对标准以太网交换流程进行增强,除了时间同步标准外,其他(tā)三个标准都成為(wèi)802.1Q的修订,并合并到最新(xīn)的802.1Q-2018中。
时间同步机制采用(yòng)IEEE 1588的PTP协议,為(wèi)分(fēn)组进入队列和输出调度的时间门控逻辑提供精确的全局同步时间。
TSN在转发流程中扩充的单流过滤和管控(PSFP)机制主要实现三个功能(néng),一是单流测量,使用(yòng)令牌桶机制测量到达的每条流得流量和最大帧長(cháng)度是否超过预定合约;二是时间门控队列选择机制,即将全局时间(分(fēn)组到达的时刻)加入队列选择算法中考虑,重新(xīn)计算分(fēn)组内部优先级,并根据内部优先级而不是分(fēn)组VLAN头或IP头中携带的外部优先级选择输出队列号;三是入队测量,基于令牌桶机制对进入特定队列的流量进行测量,保证进入相应队列缓存的分(fēn)组流量满足一定的合约。
输出时间门控机制将全局时间用(yòng)于输出调度,对于保存时间敏感帧的特定队列,是有(yǒu)在制定时刻才会打开。输出门控机制实际上是為(wèi)每个输出队列设置了一个开关,只有(yǒu)开关打开时,队列调度请求才会发送到输出调度模块,该队列中的调度请求才能(néng)被响应。
帧剥夺机制主要是避免低优先级的長(cháng)帧在发送时占用(yòng)输出接口,影响高优先级帧的发送。例如在某个时刻,高优先级队列门的状态由关闭变成打开,因此输出调度逻辑可(kě)调度该队列中的高优先级帧发送。若在高优先级队列门打开前,一个低优先级的帧刚刚被调度,则该帧的发送可(kě)以立刻终止,在高优先级帧发送完成后,低优先级的帧可(kě)以继续发送。為(wèi)了使以太网的MAC层支持帧剥夺机制(支持一个帧分(fēn)多(duō)次发送,MAC层负责这些分(fēn)片的重新(xīn)组合),802.3工作组也推出了相应的规范(802.3br)。
二、FAST-TSN实现模型
FAST基本流水線(xiàn)包含协议解析(GPP),关键字提取(GKE),匹配查表(GME),通用(yòng)动作(GAC)和通用(yòng)输出控制(GOE)五个基本的模块,可(kě)為(wèi)TSN交换提供基本的分(fēn)组处理(lǐ)功能(néng)。而时间同步,以及流的测量整型、时间门控和输出调度逻辑分(fēn)别由用(yòng)户定义的PTP UDA、CFQ UDO和PTPUDO模块实现,如下图所示。
图2 基于FAST-TSN交换实现模型
FAST-TSN模型的特点是:
1.在硬件流水線(xiàn)中插入PTP协议处理(lǐ)模块,完全由硬件实现PTP同步帧(sync/delay-req/delay-resp帧)处理(lǐ),不需要软件参与,因此支持频率更高的时间同步操作,可(kě)获取优于100ns的同步精度。
2.将TSN的PSFP机制中的流分(fēn)类和单流测量映射到FAST基本流水線(xiàn)中实现,通过GME实现基于五元组的流分(fēn)类功能(néng),為(wèi)每个分(fēn)组分(fēn)配一个flowID并填写到分(fēn)组的元数据中,后续的GAC、GOE和UDO模块可(kě)以利用(yòng)flowID进行相关的操作。
3.采用(yòng)独立的UDO模块实现核心的TSN门控和调度机制,通过UDO模块的重构可(kě)以支持多(duō)种TSN实现模型,满足不同TSN交换场景的需求。我们实现的CQF-UDO模型可(kě)以保证确定性的端到端交换延时。
我们将在后续文(wén)章中,对TSN的CQF转发模型,以及PTP UDA、PTPUDO以及CFQ UDO模块的功能(néng)实现进行详细介绍。