網路層(十)路由
路由
網路層功能就是給傳輸層協議提供簡單靈活的、無連線的、盡最大努力交付的資料包服務
通俗一點來講,網路中的路由器為每一個數據包單獨的選擇轉發路徑,網路層不提供服務質量的承諾
也就說路由器直接丟棄傳輸過程中出錯的資料包,如果網路中待發的資料包太多,路由器處理不了就直接丟棄,路由器也不判斷資料包是否重複,也不確保資料包按傳送順序到達終點

網路通暢的條件
計算機網路暢通的條件就是資料包能去能回,道理很簡單、也很好理解,卻是我們排除網路故障的理論依據

- 目標主機不可到達
- 請求超時
明白了網路暢通的條件,網路排錯就變得簡單了。先檢查資料包是否能夠到達目標網路,再檢查資料包是否能夠返回來。如果網路不通,就要檢查計算機是否配置了正確的IP地址子網掩碼以及閘道器,再逐一檢查沿途路由器上的路由表,檢視是否有到達目標網路的路由;然後逐一檢查沿途路由器上的路由表,檢查是否有資料包返回所需的路由
靜態路由
要想實現全網通訊,也就是網路中的任意兩個節點都能通訊,這就要求每個路由器的路由表中必須有到所有網段的路由
對於路由器來說,它只知道自己直連的網段,對於沒有直連的網段,需要管理員人工新增到這些網段的路由。管理員人工新增到某個網段如何轉發,就是靜態路由
後面還會講到配置網路中的路由器使用動態路由協議(RIP、OSPF)自動構建路由表,就是動態路由

- R1路由器直連A、B兩個網段,C、D網段沒有直連,你需要新增到C、D網段的路由
- R2路由器直連B、C兩個網段,A、D網段沒有直連,你需要新增到A、D網段的路由
- R3路由器直連C、D兩個網段,A、B網段沒有直連,你需要新增到A、B網段的路由
路由器只關心到某個網段如何轉發資料包,因此我們在路由器上新增路由, 必須是到某個網段(子網)的路由 , 不能新增到某個特定地址的路由
以下命令試圖新增到一個IP地址的路由,路由器報錯
R1(config)#ip route 192.168.1.3 255.255.255.0 172.16.0.2
如果你就想讓路由器轉發到一個IP地址的路由,子網掩碼要寫成四個255,這就意味著IP地址的32位二進位制是全部的網路位,該網段中就這一個地址
R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2