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

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

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

IP路由查找的最長(zhǎng)匹配原則
路由器查找FIB表時(shí),將報(bào)文的目的IP地址和FIB表中各表項(xiàng)的掩碼進(jìn)行按位“邏輯與”,得到的地址符合FIB表中的網(wǎng)絡(luò)地址則匹配。
最終選擇一個(gè)掩碼最長(zhǎng)的FIB表項(xiàng)轉(zhuǎn)發(fā)報(bào)文。
| [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 |
路由的來源

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

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

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

IP路由高級(jí)應(yīng)用
IP路由高級(jí)應(yīng)用場(chǎng)景分析

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

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

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

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

場(chǎng)景描述:
- R1將直連路由10.1.1.0/24引入到OSPF中。
- R3通過OSPF學(xué)習(xí)到10.1.1.0/24網(wǎng)段路由(OSPF外部路由,路由優(yōu)先級(jí)為150)。
- R2在IS-IS進(jìn)程中引入OSPF路由。
- R3也會(huì)通過IS-IS學(xué)習(xí)到10.1.1.0/24網(wǎng)段路由(路由優(yōu)先級(jí)為15)。
- 對(duì)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)路徑。
路由引入:路由回灌

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

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

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

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

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

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