當路由器收到一個IP數(shù)據(jù)包,路由器會根據(jù)數(shù)據(jù)包的目的IP地址查找FIB(ForwardingInformation Base,轉發(fā)信息庫)表,找到“最匹配”的路由條目后,將數(shù)據(jù)包根據(jù)路由條目所指示的出接口或下一跳轉發(fā)出去。
路由器獲取路由的方式有三種,分別是動態(tài)路由(例如OSPF)、靜態(tài)路由、直連路由。一個網(wǎng)絡中可能會同時存在這三種方式,那么采用不同方式獲取路由的路由器之間如何實現(xiàn)路由可達?
本文介紹IP路由的基礎知識,包括路由轉發(fā)和路由表,以及路由引入的相關知識。
IP路由基礎
IP路由概述

當路由器收到一個IP報文時,路由器根據(jù)該IP報文的目的地址匹配路由條目(或路由表項)。
若有匹配的路由條目,則依據(jù)該條目中的出接口或下一跳等信息進行報文轉發(fā);
若無匹配的路由條目,則路由器沒有相關路由信息用于指導報文轉發(fā),此時會丟棄該報文。
RIB與FIB
具有路由功能的網(wǎng)絡設備都維護兩種重要的數(shù)據(jù)表:一是路由表RIB(Routing Information Base,路由信息庫);二是轉發(fā)表FIB。

路由表
每個路由器都有路由表,而路由表又分為本地核心路由表和協(xié)議路由表。

IP路由查找的最長匹配原則
路由器查找FIB表時,將報文的目的IP地址和FIB表中各表項的掩碼進行按位“邏輯與”,得到的地址符合FIB表中的網(wǎng)絡地址則匹配。
最終選擇一個掩碼最長的FIB表項轉發(fā)報文。
| [Huawei] display fib 0 |
| Route Flags: G - Gateway Route, H - Host Route, U - Up Route |
| S - Static Route, D - Dynamic Route, B - Black Hole Route |
| --------------------------------------------------------------------------------------------- |
| FIB Table: |
| Total number of Routes : 8 |
| Destination/Mask Nexthop Flag TimeStamp Interface TunnelID |
| 10.3.3.3/32 10.0.1.1 DGHU t[15123] GE0/0/0 0x0 |
| 10.4.4.4/32 10.0.2.2 DGHU t[11177] GE0/0/1 0x0 |
| 10.0.1.2/32 127.0.0.1 HU t[9058] InLoop0 0x0 |
| 127.0.0.1/32 127.0.0.1 HU t[19] InLoop0 0x0 |
| 127.0.0.0/8 127.0.0.1 U t[19] InLoop0 0x0 |
| 0.0.0.0/0 10.0.2.2 GSU t[122] GE0/0/1 0x0 |
| 10.0.1.0/24 10.0.1.2 U t[9058] GE0/0/0 0x0 |
| 10.0.3.0/24 10.0.2.2 DGU t[11177] GE0/0/1 0x0 |
路由的來源

動態(tài)路由協(xié)議
動態(tài)路由協(xié)議根據(jù)作用范圍不同,可分為:
內部網(wǎng)關協(xié)議IGP(Interior Gateway Protocol):在一個自治系統(tǒng)內部運行。常見的IGP協(xié)議包括OSPF和IS-IS。
外部網(wǎng)關協(xié)議EGP(Exterior Gateway Protocol):運行于不同自治系統(tǒng)之間。BGP是目前最常用的EGP協(xié)議。

路由迭代
路由必須有直連的下一跳才能夠指導轉發(fā),靜態(tài)路由或BGP路由的下一跳可能不是直連的鄰居,因此需要計算出一個直連的下一跳,這個過程就叫做路由迭代。

數(shù)據(jù)轉發(fā)流程

IP路由高級應用
IP路由高級應用場景分析

場景描述:
假設A公司和B公司各有自己的網(wǎng)絡,這兩個網(wǎng)絡被獨立管理及運維,A公司網(wǎng)絡使用的路由協(xié)議為OSPF,B公司網(wǎng)絡使用的路由協(xié)議為IS-IS。
現(xiàn)在兩家公司合并成一家公司,導致原有的兩張網(wǎng)絡不得不進行整合,為了使合并后的新公司業(yè)務流量能夠正常在整合后的網(wǎng)絡上交互,最重要的就是實現(xiàn)路由互通。

場景描述:
在大型企業(yè)網(wǎng)絡中,網(wǎng)絡規(guī)模十分龐大,選用單一的路由協(xié)議無法滿足網(wǎng)絡的需求,因此多種路由協(xié)議共存的情況十分常見。
或者出于業(yè)務邏輯或行政管理的考慮,會在不同的網(wǎng)絡結構中設計和部署不同的路由協(xié)議,使路由的層次結構更加清晰可控。
在這樣的網(wǎng)絡環(huán)境下,也需要實現(xiàn)全網(wǎng)路由互通。
路由引入的基本概念

路由引入指的是將路由信息從一種路由協(xié)議發(fā)布到另一種路由協(xié)議的操作。
通過路由引入,可以實現(xiàn)路由信息在不同路由協(xié)議間傳遞。
執(zhí)行路由引入時,還可以部署路由控制,從而實現(xiàn)對業(yè)務流量的靈活把控。
路由引入的方向性
路由引入是具有方向性的,將路由信息從路由協(xié)議A引入到路由協(xié)議B(A-to-B),則路由協(xié)議B可獲知A中的路由信息,但是此時,A還并不知曉B路由協(xié)議中的路由信息,除非配置B-to-A的路由引入。
路由引入時需要注意以下幾點:
路由優(yōu)先級
路由回灌
路由度量值

路由引入:路由優(yōu)先級

場景描述:
- R1將直連路由10.1.1.0/24引入到OSPF中。
- R3通過OSPF學習到10.1.1.0/24網(wǎng)段路由(OSPF外部路由,路由優(yōu)先級為150)。
- R2在IS-IS進程中引入OSPF路由。
- R3也會通過IS-IS學習到10.1.1.0/24網(wǎng)段路由(路由優(yōu)先級為15)。
- 對R3而言,IS-IS路由優(yōu)于OSPF外部路由,因此優(yōu)選來自R4的IS-IS路由。
? 后續(xù)R3訪問10.1.1.0/24網(wǎng)段的路徑為:R3->R4->R2->R1,這是次優(yōu)路徑。
路由引入:路由回灌

場景描述:
- R1將直連路由10.1.1.0/24引入到OSPF中。
- 10.1.1.0/24網(wǎng)段路由全OSPF域內通告。
- R2在IS-IS進程中引入OSPF路由。
- 10.1.1.0/24網(wǎng)段路由全IS-IS域內通告。
- R3在OSPF進程中引入IS-IS路由。
- 10.1.1.0/24網(wǎng)段路由再次被通告進OSPF域內,形成路由回灌。
路由引入:路由度量值

場景描述:
- 在IS-IS中引入OSPF路由。
- 在OSPF中引入IS-IS路由。
路由引入場景
路由引入主要涉及以下幾種場景:
- 動態(tài)路由協(xié)議之間的路由引入
- 引入直連路由到動態(tài)路由協(xié)議
- 引入靜態(tài)路由到動態(tài)路由協(xié)議

路由引入的基礎配置命令
- 配置OSPF引入外部路由
[Huawei-ospf-100] import-route { bgp | direct | static | isis [ process-id-isis ] | ospf [ process-id-ospf ]}
在OSPF視圖下,引入BGP路由/直連路由/靜態(tài)路由/IS-IS路由/OSPF其他進程路由。
案例1:引入直連路由到OSPF

可以通過使用import-route direct命令,將路由表中所有直連路由引入到動態(tài)路由協(xié)議。
引入后的路由會作為OSPF外部路由,在整個OSPF網(wǎng)絡內通告。
案例2:引入靜態(tài)路由到OSPF

可以通過使用import-route static命令,將路由表中所有靜態(tài)路由引入到動態(tài)路由協(xié)議。
引入后的路由會作為OSPF外部路由,在整個OSPF網(wǎng)絡內通告。
案例3:將IS-IS路由引入到OSPF

可以通過使用import-route isis 1命令,將路由表中所有IS-IS路由引入到動態(tài)路由協(xié)議。
引入后的路由會作為OSPF外部路由,在整個OSPF網(wǎng)絡內通告。
本文版權歸作者和博客園共有,歡迎轉載,但必須給出原文鏈接,并保留此段聲明,否則保留追究法律責任的權利。