計算機網絡基礎知識筆記(三)


  無分類編址CIDR(Classless Inter-Domain Routing,構造超網)

背景:在1992年因特網仍然面臨三個必須盡早解決的問題,這就是:B類地址在1992年已分配了近一半,眼看就要在1994年3月全部分配完畢!因特網主干網上的路由表中的項目數急劇增長(從幾千個增長到幾萬個)。 整個 IPv4 的地址空間最終將全部耗盡。

1987年,RFC1009就指明了在一個划分子網的網絡中可同時使用幾個不同的子網掩碼。使用變長子網掩碼VLSM(Variable Length Subnet Mask)可進一步提高IP地址資源的利用率。在VLSM的基礎上又進一步研究出無分類編址方法,它的正式名字是無分類域間路由選擇 CIDR (Classless Inter-Domain Routing)。

特點:CIDR消除了傳統的A,B,C類地址以及划分子網的概念。CIDR使用各種長度的“網絡前綴”(network-prefix)來代替分類地址中的網絡號和子網號。IP 地址從三級編址(使用子網掩碼)又回到了兩級編址。

  無分類的兩級編址/  IP地址 ::= {<網絡前綴>, <主機號>}

1)CIDR 還使用“斜線記法”(slash notation),它又稱為CIDR記法,即在 IP 地址后面加上一個斜線“/”,然后寫上網絡前綴所占的位數(這個數值對應於三級編址中子網掩碼中 1 的個數)。

2)CIDR 把網絡前綴都相同的連續的 IP 地址組成“CIDR 地址塊”。

  路由聚合(route aggregation) 

一個 CIDR 地址塊可以表示很多地址,這種地址的聚合常稱為路由聚合,它使得路由表中的一個項目可以表示很多個(例如上千個)原來傳統分類地址的路由。

路由聚合也稱為構成超網(supernetting)。 CIDR 雖然不使用子網了,但仍然使用“掩碼”這一名詞(但不叫子網掩碼)。 對於 /20 地址塊,它的掩碼是 20 個連續的 1。

斜線記法中的數字就是掩碼中1的個數。

  CIDR 記法的其他形式

10.0.0.0/10 可簡寫為 10/10,也就是將點分十進制中低位連續的 0 省略。

10.0.0.0/10 相當於指出 IP 地址 10.0.0.0 的掩碼是 255.192.0.0,即 11111111 11000000 00000000 00000000

網絡前綴的后面加一個星號 * 的表示方法 如 00001010 00*,在星號 * 之前是網絡前綴,而星號 * 表示 IP 地址中的主機號,可以是任意值。

  構成超網

前綴長度不超過 23 位的 CIDR 地址塊都包含了多個 C 類地址。

這些 C 類地址合起來就構成了超網。 CIDR 地址塊中的地址數一定是 2 的整數次冪。

網絡前綴越短,其地址塊所包含的地址數就越多。而在三級結構的IP地址中,划分子網是使網絡前綴變長。

  CIDR地址划分舉例

這個 ISP 共有 64 個 C 類網絡。如果不采用 CIDR 技術,則在與該 ISP 的路由器交換路由信息的每一個路由器的路由表中,就需要有 64 個項目。但采用地址聚合后,只需用路由聚合后的 1 個項目 206.0.64.0/18 就能找到該 ISP。

  最長前綴匹配

使用 CIDR 時,路由表中的每個項目由“網絡前綴”和“下一跳地址”組成。在查找路由表時可能會得到不止一個匹配結果。

應當從匹配結果中選擇具有最長網絡前綴的路由:最長前綴匹配(longest-prefix matching)。網絡前綴越長,其地址塊就越小,因而路由就越具體(more specific) 。最長前綴匹配又稱為最長匹配或最佳匹配。

   最長前綴匹配舉例

后記:CIDR的使用已經推遲了IP地址將要耗盡的日期。

  使用二叉線索查找路由表(用5個前綴構成的二叉線索)

  網際控制報文協議(Internet Control Message Protocol,ICMP)

為了提高 IP 數據報交付成功的機會,在網際層使用了網際控制報文協議 ICMP (Internet Control Message Protocol)。

ICMP 允許主機或路由器報告差錯情況和提供有關異常情況的報告。ICMP不是高層協議,而是 IP 層的協議。ICMP 報文作為IP層數據報的數據,加上數據報的首部,組成IP數據報發送出去。

  ICMP報文格式:

   

ICMP 報文的種類有兩種,即 ICMP 差錯報告報文 ICMP 詢問報文。 ICMP 報文的前 4 個字節是統一的格式,共有三個字段:即類型、代碼和檢驗和。接着的 4 個字節的內容與 ICMP 的類型有關。

   ICMP 差錯報告報文共有 5 種

終點不可達

源點抑制(Source quench)

時間超過

參數問題

改變路由(重定向)(Redirect)

   ICMP 差錯報告報文的數據字段的內容

  不應發送 ICMP 差錯報告報文 的幾種情況

對 ICMP 差錯報告報文不再發送 ICMP 差錯報告報文。

對第一個分片的數據報片的所有后續數據報片都不發送 ICMP 差錯報告報文。

對具有多播地址的數據報都不發送 ICMP 差錯報告報文。

對具有特殊地址(如127.0.0.0 或 0.0.0.0)的數據報不發送 ICMP 差錯報告報文。

   ICMP的應用舉例 PING (Packet InterNet Groper)

PING 用來測試兩個主機之間的連通性。

PING 使用了 ICMP 回送請求與回送回答報文。

PING 是應用層直接使用網絡層 ICMP 的例子,它沒有通過運輸層的 TCP 或UDP。

 

  因特網的路由選擇協議(路由表中的路由是怎樣得出的)

有關路由選擇協議的幾個基本概念:

1. 理想的路由算法

算法必須是正確的和完整的。

算法在計算上應簡單。

算法應能適應通信量和網絡拓撲的變化,這就是說,要有自適應性。

算法應具有穩定性。

算法應是公平的。

算法應是最佳的。

2.  分層次的路由選擇協議

因特網采用分層次的路由選擇協議。 因特網的規模非常大。如果讓所有的路由器知道所有的網絡應怎樣到達,則這種路由表將非常大,處理起來也太花時間。而所有這些路由器之間交換路由信息所需的帶寬就會使因特網的通信鏈路飽和。 許多單位不願意外界了解自己單位網絡的布局細節和本部門所采用的路由選擇協議(這屬於本部門內部的事情),但同時還希望連接到因特網上。

  因特網有兩大類路由選擇協議

內部網關協議 IGP (Interior Gateway Protocol) 即在一個自治系統內部使用的路由選擇協議。目前這類路由選擇協議使用得最多,如 RIP 和 OSPF 協議。

外部網關協議EGP (External Gateway Protocol) 若源站和目的站處在不同的自治系統中,當數據報傳到一個自治系統的邊界時,就需要使用一種協議將路由選擇信息傳遞到另一個自治系統中。這樣的協議就是外部網關協議 EGP。在外部網關協議中目前使用最多的是BGP-4。

  自治系統和 內部網關協議、外部網關協議

  

  內部網關協議 RIP (Routing Information Protocol)

從一路由器到直接連接的網絡的距離定義為 1。

從一個路由器到非直接連接的網絡的距離定義為所經過的路由器數加 1。

RIP 協議中的“距離”也稱為“跳數”(hop count),因為每經過一個路由器,跳數就加 1。

這里的“距離”實際上指的是“最短距離”。

RIP 認為一個好的路由就是它通過的路由器的數目少,即“距離短”。

RIP 允許一條路徑最多只能包含 15 個路由器。 “距離”的最大值為16 時即相當於不可達。

可見 RIP 只適用於小型互聯網。 RIP 不能在兩個網絡之間同時使用多條路由。

RIP 選擇一個具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。

  RIP 協議的三個要點

僅和相鄰路由器交換信息。

交換的信息是當前本路由器所知道的全部信息,即自己的路由表。

按固定的時間間隔交換路由信息,例如,每隔30秒。

  路由表的建立

路由器在剛剛開始工作時,只知道到直接連接的網絡的距離(此距離定義為1)。 以后,每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。 經過若干次更新后,所有的路由器最終都會知道到達本自治系統中任何一個網絡的最短距離和下一跳路由器的地址。 RIP 協議的收斂(convergence)過程較快,即在自治系統中所有的結點都得到正確的路由選擇信息的過程。

  距離向量算法

收到相鄰路由器(其地址為 X)的一個 RIP 報文:

(1) 先修改此 RIP 報文中的所有項目:把“下一跳”字段中的地址都改為 X,並把所有的“距離”字段的值加 1。

(2) 對修改后的 RIP 報文中的每一個項目,重復以下步驟: 若項目中的目的網絡不在路由表中,則把該項目加到路由表中。 否則 若下一跳字段給出的路由器地址是同樣的,則把收到的項 目 替換原路由表中的項目。 否則 若收到項目中的距離小於路由表中的距離,則進行更新, 否則,什么也不做。

(3) 若 3 分鍾還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可達路由器,即將距離置為16(距離為16表示不可達)。

(4) 返回。

  RIP 協議的優缺點

RIP存在的一個問題是當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。

RIP 協議最大的優點就是實現簡單,開銷較小

RIP 限制了網絡的規模,它能使用的最大距離為 15(16 表示不可達)。

路由器之間交換的路由信息是路由器中的完整路由表,因而隨着網絡規模的擴大,開銷也就增加。

  內部網關協議 OSPF (Open Shortest Path First)

1. OSPF 協議的基本特點

“開放”表明 OSPF 協議不是受某一家廠商控制,而是公開發表的。

“最短路徑優先”是因為使用了Dijkstra 提出的最短路徑算法SPF OSPF 只是一個協議的名字,它並不表示其他的路由選擇協議不是“最短路徑優先”。 是分布式的鏈路狀態協議。

  路由器在網際互連中的作用

路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,其任務是轉發分組。也就是說,將路由器某個輸入端口收到的分組,按照分組要去的目的地(即目的網絡),把該分組從路由器的某個合適的輸出端口轉發給下一跳路由器。下一跳路由器也按照這種方法處理分組,直到該分組到達終點為止。

   

“轉發”(forwarding)就是路由器根據轉發表將用戶的 IP 數據報從合適的端口轉發出去。

“路由選擇”(routing)則是按照分布式算法,根據從各相鄰路由器得到的關於網絡拓撲的變化情況,動態地改變所選擇的路由。 路由表是根據路由選擇算法得出的。

而轉發表是從路由表得出的。 在討論路由選擇的原理時,往往不去區分轉發表和路由表的區別。

   IP 多播

參考:IP多播技術及其應用

  網際組管理協議 IGMP

第一階段:當某個主機加入新的多播組時,該主機應向多播組的多播地址發送IGMP 報文,聲明自己要成為該組的成員。本地的多播路由器收到 IGMP 報文后,將組成員關系轉發給因特網上的其他多播路由器。

第二階段:因為組成員關系是動態的,因此本地多播路由器要周期性地探詢本地局域網上的主機,以便知道這些主機是否還繼續是組的成員。只要對某個組有一個主機響應,那么多播路由器就認為這個組是活躍的。但一個組在經過幾次的探詢后仍然沒有一個主機響應,則不再將該組的成員關系轉發給其他的多播路由器。

IGMP 采用的一些具體措施 

在主機和多播路由器之間的所有通信都是使用 IP 多播。 多播路由器在探詢組成員關系時,只需要對所有的組發送一個請求信息的詢問報文,而不需要對每一個組發送一個詢問報文。默認的詢問速率是每 125 秒發送一次。 當同一個網絡上連接有幾個多播路由器時,它們能夠迅速和有效地選擇其中的一個來探詢主機的成員關系。

在 IGMP 的詢問報文中有一個數值 N,它指明一個最長響應時間(默認值為 10秒)。當收到詢問時,主機在 0 到 N 之間隨機選擇發送響應所需經過的時延。對應於最小時延的響應最先發送。 同一個組內的每一個主機都要監聽響應,只要有本組的其他主機先發送了響應,自己就可以不再發送響應了。

  虛擬專用網 VPN 和網絡地址轉換 NAT

本地地址—僅在機構內部使用的 IP 地址,可以由本機構自行分配,而不需要向因特網的管理機構申請。

全球地址—全球唯一的IP地址,必須向因特網的管理機構申請。

10.0.0.0 到 10.255.255.255

172.16.0.0 到 172.31.255.255

192.168.0.0 到 192.168.255.255

這些地址只能用於一個機構的內部通信,而不能用於和因特網上的主機通信。

專用地址只能用作本地地址而不能用作全球地址。在因特網中的所有路由器對目的地址是專用地址的數據報一律不進行轉發。

由部門 A 和 B 的內部網絡所構成的虛擬專用網 VPN 又稱為內聯網(intranet),表示部門 A 和 B 都是在同一個機構的內部。

一個機構和某些外部機構共同建立的虛擬專用網 VPN 又稱為外聯網(extranet)。

網絡地址轉換 NAT(Network Address Translation)

需要在專用網連接到因特網的路由器上安裝 NAT 軟件。裝有 NAT 軟件的路由器叫做 NAT路由器,它至少有一個有效的外部全球地址 IPG。

所有使用本地地址的主機在和外界通信時都要在 NAT 路由器上將其本地地址轉換成 IPG 才能和因特網連接。

  網絡地址轉換的過程

內部主機 X 用本地地址 IPX 和因特網上主機 Y 通信所發送的數據報必須經過 NAT 路由器。 NAT 路由器將數據報的源地址 IPX 轉換成全球地址 IPG,但目的地址 IPY 保持不變,然后發送到因特網。

NAT 路由器收到主機 Y 發回的數據報時,知道數據報中的源地址是 IPY 而目的地址是 IPG。

根據 NAT 轉換表,NAT 路由器將目的地址 IPG 轉換為 IPX,轉發給最終的內部主機 X。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM