面向列車(chē)以太网的FAST-TSN实验环境(3)SD-ETB网络原理(lǐ)
发布时间:2019-02-22
SDN基本特点是转发控制分(fēn)离和可(kě)编程的集中控制。由于列車(chē)网络相对封闭,规模有(yǒu)限,因此十分(fēn)适合SDN技术的应用(yòng)。由于列車(chē)网络在网络连接、拓扑结构和冗余控制方面具有(yǒu)特殊要求,因此无法将现有(yǒu)SDN解决方案(交换机、控制器、协议等)直接应用(yòng)于ETB的组网,必须针对ETB的特点提出新(xīn)的处理(lǐ)机制和协议。本文(wén)将基于SDN的ETB网络简称為(wèi)SD-ETB。
一、SD-ETB网络设计原则
(1)ETB和SDN的主要差异
SDN机制无法直接用(yòng)于ETB组网,主要原因是两种网络在拓扑依赖、控制方式和交换设备模型方面具有(yǒu)较大差异,如下表所示。
表1 ETB和SDN的实现机制比较
|
ETB |
SDN |
网络拓扑 |
線(xiàn)性或环形拓扑 |
网状或树状拓扑 |
控制通道 |
无独立控制通道 |
依赖专用(yòng)控制通道 |
拓扑发现 |
基于广播(Topology消息)发现拓扑,通过比对拓扑目录校验和来维护分(fēn)布计算结果的一致性 |
SDN控制器通过发送和接收单播的LLDP消息计算网络拓扑 |
接口配置 |
连接ETB子网的多(duō)个接口共享一个IP地址 |
每个网络接口具有(yǒu)独立的IP地址 |
设备IP地址分(fēn)配 |
初运行时通过分(fēn)布协议计算出ETBN的IP地址,以及连接和CN子网的前缀 |
在SDN网络初始化之前,管理(lǐ)员需预先配置交换机的IP地址 |
转发表生成 |
通过分(fēn)布协议在初运行时计算得到 |
由控制器统一下发 |
(2)SD-ETB设计原则
由于ETB和标准SDN网络具有(yǒu)较大差异,因此SD-ETB的设计必须考虑ETB组网的基本特点,满足列車(chē)网络对动态重构、冗余控制等特殊要求。我们认為(wèi)SD-ETB的的设计原则包括以下几点。
一是兼容ETB物(wù)理(lǐ)层规范。ETB物(wù)理(lǐ)层规范除了定义以太网链路的物(wù)理(lǐ)层规范外(全双工100M以太网),还包括車(chē)厢之间的物(wù)理(lǐ)连接形式。如果每个ETBN采用(yòng)SDN交换的方式实现,那么ETB定义的車(chē)厢间走線(xiàn)形式无法支持每个交换设备通过专用(yòng)的控制接口与SDN控制器连接,因此标准的SDN基于LLDP协议的拓扑发现机制无法工作,必须提出新(xīn)的拓扑发现机制。
二是采用(yòng)动态的IP地址分(fēn)配形式。ETB规范的特点就是支持具有(yǒu)不同来源的車(chē)辆(consist)能(néng)够根据需求编组形成新(xīn)的列車(chē),因此每个車(chē)辆中网络设备的IP地址不能(néng)预先配置,以防止IP地址冲突。因此ETB在初运行时為(wèi)每个ETBN和車(chē)辆子网(CN)统一分(fēn)配ID,由这些ID来构成运行时的IP地址。标准SDN网络在建立南向接口通道(如openflow通道)时首先要求每个交换机都有(yǒu)自己的IP地址,而这个假设在ETB中无法成立。由于SDN网络中最大限度减小(xiǎo)分(fēn)布式协议的使用(yòng),因此标准ETB网络中基于TTDP协议的全分(fēn)布式ID分(fēn)配和IP地址生成机制需要被SD-ETB中新(xīn)的集中控制的IP地址分(fēn)配机制取代。
三是SD-ETB部署对端系统和应用(yòng)保持透明。列車(chē)网络上具有(yǒu)大量的网络端节点,这些端节点或直接接在ETB子网上,或接在通过ETB子网互联的各CN子网上。这些端节点上部署各种状态检测、車(chē)辆运行控制和多(duō)媒體(tǐ)应用(yòng)。用(yòng)SD-ETB取代现有(yǒu)ETB只能(néng)定位在列車(chē)网络基础设施升级,必须对端节点及其应用(yòng)透明,因此SD-ETB在IP地址编码规则,ARP地址解析、组播通信,传输层协议等方面必须保持与ETB一致。
四是SD-ETB具有(yǒu)增强的冗余控制能(néng)力。面向环形拓扑,支持拓扑发现及环网工作状态的自动监测。当链路和交换节点发生故障后,能(néng)够实现ms级的转发路径倒换,保证关键业務(wù)的不中断传输。特别是SDN控制器应具备冗余功能(néng),避免SDN集中控制带来的单点故障。
五是简化的交换设备(ETBN)实现。SDN将交换设备的可(kě)控制功能(néng)(智能(néng))提取到控制器上实现,每个ETBN只需支持南向接口协议(如openflow)的配置。因此SD-ETB网络中的ETBN实现与现有(yǒu)ETBN实现有(yǒu)两点區(qū)别。一是建立明确的Match-action转发层抽象,為(wèi)控制器的编程提供基础;二是只支持简单的无状态的网络协议,
二、SD-ETB网络的实现原理(lǐ)
(1)SD-ETB的组成
SD-ETB主要由N个环形连接的软件定义ETBN节点(SD-ETBN)以及两个以上的SD-ETB控制器组成,如图1所示。每个車(chē)辆中包含1个或多(duō)个SD-ETBN,每个ETBN可(kě)能(néng)连接1个或多(duō)个車(chē)辆网络(CN)。ETB网络变成SD-ETB对CN透明。
图1 SD-ETB子网结构图
多(duō)个SD-ETB网络控制器通过协商(shāng)产生一个主SD-ETB控制器,其余作為(wèi)从SD-ETB控制器。主SD-ETB控制器负责网络拓扑发现,IP地址分(fēn)配,转发表下载和ETB环检测等功能(néng)。每个SD-ETBN设备支持openflow1.3协议,支持SD-ETB控制器对其进行流表的配置。
(2)SD-ETB的核心机制
SD-ETB解决方案的主要机制包含4项关键的处理(lǐ)机制,即环网控制器选举RCE(RingController Election)、环网拓扑发现RTD(Ring Topology Discovery),环网状态遥测RST(Ring StatusTelemetry)以及环网弹性转发RRF(Ring Resilient Forwarding),如下表所示。
机制 |
功能(néng) |
工作原理(lǐ)说明 |
RCE |
在分(fēn)布在多(duō)个車(chē)辆中的SD-ETB控制器中选举主控制器 |
(1)初始化时多(duō)个控制器间的连接是不存在的(环网还不同),这些控制器首先通过RTD的拓扑发现进行相互发现;
(2)每个車(chē)辆只能(néng)由一个控制器,选择具有(yǒu)最小(xiǎo)CSTUUID的車(chē)辆包含的控制器作為(wèi)主控制器,次小(xiǎo)的作為(wèi)从控制器;
(3)从控制器检测主控制器的状态,必要时发起切换。
(4)控制器切换不影响ETB环的工作 |
RTD |
发现环网中的SD-ETBN设备和拓扑连接关系 |
(1)控制器通过发出RTD消息发起迭代拓扑发现过程;
(2)只有(yǒu)SD-ETBN设备响应RTD消息(包含自己接口数,MAC地址,所在車(chē)辆CSTUUID等),CN设备和ED设备不响应RTD消息;
(3)控制器首先通过packet-out分(fēn)组向直连的SD-ETBN发送RTD消息,然后根据返回的接口信息,再依次向该设备其他(tā)接口相连的设备发送RTD消息;
(4)多(duō)个控制器可(kě)能(néng)同时基于RTD发起拓扑探测,在拓扑探测过程中相互发现;
(5)SD-ETBN接受具有(yǒu)最小(xiǎo)CSTUUID的控制器对自己的地址配置; |
RST |
控制器通过RST分(fēn)组,获取整个环网上的设备状态; |
(1)主控制器周期性的向环网发送RST分(fēn)组;
(2)每个SD-ETBN将自己的状态(接收发送时间戳、输出队列長(cháng)度等)填写到RST中;
(3)RST依次通过环上的每个SD-ETBN,最终返回控制器;
(4)如果控制器发现RST分(fēn)组超时未返回,则启动RTD机制重新(xīn)检测环拓扑状态; |
RRF |
环路故障时不需控制器干预的冗余路径自动切换 |
(1)每个SD-ETBN能(néng)够感知环的上下行接口,这两个接口共用(yòng)IP地址,连接ED或CN的其他(tā)每个接口有(yǒu)一个IP地址;
(2)转发表中同时标记转发路径和冗余路径;
(3)SD-ETBN通过检测接口状态(Up/down)变化和双向RST分(fēn)组到达情况自主判断确定冗余路径切换的时机 |
我们将基于开源的Floodlight控制器和openbox-S4平台实现SD-ETB的基本功能(néng),并通过扩展openbox-S4中的FAST流水線(xiàn)将TSN功能(néng)集成到环形ETB中。