基于LabVIEW的OSPF路由协议的仿真与实现

时间:2022-09-28 05:43:54

基于LabVIEW的OSPF路由协议的仿真与实现

摘 要:虚拟仪器LabVIEW是一种图形化的编程环境,目前已被广泛应用于工业界、学术界及各类研究实验室。本文通过LabVIEW完成了对OSPF路由协议的仿真与实现,该协议是TCP/IP协议族中的IP层协议,是目前应用最广泛的路由协议。结果证明LabVIEW能够很好地支持通信协议的仿真,且操作简单,开发功能高效,调试能力强大。

关键词:LabVIEW;OSPF;虚拟仪器;通信协议

中图分类号:TP393.02

TCP/IP(Transmission Control Protocol/Internet Protocol),即传输控制协议/因特网互联协议,是由美国国防部高级研究计划署(DARPA)开发的一个通信协议族,是Internet最基本的协议。之所以说TCP/IP是一个协议族,是因为TCP/IP包括了TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议。OSPF(Open Shortest Path First,开放式最短路径生成树协议)是TCP/IP协议族中的IP层协议,是目前应用最广泛的路由协议,通过SPF(Shortest Path First,最短路径生成树算法)来计算到各节点的最短路径。

虚拟仪器技术是计算机技术与测控技术相结合、相渗透的产物,虚拟仪器开发平台的引入,帮助设计者能够快速设计、调试和开发实际系统的测试版,使得工业环境下的测量、测试、计量、控制过程更灵活、更紧凑、更经济、更高效且功能更强。LabVIEW是一款划时代的重要的图形编程系统,常被应用于数据采集与控制、数据分析、数据表达等方面。本文将通过LabVIEW工具实现对通信协议OSPF的仿真。

1 虚拟设备LabVIEW简介

虚拟设备(Virtual Instrument,简称VI)是上世纪90年代初期出现的一种新型仪器,是计算机技术与仪器技术深层结合而产生的。它将许多以前由硬件完成的信号处理工作交由计算机软件进行处理,这种硬件功能软件化的思想,为测试仪器领域带来了深刻的变革[1]。虚拟设备的发展经历了四个时代:第一代是模拟式仪器,第二代是分立元件式仪器,第三代是数字式仪器,第四代是智能仪器之后的新一代仪器。虚拟设备有三个主要特点:第一,不强调物理上的实现形式;第二,在系统内实现软硬件资源共享;第三,图形化的软件界面。其优势表现为性能高、扩展性强、开发时间少、无缝集成。

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)全称是实验室虚拟仪器工程平台,是美国国家仪器公司(NI)的创新软件产品。自NI公司1986年正式推出LabVIEW1.0至今,经历了多次改版与完善,目前包括控制与仿真、高级数字信号处理、统计过程控制、模糊控制、PDA和PID等众多附加软件包,可运行于Windows、Linux、Macintosh和Unix等多种平台,已成为目前应用最广、发展最快、功能最强的图形化软件开发继承环境之一。

2 OSPF路由协议的仿真与实现

OSPF路由协议是一种链路状态的协议,主要适用于同一个路由域。这个路由域内的所有OSPF路由器都维护一个相同的数据库,其中存放的是该路由域中相应链路的状态信息,而OSPF路由器就是根据该数据库计算其路由表的[2]。OSPF路由协议的基础是SPF算法(即Dijkstra算法),它将每一个路由器作为根,用于计算路由器到每一个目的路由器的距离,进而会得到路由域的拓扑结构图,即SPF算法中的最短路径树。最短路径树的树干长度即OSPF路由器到每一个目的地路由器的距离,即OSPF协议中的Cost。

OSPF遵循链路状态路由协议的统一算法。该算法可简单概括为路由器在两种状态下的动作:第一,当路由器初始化或网络结构发生变化时,路由器会产生链路状态广播数据包,其中包含路由器上所有的相连链路,即所有端口的状态信息。所有路由器通过刷新方法交换链路状态数据。第二,当网络重新稳定下来,即OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。其中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一跳路由[3]。

接下来,我们将通过虚拟仪器LabVIEW实现OSPF路由协议的仿真,该仿真系统的数据输入部分共分为三大模块:信息传递模块(如图1所示),路由器连接表二维数组生成模块(如图2所示),手动输入起点、终点及已知路由模块。手动输入模块只需在LabVIEW前面板中输入参数即可,在本设计中,我们选择四个路由器组成仿真系统,共设置5个参数:路由器id、路由器ip地址、路由器发送信息端口号、路由器互联路径权值及发送信息判定位。路由器id用于指定路由器的名称,方便显示;路由器ip地址用于显示路由器的ip,确定路由器在网络中的唯一位置;路由器发送端口号用于识别路由器接收与其它路由器的连接状态的标示;路由器互联路径权值用于进行SPF算法的计算处理;发送信息判定位用于识别信息确实已接收。

至此,OSPF路由协议在LabVIEW虚拟仪器平台的仿真已完成,要通过此系统计算路由器的生成,需将SPF算法引入该系统,最短中继计算模块流程图如图3所示。通过对四个路由器链接方式的计算,最终得到的路由器连接表如图4所示,起点路由器为路由器一,终点路由器为路由器二,需经过一次跳转才能到达。

3 结束语

目前,通信领域大多采用文本式编程平台(如VC++,VB等)进行开发和测试,本文基于图形化编程平台LabVIEW对OSPF路由协议进行仿真,是对通信领域开发测试方法的全新尝试与探索。结果证明LabVIEW能够很好地支持通信协议的仿真,且操作更为简单明了。当然,本设计也有很多需要完善的地方:第一,目前程序所设计的输入数据比较多,并且路由器的每个参数都需要手动输入,操作较为繁杂,因此OSPF路由协议的仿真只选择了四个路由的连接情况,如果在数据输入上能够有所改进,就可以加入更多路由器参与算法。第二,目前的设计在连接表的生成形式上是固定的,不可更改,如果要改善此种情况要重新设置连接表的存储方式。第三,由于本文篇幅所限,我们只选择了少量代表图,作者可根据步骤自行完成仿真操作。

参考文献:

[1]吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:人民邮电出版社,2008.

[2]Stevens W R.TCP/IP详解卷1:协议[M].北京:机械工业出版社,2000.

[3]Stevens W R.TCP-IP详解:TCP事务协议,HTTP,NNTP和UNIX域协议[M].北京:人民邮电出版社出版,2010.

作者单位:山东丝绸纺织职业学院,山东淄博 255300;济南铁路局青岛电务段,山东淄博 255000

上一篇:浅谈高速铁路钢轨焊缝探伤标准化作业 下一篇:中国区域研发投入效率研究