层次化ECMP的实现方法和装置与流程

文档序号:34304189发布日期:2023-05-31 18:07阅读:139来源:国知局
层次化ECMP的实现方法和装置与流程

本发明涉及网络通信技术,特别是涉及一种层次化ecmp的实现方法和装置。


背景技术:

1、在数据中心网络中,vxlan、nvgre等分层网络技术应用比较广泛,在这种分层网络中,实现等价多路径(equal cost multi-path,ecmp)的方式基本上都是采用一级ecmp的实现方案,因此存在较大的局限性。

2、现有技术中,是将数据中心网络中的隧道技术网络overlay和数据中心网络底层网络underlay生成的等价多路径路由进行合并计算。ecmp方法将overlay网络层计算得到的ecmp等价路由和underlay网络层产生的ecmp等价路由进行合并。由于进行了合并,任何一层网络路由发生变化时,如arp变化时,都需要刷新关联的表项,同时会导致ecmp成员表项变大,浪费表项资源。

3、对此,另一种实现思路是,通过将报文转发在overlay网络层和underlay网络层进行分离从而解决上述的问题。具体来说,是报文根据inner ipda生成ecmp信息进行选路后,在出口处理引擎(egress process engine,epe)对报文进行overlay层报文封装后,再通过芯片内部环回到入口处理引擎(ingress process engine,ipe),然后ipe再根据overlay网络层的ipda进行路由查找,从而得到underlay网络的ecmp信息进行转发。该技术方案虽然能够实现报文的转发分离,但是由于使用了环回,所以会消耗芯片大量的内部带宽,也间接地消耗了芯片的转发带宽。


技术实现思路

1、本发明实施例所要解决的技术问题是,如何解决现有ecmp路由实现方案中,表项资源浪费大,或者芯片内部带宽以及转发带宽消耗大的问题。

2、为了解决上述的技术问题,本发明实施例提供了一种层次化ecmp的实现方法,其中,包括:报文在ipe端,根据overlay网络的第一ecmp组表项,得到第一ecmp成员表项;当所述第一ecmp成员表项中的下层ecmp路径信息标识位为有效时,通过所述第一ecmp成员表项中的下层ecmp组id,得到underlay网络的第二ecmp组表项,从而得到underlay网络的第二成员表项,进而获取报文的出口信息;否则,直接获取报文的出口信息;根据所述第一ecmp成员表项中的表项索引信息,通过在epe端索引,得到完成overlay层封装所需的相关信息。

3、上述的层次化ecmp的实现方法中,所述第一ecmp组表项包含{mem_num,member_base};所述mem_num表示第一ecmp组中包含的成员数;所述member_base表示所述第一ecmp成员表项的起始索引;所述根据overlay网络的第一ecmp组表项,得到第一ecmp成员表项包括:根据在ipe得到的hash值,通过hash值%mem_num+member_base索引得到所述第一ecmp成员表项。

4、上述的层次化ecmp的实现方法中,所述第二ecmp组表项包含{mem_num,member_base};所述mem_num表示第二ecmp组中包含的成员数;所述member_base表示所述第二ecmp成员表项的起始索引;所述得到underlay网络的第二ecmp组表项,从而得到underlay网络的第二成员表项,进而获取报文的出口信息包括:根据在ipe得到的hash值,通过hash值%mem_num+member_base索引得到underlay网络的所述第二ecmp成员表项。

5、上述的层次化ecmp的实现方法中,所述根据所述第一ecmp成员表项中的表项索引信息,通过在epe端索引,得到完成overlay层封装所需的相关信息包括:报文根据所述表项索引信息,索引得到dsnexthop表;根据所述dsnexthop表中的dsl2edit以及dsoverlayedit信息,编辑vxlan报文所需的innner ethernet header,vxlanheader,outer ip/udpheader信息。

6、上述的层次化ecmp的实现方法中,所述根据所述第一ecmp成员表项中的表项索引信息,通过在epe端索引,得到完成overlay层封装所需的相关信息包括:通过在ipe端产生的hash值%mem_num+member_base,索引得到所述第二ecmp成员表的信息;所述第二ecmp组表项包含{mem_num,member_base};所述mem_num表示第二ecmp组中包含的成员数;所述member_base表示所述第二ecmp成员表项的起始索引;根据所述第二ecmp成员表中的underlayeditptr索引dsunderlayedit表项,从而通过underlay网络的编辑信息,编辑vxlan报文的outerethernet header信息。

7、为了解决上述的技术问题,本发明实施例提供了一种层次化ecmp的实现装置,其中,包括:ipe端处理单元,用于报文在ipe端,根据overlay网络的第一ecmp组表项,得到第一ecmp成员表项;当所述第一ecmp成员表项中的下层ecmp路径信息标识位为有效时,通过所述第一ecmp成员表项中的下层ecmp组id,得到underlay网络的第二ecmp组表项,从而得到underlay网络的第二成员表项,进而获取报文的出口信息;否则,直接获取报文的出口信息;epe端处理单元,用于根据所述第一ecmp成员表项中的表项索引信息,通过在epe端索引,得到完成overlay层封装所需的相关信息。

8、上述的层次化ecmp的实现装置中,所述第一ecmp组表项包含{mem_num,member_base};所述mem_num表示第一ecmp组中包含的成员数;所述member_base表示所述第一ecmp成员表项的起始索引;所述ipe端处理单元根据在ipe得到的hash值,通过hash值%mem_num+member_base索引得到所述第一ecmp成员表项。

9、上述的层次化ecmp的实现装置中,所述第二ecmp组表项包含{mem_num,member_base};所述mem_num表示第二ecmp组中包含的成员数;所述member_base表示所述第二ecmp成员表项的起始索引;所述ipe端处理单元根据根据在ipe得到的hash值,通过hash值%mem_num+member_base索引得到underlay网络的所述第二ecmp成员表项。

10、上述的层次化ecmp的实现装置中,所述epe端处理单元用于根据所述表项索引信息,索引得到dsnexthop表;以及,根据所述dsnexthop表中的dsl2edit以及dsoverlayedit信息,编辑vxlan报文所需的innner ethernet header,vxlanheader,outer ip/udpheader信息。

11、上述的层次化ecmp的实现装置中,所述epe端处理单元用于通过在ipe端产生的hash值%mem_num+member_base,索引得到所述第二ecmp成员表的信息;所述第二ecmp组表项包含{mem_num,member_base};所述mem_num表示第二ecmp组中包含的成员数;所述member_base表示所述第二ecmp成员表项的起始索引;以及,根据所述第二ecmp成员表中的underlayeditptr索引dsunderlayedit表项,从而通过underlay网络的编辑信息,编辑vxlan报文的outerethernet header信息。

12、本发明针对现有现有ecmp路由实现方案中,表项资源浪费大,或者芯片内部带宽以及转发带宽消耗大的问题,通过overlay网络层和underlay网络层的转发分离,在各自的网络层分别维护ecmp表信息,当任何一层ecmp路由成员发生变化时,只需要更新本层的ecmp成员信息即可,不需要进行刷表。通过采用层次化ecmp后可大量节约表项资源和节省转发带宽,并且由于不是采用环回的方式实现转发分离,因此也不存在芯片内部带宽以及转发带宽消耗大的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1