天天看點

細說路由器

介紹

以太網交換機工作在第二層即資料鍊路層,用于在同一網絡内部轉發以太網幀。但是,當源和目的IP位址位于不同網絡時,以太網幀必須發送給路由器。路由器負責在不同網絡間傳輸封包,通過路由表來決定最佳轉發路徑。當主機将封包發送至不同IP位址時,由于主機無法直接與本地網絡以外的裝置通信,封包被轉發至預設網關。預設網關就是資料流從本地網絡路由至遠端裝置的目的地。它通常用來連接配接本地網與公共網。

封包轉發過程:

路由器在一個接口接收封包并将它從另一個接口轉發出去,這一過程的關鍵步驟是為輸對外連結路将封包封裝在适當的資料鍊路幀中。路由器主要執行以下三個步驟:

1. 将第二層的幀頭和幀尾移除,解析出第三層封包。

2. 檢查IP封包的目的IP位址,在路由表中查找最佳路由。

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

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

細說路由器

發送封包:

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的路由表:

細說路由器

遠端網絡路由表項:

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

細說路由器

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

Destination network:遠端網絡位址。

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

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

Next hop:轉發封包的下一個路由器的IP位址。

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

Outgoing interface:用以轉發封包的輸出接口。

直連路由表項:

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

細說路由器

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

· 指定有效的IPv4或IPv6位址。

· 通過no shutdown指令激活。

· 從另一裝置(路由器,交換機,主機等)接收到載體信号。

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

繼續閱讀