六條路由器IP地址原理匯總
六條路由器IP地址原理匯總,為了給路由器IP地址原理找一個資源匯總,我做了很多嘗試。都不能很清晰地處理好自己的需求,所以在下面的文章中,應(yīng)該會有一個比較滿意的收獲。
在可路由的網(wǎng)絡(luò)層協(xié)議中,協(xié)議地址必須含有兩部分信息:網(wǎng)絡(luò)地址和主機地址。存貯這種信息最明顯的方法是用兩個分離的域,這樣我們必須考慮到兩個域的***長度,有些協(xié)議 ( 如 IPX) 就是這樣的,它在小型和中型的網(wǎng)絡(luò)里可以工作的很好。
另一種方案是減少主機地址域的長度,如 24 位網(wǎng)絡(luò)地址、 8 位主機地址,這樣就有了較多的網(wǎng)段,但每個網(wǎng)段內(nèi)的主機數(shù)目很少。這樣一來,對于多于 256 個主機的網(wǎng)絡(luò),就必須分配多個網(wǎng)段,其問題是很多的網(wǎng)絡(luò)給路由器造成了難以忍受的負擔。
IP 把網(wǎng)絡(luò)地址和主機地址一起包裝在一個 32 位的域里,有時主機地址部分很短,有時很長,這樣可以有效利用地址空間,減少 IP 地址的長度,并且網(wǎng)絡(luò)數(shù)目不算多。有兩種將主機地址分離出來的方法:基于類的地址和無類別的地址。
路由器IP地址原理:主機和網(wǎng)關(guān)
主機和網(wǎng)關(guān)的區(qū)別常產(chǎn)生混淆,這是由于主機意義的轉(zhuǎn)變。在 RFC 中 (1122/3 和 1009) 中定義為:主機是連接到一個或多個網(wǎng)絡(luò)的設(shè)備,它可以向任何一個網(wǎng)絡(luò)發(fā)送和從其接收數(shù)據(jù),但它從不把數(shù)據(jù)從一個網(wǎng)絡(luò)傳向另一個。
網(wǎng)關(guān)是連接到多于一個網(wǎng)絡(luò)的設(shè)備,它選擇性的把數(shù)據(jù)從一個網(wǎng)絡(luò)轉(zhuǎn)發(fā)到其它網(wǎng)絡(luò)。換句話說,過去主機和網(wǎng)關(guān)的概念被人工地區(qū)分開來,那時計算機沒有足夠的能力同時用作主機和網(wǎng)關(guān)。主機是用戶工作的計算機,或是文件服務(wù)器等。現(xiàn)代的計算機的能力足以同時擔當這兩種角色,因此,現(xiàn)代的主機定義應(yīng)該如此:
主機是連接到一個或多個網(wǎng)絡(luò)的設(shè)備,它可以向任何一個網(wǎng)絡(luò)發(fā)送和從其接收數(shù)據(jù)。它也可以作為網(wǎng)關(guān),但這不是其唯一的目的。路由器是專用的網(wǎng)關(guān),其硬件經(jīng)過特殊的設(shè)計使其能以極小的延遲轉(zhuǎn)發(fā)大量的數(shù)據(jù)。然而,網(wǎng)關(guān)也可以是有多個網(wǎng)卡的標準的計算機,其操作系統(tǒng)的網(wǎng)絡(luò)層有能力轉(zhuǎn)發(fā)數(shù)據(jù)。由于專用的路由硬件較便宜,計算機用作網(wǎng)關(guān)已經(jīng)很少見了,在只有一個撥號連接的小站點里,還可能使用計算機作為非專用的網(wǎng)關(guān)。
路由器IP地址原理:基于類的地址
◆最初設(shè)計 IP 時,地址根據(jù)***個字節(jié)被分成幾類:
◆0: 保留
◆1-126: A 類 ( 網(wǎng)絡(luò)地址 :1 字節(jié),主機地址 :3 字節(jié) )
◆127: 保留
◆128-191: B 類 ( 網(wǎng)絡(luò)地址 :2 字節(jié),主機地址 :2 字節(jié) )
◆192-223: C 類 ( 網(wǎng)絡(luò)地址 :3 字節(jié),主機地址 :1 字節(jié) )
◆224-255: 保留
路由器IP地址原理:子網(wǎng)劃分
雖然基于類的地址系統(tǒng)對因特網(wǎng)服務(wù)提供商來說工作得很好,但它不能在一個網(wǎng)絡(luò)內(nèi)部做任何路由,其目的是使用第二層 ( 橋接 / 交換 ) 來導引網(wǎng)絡(luò)中的數(shù)據(jù)。在大型的 A 類網(wǎng)絡(luò)中,這就成了個特殊的問題,因為在大型網(wǎng)絡(luò)中僅使用橋接 / 交換使其非常難以管理。
在邏輯上其解決辦法是把大網(wǎng)絡(luò)分割成若干小的網(wǎng)絡(luò),但在基于類的地址系統(tǒng)中這是不可能的。為了解決這個問題,出現(xiàn)了一個新的域:子網(wǎng)掩碼。子網(wǎng)掩碼指出地址中哪些部分是網(wǎng)絡(luò)地址,哪些是主機地址。在子網(wǎng)掩碼中,二進制 1 表示網(wǎng)絡(luò)地址位,二進制 0 表示主機地址位。傳統(tǒng)的各類地址的子網(wǎng)掩碼為:
◆A 類: 255.0.0.0
◆B 類: 255.255.0.0
◆C 類: 255.255.255.0
◆如果想把一個 B 類網(wǎng)絡(luò)的地址用作 C 類大小的地址,可以使用掩碼 255.255.255.0 。
用較長的子網(wǎng)掩碼把一個網(wǎng)絡(luò)分成多個網(wǎng)絡(luò)就叫做劃分子網(wǎng)。要注意的是,一些舊軟件不支持子網(wǎng),因為它們不理解子網(wǎng)掩碼。例如 UNIX 的 routed 路由守護進程通常使用的路由協(xié)議是版本 1 的 RIP ,它是在子網(wǎng)掩碼出現(xiàn)前設(shè)計的。
上面只介紹了三種子網(wǎng)掩碼: 255.0.0.0 、 255.255.0.0 和 255.255.255.0 ,它們是字節(jié)對齊的子網(wǎng)掩碼。但是也可以在字節(jié)中間對其進行劃分,這里不進行詳細講解,請參照相關(guān)的 TCP/IP 書籍。
子網(wǎng)使我們可以擁有新的規(guī)模的網(wǎng)絡(luò),包括很小的用于點到點連接的網(wǎng)絡(luò)(如掩碼 255.255.255.252 , 30 位的網(wǎng)絡(luò)地址, 2 位的主機地址:兩個主機的子網(wǎng)),或中型網(wǎng)絡(luò)(如掩碼 255.255.240.0 , 20 位網(wǎng)絡(luò)地址, 12 位主機地址: 4094 個主機的子網(wǎng))。注意 DNS 被設(shè)計為只允許字節(jié)對齊的 IP 網(wǎng)絡(luò) ( 在 in-addr.arpa. 域中 ) 。
路由器IP地址原理:超網(wǎng) (supernetting)
超網(wǎng)是與子網(wǎng)類似的概念 --IP 地址根據(jù)子網(wǎng)掩碼被分為獨立的網(wǎng)絡(luò)地址和主機地址。但是,與子網(wǎng)把大網(wǎng)絡(luò)分成若干小網(wǎng)絡(luò)相反,它是把一些小網(wǎng)絡(luò)組合成一個大網(wǎng)絡(luò) -- 超網(wǎng)。假設(shè)現(xiàn)在有 16 個 C 類網(wǎng)絡(luò),從 201.66.32.0 到 201.66.47.0 ,它們可以用子網(wǎng)掩碼 255.255.240.0 統(tǒng)一表示為網(wǎng)絡(luò) 201.66.32.0 。
路由器IP地址原理:并不是任意的地址組都可以這樣做,例如 16 個 C 類網(wǎng)絡(luò) 201.66.71.0 到 201.66.86.0 就不能形成一個統(tǒng)一的網(wǎng)絡(luò)。不過這其實沒關(guān)系,只要策略得當,總能找到合適的一組地址的。
路由器IP地址原理:可變長子網(wǎng)掩碼 (VLSM)
如果你想把你的網(wǎng)絡(luò)分成多個不同大小的子網(wǎng),可以使用可變長子網(wǎng)掩碼,每個子網(wǎng)可以使用不同長度的子網(wǎng)掩碼。例如:如果你按部門劃分網(wǎng)絡(luò),一些網(wǎng)絡(luò)的掩碼可以為 255.255.255.0( 多數(shù)部門 ) ,其它的可為 255.255.252.0( 較大的部門 ) 。
路由器IP地址原理:無類別地址 (CIDR)
因特網(wǎng)上的主機數(shù)量增長超出了原先的設(shè)想,雖然還遠沒達到 232 ,但地址已經(jīng)出現(xiàn)匱乏。 1993 年發(fā)表的 RFC1519-- 無類別域間路由 CIDR(Classless Inter-Domain Routing)-- 是一個嘗試解決此問題的方法。
CIDR 試圖延長 IPv4 的壽命,與 128 位地址的 IPv6 不同,它并不能最終解決地址空間的耗盡,但 IPv6 的實現(xiàn)是個龐大的任務(wù),因特網(wǎng)目前還沒有做好準備。 CIDR 給了我們緩沖的準備時間?;陬惖牡刂废到y(tǒng)工作的不錯,它在有效的地址使用和少量的網(wǎng)絡(luò)數(shù)目間做出了較好的折衷。但是隨著因特網(wǎng)意想不到的成長出現(xiàn)了兩個主要的問題:
已分配的網(wǎng)絡(luò)數(shù)目的增長使路由表大得難以管理,相當程度上降低了路由器的處理速度。僵化的地址分配方案使很多地址被浪費,尤其是 B 類地址十分匱乏。為了解決第二個問題,可以分配多個較小的網(wǎng)絡(luò),例如,用多個 C 類網(wǎng)絡(luò)而不是一個 B 類網(wǎng)絡(luò)。雖然這樣能夠很有效地分配地址,但是更加劇了路由表的膨脹(***個問題)。
在 CIDR 中,地址根據(jù)網(wǎng)絡(luò)拓撲來分配。連續(xù)的一組網(wǎng)絡(luò)地址可以被分配給一個服務(wù)提供商,使整組地址作為一個網(wǎng)絡(luò)地址(很可能使用超網(wǎng)技術(shù))。例如:一個服務(wù)提供商被分配以 256 個 C 類地址,從 213.79.0.0 到 213.79.255.0 ,服務(wù)提供商給每個用戶分配一個 C 類地址,但服務(wù)提供商外部的路由表只通過一個表項 -- 掩碼為 255.255.0.0 的網(wǎng)絡(luò) 213.79.0.0-- 來分辨這些路由。
這種方法明顯減少了路由表的增長, CIDR RFC 的作者估計,如果 90% 的服務(wù)提供商使用了 CIDR ,路由表將以每 3 年 54% 的速度增長,而如果沒有使用 CIDR ,則增長速度為 776% 。如果可以重新組織現(xiàn)有的地址,則因特網(wǎng)骨干上的路由器廣播的路由數(shù)量將大大減少。但這實際是不可行的,因為將帶來巨大的管理負擔。