路由器下一跳地址怎么判斷_網絡基本功三:細說路由器

介紹

以太網交換機工作在第二層即數據鏈路層,用于在同一網絡內部轉發以太網幀。但是,當源和目的IP地址位于不同網絡時,以太網幀必須發送給路由器。路由器負責在不同網絡間傳輸報文,通過路由表來決定最佳轉發路徑。當主機將報文發送至不同IP地址時,由于主機無法直接與本地網絡以外的設備通信,報文被轉發至默認網關。默認網關就是數據流從本地網絡路由至遠端設備的目的地。它通常用來連接本地網與公共網。

報文轉發過程:

路由器在一個接口接收報文并將它從另一個接口轉發出去,這一過程的關鍵步驟是為輸出鏈路將報文封裝在適當的數據鏈路幀中。路由器主要執行以下三個步驟:

1. 將第二層的幀頭和幀尾移除,解析出第三層報文。

2. 檢查IP報文的目的IP地址,在路由表中查找最佳路由。

3. 如果路由器找到一條最佳路徑,則將三層報文封裝到新的二層幀中,并將幀轉發到輸出端口。

如下圖所示:設備有三層IPv4地址,以太網接口有二層數據鏈路地址。例如PC 1的IPv4地址192.168.1.10,示例MAC地址0A-10。在報文從原設備傳輸至目的設備的過程中,三層IP地址不會改變。但是,每一跳隨著報文在路由器中被解封裝和重新封裝,二層數據鏈路地址都會改變。很可能報文被封裝成與接收時不同的另一種類型的二層幀。

3e5292833762ce223544fcbb91a99ccb.png

發送報文:

PC 1發送報文給PC 2時,首先必須確定目的IPv4地址是否位于同一網絡。PC 1通過將自己的IPv4地址與子網掩碼做與操作,來判斷PC 1所屬的網段。接下來,PC 1對目的IPv4地址與PC 1的子網掩碼做同樣的與操作。如果目的網絡地址與PC 1網絡相同,則PC 1不使用默認網關,而是在ARP緩存中查找目的IPv4地址的設備MAC地址。如果MAC地址不在緩存中,則PC 1產生一個ARP請求來獲取地址并將報文發給目的地址。如果目的網絡地址位于另一網絡,則PC 1將報文轉發至默認網關。

要確定默認網關的MAC地址,PC 1在它的ARP表中查找默認網關的IPv4地址以及相應的MAC地址。如果ARP表中沒有默認網關的對應表項,則PC 1發送ARP請求。路由器R1回復ARP響應。之后PC 1將報文轉發至默認網關的MAC地址,即路由器R1的Fa0/0接口。

轉發至下一跳:

R1從PC 1接收到以太網幀后執行以下步驟:

1. R1檢查目的MAC地址,與接收端口FastEthernet 0/0相匹配,因此,將幀復制到buffer。

2. R1識別以太網類型為0x800,意味著以太網幀的數據部分包含IPv4報文。

3. R1解封裝該以太網幀。

4. 由于目的IPv4地址與R1直連的任何網絡都不相符,R1在路由表中查找包含該目的IPv4地址主機的網絡地址。本例中,路由表中有192.168.4.0/24網絡的路由。目的IPv4地址為192.168.4.10,即該網絡上的主機IPv4地址。

R1找到192.168.4.0/24路由的下一條IPv4地址為192.168.2.2以及輸出端口FastEthernet 0/1,這意味著IPv4報文封裝到一個新的以太網幀中,目標MAC地址是下一跳路由器的MAC地址。

由于下一個接口是在以太網上,所以R1必須用ARP解析出下一跳IPv4地址的MAC地址。

1. R1在ARP cache中查找下一跳IPv4地址192.168.2.2。如果表項不在ARP cache中,R1會從FastEthernet 0/1 接口發送ARP請求,R2會返回ARP響應。R1之后在ARP cache中更新192.168.2.2的MAC地址。

2. IPv4報文封裝到新的以太網幀中并從R1的FastEthernet 0/1 接口轉發出去。

到達目的地:

當幀到達R3時執行以下步驟:

1. R3將數據鏈路幀復制到它的buffer。

2. R3解封裝該數據鏈路幀。

3. R3在路由表中查找該目的IPv4地址。R3路由表中有直接連接到該網絡的路由。這表示報文可直接發送到目的設備而無需發送至路由器。

由于輸出接口是一個直連以太網,所以R3必須用ARP解析出目的IPv4地址的MAC地址。

1. R3在它的ARP cache中查找目的IPv4地址,如果此ARP cache中沒有此表項,R3會從FastEthernet 0/0?接口發送ARP請求。PC 2回復ARP響應告知它的MAC地址。R3之后在ARP cache中更新192.168.4.10的MAC地址。

2. IPv4報文封裝到新的以太網幀中并從R3的FastEthernet 0/0?接口發出。

3. 當PC 2接收到該幀,檢查幀的目的MAC地址,與網卡接收端口的MAC地址相匹配,PC 2于是將幀的剩余部分復制到自己的buffer。

4. PC 2識別到以太網類型為0x800,也就是幀的數據部分包含IPv4報文。

5. PC 2解封裝以太網幀,將IPv4報文傳遞給操作系統的IPv4進程。

路由表:

路由表存儲的信息包括:

直連路徑:來自活動路由接口的路徑。當接口為活動狀態并配置了IP地址時,路由器添加一條直連路徑。

遠端路徑:遠端的網絡連接到其他路由。通過靜態配置或動態路由協議到達該網絡。

路由表是存儲在RAM中的一份數據文件,用于存儲直連以及遠端網絡的路由信息。路由表中包含網絡或下一跳地址的信息。這些信息告知路由器可以通過將報文發送至代表下一跳地址的路由器以最佳路勁到達目的地址。下一跳信息也可以是到下一個目的地的輸出接口。

路由表內容:

Cisco IOS路由器可用show IP route命令顯示IPv4路由表。路由器還提供一些額外的路由信息,包括路徑是怎樣學習到的,路徑在表中有多長時間,使用哪一接口去到達預定義的目的地。

路由表中的表項可作為以下內容添加:

本地路徑接口:當接口配置并激活時添加。

直連接口:當接口配置并激活時添加。

靜態路徑:當手動配置路徑并且輸出接口激活時。

動態路由協議:當路由協議動態學習到網絡時添加,如EIGRP或OSPF。

路由表項的來源通過代碼來標識,代碼表明路徑是怎樣學習到的。例如,常用代碼包括:

L:路由器接口地址。當路由器接收到報文時發送至本地接口而無需轉發。

C:直連網段。

O:通過OSPF從另一個路由器動態學習到的網絡。

D:通過EIGRP從另一個路由器動態學習到的網絡。

下圖顯示了R1的路由表:

d9f55eb30065798f7671dbeba2654bbd.png

遠端網絡路由表項:

下圖顯示了R1到遠端網絡10.1.1.0的表項:

61b32236beecbbad4b877a165bebce49.png

Route source:路徑是怎樣學習到的。

Destination network:遠端網絡地址。

Administrative distance:路由來源的可信度。較低值表明優先選擇。

Metric:是路由算法用以確定到達目的地的最佳路徑的計量標準。較低值表明優先選擇。

Next hop:轉發報文的下一個路由器的IP地址。

Route timestamp:自學習到路徑以來過了多少時間。

Outgoing interface:用以轉發報文的輸出接口。

直連路由表項:

下圖顯示了R1到直連網絡192.168.10.0的路由表項:

6be7eaeba9617375f6738703cc5ddb1b.png

在一個接口狀態為up/up并添加到IPv4路由表之前,接口必須:

·?指定有效的IPv4或IPv6地址。

·?通過no shutdown命令激活。

·?從另一設備(路由器,交換機,主機等)接收到載體信號。

當接口up之后,該接口的網絡作為直連網絡添加到路由表中。

不做專業的網絡工作,了解路由的基本知識即可,可以暫時不用關注靜態路由和動態路由,了解本章知識足夠。

往期知識

網絡基本功二:細說交換機

網絡基本功一:細說網絡傳輸

為什么瀏覽器User-agent總是有Mozilla字樣

10分鐘了解JWT-JSON Web Token

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534184.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534184.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534184.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML多選mysql,html多選下拉框 | 學步園

一個jquery ui,實現html的多選下拉框,在下拉里面加checkbox,不改變頁面的提交特性,只是動態的改變select選中的多選數據。jsp頁面例子:pageEncoding"UTF-8" import"java.util.*,java.text.*"%>String path…

利用逆矩陣解線性方程組_經典Jacobi方法用于求解矩陣特征值

1、引言求解線性方程組在許多領域中都有重要應用,寫成矩陣的形式: 。求解 可以寫成: ,這里需要求解矩陣 的逆。《線性代數》中給出的方法主要有兩類:1、設置增廣矩陣,利用高斯消元法,通過初等行…

filename: core/loader.php,使用第三方包后出現的這個錯誤,你們都遇到過嗎?

使用了一些第三方包,經常會發現,引入某些第三方包后(比如在laravel5.6中引入viacreative/sudo-su),使用命令行工具會遇到這樣的錯誤提示,卸載了第三方包后重新安裝vendor目錄問題立馬解決。真是把人頭發都愁白了:PHP F…

python函數的作用域_python學習第五篇 函數 變量作用域

原博文 2019-07-18 23:40 ? 函數 函數是組合好的,可以重復使用的,用來實現單一或相關聯功能的代碼片段作用 能提高應用的模塊性和代碼的重復利用率函數的創建 第一函數的規則 1.函數代碼塊一def關鍵字開頭,后接函數標識符名稱和圓括號‘&…

js post中文亂碼 php,AJAX之POST數據中文亂碼如何解決

本文主要和大家分享AJAX之POST數據中文亂碼如何解決,前端使用encodeURI進行編碼,希望能幫助到大家。var param encodeURI(param);$.ajax({url: url,methodtype: "POST",async: false,timeout: 60000,contentType: "application/json&quo…

python遞歸 數字全排列_利用遞歸實現全排列(python)

利用遞歸實現全排列(python) """ 利用遞歸實現全排列 第一個位置可能有n種可能,第二個位置可能 有n-1種可能...... 代碼思路就是第一個位置可以和n個元素交換, 第二個元素可以和n-1個元素進行交換,到最 后一個輸出這次排列&am…

python pip使用_Python——pip的安裝與使用

pip 是 Python 包管理工具,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。目前如果你在 python.org 下載最新版本的安裝包,則是已經自帶了該工具。Python 2.7.9 或 Python 3.4 以上版本都自帶 pip 工具。pip 官網:https://pypi.o…

php文章列表樣式,PHPCMS V9 文章列表循環樣式自定義方法

在此,再次分享Whidy的文章"phpcms文章列表循環不同樣式制作方法",下面CMSYOU來與大家具體分享,原地址為http://whidy.net/phpcms-list-with-different-style.html,在這里感謝。大家在用PHPCMS系統做網站的時候,有時候在…

角速度求積分能得到歐拉角嗎_一個有趣的反常積分問題

今天物理考試,老師提到了一個有趣的積分問題。聽說是拉普拉斯變換的一個應用之一(生成函數?),但是我沒聽過那個東西所以硬上了:D1)試求積分 2) 試說明積分 的收斂性1)對于第一問可以…

php計算1-100奇數的和,學習腳本1:計算100以內奇數和和偶數和 (筆記)

let I$[$I1]let I1let I 注意此處只有是原先數值加1才可用此方法上述三者運算是相同的- 減等 兩邊的變量前邊的減去后邊的變量之后把值再放到原來的變量上 加等 兩的的變量前邊的加上后邊的變量之后把值再放到原來的變量上* 乘等 兩邊的變量前邊的乘上后邊的變量之后把值再放到…

查看ie保存的表單_解決瀏覽器保存密碼自動填充問題

解決瀏覽器保存密碼自動填充問題問題描述話說有一天,我如往常一樣打開我的開發網站進行登錄操作。瀏覽器很平常的在我們進行登錄操作之后詢問我是否需要記住密碼,懶惰如我點擊了記住密碼。一切都很正常的進行著,沒有什么異常發生。然而&#…

java滿江紅1apk,滿江紅滿V版游戲下載_滿江紅滿V版安卓版游戲下載v1.0_3DM手游

喜歡玩精彩的傳奇游戲嗎?那就來《滿江紅滿V版》這款佳作中吧!這款手游操作方式極其的簡單,且玩法自由度也很高,咱們將會置身于一座很精美熱血的魔幻大陸中,各種大伙熟悉的人物職業可供收集培養,極致精彩的P…

go get 的不再src目錄中_GO語言基礎進階教程:包的使用

Go語言使用包(package)這種語法元素來組織源碼,所有語法可見性均定義在package這個級別,與Java 、python等語言相比,這算不上什么創新,但與C傳統的include相比,則是顯得“先進”了許多。myblog …

python mysql 正則表達式,MySQL之正則表達式(REGEXP)

MySQL中正則表達式通常被用來檢索或替換符合某個模式的文本內容,根據指定的匹配模式匹配文中符合要求的特殊字符串。例如,從一個文件中提取電話號碼,查找一篇文章中重復的單詞或替換用戶輸入的敏感語匯等,這些地方都可以使用正則表…

pyecharts anaconda_Pyecharts安裝使用和繪圖案例

一次偶然的機會,接觸了pyecharts,發現做圖交互效果非常棒,便深究、摸索、入坑。這篇文章主要講述自己在安裝和使用中遇到的問題,解決方法,最后還會有pyecharts中自己比較喜歡的繪圖功能。pyecharts是一款將python與ech…

控制附件的大小 php,wordpress如何修改默認上傳附件限制大小

關于上傳文件大小的限制,有很多有幾種情況,一是服務器上的限制(php.ini)php虛擬主機空間提供商為了保障服務器穩定、都會限制大容量附件上傳,在php.ini文件中做了限制,二是網站程序本身都會有限制大小,wp媒體文件大小默…

如何把密度函數化為標準正態二維分布_概率微課:第三章(22) 二維隨機變量及分布函數定義...

主要內容二維隨機變量及分布函數定義更多系列視頻概率微課:第二章(1) 隨機變量的定義概率微課:第二章(2) 離散型隨機變量概率微課:第二章(3) 兩點分布及伯努利試驗概率微課:第二章(4) 二項分布1概率微課:第二章(5) 二…

php中的緩,php中的緩存機制解釋

php緩存的理解,先列出ob系列函數的作用:ob_start(func) 開啟php緩存,回調函數是對緩存內數據的處理函數ob_gzhandler 作為 ob_start 的回調函數,對數據進行gz壓縮ob_implicit_flush(true/false) 打開或關閉apache緩存&#xff0c…

php 下拉菜單多選get,Jquery實現select二級聯動多選下拉菜單

前言平時雖然也有寫前端,但是對于一些復雜的功能實現仍是一知半解。這次項目需要實現一個多選下拉菜單,并且該菜單要和上級下拉菜單保持聯動。更加麻煩的是,我需要完成以下操作,以省、市二級聯動菜單為例:選擇河北省 &…

idea快捷鍵打開run的窗口_看了上篇文章,你不了解的IDEA操作……

注意作者:卡洛小豆。換種方式寫文章,寫的不好請多多見諒。未經授權,禁止轉載夜,結束了一天的喧囂后安靜下來,伴隨著遠處路燈那微弱的光。風,毫無預兆地席卷整片曠野,撩動人的思緒萬千。那是一個…