路由匹配原則
今天小緣向大家具體介紹一下路由器是如何選路并轉(zhuǎn)發(fā)流量的厕鹃。
路由器的作用:
路由器收到數(shù)據(jù)包后,會根據(jù)數(shù)據(jù)包中的目的IP地址選擇一條最優(yōu)的路徑蹬癌,并將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個路由器闷堡,路徑上最后的路由器負責將數(shù)據(jù)包送交目的主機。
那么如何選擇最優(yōu)路徑的铐伴,這便涉及到了路由選路撮奏。
數(shù)據(jù)包在網(wǎng)絡上的傳輸就好像是體育運動中的接力賽一樣,每一個路由器負責將數(shù)據(jù)包按照最優(yōu)的路徑向下一跳路由器迚行轉(zhuǎn)發(fā)当宴,通過多個路由器一站一站的接力畜吊,最終將數(shù)據(jù)包通過最優(yōu)路徑轉(zhuǎn)發(fā)到目的地。當然有時候由于實施了一些特別的路由策略户矢,數(shù)據(jù)包通過的路徑可能并并一定是最佳的玲献。路由器能夠決定數(shù)據(jù)報文的轉(zhuǎn)發(fā)路徑。如果有多條路徑可以到達目的地梯浪,則路由器會通過計算來決定最佳下一跳捌年。計算的原則會隨實際使用的路由協(xié)議不同而不同。
1 路由器首先會查詢路由表
路由表中包含了下列關鍵項:
目的地址(Destination):用來標識IP包的目的地址或目的網(wǎng)絡驱证。
網(wǎng)絡掩碼(Mask):在路由表中網(wǎng)絡掩碼也具有重要的意義延窜。IP地址和網(wǎng)絡掩碼進行“邏輯不”運算便可得到相應的網(wǎng)段信息。
例如:目的地址為8.0.0.0抹锄,掩碼為255.0.0.0逆瑞,邏輯不運算后便可得到一個A類的網(wǎng)段信息(8.0.0.0/8)。
PS:根據(jù)目的地址與掩碼進行邏輯不運算來確定網(wǎng)段伙单。
邏輯不運算:
8.0.0.0? ? ? --->00001000.0.0.0
255.0.0.0? --->11111111.0.0.0
邏輯不運算--->00001000.0.0.0? ? ? ? ? ? 1與1得1获高,其他都為0
網(wǎng)絡掩碼的另一個作用還表現(xiàn)在當路由表中有多條目的地址相同的路由信息時,路由器將選擇其掩碼最長的一項作為匹配項吻育。
協(xié)議(Proto):表明使用那種路由協(xié)議
路由表中優(yōu)先級(Pre)念秧、度量值(cost)? 下文會有介紹
輸出接口(Interface):指明IP包將從該路由器的哪個接口轉(zhuǎn)發(fā)出去。 下一跳IP地址(NextHop):指明IP包所絆由的下一個路由器的接口地址布疼。
2? 最長匹配原則? 對象是目的網(wǎng)絡
例如路由器收到數(shù)據(jù)包目的IP是10.1.1.1摊趾,查詢路由表后币狠,路由表中有兩個表項到達目的網(wǎng)段10.1.1.0,下一跳地址都是20.1.1.2砾层。如果要將報文轉(zhuǎn)發(fā)至網(wǎng)段10.1.1.1漩绵,則10.1.1.0/30符合最長 匹配原則。
3 路由優(yōu)先級? 前提是同一網(wǎng)絡? 對象是不同路由協(xié)議
每個路由協(xié)議都有一個協(xié)議優(yōu)先級(取值越小肛炮、優(yōu)先級越高)止吐。當有多個路由信息時,選擇最高優(yōu)先級的路由作為最佳路由侨糟。
如圖所示碍扔,路由器通過兩種路由協(xié)議學習到了網(wǎng)段10.1.1.0的路由。雖然RIP協(xié)議提供了一條看起來更加直連的路線秕重,但是由于OSPF具有更高的優(yōu)先級不同,因而成為優(yōu)選路由潮秘,并被加入路由表中音羞。
PS: 路由表中存在的始終是最佳路由搂赋。
4 路由度量? 前提是同一網(wǎng)絡 同一路由協(xié)議? 對象是不同開銷
如果路由器無法用優(yōu)先級來判斷最優(yōu)路由讯赏,則使用度量值(metric)來決定需要加入路由表的路由热凹。
一些常用的度量值有:跳數(shù)卢佣,帶寬檩电,時延贤笆,代價留荔,負載吟孙,可靠性等。跳數(shù)是指到達目的地所通過的路由器數(shù)目聚蝶。 帶寬是指鏈路的容量杰妓,高速鏈路開銷(度量值)較小。
metric值越小碘勉,路由越優(yōu)先巷挥;因此,圖示中metric=1+1=2的路由是到達目的地的最優(yōu)路由验靡,其表項可以在路由表中找到倍宾。
路由器通過上述規(guī)則會選擇出最佳路徑,然后就可以轉(zhuǎn)發(fā)數(shù)據(jù)了胜嗓。