IP路由及靜態路由配置
qianghaohao(CodingNutter)
鏈接來源:http://www.cnblogs.com/codingnutter/p/5654271.html
一.IP路由:
IP路由就是根據IP地址在不同網絡之間轉發數據的過程。它決定了IP數據包從
源網絡到目的網絡怎么走,也就是規划一條到目的地的路徑。實現這個功能的設
備就是路由器,每個路由器都保存着一張路由表,表中每個條目指明分組到某個
子網或主機應該通過路由器的哪個物理端口發送,然后就可到達該路由的下一個
路由器,或者不在經過別的路由器而傳送到直接相連的網絡中的目的主機。下面
舉個例子來講解IP路由的過程。
Ex:從西安到-->榆林


假如我們從西安市出發,要到榆林市,此時我們要查看地圖發現去榆林得先到達
達銅川市(當然也有其他路徑,在此假設就這一條路,多條路的話選擇最優的路徑),
於是我們坐火車到達銅川市,此時到了銅川市,再次查地圖,發現要到達榆林得先到達
延安市,於是我們坐車到達了延安市,此時查看地圖發現榆林就在我們相鄰的地方,此
時有到榆林的直通車,於是我們坐上到榆林的直通車直達榆林。
以上例子和網絡中數據包轉發的道理是一樣的,每一站都知道怎么去目的站,但是
並不知道去目的站的完整路徑。也就是說我們知道去榆林要先到達銅川市,但並不知道
到達榆林的完整路徑怎么走。這種知道怎么去下一站的信息就是一條路由條目,整個地
圖就相當於路由表,乘客就相當於IP數據包。
一張路由表:


IP搜索路由表匹配規則:

二.靜態路由配置:
所謂靜態路由就是由管理人員手工在路由器上指定到達某個網絡該怎么走,到達目的
網絡得從哪個接口出去或者要到達的下一跳(下一站)接口。在文章中我們用如下簡單的拓
撲,通過配置靜態路由來讓兩台電腦能夠通信:


1.為四台設備配置IP地址和子網掩碼:
可以通過界面操作來配置,也可以通過命令行模式配置。
先通過界面操作給兩台電腦配置IP地址,注意同時要指定網關地址:
配置 PC1:


配置PC2:


接下通過命令行方式給路由器配置IP地址:
配置R1:


按同樣的方法配置R2:


此時拓撲圖中接口的連接變成綠色的,但是PC1和PC2無法互相ping通,需要做靜態路由:


2.為R1和R2配置靜態路由:
靜態路由命令如下:


為R1做靜態路由:


同理為R2做靜態路由:


3.以上配置完畢,現在兩個電腦可以互相ping通了,靜態路由配置完畢:

三.數據包在經過各個設備時MAC地址和IP地址的變化:
數據包在TCP/IP網絡間傳遞時MAC地址變化,數據包內部的IP地址保持不變。
根據以上拓撲圖,數據包轉發過程:
1.PC1查看自己的ARP表,如果主機PC1第一次給PC2發送數據包,那將無法從ARP映射表中找到
對應的mac地址。因此PC1將以FF:FF:FF:FF:FF:FF為目的mac地址,發送一個arp廣播請求。
2.如果PC2和PC1在同一個網段,那么只有PC2將響應PC1發送的ARP廣播。此時PC1得到了PC2
的mac地址,並將這個mac地址存入arp緩存,然后將自己的mac地址為源地址,PC2的mac地址為目的
mac地址封裝成以太網數據幀發送給PC2。
3.如果主機PC2並不和PC1在同一網絡。路由器的端口將把自己的mac地址發送給PC1,然后PC1將此
mac地址和對應的網關接口IP存入arp緩存。然后將自己的mac地址為源mac,網關的mac為目的mac,封
裝成以太網幀發送給路由器。
4.路由器接收到數據包后,進行拆包,獲取數據包中的目的IP地址,然后查找路由表,找到要出去的接
口的mac地址,和下一跳的IP地址,然后通過得到的下一跳IP地址查找arp表,找到對應的mac地址,如果
arp緩存沒有下一跳IP的mac地址,則同樣進行arp廣播。
5.接着上一步,將路由器出接口的mac地址為源mac地址,將下一跳路由器接口的mac地址為目的mac
地址封裝成以太網幀發送給下一站路由器。
6.當下一站路由器收到數據包后重復進行3-4-5的步驟,直到PC2收到數據包。
可以通過單步執行,查看數據包中mac地址的變化:將Cisco Packet Tracer軟件在simulation模式下發
數據包,然后點擊Auto Capture /Play可以單步執行,查看到達每一個設備后數據包里面的mac地址和IP
地址。