[发明专利]一种基于Linux系统实现路由器的BGP报文转发方法和装置有效
申请号: | 201810556876.2 | 申请日: | 2018-06-01 |
公开(公告)号: | CN108881026B | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 薛秋宝;谭国权 | 申请(专利权)人: | 武汉绿色网络信息服务有限责任公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/947;H04L29/06 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 系统 实现 路由器 bgp 报文 转发 方法 装置 | ||
1.一种基于Linux系统实现路由器的BGP报文转发方法,其特征在于,在Linux系统上创建虚拟网卡,为虚拟网卡配置环回口IP地址,配置BGP进程监听环回口的TCP协议预设端口,并启动BGP进程,方法包括:
物理网卡收到BGP报文,用户空间应用程序获取所述BGP报文,并解析出所述BGP报文的目的IP;
用户空间应用程序确认所述BGP报文的目的IP与虚拟网卡的环回口IP相同,将所述BGP报文写入到对应的虚拟网卡的缓存区中;
虚拟网卡通过对应缓存区获取到所述BGP报文后,确认BGP报文的目的端口与BGP进程监听的预设端口相同,则将所述BGP报文交给BGP进程进行处理,BGP进程按照BGP协议生成回应报文;
查询Linux系统上的第一路由表,并根据找到的第一路由表项,选择所述虚拟网卡发送BGP进程的回应报文;其中,所述回应报文被存储在相应虚拟网卡的缓存区上;
用户空间应用程序从对应的虚拟网卡的缓存区上读取回应报文,查询用户空间应用程序中的第二路由表,根据查找到的第二路由表项选取回应报文的出口物理网卡,通过所述出口物理网卡将所述回应报文发出去。
2.根据权利要求1所述的基于Linux系统实现路由器的BGP报文转发方法,其特征在于,所述第一路由表中存储有所述虚拟网卡的环回口IP地址以及相应虚拟网卡的端口号的策略路由,所述策略路由基于环回口IP作为源地址进行选路,虚拟网卡生成回应报文时查询该策略路由选取虚拟网卡;所述第二路由表存储有路由网络环境,由各路由器的IP地址以及相应各路由器的端口号构成,用于用户空间应用程序查询该路由选取出物理网卡,基于源IP网段,目的IP网段,目的端口范围和协议类型进行选路。
3.根据权利要求1所述的基于Linux系统实现路由器的BGP报文转发方法,其特征在于,用户空间应用程序从对应的虚拟网卡的缓存区上读取回应报文后,查询用户空间应用程序中的第二路由表,根据查找到的第二路由表项选取回应报文的出口物理网卡,还包括:
应用程序对于所述回应报文进行深度包分析,获取所述回应报文的应用类型、网速配置、带宽要求中的一项或者多项分析结果;并根据所述分析结果和所述第二路由表项,选配适合上述应用类型、网速配置、带宽要求中的一项或者多项的物理网卡和相应端口,用于传输所述回应报文。
4.根据权利要求3所述的基于Linux系统实现路由器的BGP报文转发方法,其特征在于,所述方法还包括:
接收针对第二路由表的更新报文,其中,所述针对第二路由表的更新报文由服务器侧根据当前网络类型状态生成的用于深度报文解析后,识别出的对应不同应用类型、网速配置、带宽要求中的一项或者多项的路由策略;
用户空间应用程序更新本地存储的第二路由表中的相应路由策略。
5.根据权利要求3所述的基于Linux系统实现路由器的BGP报文转发方法,其特征在于,在出现本地设备中的第一物理网卡故障时,用户空间应用程序检测到网卡故障,通过动态路由协议通告给相邻路由器,并更新本地的第二路由表,将原本基于深度包分析分配给所述第一物理网卡发送的报文的路由表项更新为与所述第一物理网卡性能最相近的第二物理网卡。
6.根据权利要求1-5任一所述的基于Linux系统实现路由器的BGP报文转发方法,其特征在于,在所述用户空间应用程序对从物理网卡收到的BGP报文中,获取BGP报文的目的IP之前,所述方法还包括:
在Linux内核中,建立预设数量的缓存,然后用环形缓冲区队列描述符连接起来构成网络缓冲区列表;
Linux内核建立物理网卡与所述网络缓冲区列表之间的映射关系;其中,所述缓冲区控制权根据数据的写入和读取需求,分别在物理网卡和用户空间应用程序之间进行切换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉绿色网络信息服务有限责任公司,未经武汉绿色网络信息服务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810556876.2/1.html,转载请声明来源钻瓜专利网。