FC网络学习笔记02 -网络配置方法
随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429、1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm能满足系统通信的需求,无法为高性能数据处理提供有力的通信支撑。
FC网络是一种高速串行通信技术,速率可以达到1Gbps、2Gbps,甚至到4Gbps以上,同时还具备低延迟、可靠性高、重量轻、体积小,且
应用灵活等特点,是一种新型的高速通信技术。定义了FC-AE以及ARINC818等专门应用于机载
环境的高层通信协议,同时在网络设备设计中,使用专用控制电路,增强了FC通信的可靠性和确定性,可以为机载系统提供一个高速、高可靠性的FC通信网络[1~2]。
本文首先描述FC网络的拓扑结构和通信协议,然后重点介绍一种FC 网络的配置方法,包括对节点机和交换机的配置,最后通过示例分析,验证了FC网络的性能和可靠性。
1 FC网络简介
1.1 FC网络构成
FC网络由FC交换机和FC节点机构成,FC交换机是整个网络的核心部件,具有线速交换的功能,是连接各个节点机的交通枢纽;FC节点机是网络中的重要部件,作为终端可以通过交换机或者直接和节点机通信。
1.2 FC网络拓扑结构
FC网络作为新型的高速串行通信网络,采用分布式架构,支持点到点、交换以及仲裁换三种拓扑连接方式:
1)点到点:该结构使用一个双向的链路将两个N端口连接起来构成通信网络,是FC拓扑结构中最简单的一种。该结构中两个端口独占发送和接收带宽,数据传输延迟低,确定性好。点到点拓扑具有结构简单,可靠性高等优点,但是其缺点也很明显的:支持节点数目太少,没有扩展能力,不能满足多个设备互连通信的需要。
2)仲裁环:仲裁环是将支持仲裁环功能的FC端口即L_Port(或具备L_Port功能的FC端口)连接起来组成的一个环状串行通信网络,并为任意两个端口提供逻辑上的双向点到点通信链路。仲裁环拓扑具有结构简单,组网费用低等优点,不需要使用额外的设备就可以完成多个FC设备的互连。但是,该拓扑结构具有可靠性较低,通信带宽低,数据传输延迟大等缺点。
3)交换结构:交换结构是使用交换机将需要通信的N_Port连接起来构成的通信网络。该拓扑中连接的设备数最多可达1500万个以上,而且允许多个设备在同一时刻进行高速通信。交换结构是FC拓扑结构中功能最具优势的拓扑结构,优点是通信带宽高、可靠性高、数据传输延迟小和扩展性好。但是,其结构复杂,且组网费用较高。其中,交换拓扑结构除了组网费用高外,其它各个方面的特点都更为适合航空电子系统的应用环境。
1.3 FC网络基本通信原理
在FC网络中,应用采用FC-AE-ASM消息进行端到端的通信,节点通过消息进行数据收发,每个节点都有自己的端口ID,发送消息中包含目的节点的端口ID,交换机在接收到消息时根据交换机转
发表查找消息需要转发到的目的端口,接收节点不需要知道消息的源端,不进行应答,在接收到消息后,节点进行解析将消息数据提交给应用。
2 FC网络配置的设计
在机载FC通信网络中,需要进行网络配置,对整个网络统一规划部署,以便完成网络中各节点机之间的高效、高可靠数据通信。
在FC网络中包括FC交换机和节点机两部分,由于在航电系统中,拓扑结构具有确定性,因此配置的思路是采用各个模块静态配置的方式,这样配置的好处是配置的速度快、确定性高,而且能够避免由于某个模块故障导致网络整体配置失败。网络配置前要根据网络拓扑结构规划节点机需要连接的交换机端口和各个节点的通信流向。
2.1 交换机的配置
交换机的主要功能是数据的转发,所以需要对每个连接节点机的端口配置转发表,交换机的转发表是用于加载到交换机中完成网络路由的表,从不同端口输入的消息,根据该消息的目的端口ID,查找转发表的对应信息,从而转发到不同的端口。交换机转发表示例如表1所示。
交换机转发规则示意如上表所示,如果消息数据从1端口进入,并且该消息的目的端口ID为0x10001,则交换机查表将该数据从端口2转发出去,依次类推,实现数据的转发。
2.2 节点机的配置
节点机的配置主要包括收发消息的配置和节点属性的配置,节点属性主要配置节点机的端口类型是ASM或者AV,还有端口ID等属性,收发消息配置主要是根据网络通信规划配置网络中各个节点机间的通信消息,节点间使用消息通信,消息主要通过ID标识,消息ID使用根据协议规定其取值范围为1~232-1;0和0xFFFFFFFF保留,不允许使用,且网络中所使用的消息必须全局唯一,节点间通信的示意图如下:假设两个节点进行通信,至少需配置一条消息,假设消息ID为1,该消息对于节点A是发送消息,对于节点B是接收消息,如果两个节点需要双向通信,则还需要一条从节点B到节点A的消息,如图1所示,具体使用的消息数目和通信流向可根据应用需求进行配置。
2.3 配置表的加载
FC交换机和FC节点机都使用PowerPC处理器,在其上运行程序,将网络拓扑和节点机通信消息都配置好后,交换机的配置可以通过主机配置
管理软件生成,通过嵌入式PowerPC的以太网接口给交换机加载转发表,两者之间的通信通过socket套接字实现,采用client/Server模式使用TCP协议实现可靠的数据传输,其中主机程序为客户端,交换机端的程序为服务器端,交换机在接收到配置数据后对其进行解析,然后配置到交换机的FPGA中的寄存器,由此实现对交换机转发表的配置[3]。
节点机的配置可以通过主机配置管理软件生成指定结构的配置信息,以.c文件的格式输出,主要包括节点的属性信息、发送通信表和接收通信表,发送通信表和接收通信表分别是每个节点机所用到的发送消息列表和接收消息列表。节点机驱动软件将读取该.c文件,并进行解析,将配置信息写到节点机的FPGA中的寄存器,作为节点通信的依据。
3 示例
下面针对某综合处理系统FC交换网络为例,说明网络的配置过程。该系统FC网络由一个交换机和4个节点机组成,分别连接到交换机的1,2,3,4端口,则网络拓扑结构如图2所示,根据该拓扑结构,配置一个简单的环形通信示例,即使用消息0x1从节点机1发到节点机2,节点机2收到后使用消息0x2发数据给节点机3,依次类推,形成1->2->3->4->1的环形通信。
根据上述方法,配置完成后,进行了4个节点之间的通信测试,经过长达4个小时的测试,网络的通信过程中未发生丢包现象,可以稳定可靠的传输。
4
总结
本文介绍了一种FC网络的配置方法,详细介绍了节点机的配置、交换机的配置和配置信息的加载方法;通过示例分析,验证了网络的功能和可靠性。提供了一种FC网络配置的思路和方法,为高性能的FC网络系统设计提供一定的参考。
FC网络学习笔记02 -网络配置方法的更多相关文章
- python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...
- 学习笔记_J2EE_SpringMVC_03_注解配置_@RequestMapping用法
@RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMappi ...
- ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则
ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...
- SaToken学习笔记-02
SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
随机推荐
- POJ 2406 Power Strings 1961的简化版,kmp的next数组的应用
题目: http://poj.org/problem?id=2406 跟1961差不多,题解就不写了,一开始理解错题了,导致WA一次. #include <stdio.h> #includ ...
- iOS开发之iOS程序偏好设置(Settings Bundle)的使用
目录[-] 1.添加设置项 2.设置的控件 3.编辑设置项的文件 4.在程序中获取Settings 和写入Settings 添加UI 5.实现读取设置和保存代码 在Android手机上, 在某个程序里 ...
- SQL Server 2012 Features
SQL SQL Server 2012 新增加的几个函数: SELECT CONVERT (INT, 'Angkor-216.00') 直接报错 SELECT TRY_CONVERT(INT, 'SS ...
- 5个有用的.net profiling工具(转)
我们有时需要对研发的软件程序进行性能测试,这时需要用到一些Profilers工具.下面列出5个有用的.net Profilers: 1. JetBrains dotTrace JetBrains do ...
- 降维(一)----说说主成分分析(PCA)的源头
降维(一)----说说主成分分析(PCA)的源头 降维系列: 降维(一)----说说主成分分析(PCA)的源头 降维(二)----Laplacian Eigenmaps --------------- ...
- IAR ARM、IAR STM8、IAR MSP430共用一个IDE
转自IAR ARM.IAR STM8.IAR MSP430共用一个IDE 试了安装好多个不同版本不同编译器的IAR,终于明白不同编译器的IAR共用IDE的条件,把几个不同编译器的IAR安装在一起,共用 ...
- DDD领域驱动设计和实践(转载)
-->目录导航 一. DDD领域驱动设计介绍 1. 什么是领域驱动设计(DDD) 2. 领域驱动设计的特点 3. 如果不使用DDD? 4. 领域驱动设计的分层架构和构成要素 5. 事务脚本和领域 ...
- linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数
linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数 ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc /usr/bin/arm-linux ...
- 求奇数偶数的和,,利用while循环
static void Main(string[] args) { while (true) { try ...
- POJ_1631_Bridging_Signals_(动态规划,LIS)
描述 http://poj.org/problem?id=1631 铁路左右相连,要求去掉一些边,使得剩下的边不交叉,求剩余边数的最大值. Bridging signals Time Limit: 1 ...