一种路由表项生成方法及装置的制造方法
【专利摘要】本发明实施例公开了一种路由表项生成方法及装置,应用于网关设备,方法包括:接收对端的网关设备发送的IPsec协商报文,获取接收该报文的入端口的端口信息、对端的私网侧地址和下一跳地址;从本地路由表中查找与端口信息匹配的缺省路由表项;根据查找到的缺省路由表项中的出端口、私网侧地址和下一跳地址进行路由迭代,生成RRI表项。由此可见,网关设备基于接收IPsec协商报文的入端口的端口信息查找对应的缺省路由表项,仅根据查找到的缺省路由表项生成RRI表项,根据生成的RRI表项进行流量转发时,只能将流量发送至与该端口信息对应的分支,避免了存在多个分支时,路由迭代错误所导致的流量转发多个分支的问题。
【专利说明】
-种路由表项生成方法及装置
技术领域
[0001] 本发明设及互联网技术领域,特别设及一种路由表项生成方法及装置。
【背景技术】
[0002] IPsecdP 86(311'^7,1?安全)是^了。制定的^层隧道加密协议,它为互联网上传 输的数据提供了高质量的、基于密码学的安全保证,是一种传统的实现Ξ层VPN(Vidual Private化twork,虚拟专用网络)的安全技术。IPsec通过在特定通信方之间(例如两个安 全网关之间)建立"通道",来保护通信方之间传输的用户数据,该通道通常称为IPsec隧道 (Ipsec tunnel)。
[0003] RRI(Reverse Route Injection,反向路由注入)是一种自动添加到达IPsec VPN (Virtual Private化twork,虚拟专用网)私网静态路由的机制,可W实现为受IPsec保护 的流量自动添加静态路由的功能。如图1所示的IPsec VPN组网中,企业总部通过不同的运 营商网络连接分支的网关设备,在分支的网关设备下部署有私网。企业总部网关设备上会 配置RRI功能,在每一个IPsec隧道建立之后,总部网关都会自动为其添加一条相应的静态 路由表项。通过RRI创建的路由表项可W在路由表中查询到,其目的地址为受保护的对端私 网,下一跳地址为IPsec隧道的对端网关设备的地址,它使得发往对端的流量被强制通过 IPsec保护并转发。
[0004] 由于IPsec RRI创建的路由表项的目的地址为受保护的对端私网,下一跳地址为 IPsec隧道的对端地址,运些路由需要通过迭代才能生效。总部网关设备会存在多个分支, 并且总部网关设备可能通过多条路径到达某个分支。相对应的,总部网关设备中会存在多 条缺省路由表项。IPsec RRI创建的路由表项是根据设备中存在的全部缺省路由表项生成 的。如果后续流量转发有端口的限制,比如某流量只能发送至分支X,但是IPsec RRI创建的 路由表项中包含发送至分支X和分支Y的表项,也就是说,IPsec RRI创建的路由表项中包含 错误的表项,根据IPsec RRI创建的路由表项对该流量进行转发时,会出现流量转发错误的 问题。
【发明内容】
[0005] 本发明实施例的目的在于提供一种路由表项生成方法及装置,避免生成错误的路 由表项导致流量转发错误。
[0006] 为达到上述目的,本发明实施例公开了一种路由表项生成方法,应用于网关设备, 包括:
[0007] 接收对端的网关设备发送的IPsec协商报文,获取接收所述IPsec协商报文的入端 口的端口信息、对端的私网侧地址和下一跳地址;
[000引从本地路由表中查找与所述端口信息匹配的缺省路由表项;
[0009] 根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳地址进行路由迭 代,生成反向路由注入RRI表项。
[0010] 可选的,所述从本地路由表中查找与所述端口信息匹配的缺省路由表项,可W包 括:
[0011] 根据所述IPsec协商报文的路由前缀信息进行合法性检查;
[0012] 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路 由表项。
[0013] 可选的,所述方法还可W包括:
[0014] 当在所述本地路由表中未查找到与所述端口信息匹配的缺省路由表项时,提示 RRI表项生成失败。
[0015] 可选的,所述端口信息可W为所述入端口上预先配置的虚拟路由转发标记。
[0016] 可选的,在接收所述IPsec协商报文的入端口上未配置对应的虚拟路由转发标记 的情况下,所述方法还可W包括:
[0017] 根据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路 由迭代,生成RRI表项。
[0018] 为达到上述目的,本发明实施例还公开了一种路由表项生成装置,应用于网关设 备,包括:
[0019] 获取模块,用于接收对端的网关设备发送的IPsec协商报文,获取接收所述IPsec 协商报文的入端口的端口信息、对端的私网侧地址和下一跳地址;
[0020] 查找模块,用于从本地路由表中查找与所述端口信息匹配的缺省路由表项;
[0021] 生成模块,用于根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳地 址进行路由迭代,生成RRI表项。
[0022] 可选的,所述查找模块,具体可W用于:
[0023] 根据所述IPsec协商报文的路由前缀信息进行合法性检查;
[0024] 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路 由表项。
[00巧]可选的,所述装置还可W包括:
[0026] 提示模块,用于当在所述本地路由表中未查找到与所述端口信息匹配的缺省路由 表项时,提示RRI表项生成失败。
[0027] 可选的,所述端口信息可W为所述入端口上预先配置的虚拟路由转发标记。
[00%]可选的,所述生成模块,还可W用于:
[0029] 在接收所述IPsec协商报文的入端口上未配置对应的虚拟路由转发标记的情况 下,根据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路由迭 代,生成RRI表项。
[0030] 应用本发明实施例,网关设备在进行IPsec协商时,基于接收IPsec协商报文的入 端口的端口信息查找对应的缺省路由表项,仅根据查找到的缺省路由表项生成RRI表项,生 成的RRI表项仅指向与该端口信息对应的分支。也就是说,根据生成的RRI表项进行流量转 发时,只能将流量发送至与该端口信息对应的分支,从而避免了存在多个分支时,路由迭代 错误所导致的流量转发多个分支的问题,提升流量转发效率。
【附图说明】
[0031] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0032] 图1为【背景技术】的组网结构示意图;
[0033] 图2为本发明实施例所设及的组网结构示意图;
[0034] 图3为本发明实施例提供的一种路由表项生成方法的流程示意图;
[0035] 图4为本发明实施例提供的一种路由表项生成装置的结构示意图。
【具体实施方式】
[0036] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0037] 为了解决上述技术问题,本发明实施例提供了一种路由表项生成方法及装置,应 用于网关设备。该网关设备可W为交换机、路由器等等,在此不做限制。下面首先对本发明 实施例提供的路由表项生成方法进行详细说明。
[0038] 下面W图2所示的组网对本发明所示实施例进行描述,在企业的总部设置有网关 设备A,网关设备A经过运营商1网络连接到分支X的网关设备B和分支Y的网关设备C,经过运 营商2网络连接分支Z的网关设备D。在网关设备B下部署有私网X,在网关设备C下部署有私 网Y,在网关设备D下部署有私网Z。其中,网关设备B对应网关设备A的端口 1,网关设备C对应 网关设备A的端口2,网关设备D对应网关设备A的端口3。该组网仅为实例性说明,并不多本 发明构成限制。
[0039] 图3为本发明实施例提供的一种路由表项生成方法的流程示意图,包括:
[0040] S101:接收对端的网关设备发送的IPsec协商报文,获取接收所述IPsec协商报文 的入端口的端口信息、对端的私网侧地址和下一跳地址。
[0041] 两台网关设备(例如,位于总部的网关设备A和位于分支Z的网关设备D)之间通过 发送IPsec协商报文建立IPsec隧道,也可W理解为,两台网关设备之间通过发送IPsec协商 报文生成对应的路由表项(反向路由注入RRI表项),根据生成的路由表项,进行后续流量转 发。
[0042] 假设,网关设备A执行本方法,需要与分支Z的网关设备D进行IPsec协商建立IPsec 隧道。
[0043] IPsec协商报文为网关设备和网关设备进行IPsec协商时交互的报文,由于IPsec 协商的过程属于现有技术,在此不再展开描述。在IPsec协商的过程中,网关设备A会接收到 网关设备D发送的IPsec协商报文,根据该IPsec协商报文解析出对端的网关设备D的地址, 作为下一跳地址。并且,可W获取到对端的网关设备D所连接的私网(即私网Z)所在的地址, 作为私网侧地址,私网侧地址为通过下一跳地址可W到达的地址。
[0044] 在进行IPsec协商的过程中,还要获取接收所述IPsec协商报文的入端口的端口信 息。该端口信息可W为该入端口的标识信息,比如P0RT3;该端口信息还可W为该入端口上 预先配置的虚拟路由转发标记,比如v-vrf-po;rt2。
[0045] 本实施例中W入端口的端口信息为入端口的标识信息为例进行描述。
[0046] 假设该入端口的标识信息为P0RT3,网关设备D的地址为4.4.4.4,私网Z的地址为 3.3.3.0/24。那么,网关设备A在IPsec协商过程中获取到的路由信息格式可W如下所示:
[0047]
[0048] ~S102:从本地路由表中查找与所述端口信息匹配的缺省路由表项。
[0049] 假设本地路由表如表1所示,本地路由表由路由表项组成,路由表项包括目的地 址、下一跳地址和出端口。表1中的前Ξ条表项可W为预先配置的缺省路由表项,分别指向 Ξ个不同的分支;后Ξ条表项可W理解为直连路由。为了简化说明,表1仅为本地路由表中 的部分内容,并不对本地路由表构成限定:
[(K)加 ]表1 「00511
[0化2]由于在S101中获取到的入端口的标识信息P0RT3,在本地路由表中查找P0RT3,查 找到第Ξ条缺省路由表项为匹配的缺省路由表项。
[0053] 作为一种实施方式,从本地路由表中查找与所述端口信息匹配的缺省路由表项, 可W包括:
[0054] 根据所述IPsec协商报文的路由前缀信息进行合法性检查;
[0055] 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路 由表项。
[0056] 在网关设备A接收到IPsec协商报文时,可W根据IPsec协商报文的路由前缀信息 进行合法性检查,其中,路由前缀信息表示为IPsec协商报文中携带的私网侧地址。例如当 接收到的IPsec协商报文的路由前缀信息对应到自环回路由地址、组播地址或广播地址时, 则认为该IPsec协商报文不合法,而如果IPsec协商报文中的路由前缀信息对应到单播地址 时,则认为该IPsec协商报文合法。
[0057] 在确定该IPsec协商报文合法时,才根据该IPsec协商报文进行路由迭代。
[0化引S103:根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳地址进行路 由迭代,生成RRI表项。
[0059]通过IPsec协商过程中获取的路由信息W及查找本地路由表获取到的缺省路由表 项,生成的该网关设备D对应的RRI表项。生成的RRI表项,如下所示:
[0060]
[0061] 将生成的RRI表项添加到表1所示的本地路由表中,最终的本地路由表如表2所示:
[0062] 表 2
[0063]
[0064] ~应用本发明提供的方案,当网关设备A接收到网关设备D发送的IPsec协商报文时,胃 网关设备A获取该IPsec协商报文的入端口的端口信息,并从本地路由表中查找与该端口信 息匹配的缺省路由表项,因此,仅根据查找到的缺省路由表项生成反向路由注入RRI表项, 该表项指向分支Z,不会导致后续流量转发错误。
[0065] 后续流量转发的过程,即为根据生成的路由表项进行流量转发。流量转发的过程 与现有技术相同,在此不做寶述。
[0066] 作为本发明的一种实施方式,当在所述本地路由表中未查找到与所述端口信息匹 配的缺省路由表项时,提示RRI表项生成失败。
[0067] 如果根据端口信息未查找到对应的缺省路由表项时,则可W理解为在网关设备A 处未配置相关的缺省路由表项,那么则无法生成对应的RRI表项。此时,则需要提醒工作人 员,无法实现对应的RRI功能。
[0068] 在入端口的端口信息为虚拟路由转发标记时,如接收到IPsec协商报文的入端口 上可能未配置对应的虚拟路由转发标记,则无法基于该虚拟路由转发标记进行本地路由表 的查找W及后续的迭代。那么,在接收所述IPsec协商报文的入端口上未配置对应的虚拟路 由转发标记的情况下,所述方法还可W包括:
[0069] 根据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路 由迭代,生成RRI表项。
[0070] 此时,在确定入端口未配置虚拟路由转发标记的情况下,根据原有的方式进行路 由迭代生成RRI表项。
[0071] 下面W-个具体的例子对本发明所设及的一种路由表项生成方法进行描述,其 中,组网方式如图2所示,其中,W总部的网关设备A需要和分支Y的网关设备C建立IPsec隧 道的场景进行描述。分支X和分支Y都处于运营商1网络下,在端口 1上配置有虚拟路由转发 标记v-vrf-po;rtl,在端口 2上也同样配置虚拟路由转发标记v-vrf-po;rtl;分支Z处于运营 商2网络下,在端口 3上配置有虚拟路由转发标记v-vrf-port2。
[0072] S1、总部的网关设备A和分支Y的网关设备C进行IPsec协商,网关设备A从端口2接 收到网关设备c发送的IPsec协商报文。
[0073] S2、网关设备A根据IPsec协商报文的路由前缀信息,对该IPsec协商报文的合法性 进行检查,如果合法则转步骤S3,如果不合法则丢弃该IPsec协商报文。
[0074] S3、网关设备A根据入端口(即端口 2)上获取配置的虚拟路由转发标记v-vrf- podl,并根据对IPsec协商报文进行解析,获取路由信息的目的地址为2.2.2.0/24(即对端 私网Y的私网侧地址),下一跳地址为5.5.5.5(即网关设备C的地址),出端口为P0RT2。
[0075] 获取到的路由信息如下:
[0076] _
[0077] S4、网关设备A根据虚拟路由转发标记在本地路由表中查找对应的缺省路由表项。 [007引网关设备A中存储的本地路由表如表3所示:
[0079] 表 3
[0080] _
[0081] 由于需要进行路由迭代,所W会查找目的地址为0.0.0.0/0的Ξ条路由表项,运Ξ 条表项为本地路由表中的缺省路由表项。之后,根据在入端口处获取的虚拟路由转发标记 v-vrf-portl匹配到其中的前两条缺省路由表项。
[0082] S5、网关设备A基于查找到的缺省路由表项进行路由迭代,生成RRI表项。
[0083] 根据路由信息和本地路由表中匹配到的缺省路由表项,生成RRI表项。具体的,生 成的RRI表项可W如下所示:
[0084]
[0085] 将该RRI表项插入到本地路由表中,最终,本地路由表如表4所示:
[00化]表4
[0087]
'[0088] S6、网关设备A根据生成的RRI表项I,对需要进行IPseic封装的流量进行转发。 '
[0089] 应用上述方案,网关设备在进行IPsec协商时,基于接收IPsec协商报文的入端口 的端口信息查找对应的缺省路由表项,仅根据查找到的缺省路由表项生成RRI表项,生成的 RRI表项仅指向与该端口信息对应的分支。也就是说,根据生成的RRI表项进行流量转发时, 只能将流量发送至与该端口信息对应的分支,从而避免了存在多个分支时,路由迭代错误 所导致的流量转发多个分支的问题,提升流量转发效率。
[0090] 进一步地,与入端口的端口信息为入端口的标识信息不同的是,如果根据入端口 的标识信息进行迭代,在本地路由表里只匹配到P0RT2对应的缺省路由表项。运样一来,同 样是采用运营商1网络的端口 1则不会对流量进行转发,从而使到达分支Y-侧的流量都从 端口2发出,端口2的压力较大。然而,采用虚拟路由转发标记进行迭代时,可W分别迭代到 出端口为端口 1和端口 2运两条缺省路由表项上,生成两条对应的RRI表项,从而使发往网关 设备C的流量可W通过端口 1和端口 2进行负载分担,降低一个端口上的流量转发压力。
[0091] 与上述的方法实施例相对应,本发明实施例还提供一种路由表项生成装置。
[0092] 图4为本发明实施例提供的一种路由表项生成装置的结构示意图,包括:
[0093] 获取模块201,用于接收对端的网关设备发送的IPsec协商报文,获取接收所述 IPsec协商报文的入端口的端口信息、对端的私网侧地址和下一跳地址;
[0094] 查找模块202,用于从本地路由表中查找与所述端口信息匹配的缺省路由表项; [00M]生成模块203,用于根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳 地址进行路由迭代,生成RRI表项。
[0096] 在本实施例中,查找模块202,具体可W用于:
[0097] 根据所述IPsec协商报文的路由前缀信息进行合法性检查;
[0098] 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路 由表项。
[0099] 在本实施例中,所述装置还可W包括:
[0100] 提示模块(图中未示出),用于当在所述本地路由表中未查找到与所述端口信息匹 配的缺省路由表项时,提示RRI表项生成失败。
[0101] 在本实施例中,所述端口信息为所述端口上预先配置的虚拟路由转发标记。
[0102] 在本实施例中,生成模块203,还可W用于:
[0103] 在接收所述IPsec协商报文的入端口上未配置对应的虚拟路由转发标记的情况 下,根据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路由迭 代,生成RRI表项。
[0104] 应用本发明图3所示实施例,网关设备在进行IPsec协商时,基于接收IPsec协商报 文的入端口的端口信息查找对应的缺省路由表项,仅根据查找到的缺省路由表项生成RRI 表项,生成的RRI表项仅指向与该端口信息对应的分支。也就是说,根据生成的RRI表项进行 流量转发时,只能将流量发送至与该端口信息对应的分支,从而避免了存在多个分支时,路 由迭代错误所导致的流量转发多个分支的问题,提升流量转发效率。并且不需要增加网关 设备,也不需要将网关设备虚拟成多台设备,不增加设备成本及对设备维护的复杂性。
[0105] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存 在任何运种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在 包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0106] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实 施例而言,由于其基本相似于方法实施例,所W描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0107] 本领域普通技术人员可W理解实现上述方法实施方式中的全部或部分步骤是可 W通过程序来指令相关的硬件来完成,所述的程序可W存储于计算机可读取存储介质中, 运里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0108] W上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种路由表项生成方法,应用于网关设备,其特征在于,包括: 接收对端的网关设备发送的IPsec协商报文,获取接收所述IPsec协商报文的入端口的 端口信息、对端的私网侧地址和下一跳地址; 从本地路由表中查找与所述端口信息匹配的缺省路由表项; 根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳地址进行路由迭代,生 成反向路由注入RRI表项。2. 根据权利要求1所述的方法,其特征在于,所述从本地路由表中查找与所述端口信息 匹配的缺省路由表项,包括: 根据所述IPsec协商报文的路由前缀信息进行合法性检查; 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路由表 项。3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 当在所述本地路由表中未查找到与所述端口信息匹配的缺省路由表项时,提示RRI表 项生成失败。4. 根据权利要求1-3任一项所述的方法,其特征在于,所述端口信息为所述入端口上预 先配置的虚拟路由转发标记。5. 根据权利要求4所述的方法,其特征在于,在接收所述IPsec协商报文的入端口上未 配置对应的虚拟路由转发标记的情况下,所述方法还包括: 根据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路由迭 代,生成RRI表项。6. -种路由表项生成装置,应用于网关设备,其特征在于,包括: 获取模块,用于接收对端的网关设备发送的IPsec协商报文,获取接收所述IPsec协商 报文的入端口的端口信息、对端的私网侧地址和下一跳地址; 查找模块,用于从本地路由表中查找与所述端口信息匹配的缺省路由表项; 生成模块,用于根据所述缺省路由表项中的出端口、所述私网侧地址和下一跳地址进 行路由迭代,生成RRI表项。7. 根据权利要求6所述的装置,其特征在于,所述查找模块,具体用于: 根据所述IPsec协商报文的路由前缀信息进行合法性检查; 当所述路由前缀信息合法时,从本地路由表中查找与所述端口信息匹配的缺省路由表 项。8. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 提示模块,用于当在所述本地路由表中未查找到与所述端口信息匹配的缺省路由表项 时,提示RRI表项生成失败。9. 根据权利要求6-8任一项所述的装置,其特征在于,所述端口信息为所述入端口上预 先配置的虚拟路由转发标记。10. 根据权利要求9所述的装置,其特征在于,所述生成模块,还用于: 在接收所述IPsec协商报文的入端口上未配置对应的虚拟路由转发标记的情况下,根 据所述私网侧地址、下一跳地址和本地路由表中缺省路由表项的出端口进行路由迭代,生 成RRI表项。
【文档编号】H04L29/06GK106059932SQ201610643938
【公开日】2016年10月26日
【申请日】2016年8月8日 公开号201610643938.4, CN 106059932 A, CN 106059932A, CN 201610643938, CN-A-106059932, CN106059932 A, CN106059932A, CN201610643938, CN201610643938.4
【发明人】徐伟
【申请人】杭州华三通信技术有限公司