【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★
文章目錄
- 一、網絡層功能
- 二、數據交換方式 ★
- 三、IP 數據報 ★
- 四、 IPv4 地址 ★★
- 1 . IP 地址 發展 :
- 2 . 分類 IP 地址
- 3 . NAT 轉換
- 4 . 子網劃分
- 5 . 子網掩碼
- 6 . 子網掩碼 計算示例
- 7 . CIDR 無分類編址
- 五、重要協議 ( ARP | DHCP | ICMP | IGMP ) ★
- 1 . ARP 協議
- 2 . DHCP 協議
- 3 . ICMP 協議
- 4 . IGMP 協議
- 六、IPv6 協議
- 七、路由選擇協議 ★
- RIP 協議
- RIP 協議 信息交換
- OSPF 協議
- OSPF 協議 信息交換
- 八、路由算法 ★
- 距離向量算法
- 距離向量算法示例 1
- 距離向量算法示例 2
- 鏈路狀態路由算法
一、網絡層功能
網絡層功能 :
① 路由與轉發 : 路由選擇 與 分組轉發 ; 根據路由選擇算法 , 選擇最佳路徑 , 將分組轉發出去 ;
② 異構網絡互連 : 實現 WIFI 網絡 , 4G/5G 基站網絡 , 光纖寬帶網絡 , 雙絞線局域網 等 網絡互相通信 ;
③ 擁塞控制 : 所有節點 都 來不及接受分組 , 丟棄大量分組 , 此時網絡處于擁塞狀態 , 此時要采用一定措施緩解該擁塞狀態 ; 流量控制 是 接收方 接受能力不足 , 讓發送方慢點發 ; 擁塞控制 是全局性概念 ;
-
開環控制 : 靜態 ; 網絡傳輸之前 , 將所有可能產生擁塞的情況都進行控制 ;
-
閉環控制 : 動態 ; 網絡運行過程中 , 根據發生的各種問題 , 動態處理 ;
參考博客 : 【計算機網絡】網絡層 : 網絡層簡介 ( 功能 | 擁塞控制 )
二、數據交換方式 ★
1 . 數據交換方式 :
① 電路交換
② 報文交換
③ 分組交換
- 數據報方式 : 為 網絡層 提供 無連接服務 ;
- 虛電路方式 : 為 網絡層 提供 連接服務 ;
2 . 電路交換、報文交換、分組交換 對比 :
① 存儲轉發 : 報文交換 和 分組交換 , 采用 存儲轉發 ;
② 電路交換使用場景 : 傳輸數據量巨大 , 傳送時間遠大于呼叫時間 , 此時使用電路交換 , 電路交換的傳輸時延最小 ;
③ 信道利用率 : 報文交換 和 分組交換 的信道利用率 高于 電路交換 ;
④ 時延 : 分組交換 > 報文交換 ;
3 . 分組交換、報文交換 計算示例 :
存儲轉發 , 是將整個報文 / 分組 存儲完畢后 , 才能轉發 , 數據分組越小 , 速率越快 ;
鏈路速率 : 所有的鏈路傳輸速率是 100010001000 比特 / 秒 ; 源主機 -> 交換設備 , 交換設備 -> 交換設備 , 交換設備 -> 目的主機 , 每個鏈路的速率都是 1000 比特 / 秒 ;
報文交換 : 報文長度 100001000010000 比特 ;
分組交換 : 每個分組 101010 比特 ;
忽略條件 : 忽略 其它 傳播延遲 , 頭部開銷等問題 ;
求 從開始發送開始 , 到所有數據傳播完畢截止 , 計算傳播總時間 ;
報文交換 :
- 鏈路 111 : 從源主機 發送到 鏈路上 需要 : 100001000=10\cfrac{10000}{1000} = 10100010000?=10 秒 ; 需要將整個報文完整的傳輸到 交換設備 111 上 , 花費 101010 秒 , 才能開始轉發 ;
- 鏈路 222 : 從 交換設備 111 發送到 交換設備 222 需要 : 100001000=10\cfrac{10000}{1000} = 10100010000?=10 秒 ; 需要將整個報文完整的傳輸到 交換設備 222 上 , 花費 101010 秒 , 才能開始轉發 ;
- 鏈路 333 : 從交換設備 222 發送到 目的主機 需要 : 100001000=10\cfrac{10000}{1000} = 10100010000?=10 秒 ; 需要將整個報文完整的傳輸到 交換設備 333 上 , 花費 101010 秒 , 才能開始轉發 ;
- 總共花費了 30 秒時間 ;
分組交換 :
- 每個分組 大小 101010 比特 , 一個分組發送時延 : 101000=0.01\cfrac{10}{1000} = 0.01100010?=0.01 秒 ;
- 這里只考慮最后一個分組 , 從源主機發送出來 , 到達目的主機的時延 , 即 從 第一個分組開始發送計時, 到最后一個分組傳輸完畢就是所有分組傳輸結束 ;
- 第一個分組開始發送 到 最后一個分組開始發送 的時間 : 100001000=10\cfrac{10000}{1000} = 10100010000?=10 秒 ;
- 最后一個分組 從 交換設備 111 到 交換設備 222 用了 0.010.010.01 秒 ;
- 最后一個分組 從 交換設備 222 到 目的主機 用了 0.010.010.01 秒 ;
- 分組交換使用的總時間是 10.0210.0210.02 秒 ;
參考博客 :
- 【計算機網絡】網絡層 : 數據交換方式 ( 電路交換 | 報文交換 | 分組交換 )★
- 【計算機網絡】網絡層 : 分組交換方式 ( 數據報方式 | 虛電路方式 )
三、IP 數據報 ★
1 . IP 數據報 首部格式 :
版本 : 444 比特 , [0,3][ 0 , 3 ][0,3] 位 , IPv4 / IPv6 , 目前使用的是 IPv4 版本 ;
首部長度 : 444 比特 , [4,7][ 4 , 7 ][4,7] 位 , 單位是 444 字節 , 最小值是 555 , 那么最小的首都大小是 5×4=205 \times 4 = 205×4=20 字節 ;
區分服務 : 888 比特 . [8,15][ 8 , 15 ][8,15] 位 , 期望獲取的服務類型 , 一般情況下不使用 ;
總長度 : 161616 比特 , [16,31][ 16, 31 ][16,31] 位 , 首部長度 + 數據部分 的總長度 ; 單位是 111 字節 ; 長度最大值是 216?1=655352^16 - 1 = 65535216?1=65535 字節 ;
生存時間 : 888 比特 , [32,39][32 , 39][32,39] 位 , IP 分組保質期 , 每經過一個路由器 , 生存時間 ?1-1?1 , 如果生存時間變為 000 , 直接丟棄 ; 防止 無法交付的數據包 , 無限制的再網絡上傳輸 ;
協議字段 : 888 比特 , [40,47][40 , 47][40,47] 位 , 數據部分使用的協議 ; 下面是協議名稱 與 字段值的對應關系 ;
- ICMP : 1
- IGMP : 2
- TCP : 6
- EGP : 8
- IGP : 9
- UDP : 17
- IPv6 : 41
- ESP : 50
- OSPF : 89
首部檢驗和 : 檢驗首部的字段 ;
源地址 / 目的地址 : 長度都是 32 位 , IPv4 的地址長度是 32 位 ;
可選字段 : 范圍是可變的 , 取值范圍 000 到 404040 字節之間 , 用于排錯 , 測量 , 安全措施等 ;
填充字段 : 都是 000 , 用于將首部補全成 444 字節的整數倍位數 ;
2 . IP 數據報 分片 : 要根據 首部的 標識 , 標志 , 片偏移 進行相應處理 :
標識 : 同一個 IP 數據報 的分片 , 使用相同的標識 ; IP 數據報大小超過 MTU 時 , 將數據報分片 , 分片完成的 IP 數據報分片 , 其標識都是相同的 ;
標志 : 由 333 位組成 , [48,50][ 48 , 50 ][48,50] , 只有 222 位有意義 ;
- 最高位 : 是保留位 , 沒有意義 ;
- 中間位 : DF 位 , Don’t Fragment ; DF = 1 時 , 禁止分片 ; DF = 0 時 , 允許分片 ;
- 最低位 : MF 位 , More Fragment ; MF = 1 時 , 后面還有分片 ; MF = 0 時 , 本分片就是該分組的最后一個分片 , 后面沒有分片 ;
- 只有 DF = 0 時 , MF 才有意義 ;
片偏移 : 較長的分組的分片 , 中間的某個分片 , 在原來的 IP 分組中的相對位置 ; 單位是 888 字節 ; 也就是說除了最后一個分片 , 每個分片的長度是 888 字節的整數倍 ;
3 . 分片機制 示例 :
-
IP 數據報 : 首部 202020 字節 , 數據部分 380038003800 字節 ;
-
將其進行分片處理 : 每個分片不超過 142014201420 字節 ;
-
標識 : 666666666 ;
-
標志 : DF = 0 , 表示允許分片 ; MF = 0 , 表示后續沒有分片 ;
-
片偏移量 : 000
分片后的結果是 : 分成 三片 ;
第一片 :
- 分片數據 : 首部 111 ( 202020 字節 ) + 140014001400 字節數據部分 ;
- 標識 : 666666666 , 同一個分組的分片 , 標識相同 ;
- 標志 : DF = 0 , 允許分片 ; MF = 1 , 后續還有分片 ;
- 片偏移量 : 片偏移量 是 0 , 單位是 888 字節 , 本片偏移量相當于 000 字節 ;
第二片 :
- 分片數據 : 首部 222 ( 202020 字節 ) + 140014001400 字節數據部分 ;
- 標識 : 666666666 , 同一個分組的分片 , 標識相同 ;
- 標志 : DF = 0 , 允許分片 ; MF = 1 , 后續還有分片 ;
- 片偏移量 : 片偏移量 是 175 , 單位是 888 字節 , 本片偏移量相當于 140014001400 字節 ;
第三片 :
- 分片數據 : 首部 333 ( 202020 字節 ) + 100010001000 字節數據部分 ;
- 標識 : 666666666 , 同一個分組的分片 , 標識相同 ;
- 標志 : DF = 0 , 允許分片 ; MF = 0 , 后續沒有分片 ;
- 片偏移量 : 片偏移量 是 350 , 單位是 888 字節 , 本片偏移量相當于 280028002800 字節 ;
片偏移量是從數據部分開始計數 , 數據部分的開始位置是 000 字節 , 其單位是 888 字節 , 片偏移量 111 代表 888 字節 ;
4 . IP 數據報首部中的相關數據長度單位 : 速記 : 一種 ( 總長度 ) 八片 ( 片偏移 ) 的 首 ( 首部長度 ) 飾 ( 四 )
- 總長度單位 : 111 字節 ;
- 片偏移單位 : 888 字節 ;
- 首部長度單位 : 444 字節 ;
參考博客 :
- 【計算機網絡】網絡層 : IP 數據報格式 ( IP 數據報首部格式 )
- 【計算機網絡】網絡層 : IP 數據報分片 ( 數據分片機制 | 分片示例 | 三種數據長度單位 )
四、 IPv4 地址 ★★
1 . IP 地址 發展 :
-
第一階段 : 分類的 IP 地址
-
第二階段 : 子網的劃分
-
第三階段 : 構成超網 , 無分類編址方法
2 . 分類 IP 地址
IP 地址 : 由 444 字節構成 , 表示路由器主機的接口 ;
IP 地址組成 : 網絡號 + 主機號 ;
IP 地址分類 :
-
AAA 類 : 網絡號占 111 字節 , 第一位是 000 ;
-
BBB 類 : 網絡號占 222 字節 , 前兩位是 101010 ;
-
CCC 類 : 網絡號占 333 字節 , 前三位是 110110110 ;
-
DDD 類 : 網絡號占 444 字節 , 前四位是 111011101110 , 該類地址是多播地址 ;
-
EEE 類 : 前四位是 111111111111 , 暫時沒有啟用 , 保留 ;
AAA 類網絡 IP 地址 :
-
① 最大可用的網絡數 : 27?22^7 - 227?2 , 網絡號 111 字節 , 第一位必須是 000 , 可以設置 777 位 ; 網絡號全 000 , 即 0.0.0.00.0.0.00.0.0.0 指的是本網絡 ; 網絡號 127127127 是環回地址 , 也是不能使用的 ; 因此減去 222 個不能使用的網絡號 ;
-
② 網絡號取值 : 111 ~ 126126126 ;
-
③ 最大主機數 : 224?22^{24} - 2224?2 , 主機號 333 字節 , 有 242424 位 ; 主機號全 000 表示的是本網絡號 , 不能支配給主機 ; 主機號全 111 表示廣播地址 , 不能分配給指定主機 ; 因此減去 222 個不能使用的主機號 ;
BBB 類網絡 IP 地址 :
-
① 最大可用的網絡數 : 214?12^{14} - 1214?1 , 網絡號 222 字節 , 前兩位必須是 101010 , 可以設置 16?2=1416-2=1416?2=14 位 ; 網絡號全 000 , 即 128.0128.0128.0 指的是本網絡 ; 因此減去 111 個不能使用的網絡號 ;
-
② 網絡號取值 : 128.1128.1128.1 ~ 191.255191.255191.255 ;
-
③ 最大主機數 : 216?22^{16} - 2216?2 , 主機號 222 字節 , 有 161616 位 ; 主機號全 000 表示的是本網絡號 , 不能支配給主機 ; 主機號全 111 表示廣播地址 , 不能分配給指定主機 ; 因此減去 222 個不能使用的主機號 ;
CCC 類網絡 IP 地址 :
-
① 最大可用的網絡數 : 221?12^{21} - 1221?1 , 網絡號 333 字節 , 前兩位必須是 110110110 , 可以設置 24?3=2124-3=2124?3=21 位 ; 網絡號全 000 , 即 192.0.0192.0.0192.0.0 指的是本網絡 ; 因此減去 111 個不能使用的網絡號 ;
-
② 網絡號取值 : 192.0.1192.0.1192.0.1 ~ 223.255.255223.255.255223.255.255 ;
-
③ 最大主機數 : 28?22^{8} - 228?2 , 主機號 111 字節 , 有 888 位 ; 主機號全 000 表示的是本網絡號 , 不能支配給主機 ; 主機號全 111 表示廣播地址 , 不能分配給指定主機 ; 因此減去 222 個不能使用的主機號 ;
參考博客 : 【計算機網絡】網絡層 : IPv4 地址 ( IP 地址分類 | 特殊 IP 地址 | 私有 IP 地址 | A 類、B 類、C 類 IP 地址網絡號主機號數量 )★
3 . NAT 轉換
私有 IP 地址 : 只適用于在內部網絡中使用 , 在互聯網上使用私有 IP 地址 , 路由器并不識別這些 IP 地址 ;
- AAA 類 私有 IP 地址 : 10.0.0.010.0.0.010.0.0.0 ~ 10.255.255.255.25510.255.255.255.25510.255.255.255.255 , 有 111 個網段 , 即可分配 111 個網絡號 ;
- BBB 類 私有 IP 地址 : 172.16.0.0172.16.0.0172.16.0.0 ~ 172.31.255.255172.31.255.255172.31.255.255 , 有 161616 個網段 , 即可分配 161616 個網絡號 ;
- CCC 類 私有 IP 地址 : 192.168.0.0192.168.0.0192.168.0.0 ~ 192.168.255.255192.168.255.255192.168.255.255 , 有 256256256 個網段 , 即可分配 256256256 個網絡號 ;
路由器 不轉發 私有 IP 地址 的 目的地址 ;
NAT 轉換表 : 每個 LAN 局域網 IP 地址 : 端口號 , 與 WAN 廣域網 IP 地址 : 端口號 的對應關系 ;
NAT 轉換表 對應示例 :
- WAN 廣域網地址 172.38.1.5:44444172.38.1.5:44444172.38.1.5:44444 , 對應 LAN 局域網地址 192.168.0.3:22222192.168.0.3:22222192.168.0.3:22222 ;
- WAN 廣域網地址 172.38.1.5:44445172.38.1.5:44445172.38.1.5:44445 , 對應 LAN 局域網地址 192.168.0.2:11111192.168.0.2:11111192.168.0.2:11111 ;
參考博客 : 【計算機網絡】網絡層 : NAT 網絡地址轉換 ( 私有 IP 地址不被路由器轉發 | NAT 轉換表 )
4 . 子網劃分
子網劃分 :
① 二級 IP 地址 : 網絡號 + 主機號 ;
② 三級 IP 地址 : 子網劃分中 , 在主機號中 , 拿出一部分地址 , 作為子網號 , 那么子網劃分 IP 地址組成是 : 網絡號 + 子網號 + 主機號 ; 其中 子網號 + 主機號 , 相當于 二級 IP 地址中的主機號 ;
三級 IP 地址 :
① 子網劃分對外透明 : 劃分子網后, 對外仍然表現為一個網絡 , 外部是不知道內部子網劃分的詳細信息的 ;
② 主機號位數 : 主機號 至少要留下 兩位 , 因為如果留下 一位 , 只能取值 000 或 111 , 這兩位都是不可使用的 , 一個代表網絡, 一個代表廣播地址 ;
③ 子網號 : 是否能夠設置成全 000 , 或者 全 111 , 看前提情況 ;
④ 主機號 : 不能設置成 全 000 , 全 111 ;
5 . 子網掩碼
兩級 IP 地址 : 網絡號 + 主機號 ; 如 : 145.13.3.10145.13.3.10145.13.3.10 ; 其中 145.13145.13145.13 是網絡號 , 3.103.103.10 是主機號 ;
子網掩碼 : 網絡號對應位數全部設置成 111 , 主機號對應的位數 , 全部設置成 000 ; 上述 兩級 IP 地址對應的子網掩碼是 1111111111111111000000000000000011111111 \quad 11111111 \quad 00000000 \quad 0000000011111111111111110000000000000000 , 寫成點分十進制就是 255.255.0.0255.255.0.0255.255.0.0 ;
三級 IP 地址 : 網絡號 + 子網號 + 主機號 ; 如 145.13.3.10145.13.3.10145.13.3.10 ; 其中 145.13145.13145.13 是網絡號 , 333 是子網號 , 101010 是主機號 ;
子網掩碼 : 網絡號 和 子網號 對應位數全部設置成 111 , 主機號對應的位數 , 全部設置成 000 ; 上述 兩級 IP 地址對應的子網掩碼是 1111111111111111111111110000000011111111 \quad 11111111 \quad 11111111 \quad 0000000011111111111111111111111100000000 , 寫成點分十進制就是 255.255.255.0255.255.255.0255.255.255.0 ;
參考博客 : 【計算機網絡】網絡層 : 子網劃分 ( 三級 IP 地址 | 子網劃分 | 子網掩碼 | 子網掩碼計算示例 | 子網的分組轉發 )
6 . 子網掩碼 計算示例
1 . 示例 1
IP 地址 141.14.72.24141.14.72.24141.14.72.24 , 子網掩碼是 255.255.192.0255.255.192.0255.255.192.0 , 求對應的網絡地址 ?
① 子網掩碼 前兩位 是 255255255 , 141.14141.14141.14 與 255.255255.255255.255 與運算結果是 141.14141.14141.14 ;
② 子網掩碼最后一位是 000 , 因此 242424 與 000 相與后 , 結果是 000 ;
③ 只需要計算第三位 727272 與 192192192 相與的結果 :
(01001000)&(11000000)=01000000(0100 \quad 1000 ) \quad \& \quad (1100 \quad 0000) = 0100 \quad 0000(01001000)&(11000000)=01000000
轉為十進制后為 646464 ;
網絡地址為 : 141.14.64.0141.14.64.0141.14.64.0 ;
2 . 示例 2
IP 地址 141.14.72.24141.14.72.24141.14.72.24 , 子網掩碼是 255.255.224.0255.255.224.0255.255.224.0 , 求對應的網絡地址 ?
① 子網掩碼 前兩位 是 255255255 , 141.14141.14141.14 與 255.255255.255255.255 與運算結果是 141.14141.14141.14 ;
② 子網掩碼最后一位是 000 , 因此 242424 與 000 相與后 , 結果是 000 ;
③ 只需要計算第三位 727272 與 224224224 相與的結果 :
(01001000)&(11100000)=01000000(0100 \quad 1000 ) \quad \& \quad (1110 \quad 0000) = 0100 \quad 0000(01001000)&(11100000)=01000000
轉為十進制后為 646464 ;
網絡地址為 : 141.14.64.0141.14.64.0141.14.64.0 ;
255.255.224.0255.255.224.0255.255.224.0 子網掩碼 與 255.255.192.0255.255.192.0255.255.192.0 子網掩碼對比 :
- 255.255.192.0255.255.192.0255.255.192.0 子網掩碼中 , 192192192 對應的二進制數為 110000001100 \quad 000011000000 , 其中有 666 位是主機號 , 加上剩余的最后 111 字節 , 主機號共有 141414 位 ;
- 255.255.224.0255.255.224.0255.255.224.0 子網掩碼中 , 224224224 對應的二進制數為 111000001110 \quad 000011100000 , 其中有 555 位是主機號 , 加上剩余的最后 111 字節 , 主機號共有 131313 位 ;
3 . 示例 3
主機 IP 地址是 180.80.77.55180.80.77.55180.80.77.55 , 其子網掩碼是 255.255.252.0255.255.252.0255.255.252.0 , 寫出該主機所在的子網的廣播地址 ;
廣播地址 , 網絡號正常 , 主機號都是 111 ;
先求出其網絡號 , 然后設置全 111 的主機號 ;
主機地址 180.80.77.55180.80.77.55180.80.77.55 與 子網掩碼 255.255.252.0255.255.252.0255.255.252.0 進行與運算 , 就可以得到其子網號 ;
77&252=01001101&11111100=0100110077 \& 252 = 0100 \ 1101 \& 1111 \ 1100 =0100 \ 110077&252=0100?1101&1111?1100=0100?1100
將 010011000100 \ 11000100?1100 轉為十進制是 767676 ;
網絡號是 : 180.80.76.0180.80.76.0180.80.76.0
廣播地址 : 將主機號都設置為 111 , 即可得到 廣播地址是 : 180.80.79.255180.80.79.255180.80.79.255
參考博客 : 【計算機網絡】網絡層 : 子網劃分 ( 三級 IP 地址 | 子網劃分 | 子網掩碼 | 子網掩碼計算示例 | 子網的分組轉發 )
7 . CIDR 無分類編址
1 . CIDR 發展
無分類編址 CIDR 發展 : “無分類編址” 又稱為 “無分類域間路由選擇” ;
① 分類 IP 地址 : 原來的 分類 IP 地址 , A 類 , B 類 , C 類 , IP 地址組成 : 網絡號 + 主機號 ;
② 子網劃分 IP 地址 : 在 分類 IP 地址基礎上 , 劃分子網 , IP 地址組成 : 網絡號 + 子網號 + 主機號 ;
③ 無分類編址法 : 由 網絡前綴 + 主機號 組成 ;
2 . CIDR 地址記法
無分類域間路由選擇 CIDR 記法 : IP 地址后面加上 “/” , 表示網絡前綴的長度 ;
如 : 128.14.35.7/20128.14.35.7/20128.14.35.7/20 , 表示該 IP 地址 , 前 202020 位 是網絡前綴 ;
CIDR 地址塊 : CIDR 將 網絡前綴 相同的 , 連續的 , IP 地址 , 組成一個 “CIDR 地址塊” ;
CIDR 地址塊相關計算 : 上述示例中 , 128.14.35.7/20128.14.35.7/20128.14.35.7/20 地址 , 是某個 CIDR 地址塊中的地址 , 根據該地址可以得到該 CIDR 地址塊 , 以及計算出該地址塊的 最大地址 和 最小地址 ;
① 先將 128.14.35.7/20128.14.35.7/20128.14.35.7/20 地址轉為 二進制 形式 ;
1000000000001110001000110000011110000000 \quad 00001110 \quad 00100011 \quad 0000011110000000000011100010001100000111
前 202020 位是 網絡前綴 , 為 :
1000000000001110001010000000 \quad 00001110 \quad 001010000000000011100010
② 地址塊地址 : 二進制形式如下 :
1000000000001110001010000000 \quad 00001110 \quad 001010000000000011100010 0000000000000000 \quad 00000000000000000000
轉為十進制為 :
128.14.32.0/20128.14.32.0/20128.14.32.0/20
③ 最小地址 : 最小地址就是 主機號 全 000 ; 也就是地址塊地址 ;
1000000000001110001010000000 \quad 00001110 \quad 001010000000000011100010 0000000000000000 \quad 00000000000000000000
④ 最大地址 : 最大地址就是 主機號 全 111 ;
1000000000001110001010000000 \quad 00001110 \quad 001010000000000011100010 1111111111111111 \quad 11111111111111111111
⑤ 子網掩碼 : 又稱為 “地址掩碼” , 網絡前綴對應的前 202020 位 為 111 , 主機號對應的位數為 000 ;
1111111111111111111111111111 \quad 11111111 \quad 111111111111111111111111 0000000000000000 \quad 00000000000000000000
轉為十進制為 : 255.255.240.0255.255.240.0255.255.240.0
3 . 構成超網 : 將 多個 CIDR 編址的 子網 聚合成一個較大的子網 , 又稱為 “路由聚合” ;
方法 : 縮短網絡前綴 ;
構成超網示例 :
- 子網塊 111 : 206.1.0.0/17206.1.0.0/17206.1.0.0/17 ;
- 子網塊 222 : 206.1.128.0/17206.1.128.0/17206.1.128.0/17 ;
上述網絡前綴都是 171717 位 , 將網絡前綴縮短 111 位 , 即可構成一個新的超網 , 網絡前綴為 161616 位 ;
新的超網為 : 206.1.0.0/16206.1.0.0/16206.1.0.0/16
4 . 最長前綴匹配 : 使用 CIDR 編址時 , 路由查找時 , 將可能得到的幾個匹配結果 , 選擇 符合 網絡前綴 的 , 具有最長網絡前綴 的路由 ;
原理 : 因為 前綴越長 , 主機號選擇性就越小 , 越容易找到對應的主機 ;
計算示例 :
路由表如下 :
- 目的網絡 111 : 132.0.0.0/8132.0.0.0/8132.0.0.0/8 , 下一跳路由 R1R1R1 ;
- 目的網絡 222 : 132.0.0.0/11132.0.0.0/11132.0.0.0/11 , 下一跳路由 R2R2R2 ;
- 目的網絡 333 : 132.19.232.0/22132.19.232.0/22132.19.232.0/22 , 下一跳路由 R3R3R3 ;
- 目的網絡 444 : 0.0.0.0/00.0.0.0/00.0.0.0/0 , 下一跳路由 R4R4R4 ;
分析 :
-
其中 目的網絡 444 是 默認路由 , 如果上述 333 個都不符合 , 就選擇默認路由 ;
-
目的網絡 111 的 網絡前綴 符合要求 , 網絡前綴長度為 888 , 該路由選擇 比 默認路由 要好 ;
-
目的網絡 222 的 網絡前綴 符合要求 , 網絡前綴長度為 111111 , 該路由選擇 比 目標網絡 222 要好 ;
-
目的網絡 333 的網絡前綴是 132.19.236.0132.19.236.0132.19.236.0 , 該網絡前綴不符合要求 , 必須不能選擇 ;
因此這里選擇 目的網絡 333 , 作為 下一跳路由 ;
5 . 計算示例
某網絡 IP 地址為 192.168.5.0/24192.168.5.0/24192.168.5.0/24 , 采用 定長子網劃分 , 子網掩碼為 255.255.255.248255.255.255.248255.255.255.248 , 求網絡中的最大子網個數 , 每個子網的最大可分配地址個數 ?
網絡地址是 192.168.5.0/24192.168.5.0/24192.168.5.0/24 , 前 242424 位 是網絡前綴 ;
在 CIDR 基礎之上 , 進行定長子網劃分 , 后面 888 位 , 一部分作為 子網號 , 一部分作為主機號 ;
子網掩碼為 255.255.255.248255.255.255.248255.255.255.248 , 轉為二進制是 :
1111111111111111111111111111 \quad 11111111 \quad 111111111111111111111111 000000000000 11111000\quad 1111100011111000
由上面的子網掩碼可得 , 子網號 占 555 位 , 主機號 占 333 位 ;
最大子網個數是 25=322^5 = 3225=32 個 , 在 CIDR 子網中 , 子網號可以全 000 , 全 111 ;
每個子網的最大主機個數是 : 23?2=62^3-2 = 623?2=6 , 要減去 全 000 和 全 111 兩種情況 ;
參考博客 : 【計算機網絡】網絡層 : 無分類編址 CIDR ( 編址發展 | CIDR 優點 | CIDR 相關計算 | 構成超網 | 最長前綴匹配 | 計算示例 )★
五、重要協議 ( ARP | DHCP | ICMP | IGMP ) ★
1 . ARP 協議
ARP 協議 使用過程 :
① 檢查 ARP 高速緩存 :
- 存在對應物理地址 : 如果有 目的 IP 地址對應的 MAC 地址 , 就直接寫入該 MAC 地址 ;
- 不存在對應物理地址 : 如果沒有 目的 IP 地址對應的 MAC 地址 , 則 使用 “FF-FF-FF-FF-FF-FF” 作為 MAC 地址 , 封裝并廣播 “ARP 請求分組” , 該局域網內所有的主機都能收到該請求 ;
② “ARP 請求分組” 處理 : 目的主機 收到 “ARP 請求分組” 后 , 向源主機 單播 “ARP 請求分組” , 源主機收到 該 “ARP 請求分組” 后 , 將 MAC 地址映射寫入到 ARP 緩存中 ;
③ 更新周期 : 每隔 101010 ~ 202020 分鐘 , 更新一次 ARP 高速緩存 ;
計算示例 :
源主機 發送 IP 數據報給目的主機 , 經過了 555 個路由器 , 期間使用了多少次 ARP 協議 ?
源主機 , 使用 ARP 協議 , 獲取第 111 個路由器的 物理地址 ;
第 111 個路由器 , 使用 ARP 協議 , 獲取第 222 個路由器的 物理地址 ;
第 222 個路由器 , 使用 ARP 協議 , 獲取第 333 個路由器的 物理地址 ;
第 333 個路由器 , 使用 ARP 協議 , 獲取第 444 個路由器的 物理地址 ;
第 444 個路由器 , 使用 ARP 協議 , 獲取第 555 個路由器的 物理地址 ;
第 555 個路由器 , 使用 ARP 協議 , 獲取 目的主機 的 物理地址 ;
總共使用了 666 次 ARP 協議 ;
參考博客 : 【計算機網絡】網絡層 : ARP 協議 ( 使用 ARP 協議查找 目的主機 / 路由器 物理地址 )★
2 . DHCP 協議
DHCP 協議 流程 :
① 主機 廣播 DHCP 發現報文 ; 該主機是想要申請 IP 地址的主機 ;
② DHCP 服務器 廣播 DHCP 提供報文 ;
③ 主機 廣播 DHCP 請求報文 ;
④ DHCP 服務器 廣播 DHCP 確認報文 ;
每個步驟都是廣播 ;
廣播的內容是 四種類型的報文 :
- DHCP 發現報文
- DHCP 提供報文
- DHCP 請求報文
- DHCP 確認報文
參考博客 : 【計算機網絡】網絡層 : DHCP 協議 ( DHCP 協議概念 | DHCP 協議特點 | DHCP 協議流程 )
3 . ICMP 協議
ICMP 協議 簡介 :
① ICMP 協議 全稱 : 網際控制報文協議 ;
② ICMP 協議 功能 :
- 差錯報告 : 對應 發送 差錯報文 ;
- 網絡探尋 : 對應 發送 探尋報文 ;
③ ICMP 報文 在 IP 數據報中位置 : ICMP 報文 屬于 IP 數據報 的 數據部分 ;
ICMP 報文內容 : 其中的類型是 差錯報文 / 探詢報文 ;
ICMP 五種差錯報告報文 :
① 終點不可達報文 : 路由器 / 主機 不能交付數據報時 , 就會向源點 發送 終點不可達報文 ;
② 源點抑制報文 : 路由器 / 主機 擁塞 , 丟棄 IP 數據報 , 向源點發送源點抑制報文 , 讓源點降低發送速率 ;
③ 時間超過報文 :
- 生存周期為 000 : 路由器 生存周期 TTL = 000 時 , 丟棄該報文 , 同時向源點發送 時間超過報文 ;
- 分組丟失 : 終點 在預定時間內 沒有收到 數據報的全部數據分組時 , 就會將已收到的數據分組全部丟棄 , 向源點發送時間超過報文 ;
④ 參數問題報文 : 路由器 / 主機 收到的 數據報 首部 字段由錯誤值 , 丟棄該數據報 , 向源點發送 參數問題報文 ;
⑤ 改變路由報文 : 路由器 將 改變路由報文 發送給主機 , 讓主機下次將數據報發送給另外的路由器 ; 又稱為 “重定向報文” ;
ICMP 差錯報文 不發送 情形 :
① ICMP 差錯報文錯誤 : IP 數據報 中 , 如果 ICMP 差錯報文部分出錯 , 就不用再發送 ICMP 差錯報告報文了 ;
② 后續數據報分片 : ICMP 差錯報文只針對數據報的第一個分片 , 后續分片就不發送 ICMP 差錯報告報文了 ;
③ 組播地址 : 如果 IP 數據報的地址是 組播地址 , 不發送 ICMP 差錯報文 ;
④ 特殊地址 : 如果 IP 數據報的地址是 特殊地址 , 不發送 ICMP 差錯報文 ; 如 : 默認路由地址 等 ;
ICMP 詢問報文 :
① 回送請求 和 回答報文 : 主機 / 路由器 詢問特定主機 , 目的主機收到該報文后 , 必須給源主機 發送 ICMP 回答報文 ; 目的是 測試該 目的主機是否可達 ;
② 時間戳請求 和 回答報文 : 請求 主機 / 路由器 當前的日期 和 時間 ; 用于進行時鐘同步 和 時間測量 ;
參考博客 : 【計算機網絡】網絡層 : ICMP 協議 ( ICMP 差錯報文 | 差錯報文分類 | ICMP 詢問報文 | ICMP 應用 | Ping | Traceroute )
4 . IGMP 協議
IGMP 協議 :
全稱 : 網際組管理協議 ;
作用 : IGMP 協議 讓 路由器 知道 本局域網 內的主機 , 是否 參加 / 退出 了 某個組播組 ; 如 : 小王 進入了 某主播直播間 , 那么小王的手機參加了組播組 ;
IGMP 協議在 TCP / IP 協議棧中的位置 : 處于 網絡層 上層 , ICMP 與 IGMP 都使用 IP 數據報 傳遞報文 ;
IGMP 工作流程 :
① 第一階段 : 加入組播組 ;
-
加入組播組 : 主機 向 組播組 的 組播地址 發送 IGMP 報文 , 聲明自己成為該組的成員 ;
-
組播路由器更新數據 : 本地組播路由器 收到 IGMP 報文后 , 利用 組播路由選擇協議 , 將組播組 成員關系發送給 因特網上的 其它組播路由器 ;
② 第二階段 : 定期輪詢組播組成員 ;
- 周期詢問 : 本地組播路由器 每隔一段時間 , 詢問 本地局域網的 組播組 111 的主機 AAA , 詢問該 主機 AAA 是否是 組播組 111 成員 ;
- 如果 主機 AAA 是組播組 111 成員 : 如果有主機 AAA 對 組播組 111 相應 , 組播路由器 認為 該組播組 111 是 活躍的 ;
- 如果 主機 AAA 不是組播組 111 成員 : 如果沒有主機響應 , 組播路由器 認為 本網絡上沒有 組播組 111 的成員 , 不再將本組的 AAA 主機當做組播組 111 的成員 發送給其它組播路由器 ;
參考博客 : 【計算機網絡】網絡層 : IP 組播 ( IP 數據報傳輸方式 | 組播 IP 地址 | 組播 MAC 地址 | IGMP 協議 | 組播路由選擇協議 )
六、IPv6 協議
IPv6 地址表示 :
① 冒號十六進制記法 : 2B2B:0000:0000:0000:002B:2B2B:2B2B:2B2B2B2B:0000:0000:0000:002B:2B2B:2B2B:2B2B2B2B:0000:0000:0000:002B:2B2B:2B2B:2B2B , 使用 777 個 冒號 , 將 888 個 short 短整型數字 使用 十六進制數表示出來 ;
② 壓縮形式 : 如果每個 short 短整型數字 前面若干位為 0 , 可以省略 , 如果四位全是 000 , 那么可以使用 一個 000 代替 ;
上述 IPv6 地址 使用壓縮形式 可以表示成 2B2B:0:0:0:2B:2B2B:2B2B:2B2B2B2B:0:0:0:2B:2B2B:2B2B:2B2B2B2B:0:0:0:2B:2B2B:2B2B:2B2B ;
③ 零壓縮 : 連續的 000 使用一對冒號表示 , 但是一個 IPv6 地址中只能使用一次 ;
零壓縮表示上述 IPv6 地址 : 2B2B::2B:2B2B:2B2B:2B2B2B2B::2B:2B2B:2B2B:2B2B2B2B::2B:2B2B:2B2B:2B2B
IPv4 向 IPv6 過渡策略 :
① 雙棧協議 : 同一臺設備上 同時啟用 IPv4 和 IPv6 協議棧 , 該設備既能使用 IPv4 通信 , 又能與 IPv6 網絡進行通信 ;
- 路由器 : 不同的接口 分別 配置 IPv4 地址 和 IPv6 地址 ;
- 計算機 : 計算機同時擁有 IPv4 地址 和 IPv6 地址 , 可同時處理兩種協議 ;
② 隧道技術 : 隧道技術 是 使用 互聯網 基礎設施 , 在網絡之間傳遞數據的方式 ; 使用 隧道 傳遞不同協議的數據 , 將其它協議的數據重新封裝然后通過隧道傳輸 ;
參考博客 : 【計算機網絡】網絡層 : IPv6 協議 ( IPv6 數據包格式 | IPv6 地址表示 | IPv6 地址類型 | IPv4 與 IPv6 協議對比 | IPv4 -> IPv6 過渡策略 )
七、路由選擇協議 ★
路由選擇協議分類 :
① 內部網管協議 IGP : 在 自治系統 ( Autonomous System ) 內部 使用的協議 ;
- RIP 協議 : 使用 距離向量 算法 ; 用于 小型網絡 ;
- OSPF 協議 : 使用 鏈路狀態 算法 ; 用于 大型網絡 ;
② 外部網關協議 EGP : 在 自治系統 ( Autonomous System ) 之間 使用的協議 ;
下圖中 自治系統 AAA 內部使用 RIP 協議 , 自治系統 BBB 內部使用 OSPF 協議 , 兩個自治系統 A,BA,BA,B 之間使用 BGP 協議 ;
RIP 協議
RIP 協議 :
① 概念 : RIP 協議 是 分布式的 , 基于 距離向量 的 , 路由選擇協議 ; 該協議是因特網協議標準 ;
② 特點 : 簡單 ;
③ RIP 協議內容 : 要求網絡中 , 每個路由器 都維護一個路由表 , 路由表內容是 從 路由器本身 到 目的網絡 的 唯一最佳距離記錄 ;
④ 距離 : 路由器 跳數 , 每經過一個路由器 , 跳數加一 ;
⑤ 直接連接距離 : 路由器 到 直接連接的網絡 , 距離是 111 ;
⑥ 最大距離 : RIP 協議中要求 , 一條路由只能包含 151515 個路由器 ( 包含其本身 ) , 距離 最大是 151515 , 如果距離為 161616 , 該目標主機就會被判定為 網絡不可達 ;
路由表 形成 需要進行信息 交換 , 需要與 指定的路由器 , 在指定的時機 , 交換指定信息 ;
RIP 協議 信息交換
RIP 協議 信息交換 :
① 交換對象 : 本路由器 只 與 相鄰路由器 進行信息交換 ;
② 交換信息 : 交換的信息是路由器的 本身的路由表 ; 將本路由器的路由表所有信息, 封裝在 RIP 報文中 , 發送給相鄰路由器 ;
③ 交換周期 : 每隔 303030 秒 , 交換一次路由信息 , 根據新的信息更新路由表 , 如果超過 180180180 秒沒有收到 鄰居路由器的 交換信息 , 則判定旁邊的 鄰居路由器沒了 , 更新自身的路由表 ;
交換過程 : 剛開始時 , 每個路由器 只知道 直連的網絡的距離 111 , 之后每個路由器想換交換信息 , 并更新路由信息 , 若干次交換后 , 所有的路由器都知道 本 自治系統 ( Autonomous System ) 中從任何路由器 到達 任何網絡的最短距離 , 和 下一跳路由地址 ;
路由表內容 : 網絡地址 , 跳數 , 下一跳地址 ;
RIP 協議是 應用層協議 , 使用 UDP 協議傳輸數據 ;
單個 RIP 報文中 , 最多存儲 252525 個路由信息 , 如果路由表很大 , 那么發送多個 RIP 報文 ;
RIP 協議特點 : 好消息更新快 , 壞消息更新慢 ; 網絡出現故障后 , 要經過幾分鐘 , 才能將該信息送達所有的路由 , 收斂慢 ;
OSPF 協議
OSPF 協議 簡介 :
① 全稱 : 開放最短路徑優先協議 ;
- “開放” 說明該協議是公開發表的
- “最短路徑優先” 指的是使用了 最短路徑算法 ;
② 主要特征 : 使用 分布式 鏈路狀態協議 ;
OSPF 協議 信息交換
OSPF 協議 信息交換 細節 :
① 交換對象 : OSPF 中使用 洪泛法 向 自治系統 ( Autonomous System ) 內部 所有路由器 發送消息 ; 本路由器 向 相鄰路由器 發送消息 , 相鄰路由器 再向 其相鄰路由器 發送消息 , 直到所有的路由器收到消息為止 , 相當于廣播 ;
② 交換信息 : OSPF 中發送消息內容是 , 本路由器 與 所有 相鄰路由器 的鏈路狀態 , 包括 有哪些相鄰路由器 , 鏈路狀態 如 距離 , 時延 , 帶寬 等指標 ;
③ 交換時機 : 只有當 鏈路狀態發生變化 時 , 路由器才使用 洪范法 向 AS 內所有路由器 廣播 本身與所有相鄰的路由器的鏈路狀態 ;
最終目的 : 所有的路由器 都有一個 鏈路狀態數據庫 ( 全網拓撲圖 ) ;
八、路由算法 ★
距離向量算法
距離向量算法 :
① 修改 RIP 報文 : 修改 相鄰 路由器 發送的 RIP 報文 中的 所有表項 ;
相鄰路由器 地址為 XXX , 發送來 RIP 報文 , ① 將 下一跳 地址改為 XXX 相鄰路由器地址 , ② 將距離 加一 ;
② 更新 本路由器 路由表 :
路由表內容 : 網絡地址 , 跳數 , 下一跳地址 ;
針對修改后的 RIP 報文 , 執行下面的操作 :
- 沒有的表項 : 沒有報文中路由表表項的 網絡地址 , 直接插入即可 ;
- 已有的表項 : 存在報文中路由表表項的 網絡地址 , 查看下一跳路由器地址 ,
- 下一跳就是 XXX 相鄰路由器 : 使用該新的路由表項替換原來的路由表項 ; 這種情況下 , 不管距離變大還是變小 , 只要下一跳路由器一樣 , 就更新 , 這說明了網絡拓撲發生了改變 ; 始終以新的數據為標準 ;
- 下一跳不是 XXX 相鄰路由器 : 比較距離 , 如果 本次的距離 比 原來的距離 近 , 就更新路由表項 , 如果遠 , 不做處理 ; ( 更新原則是 , 同一個目的地址 , 始終保持跳數較少的路由路徑 )
③ 刪除路由 : 如果 180180180 秒 , 還沒有收到相鄰路由器 XXX 的 RIP 報文數據 , 那么將 路由器 XXX 記為不可達路由器 , 將距離設置為 161616 ;
④ 返回 ;
距離向量算法示例 1
距離向量算法 計算示例 :
R6R6R6 本身路由表 :
- 表項 111 : 目的網絡 Net 222 , 距離 333 , 下一跳路由 R4R4R4 ;
- 表項 222 : 目的網絡 Net 333 , 距離 444 , 下一跳路由 R5R5R5 ;
收到 R4R4R4 發來的 RIP 報文 ( 路由更新信息 ) :
- 表項 111 : 目的網絡 Net 111 , 距離 333 , 下一跳路由 R1R1R1 ;
- 表項 222 : 目的網絡 Net 222 , 距離 444 , 下一跳路由 R2R2R2 ;
- 表項 333 : 目的網絡 Net 333 , 距離 111 , 下一跳路由 直接交付 ;
計算更新后的 R6R6R6 路由器路由表 ?
計算過程 :
① 修改 RIP 報文 :
- ① 將 下一跳 地址改為 XXX 相鄰路由器地址
- ② 將距離 加一 ;
按照上述 兩個步驟 修改 收到 R4R4R4 發來的 RIP 報文 ( 路由更新信息 ) :
- 表項 111 : 目的網絡 Net 111 , 距離 444 , 下一跳路由 R4R4R4 ;
- 表項 222 : 目的網絡 Net 222 , 距離 555 , 下一跳路由 R4R4R4 ;
- 表項 333 : 目的網絡 Net 333 , 距離 222 , 下一跳路由 R4R4R4 ;
② 更新 路由表 :
針對 "表項 111 : 目的網絡 Net 111 , 距離 444 , 下一跳路由 R4R4R4 " , 原來 R6R6R6 路由表中沒有 目的網絡 Net 111 , 直接將該路由表表項插入到 R6R6R6 路由表zh9ong ;
針對 "表項 222 : 目的網絡 Net 222 , 距離 555 , 下一跳路由 R4R4R4" , 原來 R6R6R6 路由表中 有 目的網絡 Net 222 , 對比下一跳地址 , 原來的路由表項中下一跳地址是 R4R4R4 , 不管距離是否遠近 , 這說明網絡的拓撲結構發生變化 , 直接使用新的路由表項 , 替換原來的 ;
( 本步驟與距離遠近無關 , 是網絡拓撲發生的變化 )
針對 "表項 333 : 目的網絡 Net 333 , 距離 222 , 下一跳路由 R4R4R4" , 原來 R6R6R6 路由表中 有 目的網絡 Net 333 , 對比下一跳地址 , 下一跳地址不同 , 那么開始對比距離遠近 , 原來的距離是 444 , 新的距離是 222 , 這里選擇距離較近的 , 即將 RIP 報文中的路由表表項更新到 R6R6R6 路由器中 ;
更新后的 R6R6R6 路由器表項 : ( 全都更改了一遍 )
- 表項 111 : 目的網絡 Net 111 , 距離 444 , 下一跳路由 R4R4R4 ;
- 表項 222 : 目的網絡 Net 222 , 距離 555 , 下一跳路由 R4R4R4 ;
- 表項 333 : 目的網絡 Net 333 , 距離 222 , 下一跳路由 R4R4R4 ;
距離向量算法示例 2
某子網 有 A,B,C,D,E,FA, B, C,D,E,FA,B,C,D,E,F 六個路由器 , 使用 距離-向量 算法 , 下面的向量 , 達到路由器 CCC :
- 來自 BBB 的向量為 (5,0,8,12,6,2)( 5, 0, 8 , 12 , 6, 2 )(5,0,8,12,6,2)
- 來自 DDD 的向量為 (16,12,6,0,9,10)( 16, 12, 6 , 0 , 9, 10 )(16,12,6,0,9,10)
- 來自 EEE 的向量為 (7,6,3,9,0,4)( 7, 6, 3 , 9 , 0 , 4 )(7,6,3,9,0,4)
CCC 到 B,D,EB, D, EB,D,E 的延遲分別是 6,3,56,3,56,3,5 , 求 CCC 到達所有節點的最短路徑 ;
計算過程 :
BBB 的向量為 (5,0,8,12,6,2)( 5, 0, 8 , 12 , 6, 2 )(5,0,8,12,6,2) , 即 BBB 到 A,B,C,D,E,FA, B, C,D,E,FA,B,C,D,E,F 六個路由器的跳數 ;
DDD 的向量為 (16,12,6,0,9,10)( 16, 12, 6 , 0 , 9, 10 )(16,12,6,0,9,10) , 即 DDD 到 A,B,C,D,E,FA, B, C,D,E,FA,B,C,D,E,F 六個路由器的跳數 ;
EEE 的向量為 (7,6,3,9,0,4)( 7, 6, 3 , 9 , 0 , 4 )(7,6,3,9,0,4) , 即 EEE 到 A,B,C,D,E,FA, B, C,D,E,FA,B,C,D,E,F 六個路由器的跳數 ;
CCC 到 BBB 再到 其它路由器跳數為 (11,6,14,18,12,8)( 11, 6, 14 , 18 , 12, 8 )(11,6,14,18,12,8)
CCC 到 DDD 再到 其它路由器跳數為 (19,15,9,3,12,13)( 19, 15, 9 , 3 , 12, 13 )(19,15,9,3,12,13)
CCC 到 EEE 再到 其它路由器跳數為 (12,11,8,14,5,9)( 12, 11, 8 , 14 , 5, 9 )(12,11,8,14,5,9)
CCC 到 AAA 最短 跳數 是 11,19,1211 , 19, 1211,19,12 中最小值 111111 ;
CCC 到 BBB 最短 跳數 是 6,15,116 , 15, 116,15,11 中最小值 666 ;
CCC 到 CCC 最短 跳數 是 000 ;
CCC 到 DDD 最短 跳數 是 8,3,148 , 3, 148,3,14 中最小值 333 ;
CCC 到 EEE 最短 跳數 是 12,12,512 , 12, 512,12,5 中最小值 555 ;
CCC 到 FFF 最短 跳數 是 8,13,98 , 13, 98,13,9 中最小值 888 ;
CCC 達到所有節點的路徑是 (11,6,0,3,5,8)( 11, 6, 0 , 3, 5, 8 )(11,6,0,3,5,8)
鏈路狀態路由算法
鏈路狀態路由算法 :
① HELLO 問候分組 : 路由器 通過發送 HELLO 問候分組 , 發現鄰居節點 ;
② 度量 : 設置 路由器 到 每個鄰居 的成本度量 ;
③ DD 數據庫描述分組 : 路由器 向 相鄰路由器 給出自己的 鏈路狀態數據庫 中 所有鏈路狀態 的 摘要信息 ; ( 注意不是所有信息 )
④ LSR 鏈路狀態請求分組 :
- 存在摘要對應信息 : 如果 收到的 DD 數據庫描述分組 中的摘要 , 自己都有 , 不做任何處理 ;
- 不存在摘要對應信息 : 如果 沒有 或者 有最新的 , 發送 LSR 鏈路狀態請求分組 , 請求自己 沒有 或者 有更新 的詳細信息 ; ( 這一這里是詳細信息 )
⑤ LSU 鏈路狀態更新分組 : 收到 LSR 鏈路狀態請求分組 后 , 發送 LSU 鏈路狀態更新分組 , 更新對方路由器的 鏈路狀態數據庫信息 ;
⑥ LSAck 鏈路狀態確認分組 : 收到 LSU 鏈路狀態更新分組 后 , 返回 LSAck 鏈路狀態確認分組 進行確認 ;
某個 路由器 鏈路狀態 發生變化 后的操作 :
① LSU 鏈路狀態更新分組 : 泛洪法 發送 LSU 鏈路狀態更新分組 , 更新所有路由器的 鏈路狀態數據庫 ;
② LSAck 鏈路狀態確認分組 : 路由器更新完畢后 , 回送 LSAck 鏈路狀態確認分組 ;
③ 構造最短路徑 : 每個路由器 根據自身的 鏈路狀態數據庫 , 構造本節點到其它節點的最短路徑 ;
總結
以上是生活随笔為你收集整理的【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机网络】网络层 : 网络层设备
- 下一篇: 【计算机网络】计算机网络概述 : 总结