[发明专利]基于Linux系统实现虚拟路由转发方法和装置有效
申请号: | 201210013559.9 | 申请日: | 2012-01-17 |
公开(公告)号: | CN103209127A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 林茂;王佑刚;李永合 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/703 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杨春香;宋志强 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 linux 系统 实现 虚拟 路由 转发 方法 装置 | ||
技术领域
本发明涉及网络通信技术,特别涉及基于Linux系统实现虚拟路由转发(VRF:Virtual Routing and Forwarding)的方法和装置。
背景技术
VRF能够允许多个路由表在一台网络设备上同时存在和工作,其类似一台逻辑网络设备,至少维护以下三个元素:一张独立的路由表,一组归属于这个VRF的接口集合,以及一组只用于该VRF的路由协议。该三个元素在VRF内相互独立,VRF通过独立的路由表、接口管理、路由协议等对应的一系列模块控制报文转发,实现将VRF内部的报文转发控制在VRF内部,而VRF之间默认不能相互转发报文。
VRF增加了网络安全性,避免使用加密、认证这些技术手段。网络服务提供商(ISPs:Internet service providers)利用VRF特性为用户创建相互隔离的虚拟私有网络(virtual private networks——VPNs),因此VRF技术也被称作VPN路由转发。典型的VRF可用于实现MPLS VPN。每个VRF拥有的路由表存在于服务提供商边缘(PE:Provider Edge)设备的每个VPN实例中,而VPN之间相互隔离。
目前,一些诸如基于Linux系统的网络设备,其需要支持VRF。其中,该网络设备在Linux上实现VRF主要通过开发一套专门的软件代码。而该软件代码的原理是通过在Linux协议栈中对VRF进行扩展,比如扩展VRF的路由、VRF的地址表、VRF的TCP连接表方式等。这套软件代码的实现方式比较困难和复杂,对现有Linux协议栈修改很大。并且,伴随着Linux内核版本的不断升级,移植这套软件代码到升级版本都会有很大工作量,还有,如果该软件代码 的管理者没有适当维护,会导致一些新的表项无法支持VRF,例如Linux中的netfilter表项。
发明内容
本发明提供了基于Linux系统实现虚拟路由转发方法和装置,用于利用基于Linux系统的网络设备自身已有特性实现VRF,减少独立维护代码成本。
本发明提供的技术方案包括:
一种基于Linux系统实现虚拟路由转发VRF方法,该方法应用于基于Linux系统的网络设备,包括:
在内核空间中创建网络名称空间,生成与所述网络名称空间中用于报文转发的表项相关联的VRF实例的名称和标识,将所述VRF实例的名称和标识保存至所述网络名称空间;
所述网络设备通过网络接口接收报文,并以该网络接口所属VRF实例的标识为关键字查找到包含该关键字的网络名称空间,利用该查找到的网络名称空间中用于报文转发的表项为所述报文选路;
其中,所述网络接口所属VRF实例为预先配置的,或者为系统初始化时默认网络名称空间中的VRF实例。
一种基于Linux系统实现虚拟路由转发VRF装置,该装置应用于基于Linux系统的网络设备,包括:
网络名称空间创建模块,处于内核空间中,用于在内核空间中创建网络名称空间,并生成与所述网络名称空间中用于报文转发的表项相关联的VRF实例的名称和标识,将所述VRF实例的名称和标识保存至所述网络名称空间;
接口管理模块,处于内核空间中,用于为所述网络设备的网络接口配置其所属的至少一个VRF实例,或者默认该网络接口所属VRF实例为系统初始化时默认网络名称空间中的VRF实例;
报文收发模块,用于通过网络接口接收报文,并以该网络接口所属VRF实例的标识为关键字查找到包含该关键字的网络名称空间,利用该查找到的网络 名称空间中用于报文转发的表项为所述报文选路。
由以上技术方案可以看出,本发明中,通过在内核空间中创建网络名称空间,并生成与所述网络名称空间中用于报文转发的表项相关联的VRF实例的名称和标识,将所述VRF实例的名称和标识保存至所述网络名称空间,实现了利用Linux的网络名称空间特性实现VRF功能,在所述网络设备通过网络接口接收报文时,以该网络接口所属的VRF实例为关键字查找到包含该关键字的网络名称空间,利用该查找到的网络名称空间中用于报文转发的表项为所述报文选路,这相比于现有技术,能够利用Linux的网络名称空间特性实现VRF功能,而不必额外开发一套专门用于实现VRF功能的软件代码,减少独立维护代码成本。
附图说明
图1为本发明实施例提供的方法流程图;
图2为本发明实施例提供的装置结构图;
图3为本发明实施例提供的Socket分配VRF实例示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210013559.9/2.html,转载请声明来源钻瓜专利网。