在最初定義Internet地址結構時,每一個單播IP地址都有一個網絡部分,用於識別接口使用的IP地址在哪一個網絡中可被發現;以及一個主機地址,用於識別由網絡部分給出的網絡中的特定主機。所以,地址中的一些連續位稱爲網絡號,其他連續位稱爲主機號。
基於上述分類方法,IPv4地址按照網絡號和主機號的長度被分爲五大類。A、B、C類用於爲Internet(單播地址)中的設備接口分配地址,以及其餘特殊狀況下使用。類由地址中的頭幾位來定義:0爲A類,10爲B類,110爲C類,1110爲D類,1111爲E類。D類地址供組播使用,E類地址保留。分類以下圖所示:網絡
由此可得出按此分類方式獲得的IPv4地址空間劃分:less
上述地址空間劃分只是理論上的,而實際上有幾個地址一般不做爲單播地址使用,特別是地址塊中的第一個和最後一個地址一般不使用。
這種IP地址結構分類的特色與缺陷是顯而易見的,例如A類地址的網絡數少但主機數多,C類地址的網絡數多而主機數少,這每每會形成一個網絡號內的主機號沒法徹底分配,形成IP地址資源的利用率低下的問題。從而使IPv4的地址資源很快就出現了枯竭的趨勢,尋找進一步細分IP地址的方法也就成爲了必然。性能
最初分類尋址的方法很難爲接入Internet的新網段分配一個新的網絡號,隨着20世紀80年代初局域網(Local Area Network,LAN)的發展這一問題更爲突出。爲了解決這一問題,人們天然想到一種方式,在一個站點接入Internet後爲其分配網絡號,而後由站點管理員進一步劃分本地的子網數。也即在初始的網絡號+主機號的結構的基礎上,將主機號劃分爲子網號+主機號,這樣就能夠在不改變核心路由基礎的前提下細分網絡。這種方法被稱爲子網尋址。
子網尋址改變了最初一個IP地址的網絡部分和主機部分的限制,但這樣作只是針對一個站點自身而言,Internet的其他部分仍然只能看到傳統的A~E的網絡。從本質上來講,子網尋址爲IP地址結構增長了一個額外部分,但它沒有爲地址增長長度。所以,一個站點管理員能在子網數和每一個子網中預期的主機數之間靈活劃分,不須要與其餘站點協調。
子網尋址提供這種靈活性的代價是增長成本。因爲當前的子網字段和主機字段是由站點指定而不是由網絡號分類決定,一個站點中全部路由器和主機須要一種新的方式來肯定地址中的子網部分和其中的主機部分。在出現子網以前,這個信息可直接從一個網絡號中得到,只需知道是A類、B類或C類地址。spa
子網掩碼(subnet mask)是由一臺主機或路由器使用的分配位,以肯定如何從一臺主機對應IP地址中得到網絡和子網信息。IP子網掩碼與對應的IP地址長度相同(IPv4爲32位,IPv6爲128位)。其格式以下:.net
掩碼由路由器和主機使用,以肯定一個IP地址的網絡/子網部分的結束和主機部分的開始。子網掩碼中的一位設爲1表示一個IP地址的對應位與一個地址的網絡/子網部分的對應位相結合,並將結果做爲轉發數據報的基礎。相反,子網掩碼中的一位設爲0表示一個IP地址的對應位做爲主機號的一部分。如圖所示:3d
一個IP地址與一個子網掩碼按位與後就造成了用於路由的地址的網絡/子網標識符(前綴),這是邊界路由器須要的信息,以肯定子網。Internet路由系統其他部分不須要識別子網掩碼,由於站點以外的路由器作出路由決策只基於地址的網絡號部分,並不須要網絡/子網或主機部分。所以,子網掩碼純粹是站點內部的局部問題。blog
子網掩碼的出現讓網絡劃分的細粒度更高,提升了IP地址資源的利用率。將一個分配給站點的網絡號進一步細分爲多個可分配大小相同的子網,並根據網絡管理員的合理要求使每一個子網能支持相同數量的主機。這種方式在複雜的網絡環境中,其IP地址資源仍是會有不小的浪費。所以咱們天然想到了放寬一個網絡的子網掩碼的限制,讓其長度可變,即在同一站點的不一樣部分,將不一樣長度的子網掩碼應用於相同網絡號。雖然這樣增長了地址配置管理的複雜性,但也提升了子網結構的靈活性,由於不一樣子網能夠容納不一樣數量的主機。這就是可變長度子網掩碼(Variable Length Subnet Mask,VLSM),用於分割一個網絡號,使每一個子網支持不一樣數量的主機。VLSM可對子網進行層次化編址,使得多級子網成爲可能,這種高級IP尋址技術容許網絡管理員對已子網進行劃分,以便最有效地利用現有的地址空間。接口
20世紀90年代初,在採用子網尋址緩解IPv4地址資源面臨枯竭的危機後,Internet開始面臨更嚴重的規模問題。主要體如今如下三個方面:
·到1994年,一半以上的B類地址已被分配。預計B類地址大約在1995年將被用盡
·32位的IPv4地址被認爲不足以應付Internet在21世紀初的預期規模
·全球性路由表的條目數(每一個網絡號對應一條)隨着子網的出現增加得更快,路由性能將受到影響
IPv6被設想於解決第2個問題,而對於更爲迫切的另外兩個問題,無類別域間路由和路由聚合的概念應運而生。進程
爲了幫助換件IPv4地址的壓力,分類尋址方案一般使用一個相似VLSM的方案,擴展Internet路由系統以支持無類別域間路由(Classless InterDomain Routing,CIDR)。CIDR對原來用於分配A類、B類和C類地址的有類別路由選擇進程進行了從新構建。CIDR用若干位長的前綴取代了原來IP地址結構中對網絡部分的限制,這提供了一種方便的分配連續地址範圍的方式。內存
使用CIDR,未通過預約義的任何地址範圍可做爲一個類的一部分,但須要一個相似於子網掩碼的掩碼,有時也稱爲CIDR掩碼。CIDR掩碼再也不侷限於一個站點,而對於全球性路由系統都是可見的。所以,除了網絡號以外,核心Internet路由器必須能解釋和處理這種掩碼。這個數字組合稱爲網絡前綴,它用於IPv4和IPv6地址管理。
消除一個IP地址中網絡號和主機號的預約義分隔,將使更細粒度的IP地址分配範圍稱爲可能。與分類尋址相似,地址空間分割成塊最容易經過數值連續的地址來實現,以便用於某種類型或某些特殊用途。一個n位的前綴是一個IP地址的前n個位的預約義值。對於IPv4,n(前綴長度)的值一般在範圍0~32,對於IPv6則是0~128。它一般被追加到基本IP地址,而且後面跟着一個/字符。如圖所示:
採用前綴概念的另外一個緣由是,早期的分類尋址方案易於被這個方案覆蓋。
CIDR創建於「超級組網」的基礎上,超級組網可看做是子網劃分的逆過程。子網劃分時,從IP地址的主機部分借位,將其合併至網絡部分;而在超級組網中,則是將網絡部分的某些位合併進主機部分。
經過取消分類結構的IP地址,能分配各類尺寸的IP地址塊。但這樣作只是進一步提升了IP地址的劃分細粒度,而並無減小路由表的條目數。路由聚合經過將相鄰的多個IP前綴合併成一個短前綴(稱爲一個聚合或匯聚),能夠覆蓋更多地址空間。
例如,三個IP地址:190.154.27.0/26,190.154.27.64/26,190.154.27.192/26,其二進制表示以下:
190.154.27.0/26和190.15427.64/26的26位前綴中只有最後一位不一樣,所以這兩個IP地址能夠聚合爲190.154.27.0/25。
路由匯聚提升了路由選擇的效率,下降了對路由器內存的要求(路由表條目數減小),且當從新計算路由表或檢索路由表條目,即對路由表進行分析以找出前往目標IP地址的路徑時,下降了所需的CPU週期(也就是時間)。
IP地址從最初的分類尋址方式逐漸改進,增長了子網掩碼,再到對有類別的路由進行從新構建,放棄了早期的有類別路由,改用無類別域間路由,都是爲了更有效地利用IP地址資源。這些技術雖然大部分是爲了應對IPv4地址資源不足而提出的,但對於IPv6也一樣適用。這一系列技術使得IPv4的生存時間延長,但其32位的地址空間只能分配約43億個IP地址,隨着物聯網等概念的興起,接入Internet的設備將不只僅只侷限於傳統意義上的計算機,且數量將大幅增長。所以IPv6的提出纔是從根本上解決IP地址資源短缺的方案。
原文連接:https://blog.csdn.net/qq_37653144/article/details/80344833