一種路由表項生成方法及裝置的制造方法
【專利摘要】本發明實施例公開了一種路由表項生成方法及裝置,應用于網關設備,方法包括:接收對端的網關設備發送的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
【發明人】徐偉
【申請人】杭州華三通信技術有限公司