路由 (Routing)
核心思想:路徑選擇
是什么??路由是指數據包從源主機傳輸到目標主機的整個過程。這個過程就像寄快遞:你需要決定包裹經過哪些中轉站才能最終到達收件人手里。
做什么??網絡中的設備(主要是路由器)會根據一張“地圖”(路由表)來決定把數據包從哪個端口發送出去,才能讓它更接近目的地。
比喻:?城市交通系統中的路口和路標。每個路口(路由器)根據路標(路由表)決定車輛(數據包)該往哪條路走。
下一跳 (Next Hop)
核心思想:下一個中轉站
是什么??這是路由表中最關鍵的一個字段。它指明了數據包在通往最終目的地的路上,下一個應該被發送到的、直接相連的路由器的IP地址。
為什么需要??路由器不需要知道到達最終目的地的完整路徑,它只需要知道“下一個”該把包交給誰就行了。下一跳路由器收到后,也會查自己的路由表,決定再下一個跳點,如此反復,直到到達目的地。
比喻:?寄快遞時,你所在城市的快遞分發中心。你不需要知道包裹去上海的具體路線,你只需要把包裹交給本地的快遞點(下一跳),他們負責把它運到下一個更大的中轉中心(下一個下一跳)。
在上面的路由表示例中:
要發送數據到?
10.1.1.5
,本路由器會查看路由表,匹配到?10.1.1.0/24
?這條記錄,然后就知道該把數據包發給?192.168.1.100
?這個地址(下一跳),并從?Eth0
?端口發出
網關 (Gateway)
核心思想:網絡的“出口”或“大門”
是什么??一個網絡通向其他網絡的出口點。通常就是一個路由器的接口IP地址。和ip同一網段
做什么??當一臺計算機(如你的PC)想要和其他網段(比如互聯網)的機器通信時,它會把所有數據包都發送給網關(也就是你電腦上配置的“默認網關”地址),由這個網關路由器負責轉發。
和下一跳的關系:?網關通常就是計算機的“下一跳”。對你的電腦來說,網關就是它通往外部世界的唯一“下一跳”路由器。
比喻:?你家小區的大門。你想去小區外的任何地方,都必須先走到大門口,然后才能出去。
兩個不同網段的ip如何通過路由器互通
在你的電腦上,通過?ipconfig
?(Windows) 或?ifconfig
?(Linux/macOS) 命令看到的 “默認網關” 就是你電腦的網關地址。
兩個不同網段的ip如何通過路由器互通
具體操作
在r1中添加 pc1的網關?
選擇接口? ? ? ? ? ?int e 0/0/0
路由器設置ip? ? ip address 192.168.1.2 24? #192.168.1.2為pc1的網關 24為子網掩碼為24為也可以寫成255.255.255.0
顯示路由表? ? ? ?display ip routing-table
同理添加pc2
pc1即可ping? pc2
具體的例子來一步步拆解過程:
設備:?兩臺電腦(PC1 和 PC2),一臺路由器(R1)
網絡:
PC1:?
192.168.1.10/24
,網關設置為?192.168.1.1
PC2:?
192.168.2.20/24
,網關設置為?192.168.2.1
路由器 R1: 有兩個接口,就像是兩個門。
門1 (Eth0):?
192.168.1.1/24
?(連接?192.168.1.0/24
?網段)門2 (Eth1):?
192.168.2.1/24
?(連接?192.168.2.0/24
?網段)
現在,PC1 (192.168.1.10
) 想要 Ping 通 PC2 (192.168.2.20
)。
互通的核心條件
在通信開始前,必須確保以下基礎配置正確,這是互通的前提:
物理連接:?PC1 和 R1的Eth0口在同一個局域網(比如連到同一個交換機);PC2 和 R1的Eth1口在另一個局域網。
IP地址配置:?所有設備的IP地址、子網掩碼配置正確。
網關設置:?最關鍵的一步。PC1的默認網關必須指向R1的Eth0口 (
192.168.1.1
),PC2的默認網關必須指向R1的Eth1口 (192.168.2.1
)。這相當于告訴PC們:“如果你要出門,就把包裹交給這個地址”。
通信的詳細過程(五步曲)
整個過程可以分解為以下幾個步驟:
? ? ?192.168.1.10給192.168.2.20發送數據,先判斷是否同一網段,不是同一網段打包數據向網關地址發送出去到達路由器(該路由器已把網關設置為ip),路由器接收后查詢轉發到192.168.2.20,192.168.2.20接受后回復,192.168.1.10收到回復。
第1步:PC1 判斷目標在哪
PC1 想要發送數據包給?192.168.2.20
。
PC1 用自己的子網掩碼 (
255.255.255.0
) 計算自己和目標 (192.168.2.20
) 是否在同一個網段。計算后發現:
192.168.1.0
?≠?192.168.2.0
,結論是?“目標不在我家這個小區”。PC1 決定:“這個包得交給網關(路由器)來處理”。
第2步:PC1 封裝并發送數據包
PC1 開始封裝數據包(以Ping包為例):
目標IP地址 (Destination IP):?
192.168.2.20
?(最終收件人)源IP地址 (Source IP):?
192.168.1.10
?(最終發件人)目標MAC地址 (Destination MAC):?這是一個關鍵!?因為要發給網關,所以PC1需要知道網關?
192.168.1.1
?的MAC地址。
PC1 查看自己的?ARP 緩存表,看有沒有?
192.168.1.1
?對應的MAC地址。如果有,直接使用。
如果沒有,PC1 會發送一個?ARP 廣播請求:“誰是?
192.168.1.1
?請告訴我你的MAC地址”。路由器R1的Eth0口會回應自己的MAC地址(例如?AA:AA:AA:AA:AA:AA
)。
PC1 將數據包封裝好,其中目標MAC地址填的是網關?
192.168.1.1
?的MAC地址,然后通過網卡發送出去。
此時的數據包狀態:
字段 | 內容 |
---|---|
目標MAC | AA:AA:AA:AA:AA:AA ?(R1 Eth0 的MAC) |
源MAC | PC1的MAC地址 |
目標IP | 192.168.2.20 ?(PC2) |
源IP | 192.168.1.10 ?(PC1) |
數據 | (Ping請求數據) |
第3步:路由器R1 接收、查詢并轉發
接收:?路由器R1的Eth0口收到了這個數據包。它一看目標MAC地址是自己,于是就收下這個包,解開數據鏈路層的封裝。
查詢路由表:?R1 查看數據包的目標IP地址?(
192.168.2.20
),然后查詢自己的路由表。R1的路由表里通常有一條直連路由:
192.168.2.0/24
?直接連接在 Eth1 口上。R1 決定:“這個包要從我的Eth1口發出去,而且目標就在那個網段,可以直接交付,不需要再指定下一跳。”
重新封裝:?R1 準備將數據包從Eth1口轉發出去。它需要重新封裝數據鏈路層的幀:
目標MAC地址:?R1 需要知道?
192.168.2.20
?(PC2) 的MAC地址。R1 會查看自己的ARP緩存表,如果沒有,也會在?192.168.2.0/24
?網段發起ARP請求。PC2會回應自己的MAC地址(例如?BB:BB:BB:BB:BB:BB
)。源MAC地址:?替換為R1的Eth1口的MAC地址(例如?
CC:CC:CC:CC:CC:CC
)。IP地址層完全不變!?目標IP仍是?
192.168.2.20
,源IP仍是?192.168.1.10
。
此時的數據包狀態 (在R1的Eth1口發出時):
字段 | 內容 |
---|---|
目標MAC | BB:BB:BB:BB:BB:BB ?(PC2 的MAC) |
源MAC | CC:CC:CC:CC:CC:CC ?(R1 Eth1 的MAC) |
目標IP | 192.168.2.20 ?(PC2) |
源IP | 192.168.1.10 ?(PC1) |
數據 | (Ping請求數據) |
第4步:PC2 接收并回復
PC2 收到數據包,發現目標MAC地址是自己,目標IP地址也是自己,于是收下包。
PC2 處理這個Ping請求,并準備發送一個Ping回復包給?
192.168.1.10
。回復過程重復上述步驟:
PC2 判斷?
192.168.1.10
?不在本地網段。PC2 將回復包發給自己的網關?
192.168.2.1
?(R1的Eth1口),目標MAC地址填R1 Eth1的MAC (CC:CC:CC:CC:CC:CC
)。路由器R1收到后,查詢路由表,發現去往?
192.168.1.10
?要走Eth0口。R1 將回復包重新封裝,目標MAC地址改為PC1的MAC地址,從Eth0口發回給PC1。
第5步:PC1 收到回復,互通完成
PC1 收到來自PC2的回復,一次完整的跨網段通信就完成了。
總結與關鍵點
路由器是核心:?路由器是連接不同網段的橋梁,其每個接口都屬于一個不同的網段。
網關是關鍵:?主機必須正確配置網關地址,否則它無法將去往外網的數據包送達到路由器。
MAC地址在變,IP地址不變:
MAC地址是段內通行證,只在同一個局域網內有效。每經過一個網段(一跳),源和目標MAC地址都會被重寫。
IP地址是全程通行證,從源到目標始終保持不變,它決定了數據的最終目的地。
路由表是決策依據:?路由器根據內部的路由表決定數據包該從哪個接口發出去。
你可以把路由器想象成一個郵局分揀中心。PC1把收件人是PC2的包裹(數據包)寄到本地郵局(網關),分揀中心(路由器)根據地址(路由表)決定把它分到開往PC2所在區域的卡車上(從另一個接口發出),最后由當地郵遞員(目標網段的ARP/MAC)送達PC2手中。