[发明专利]用于实现报文转发的方法、装置和系统在审
申请号: | 201610852364.1 | 申请日: | 2016-09-26 |
公开(公告)号: | CN107872388A | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 黄灿灿;朱永庆 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | H04L12/723 | 分类号: | H04L12/723;H04L12/751 |
代理公司: | 中国国际贸易促进委员会专利商标事务所11038 | 代理人: | 刘剑波 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 报文 转发 方法 装置 系统 | ||
技术领域
本发明涉及通信领域,特别涉及一种用于实现报文转发的方法、装置和系统。
背景技术
传统的IP路由转发是根据目的IP地址通过查找路由转发表来查找报文的出接口的,由于采用最长匹配算法,转发表的查找效率较为低下。后来出现的MPLS(Multi Protocol Label Switch,多协议标签交换)协议,通过将IP地址前缀映射为MPLS标签,使得转发效率得到了较大的提高。以上两种报文转发模式是分布式路由计算时代主流的转发模式。
随着SDN(Software Defined Network,软件定义网络)概念近年来的再度兴起,使用集中式路由计算模式灵活的根据网络各种参数计算最优路径逐步成为现实。分段路由(Segment Routing)就是一种基于集中式和分布式路由计算模式的标签转发协议。以转发平面是MPLS为例,它先通过SDN计算出端到端的转发路径,然后将所经过的路径上的每一段两端的路由器的全局标签或者本地接口标签在源端压入标签堆栈,报文携带全程路由标签进行转发。
但是Segment Routing也有自己的缺点,由于它是按照分段来进行源路由计算的,每个分段的两端节点之间的路由是通过传统的分布式路由计算得出的,因此路径上所有的路由器都必须保留原有的分布式模式下的IP路由转发表及其对应的标签转发表。随着路由表条目越来越多(例如CN2PE上的路由表条目会超过60万),标签转发表虽然可以提升查找效率,但是也会占用更多的昂贵的路由器TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)资源或者是片上内存资源。
发明内容
本发明实施例提供一种用于实现报文转发的方法、装置和系统,通过由SDN控制器为报文选择最佳路径,并将最佳路径上的每个接口编码标签按照预定方式压入报文头中的标签堆栈中,以便路由器按照标签堆栈首层的标签进行报文路由,同时弹出首层标签。从而在提高路由转发效率的同时可有效减少内存资源的占用。
根据本发明的一个方面,提供一种实现报文转发的方法,包括:
路由器在接收到第一报文后,查询是否存在与第一报文相对应的路由信息;
若不存在与第一报文相对应的路由信息,则路由器将第一报文转发至SDN控制器,以便SDN控制器根据第一报文的目的地址,计算出从路由器到目的地址的最佳路径,从全局接口编码表中找出最佳路径上的每个接口标签,并按照从目的地址到路由器的顺序,将相应接口标签压入第一报文的标签堆栈中以得到第二报文;
路由器在接收到SND控制器下发的第二报文后,将第二报文通过与第二报文标签堆栈中的第一层标签相应的接口进行转发,同时将第二报文标签堆栈中的第一层标签弹出。
在一个实施例中,路由器在接收到第一报文后,查询是否存在与第一报文相对应的路由信息包括:
路由器在接收到第一报文后,判断第一报文的标签堆栈中是否包含标签;
若第一报文的标签堆栈中不包含标签,则进一步判断是否存在与第一报文相关的本地路由信息;
若不存在与第一报文相关的本地路由信息,则路由器确定不存在与第一报文相对应的路由信息。
在一个实施例中,若第一报文的标签堆栈中包含标签,则路由器将第一报文通过与第一报文标签堆栈中的第一层标签相应的接口进行转发,同时将第一报文标签堆栈中的第一层标签弹出。
在一个实施例中,若第一报文的标签堆栈中不包含标签,但存在与第一报文相关的本地路由信息,则路由器利用与第一报文相关的本地路由信息将第一报文进行转发。
在一个实施例中,本地路由信息包括路由流表或路由转发条目。
根据本发明的另一方面,提供一种用于实现报文转发的路由器,包括接收模块、查询模块、标签获取模块和路由模块,其中:
接收模块,用于接收第一报文;
查询模块,用于在接收模块接收到第一报文后,查询是否存在与第一报文相对应的路由信息;
标签获取模块,用于在不存在与第一报文相对应的路由信息的情况下,将第一报文转发至SDN控制器,以便SDN控制器根据第一报文的目的地址,计算出从路由器到目的地址的最佳路径,从全局接口编码表中找出最佳路径上的每个接口标签,并按照从目的地址到路由器的顺序,将相应接口标签压入第一报文的标签堆栈中以得到第二报文;
路由模块,用于在标签获取模块接收到SND控制器下发的第二报文后,将第二报文通过与第二报文标签堆栈中的第一层标签相应的接口进行转发,同时将第二报文标签堆栈中的第一层标签弹出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610852364.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:发送VPN路由的方法和系统
- 下一篇:卧式哺乳动物修理蹄子机的制作方法