一、概述
網(wǎng)際協(xié)議 IP 大致分為三大作用模塊, ①IP尋址、 ②路由(最終節(jié)點為止的轉(zhuǎn)發(fā)) 、③IP分包與組包。前面兩篇文章討論了IP地址的相關(guān)知識,本文繼續(xù)討論網(wǎng)際協(xié)議的第二個模塊——路由,了解IP數(shù)據(jù)報是怎樣從一個網(wǎng)絡(luò)到另一個網(wǎng)絡(luò)的。
在進行下面的閱讀之前,先了解一個討論路由時常用到的詞語——“跳”,它是指網(wǎng)絡(luò)中的一個區(qū)間。一跳的范圍是指利用數(shù)據(jù)鏈路層以下分層的功能傳輸數(shù)據(jù)幀的一個區(qū)間,也就是主機 不經(jīng)其他路由器 而能直接到達的相鄰主機之間的一個區(qū)間。
二、路由表(Routing table)
路由表(Routing table)是路由器用來存儲路由信息的數(shù)據(jù)結(jié)構(gòu),它包含了目的網(wǎng)絡(luò)地址、下一跳路由器地址、距離、標志、參考計數(shù)、使用情況、接口等信息,其中最重要的是【目的網(wǎng)絡(luò)地址、下一跳路由器地址】。 實現(xiàn)IP通信的主機和路由器都必須持有一張這樣的表。
??舉例子
下圖有4個網(wǎng)絡(luò),3個路由器,每個路由器都有兩個IP地址:
路由器R1的兩個IP地址位:10.0.0.4
、20.0.0.7
,分別連接網(wǎng)絡(luò)1、網(wǎng)絡(luò)2;
路由器R2的兩個IP地址位:20.0.0.9
、30.0.0.2
,分別連接網(wǎng)絡(luò)2、網(wǎng)絡(luò)3;
路由器R3的兩個IP地址位:30.0.0.9
、40.0.0.2
,分別連接網(wǎng)絡(luò)3、網(wǎng)絡(luò)4;
以路由器R2的路由表為例,由于R2同時連接在網(wǎng)絡(luò)2和網(wǎng)絡(luò)3上,如果目的網(wǎng)絡(luò)是網(wǎng)絡(luò)2或網(wǎng)絡(luò)3,都可以通過接口0或接口1直接交付(需要利用ARP協(xié)議才能找到這些主機的地址);如果目的地址在網(wǎng)絡(luò)1,則需要發(fā)往下一跳路由器R1,其IP地址為20.0.0.7
;如果目的地址在網(wǎng)絡(luò)4,則需要發(fā)往下一跳路由器R3,其IP地址為30.0.0.1
;
三、最長匹配、默認路由、特定主機路由
最長匹配
需要注意的是,一般使用IP地址的 網(wǎng)絡(luò)地址(網(wǎng)絡(luò)前綴) 部分來進行路由控制,而不是直接將源IP地址 和 目的IP地址記錄在路由表中,這樣可以節(jié)省大量存儲空間。但也會導(dǎo)致查找路由表時可能得到多個匹配結(jié)果。那么該選擇哪一條路由呢?
答案是,應(yīng)該從匹配結(jié)果中選擇相同位數(shù)最多的。
例如172.20.100.52的網(wǎng)絡(luò)地址與172.20/16和172.20.100/24兩項都匹配。 此時, 應(yīng)該選擇匹配度最長的
172.20.100/24。
默認路由
默認路由是指當路由表中沒有與目標 IP 地址匹配的路由條目時,路由器會將數(shù)據(jù)包轉(zhuǎn)發(fā)到默認路由所指定的下一跳地址。默認路由通常被稱為缺省路由或零點路由。默認路由一般標記為
0.0.0.0/0
或default
。??舉例子
如圖,連接到網(wǎng)絡(luò)N1的主機只需要三個路由條目,
第一個條目,目的網(wǎng)絡(luò)是本網(wǎng)絡(luò)N1,只要直接交付即可;
第二個條目,目的網(wǎng)絡(luò)是網(wǎng)絡(luò)N2,對應(yīng)下一跳路由器R2;
第三個條目,默認路由,只要目的網(wǎng)絡(luò)不是 N1 或 N2,就一律選擇默認路由,把數(shù)據(jù)報間接交付路由器R1轉(zhuǎn)發(fā);
特定主機路由
特定主機路由是指在路由表中,為某個特定的主機地址(通常是指某個具體的 IP 地址)設(shè)置的路由條目。特定主機路由通常用于實現(xiàn)對某個特定主機的訪問控制或優(yōu)化路由轉(zhuǎn)發(fā)的目的。
特定主機路由的配置方式與其他路由條目類似,需要指定目標地址、子網(wǎng)掩碼、下一跳地址等參數(shù)。不同之處在于,特定主機路由的子網(wǎng)掩碼通常是
255.255.255.255
,表示只匹配該特定主機地址,而不匹配其他主機地址。例如,假設(shè)一個企業(yè)內(nèi)部的網(wǎng)絡(luò)需要訪問某個外部服務(wù)器的特定服務(wù),但是該服務(wù)器的 IP 地址可能會變化,那么可以配置一個特定主機路由,將該服務(wù)的訪問流量轉(zhuǎn)發(fā)到一個固定的下一跳地址,從而實現(xiàn)對該服務(wù)的優(yōu)化路由轉(zhuǎn)發(fā)。
另外,特定主機路由也可以用于實現(xiàn)對某個特定主機的訪問控制,例如限制某個主機的訪問權(quán)限或者將某個主機的流量轉(zhuǎn)發(fā)到一個特定的防火墻進行安全檢查等。
四 、IP數(shù)據(jù)報路由過程
IP數(shù)據(jù)報路由過程是指當一個IP數(shù)據(jù)報從源主機發(fā)送到目標主機時,經(jīng)過的路由選擇過程。路由選擇過程通常包括以下步驟:
檢查目標IP地址是否在本地子網(wǎng)中。如果是,則將數(shù)據(jù)包直接發(fā)送到目標主機。
如果目標IP地址不在本地子網(wǎng)中,則檢查本地路由表中是否有與目標IP地址匹配的路由。如果有,則將數(shù)據(jù)包發(fā)送到匹配的下一跳路由器。
如果本地路由表中沒有與目標IP地址匹配的路由,則將數(shù)據(jù)包發(fā)送到默認網(wǎng)關(guān)。
在下一跳路由器上重復(fù)上述步驟,直到數(shù)據(jù)包到達目標主機。
在路由選擇過程中,可以使用靜態(tài)路由或動態(tài)路由來實現(xiàn)路由表的更新。靜態(tài)路由需要手動配置路由表,而動態(tài)路由可以自動學習網(wǎng)絡(luò)拓撲信息并更新路由表。
五、路由聚合
路由聚合是一種路由技術(shù),它通過將多個子網(wǎng)的路由信息合并成一個更具體的路由信息,從而減少路由表的大小和網(wǎng)絡(luò)中路由器之間的路由信息交換量。路由聚合可以使用CIDR(無類域間路由)技術(shù)來實現(xiàn)。
在路由聚合中,將多個具有相同前綴的子網(wǎng)路由信息合并成一個更具體的路由信息。例如,假設(shè)有三個子網(wǎng),分別是192.168.1.0/24、192.168.2.0/24和192.168.3.0/24,它們的路由信息可以被合并成一個更具體的路由信息192.168.0.0/16,這樣就可以減少路由表的大小。
路由聚合可以減少路由表的大小,降低路由器之間的路由信息交換量,并提高路由器的性能。但是,它也可能會導(dǎo)致路由器之間的路由信息不夠精細,可能會出現(xiàn)路由環(huán)路等問題,因此需要謹慎使用。文章來源:http://www.zghlxwxcb.cn/news/detail-462883.html
參考資料:
《計算機網(wǎng)絡(luò)》第7版 謝希仁 編著
《圖解TCP/IP》第5版
如果文章有幫助的話,點贊??、收藏?,支持一波,謝謝 ??????文章來源地址http://www.zghlxwxcb.cn/news/detail-462883.html
到了這里,關(guān)于【網(wǎng)絡(luò)】- TCP/IP四層(五層)協(xié)議 - 網(wǎng)際層(網(wǎng)絡(luò)層) - 路由控制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!