面向列车以太网的FAST-TSN实验环境(3)SD-ETB网络原理
发布时间:2019-02-22
SDN基本特点是转发控制分离和可编程的集中控制。由于列车网络相对封闭,规模有限,因此十分适合SDN技术的应用。由于列车网络在网络连接、拓扑结构和冗余控制方面具有特殊要求,因此无法将现有SDN解决方案(交换机、控制器、协议等)直接应用于ETB的组网,必须针对ETB的特点提出新的处理机制和协议。本文将基于SDN的ETB网络简称为SD-ETB。
一、SD-ETB网络设计原则
(1)ETB和SDN的主要差异
SDN机制无法直接用于ETB组网,主要原因是两种网络在拓扑依赖、控制方式和交换设备模型方面具有较大差异,如下表所示。
表1 ETB和SDN的实现机制比较
|
ETB |
SDN |
网络拓扑 |
线性或环形拓扑 |
网状或树状拓扑 |
控制通道 |
无独立控制通道 |
依赖专用控制通道 |
拓扑发现 |
基于广播(Topology消息)发现拓扑,通过比对拓扑目录校验和来维护分布计算结果的一致性 |
SDN控制器通过发送和接收单播的LLDP消息计算网络拓扑 |
接口配置 |
连接ETB子网的多个接口共享一个IP地址 |
每个网络接口具有独立的IP地址 |
设备IP地址分配 |
初运行时通过分布协议计算出ETBN的IP地址,以及连接和CN子网的前缀 |
在SDN网络初始化之前,管理员需预先配置交换机的IP地址 |
转发表生成 |
通过分布协议在初运行时计算得到 |
由控制器统一下发 |
(2)SD-ETB设计原则
由于ETB和标准SDN网络具有较大差异,因此SD-ETB的设计必须考虑ETB组网的基本特点,满足列车网络对动态重构、冗余控制等特殊要求。我们认为SD-ETB的的设计原则包括以下几点。
一是兼容ETB物理层规范。ETB物理层规范除了定义以太网链路的物理层规范外(全双工100M以太网),还包括车厢之间的物理连接形式。如果每个ETBN采用SDN交换的方式实现,那么ETB定义的车厢间走线形式无法支持每个交换设备通过专用的控制接口与SDN控制器连接,因此标准的SDN基于LLDP协议的拓扑发现机制无法工作,必须提出新的拓扑发现机制。
二是采用动态的IP地址分配形式。ETB规范的特点就是支持具有不同来源的车辆(consist)能够根据需求编组形成新的列车,因此每个车辆中网络设备的IP地址不能预先配置,以防止IP地址冲突。因此ETB在初运行时为每个ETBN和车辆子网(CN)统一分配ID,由这些ID来构成运行时的IP地址。标准SDN网络在建立南向接口通道(如openflow通道)时首先要求每个交换机都有自己的IP地址,而这个假设在ETB中无法成立。由于SDN网络中最大限度减小分布式协议的使用,因此标准ETB网络中基于TTDP协议的全分布式ID分配和IP地址生成机制需要被SD-ETB中新的集中控制的IP地址分配机制取代。
三是SD-ETB部署对端系统和应用保持透明。列车网络上具有大量的网络端节点,这些端节点或直接接在ETB子网上,或接在通过ETB子网互联的各CN子网上。这些端节点上部署各种状态检测、车辆运行控制和多媒体应用。用SD-ETB取代现有ETB只能定位在列车网络基础设施升级,必须对端节点及其应用透明,因此SD-ETB在IP地址编码规则,ARP地址解析、组播通信,传输层协议等方面必须保持与ETB一致。
四是SD-ETB具有增强的冗余控制能力。面向环形拓扑,支持拓扑发现及环网工作状态的自动监测。当链路和交换节点发生故障后,能够实现ms级的转发路径倒换,保证关键业务的不中断传输。特别是SDN控制器应具备冗余功能,避免SDN集中控制带来的单点故障。
五是简化的交换设备(ETBN)实现。SDN将交换设备的可控制功能(智能)提取到控制器上实现,每个ETBN只需支持南向接口协议(如openflow)的配置。因此SD-ETB网络中的ETBN实现与现有ETBN实现有两点区别。一是建立明确的Match-action转发层抽象,为控制器的编程提供基础;二是只支持简单的无状态的网络协议,
二、SD-ETB网络的实现原理
(1)SD-ETB的组成
SD-ETB主要由N个环形连接的软件定义ETBN节点(SD-ETBN)以及两个以上的SD-ETB控制器组成,如图1所示。每个车辆中包含1个或多个SD-ETBN,每个ETBN可能连接1个或多个车辆网络(CN)。ETB网络变成SD-ETB对CN透明。

图1 SD-ETB子网结构图
多个SD-ETB网络控制器通过协商产生一个主SD-ETB控制器,其余作为从SD-ETB控制器。主SD-ETB控制器负责网络拓扑发现,IP地址分配,转发表下载和ETB环检测等功能。每个SD-ETBN设备支持openflow1.3协议,支持SD-ETB控制器对其进行流表的配置。
(2)SD-ETB的核心机制
SD-ETB解决方案的主要机制包含4项关键的处理机制,即环网控制器选举RCE(RingController Election)、环网拓扑发现RTD(Ring Topology Discovery),环网状态遥测RST(Ring StatusTelemetry)以及环网弹性转发RRF(Ring Resilient Forwarding),如下表所示。
机制 |
功能 |
工作原理说明 |
RCE |
在分布在多个车辆中的SD-ETB控制器中选举主控制器 |
(1)初始化时多个控制器间的连接是不存在的(环网还不同),这些控制器首先通过RTD的拓扑发现进行相互发现;
(2)每个车辆只能由一个控制器,选择具有最小CSTUUID的车辆包含的控制器作为主控制器,次小的作为从控制器;
(3)从控制器检测主控制器的状态,必要时发起切换。
(4)控制器切换不影响ETB环的工作 |
RTD |
发现环网中的SD-ETBN设备和拓扑连接关系 |
(1)控制器通过发出RTD消息发起迭代拓扑发现过程;
(2)只有SD-ETBN设备响应RTD消息(包含自己接口数,MAC地址,所在车辆CSTUUID等),CN设备和ED设备不响应RTD消息;
(3)控制器首先通过packet-out分组向直连的SD-ETBN发送RTD消息,然后根据返回的接口信息,再依次向该设备其他接口相连的设备发送RTD消息;
(4)多个控制器可能同时基于RTD发起拓扑探测,在拓扑探测过程中相互发现;
(5)SD-ETBN接受具有最小CSTUUID的控制器对自己的地址配置; |
RST |
控制器通过RST分组,获取整个环网上的设备状态; |
(1)主控制器周期性的向环网发送RST分组;
(2)每个SD-ETBN将自己的状态(接收发送时间戳、输出队列长度等)填写到RST中;
(3)RST依次通过环上的每个SD-ETBN,最终返回控制器;
(4)如果控制器发现RST分组超时未返回,则启动RTD机制重新检测环拓扑状态; |
RRF |
环路故障时不需控制器干预的冗余路径自动切换 |
(1)每个SD-ETBN能够感知环的上下行接口,这两个接口共用IP地址,连接ED或CN的其他每个接口有一个IP地址;
(2)转发表中同时标记转发路径和冗余路径;
(3)SD-ETBN通过检测接口状态(Up/down)变化和双向RST分组到达情况自主判断确定冗余路径切换的时机 |
我们将基于开源的Floodlight控制器和openbox-S4平台实现SD-ETB的基本功能,并通过扩展openbox-S4中的FAST流水线将TSN功能集成到环形ETB中。