[发明专利]一种在linux操作系统上实现路由节点模拟的方法在审
申请号: | 201410320160.4 | 申请日: | 2014-07-08 |
公开(公告)号: | CN104092570A | 公开(公告)日: | 2014-10-08 |
发明(设计)人: | 蒋元兵;雷文虎;袁星勇;罗文;陈量 | 申请(专利权)人: | 重庆金美通信有限责任公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/701;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 400030 重庆*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 操作系统 实现 路由 节点 模拟 方法 | ||
技术领域
本发明涉及一种在linux操作系统上实现路由节点模拟的方法。
背景技术
传统的路由节点模拟都是采用仿真软件实现,仿真软件只能从功能上进行仿真,无法检测网络的实时运行;仿真软件的链路模型都是仿真软件提供的标准链路模型,不能实现很多真实的链路类型模拟;仿真软件不容易导入已经开发好的协议源代码,需要二次开发。
发明内容
本发明提供了一种在linux操作系统下实现路由节点模拟的方法,该方法包括:采用linux操作系统的一个进程模拟一个路由节点,采用linux操作系统的一个线程模拟路由节点的一个任务。一个进程中实现路由节点的配置管理及初始化、应用层协议、TCP/IP协议栈和虚拟接口的模拟。
将vxworks操作系统下实现的路由节点在linux操作系统的一个进程中实现,将vxworks操作系统的一个任务采用linux操作系统的一个线程来模拟。
模拟节点通过消息队列接收配置信息,根据配置信息完成节点初始化,接收外部的配置管理,包括IP地址的设置、删除,路由协议的绑定和去绑定,接口的断开与连接。
模拟节点的应用层协议包括路由协议(OSPF、RIP、EIGRP)、MPLS协议、SNMP协议,这些协议直接使用vxworks操作系统样机实现的应用层协议,在linux操作系统下面重新编译和链接之后被模拟节点使用。
通过对vxworks操作系统的TCP/IP协议进行抽象和移植,实现其网络域和路由域的功能。协议栈采用虚拟接口注册的输出函数发送数据,采用消息队列从虚拟接口接收数据。
虚拟接口使用linux操作系统的套接字完成两个虚拟接口的物理连接,套接字使用的IP地址和UDP端口号来自于配置信息。每个虚拟接口启动一个任务接收对端虚拟接口的数据,完成数据链路层的处理,通过消息队列发送给协议栈。每个虚拟接口提供一个输出函数供协议栈调用,输出数据到对端的虚拟接口,在输出函数中完成数据链路层的处理。
连接终端的虚拟以太网接口通过抓包软件抓包的方式将数据引导到仿真网络,抓到的报文源IP地址和虚拟接口IP地址在同一网段则为虚拟接口的报文。
本发明的有益技术效果是:在linux操作系统上实现路由节点的模拟,不需要购买仿真软件,节省开销;模拟节点的应用层协议完全采用样机的协议重新编译链接,不需要再进行二次开发,由于源代码共用,使得网络模拟的可信度更高。每个模拟节点都采用linux操作系统的进程模拟运行,运行的时间为真实的时间,能够检查网络的实时运行。通过对虚拟接口的进一步开发,能够实现各种链路的模拟。一台仿真机可以运行多个进程模拟多个路由节点。
附图说明
图1、网络的分层模型。
图2、模拟节点的体系结构。
图3、虚拟接口的模型。
具体实施方式
为了在linux操作系统下面实现路由节点的模拟,需要处理以下四个方面的内容。
系统初始化及配置管理模块完成模拟节点各模块的初始化和启动之后的配置管理功能。通过消息队列接收参数文件,调用各模块的初始化函数完成系统的初始化,包括节点的系统参数、接口参数及协议参数配置,启动后处理接收到的配置管理消息,包括接口的连接、断开,IP地址的修改,路由协议的绑定、去绑定等。
模块的具体步骤实施如下:
1.初始化对外接收配置管理的消息队列,接收参数信息。
2. 初始化系统参数、接口参数和协议参数。
3.协议栈初始化。
4.虚拟接口初始化。
5.等待接收配置管理消息。
应用层协议共用vxworks操作系统下的协议源码,通过重新编译和链接后被模拟节点使用:
1.修改Makefile文件,编译成linux操作系统可以使用的库文件。
2.将编译的库文件链接进入可执行文件。
抽象移植vxworks操作系统的TCP/IP协议栈,具体的实施步骤如下:
1.实现vxworks操作系统协议栈的网络域和路由域功能。
2.移植协议栈的其它函数。
3.启动一个线程,接收虚拟接口发送来的数据,传送给协议栈。
虚拟接口通过套接字的方式实现物理层通信;启动一个线程接收对端虚拟接口的数据,处理之后通过消息队列发送给协议栈;协议栈调用虚拟接口提供的输出函数发送数据,输出函数完成链路层处理。具体实施步骤如下:
1.根据配置信息形成虚拟接口表,注册到协议栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆金美通信有限责任公司,未经重庆金美通信有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410320160.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于双离合器的操作设备
- 下一篇:可脱离式肠道术野保护气囊装置