【网络基础】路由表,分组转发算法
前提:
IP數(shù)據(jù)報(bào)的首部中沒(méi)有地方能夠用來(lái)指明“下一跳路由器的 IP 地址”。
那么。當(dāng)路由器接受到一個(gè)待轉(zhuǎn)發(fā)的報(bào)文時(shí)。是怎樣確定將該報(bào)文的傳向呢?在此,我們引入“路由表”概念。
路由表如圖所看到的:
當(dāng)一個(gè)IP報(bào)文傳到路由器R2時(shí),則會(huì)通過(guò)查詢R2所維護(hù)的路由表,依據(jù)IP報(bào)文段中的目的地址進(jìn)行匹配。
得到對(duì)應(yīng)的下一跳地址。
這樣,
? ? IP 數(shù)據(jù)報(bào)終于一定能夠找到目的主機(jī)所在目的網(wǎng)絡(luò)上的路由器(可能要通過(guò)多次的間接交付)。
? ? 僅僅有到達(dá)最后一個(gè)路由器時(shí),才試圖向目的主機(jī)進(jìn)行直接交付。
?
當(dāng)然,路由表內(nèi)容不止上圖所看到的。例如以下:
特定主機(jī)路由:
這樣的路由是為特定的目的主機(jī)指明一個(gè)路由。
採(cǎi)用特定主機(jī)路由可使網(wǎng)絡(luò)管理人員能更方便地控制網(wǎng)絡(luò)和測(cè)試網(wǎng)絡(luò),同一時(shí)候也可在須要考慮某種安全問(wèn)題時(shí)採(cǎi)用這樣的特定主機(jī)路由。
? 默認(rèn)路由:
作用:
路由器還可採(cǎi)用默認(rèn)路由以降低路由表所占用的空間和搜索路由表所用的時(shí)間。
僅僅要目的網(wǎng)絡(luò)在路由表中匹配不到,就一律選擇默認(rèn)路由(詳情見(jiàn)后面:分組轉(zhuǎn)發(fā)規(guī)則)
用途:
假設(shè)一個(gè)主機(jī)連接在一個(gè)小網(wǎng)絡(luò)上。而這個(gè)網(wǎng)絡(luò)僅僅用一個(gè)路由器和因特網(wǎng)連接,那么在這樣的情況下使用默認(rèn)路由是非 常合適的。?。
當(dāng)路由器收到待轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào),不是將下一跳路由器的 IP 地址填入 IP 數(shù)據(jù)報(bào),而是送交下層的網(wǎng)絡(luò)接口軟件。
確認(rèn)下一跳路由器之后,
網(wǎng)絡(luò)接口軟件使用 ARP 負(fù)責(zé)將下一跳路由器的 IP 地址轉(zhuǎn)換成硬件地址。并將此硬件地址放在鏈路層的 MAC 幀的首部。然后依據(jù)這個(gè)硬件地址找到下一跳路由器。 ?
以下列出路由器之間分組轉(zhuǎn)發(fā)的算法:
(1) ?從數(shù)據(jù)報(bào)的首部提取目的主機(jī)的 IP 地址 D, 得出目的網(wǎng)絡(luò)地址為 N。
(2) ?若網(wǎng)絡(luò) N 與此路由器直接相連。則把數(shù)據(jù)報(bào)直接交付目的主機(jī) D。否則是間接交付,運(yùn)行(3)。
(3) 若路由表中有目的地址為 D 的特定主機(jī)路由。則把數(shù)據(jù)報(bào)傳送給路由表中所指明的下一跳路由器。否則,運(yùn)行(4)。
(4) 若路由表中有到達(dá)網(wǎng)絡(luò) N 的路由,則把數(shù)據(jù)報(bào)傳送給路由表指明的下一跳路由器。否則,運(yùn)行(5)。
(5) 若路由表中有一個(gè)默認(rèn)路由。則把數(shù)據(jù)報(bào)傳送給路由表中所指明的默認(rèn)路由器;否則,運(yùn)行(6)。
(6) ?報(bào)告轉(zhuǎn)發(fā)分組出錯(cuò)。?
本文由Cout_Sev 搜集整理并改動(dòng)
轉(zhuǎn)載請(qǐng)注明出處
謝謝!
轉(zhuǎn)載于:https://www.cnblogs.com/yxwkf/p/5120811.html
總結(jié)
以上是生活随笔為你收集整理的【网络基础】路由表,分组转发算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: T-SQL字符串相加之后被截断的那点事
- 下一篇: java数据类型和运算优先级