我們一開始必須要了解清楚,ip位址就是給網際網路的每乙個主機(或路由器)的每乙個介面分配乙個在全世界範圍內唯一的32位識別符號。有了這個唯一的識別符號,我們才可能在網際網路上進行方便的定址。我們一般都是將32位的ip位址中的每8位,用等效的十位數進行替換,方便我們閱讀。舉個例子:
32位:10000000 00001011 00000011 00011111
我們一般用點分十進位制表示:128.11.3.31
分類編址。這是最基本的編址方式。
劃分子網。對分類編址的改進
無分類編址。這是目前正在使用的編址方式。
接下來我們一一看看這三種編址方式:
分類編址的位址,是由兩個固定長度的字段組成。乙個欄位是網路號(net-id)
,它是標誌主機所連網路。另乙個欄位是主機號(host-id)
,它標誌的是該主機,並且主機號必須在網路號的網路範圍內是唯一的。這樣子,乙個ip位址在整個網際網路範圍內便是唯一的。
這樣子的編址方式有以下幾種好處:
但是有乙個問題就是,32位的ip位址,我們需要多少位的網路號和多少位的主機號呢?分類編址的方案,設計了幾種方案,我們看看最常用的三種單播位址。
d、e這兩種位址咱不討論
通過這樣分類編址,當我們得到乙個ip位址時,我們可以通過前幾位就判斷位址類別並計算出網路號和主機號。
分類編址看起來很美好,但是實際上它考慮並不周全。在實際應用中,中小型規模的網路開始爆發,這樣導致了乙個問題十分明顯。1個c類位址空間佔乙個位元組也就是能容納256個主機,其中還有兩個是用於特殊目的。對於乙個組織來說,254臺主機,真的太不夠用了。所以只能申請b類位址,也就是佔2個位元組,65536臺主機。這樣的結果導致大量的ip位址被浪費,很快就會面臨分配完的危險。
為了解決這個問題,提出了分類子網的解決方案。也就是說,我們讓幾個中小規模的組織使用同乙個a或b類位址的網路號,然後再通過子網號(subnet-id)
來區分是否在同一條鏈路上。子網號是不定長的,對應的主機號就減少子網號所佔的位數。
劃分子網的編址方式,通過將a、b類位址空間劃分給多個組織使用,大大減少了對a、b類位址空間的浪費。
劃分子網在一度程度上,大大緩解了空間浪費問題。但是c類位址因為空間太小,得不到充分利用,也是非常大的浪費。後來ietf就提出了無分類編址(cidr)
方法來解決ip緊張的問題。
cidr消除了傳統的a、b、c類位址以及劃分子網的概念。ip位址分成兩個部分,前部分是不定長的網路字首(network-prefix)
,代替分類編址中的「網路號」來指明網路,後面仍舊是主機號,指明主機號。
是不是感覺又回到了分類編址的兩級結構,不過它們非常重要的區別就是網路字首是不定長的。這樣乙個ip位址並不能確定網路字首和主機,所以需要配合乙個32位的位址掩碼(address mask)
。位址掩碼是由一串1和跟著後面的0組成的,而且1的長度就是網路字首的長度。還可以通過斜線記法(slash notation)
,來表示網路字首1的長度,例如/20
代表位址掩碼有20個1。
接下來,就是看一下ip位址如何配合位址掩碼來實現唯一的標識。只要把位址掩碼和ip位址進行逐位的「與」運算,就可以得到它的網路位址(主機號全為0)。我們直接舉個例子看看通過ip位址如何得到網路位址的。
已知:
或者用斜線記法:141.14.72.24/18
思路: 將ip位址與網路掩碼都轉化成二進位制後進行「與」運算,這裡有個技巧就是,全為1和全為0都是不需要轉化運算的。所以在這個題目裡,我們僅僅需要將第三個位元組進行轉化後運算,得到主機號為0的網路號。
計算得:
技巧提示在例子中也講了,但這裡要強調一點就是,同乙個ip位址與不同的位址掩碼是可以得到相同的網路號的。雖然網路號一樣,但是不同的位址掩碼所代表的主機空間也是不一樣的。所以主機在進行網路配置的時候,不僅需要配置主機的ip位址,還需要配置所在網路的位址掩碼。
網路字首不僅僅只是用來表示某個網路的網路位址,它還可以表示連續的ip位址塊,所以它不再沿用「網路號」這個說法。cidr把網路字首都相同的連續ip位址組成「cidr位址塊」。我們只要知道了cidr位址塊的任意乙個位址,就可以知道位址塊的最小和最大位址,以及位址數。舉個例子:
已知:
思路: 我們從這裡可以得到前20位是網路字首,所以後12位便是主機號。所以我們讓主機號都為0,則是最小位址。主機號都為1,就是最大位址。而位址數就是2的12次方。
計算:
我們使用cidr可以更有效的分配ipv4的位址空間,可以根據需求分配適當大小的cidr位址塊,擁有之前幾種方法所不具備的靈活性。 計算機網路 網路層總結複習
該筆記是筆者學習計算機網路的思考記錄,總結 滿更 概述 1.網路層提供主機到主機的通訊服務,是一種盡力而為的通訊服務。2.網路層兩個重要的兩個功能 當乙個分組達到路由器的乙個輸入埠時,路由器將該分組移動到適當的輸出埠,概念偏重於落在路由器本地。路由選擇 當分組從傳送方流向接受方時,網路層決定決定分組...
計算機網路總結之網路層
虛電路 virtual circuit 在兩個終端裝置的邏輯或物理埠之間,通過建立的雙向的透明傳輸通道。虛電路表示這只是一條邏輯上的連線,分組都沿著這條邏輯連線按照儲存 方式傳送,而並不是真正建立了一條物理連線。ip internet protocol 網際協議 ip 是 tcp ip體系中兩個最主...
計算機網路總結之網路層
虛電路 virtual circuit 在兩個終端裝置的邏輯或物理埠之間,通過建立的雙向的透明傳輸通道。虛電路表示這只是一條邏輯上的連線,分組都沿著這條邏輯連線按照儲存 方式傳送,而並不是真正建立了一條物理連線。ip internet protocol 網際協議 ip 是 tcp ip體系中兩個最主...