路由器簡介
Network(網絡層):
網絡層負責對子網間的數據包進行路由選擇。
此外,網絡層還可以實現擁塞控制、網際互連等功能。
對應的連接設備:路由器。
路由器(router)是互聯網的樞紐,是連接英特網中各局域網、廣域網的設備:
它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送數據。
作用在OSI模型的第三層(網絡層),提供了 路由 與 轉發 兩種重要機制
路由:
收集網絡拓撲信息並動態形成路由表
路由器控制層面的工作,決定數據包從來源端到目的端所經過的路由路徑
(host到host至今的最佳傳輸路徑)
轉發:
根據轉發表(FIB)轉發IP數據包
路由器數據層面的工作,將路由器輸入端的數據包移送至適當的路由器輸出端(在路由器內部進行)
路由器實際上起到的作用是完成不同段之間網絡的互聯。
交換機與路由器的區別
交換機:
工作於數據鏈路層,能識別 MAC 地址,根據 MAC 地址轉發鏈路層數據幀。
具有自學機制來維護 IP 地址與 MAC 地址的映射。
路由器:
位於網絡層,能識別 IP 地址並根據 IP 地址轉發分組。
維護着路由表,根據路由表選擇最佳路線。
IP分段原理
TCP/IP V4 協議網絡的分段原理:
TCP/IP協議給網絡中的每一個主機都會分配一個IP地址,它包含兩部分信息:
網絡地址和主機地址。
TCP/IP協議中的IP地址將網絡地址和主機地址包裝在一個32位的域里( TCP/IP V4),分為四類:
a、 1-126,A類
網絡地址1個字節,主機地址3個字節。
b、 128-192,B類
網絡地址2個字節,主機地址2個字節。
c、 192-223,C類
網絡地址3個字節,主機地址1個字節。
d、 0,127,224-255
保留不用。
子網掩碼指出地址中哪些部分是網絡地址,哪些是主機地址。
在子網掩碼中,二進制1表示網絡地址位,二進制0表示主機地址位。傳統的各類地址的子網掩碼為:
a、 A類:255.0.0.0
b、 B類:255.255.0.0
c、 C類:255.255.255.0


IP分組交換
分組:
將數據拆分成很多小的部分,分別對這些數據加一些額外的標記(包頭包尾),然后再發送出去,
收到的一方會將收到的不同部分的數據拆包(去掉包頭包尾),然后將數據拼湊在一起,得到的就是完整的數據。
應用程序拿到這個數據你就可以使用數據了。
ip分組交換技術的核心設備就是路由器。
基本原理:
第一步:將數據分成很多的份,每份就是一個分組
第二步:路由器實現網間的分組數據的交換,讓數據從一個網段到另一個網段,最終通過目標ip找到目的計算機
互聯網的中心是一堆的路由器,因此源計算機將這些分組數據甩給路由器,路由器會甩給下一站路由器,
直到通過目標Ip的比對,找到目標計算機。
第三步:目標計算收到所有的分組數據后,將數據拼湊在一起,就得到了完整的數據。
路由器的關鍵作用就是,實現分組數據在不同網段間的交換。

數據包分片(IP分組交換的體現)
分片是分組交換的思想體現,也是IP協議解決的兩個主要問題之一。
在IP協議中的分片算法主要解決不同物理網絡最大傳輸單元(MTU)的不同造成的傳輸問題。
IP分片是網絡上傳輸IP報文的一種技術手段:
IP協議在傳輸數據包時,將數據報文分為若干分片進行傳輸,並在目標系統中進行重組。這一過程稱為分片(fragmentation)。
IP分片原理:
IP數據包首部里,16位標識唯一記錄了一個IP包的ID,具有同一個ID的IP分片將會重新組裝。
13位片偏移則記錄了某IP片相對整個包的位置。
這兩個表中間的3位標志則標志着該分片后面是否還有新的分片。
這三個標志就組成了IP分片的所有信息,接受方就可以利用這些信息對IP數據進行重新組織。
IP數據包首部

數據包分片

路由原理
當IP子網中的一台主機發送IP分組數據給同一IP子網的另一台主機時,它將直接把IP分組數據送到網絡上,對方就能收到。
送給不同IP子網上的主機時,它要選擇一個能到達目的子網上的路由器,把IP分組數據送給該路由器,
由路由器負責把IP分組送到目的地。
如果沒有找到這樣的路由器,主機就把IP分組送給一個稱為 “缺省網關(default gateway)”的路由器上。
“缺省網關”是每台主機上的一個配置參數,它是接在同一個網絡上的某個路由器端口的IP地址。
網關:
訪問路由器的IP,其他的電腦必須和網關一個IP段才能訪問路由器。
路由選擇方式
典型的路由選擇方式有兩種:
靜態路由和動態路由。
靜態路由是由網絡管理員手工配置的路由信息。:
除非網絡管理員干預,否則靜態路由不會發生變化。
由於靜態路由不能對網絡的改變作出反映,一般用於網絡規模不大、拓撲結構固定的網絡中。
靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先級最高。
當動態路由與靜態路由發生沖突時,以靜態路由為准。
動態路由是網絡中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程:
它能實時地適應網絡結構的變化。
動態路由機制的運作依賴路由器的兩個基本功能:
對路由表的維護;
路由器之間適時的路由信息交換。
動態路由適用於網絡規模大、網絡拓撲復雜的網絡。
當然,各種動態路由協議會不同程度地占用網絡帶寬和CPU資源。
路由表和轉發表
每個路由器中都有一個路由表和FIB(Forward Information Base)表:
路由表用來決策路由。
FIB用來轉發分組。
路由表:
這里個表都用來保存路由信息,路由表通常由路由協議和路由管理模塊維護,
包括更多的信息(IP地址/IP子網、下一跳、路由度量、超時間等);
路由表中路由有三類:
(1)鏈路層協議發現的路由(即是直連路由)
(2)靜態路由。
(3)動態路由協議發現的路由。
轉發表(FIB):
是基於路由生成的,路由器實際轉發時使用轉發表(只包括IP地址/IP子網和下一跳/出接口)。
轉發表中每條轉發項都指明:
分組到某個網段或者某個主機應該通過路由器的某個物理接口發送,
然后就可以到達該路徑的下一個路由器,
或者不再經過別的路由器而傳送到直接相連的網絡中的目的主機。
高性能路由器轉發表通常都用硬件來實現,有利於高速查找。
路由器結構

路由器工作流程
