路由器收到報(bào)文后如何進(jìn)行報(bào)文轉(zhuǎn)發(fā)?路由的查詢方式及路由表來(lái)源
一、 路由器的工作過(guò)程
馬保國(guó)馬老師的中國(guó)武術(shù)講求"接、化、發(fā)",即"接拳"、"化膿"、"發(fā)喪"。
真·接化發(fā)
而路由器生成報(bào)文轉(zhuǎn)發(fā)表的過(guò)程也是"接、化、發(fā)",但此"接、化、發(fā)"的意思為"接收路由更新信息"、"轉(zhuǎn)化為路由表項(xiàng)"、"發(fā)送至轉(zhuǎn)發(fā)表",當(dāng)有數(shù)據(jù)報(bào)文到達(dá)路由器進(jìn)行中轉(zhuǎn)時(shí),路由器查看本地轉(zhuǎn)發(fā)表并將報(bào)文從轉(zhuǎn)發(fā)表中的匹配的網(wǎng)絡(luò)前綴表項(xiàng)的對(duì)應(yīng)接口發(fā)出。
路由器層級(jí)“接化發(fā)”
由上圖所示,路由器分為控制層面和轉(zhuǎn)發(fā)層面,控制層面維護(hù)路由協(xié)議和路由表,轉(zhuǎn)發(fā)層面維護(hù)轉(zhuǎn)發(fā)表。用戶可以通過(guò)使用靜態(tài)路由或者動(dòng)態(tài)路由協(xié)議來(lái)改變路由表表項(xiàng),從而改變轉(zhuǎn)發(fā)表表項(xiàng),改變報(bào)文經(jīng)過(guò)路由器時(shí)轉(zhuǎn)發(fā)的路徑。
二、路由器的作用
2.1建立維護(hù)路由表
通過(guò)靜態(tài)路由或動(dòng)態(tài)路由協(xié)議建立路由表
CLI手動(dòng)添加靜態(tài)路由
查看路由表中添加的靜態(tài)路由表項(xiàng)
2.2查閱轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)報(bào)文
轉(zhuǎn)發(fā)表通過(guò)路由表項(xiàng)生成,與路由表的最大不同之處在于路由表中可能存在下一跳非直連的情況,而轉(zhuǎn)發(fā)表會(huì)通過(guò)路由的迭代計(jì)算來(lái)保證報(bào)文轉(zhuǎn)發(fā)的下一跳一定是本地網(wǎng)絡(luò)接口。
當(dāng)有數(shù)據(jù)報(bào)文經(jīng)過(guò)路由器進(jìn)行轉(zhuǎn)發(fā)時(shí),路由器查看本地轉(zhuǎn)發(fā)表并將報(bào)文從轉(zhuǎn)發(fā)表中的匹配的網(wǎng)絡(luò)前綴表項(xiàng)的對(duì)應(yīng)接口發(fā)出。
路由器轉(zhuǎn)發(fā)表項(xiàng)
三、路由表項(xiàng)的來(lái)源
3.1 直連路由
路由器接口配置IP地址,接口協(xié)議與鏈路均為up后,路由器自主生成的路由條目。
路由表中的直連路由
3.2 靜態(tài)路由
通過(guò)人工配置手動(dòng)為路由表添加路由條目。適用于規(guī)模較小的網(wǎng)絡(luò)環(huán)境,缺點(diǎn)是大型網(wǎng)絡(luò)環(huán)境下路由條目較多維護(hù)難度大、無(wú)法動(dòng)態(tài)感知網(wǎng)絡(luò)發(fā)生的變化。
路由表中的靜態(tài)路由
2.3 動(dòng)態(tài)路由
通過(guò)在路由器上運(yùn)行動(dòng)態(tài)路由協(xié)議,使路由器與路由器之間建立鄰居關(guān)系并協(xié)商路由信息。
常見(jiàn)的動(dòng)態(tài)路由協(xié)議有RIP、OSPF、EIGRP、IS-IS、BGP等。
路由表中的動(dòng)態(tài)路由(RIP及OSPF)
4、 路由表項(xiàng)的選擇原則
既然路由表項(xiàng)的來(lái)源有很多種,那如果有相同目標(biāo)地址的路由表項(xiàng)有著不同的來(lái)源路由器將如何選擇?
路由器會(huì)根據(jù)不同的路由條目來(lái)源設(shè)定一個(gè)管理距離,管理距離越小的路由表項(xiàng)將會(huì)添加至路由表中,未添加至路由表的表項(xiàng)將作為冗余的浮動(dòng)路由存在于路由器中,當(dāng)被添加至路由表中的表項(xiàng)失效后冗余的浮動(dòng)路由將頂替原路由表項(xiàng)添加至路由表中。
常見(jiàn)路由條目來(lái)源管理距離如下表所示:
不同路由信息來(lái)源的管理距離
如果路由信息來(lái)源相同,同時(shí)也有相同目標(biāo)地址和掩碼的路由表項(xiàng)時(shí)就需要通過(guò)設(shè)置metric(度量值)來(lái)決定哪個(gè)路由表項(xiàng)會(huì)被添加至路由表,相同的度量值將以等價(jià)路由的方式添加至路由表,等價(jià)路由可以基于目標(biāo)地址或報(bào)文順序在等價(jià)路由的多個(gè)出接口上進(jìn)行負(fù)載。
當(dāng)有相同目標(biāo)地址及掩碼的路由表項(xiàng)有著不同的路由信息來(lái)源時(shí):
RIP與OSPF均有到達(dá)192.168.24.0/24網(wǎng)絡(luò)的路由
如上圖,路由器中通過(guò)rip和ospf都學(xué)習(xí)到了192.168.24.0/24的路由,但是rip的管理距離是120,大于ospf的110,所以路由表里只加入了opsf的路由,如下圖所示:
根據(jù)管理距離值的大小,將OSPF路由條目添加進(jìn)路由表中
如下圖,一旦ospf失效,作為浮動(dòng)路由的RIP路由表項(xiàng)將頂替原ospf路由表項(xiàng)添加至路由表中。
OSPF路由失效后,RIP將路由條目添加進(jìn)路由表
當(dāng)有相同目標(biāo)地址及掩碼的路由表項(xiàng)有著相同的路由信息來(lái)源時(shí),通過(guò)metric決定:
例如:一臺(tái)路由器上有兩條默認(rèn)靜態(tài)路由,靜態(tài)路由的管理距離為1,若兩條路由的metric相同,則這兩條路由為等價(jià)路由,均添加至路由表中。
添加兩條默認(rèn)靜態(tài)路由metric值相同
路由以等價(jià)路由的方式出現(xiàn)在路由表中
若兩條路由的metric相同,則metric值較小的路由添加至路由表中,metric值較大的路由作為冗余的浮動(dòng)路由存在于路由器中。
添加兩條默認(rèn)靜態(tài)路由metric值不同
metric較小的路由被添加至路由表
當(dāng)被添加至路由表中的表項(xiàng)失效后冗余的浮動(dòng)路由將頂替原路由表項(xiàng)添加至路由表中。
當(dāng)metric值較小的路由表項(xiàng)失效后,metric相對(duì)較大的路由被添加至路由表
五、路由的查詢方式
路由器對(duì)有路由的查詢方式分為有類查詢和無(wú)類查詢兩種方式,有類查詢下現(xiàn)已不常使用。有類和無(wú)類路由查找是路由器在收到需要轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)文后用何種方式對(duì)本地路由表查找的過(guò)程。
5.1 有類查詢方式
需要要求路由器執(zhí)行有類查詢方式在思科路由器上需要執(zhí)行"no ip classless"和"no ip cef"兩條命令。
有類路由查詢方式使用主類路由匹配原則,如果路由表中含有主類路由則匹配主類路由,若主類路由中無(wú)目標(biāo)地址路由則丟棄報(bào)文,不會(huì)匹配默認(rèn)路由。如果路由表中沒(méi)有主類路由則可匹配默認(rèn)路由。
路由表有類查詢方式-1
路由器有類查詢方式-2
主類路由舉例,172.16.5.0/24網(wǎng)段的主類路由為172.16.0.0/16.
192.168.0.0/25網(wǎng)段的主類路由為192.168.0.0/24.
5.2 無(wú)類查詢方式
路由無(wú)類查詢方式為默認(rèn)方式,無(wú)類路由查詢方式使用最長(zhǎng)匹配原則,匹配越精確,路由越優(yōu)先。
路由表無(wú)類查詢方式
例如,一個(gè)目標(biāo)地址為192.168.5.100的報(bào)文經(jīng)過(guò)一個(gè)路由器,路由器中有兩條目標(biāo)地址相同但子網(wǎng)掩碼不同的路由表項(xiàng)(路由表表項(xiàng)前綴不同,屬于不同的路由,同時(shí)加入路由表及轉(zhuǎn)發(fā)表)。此時(shí)根據(jù)最長(zhǎng)匹配原則,192.168.5.0/25明顯比192.168.5.0/24匹配長(zhǎng)度長(zhǎng),所以報(bào)文從對(duì)應(yīng)的2號(hào)出接口轉(zhuǎn)發(fā)。