1. 程式人生 > 實用技巧 >IP基礎知識全家桶 - 前菜

IP基礎知識全家桶 - 前菜

前言

前幾天發現雖然學計算機很久的我竟然不清楚IP,所以我決定寫一篇關於 IP 分類地址、子網劃分等的文章,希望對那些常常混淆,摸不著頭腦的小夥伴們有一點點作用。

那麼,說來就來!而且要盤就盤全一點。

吃完這個 IP 基礎知識全家桶,包你撐著肚子喊出:“真香!”

不多說,直接上菜,共分為三道菜:

首先是前菜 「 IP 基本認識 」

其次是主菜 「IP 地址的基礎知識」

最後是點心 「IP 協議相關技術」

為啥要比喻成菜?因為小編是菜雞(押韻不?)

正文

01

前菜 —— IP 基本認識

IP 在 TCP/IP 參考模型中處於第三層,也就是網路層。

我想應該有很多小夥伴都不知道模型長什麼樣吧。看下面,一定要記住哦。

網路層的主要作用是:實現主機與主機之間的通訊,也叫點對點(end to end)通訊。

IP的作用就是在複雜的網路環境中將資料包傳送給最終的目的主機。

網路層與資料鏈路層有什麼關係呢?

有的小夥伴分不清 IP(網路層) 和 MAC (資料鏈路層)之間的區別和關係。

其實很容易區分,在上面我們知道 IP 的作用是主機之間通訊用的,而 MAC 的作用則是實現「直連」的兩個裝置之間通訊,而 IP 則負責在「沒有直連」的兩個網路之間進行通訊傳輸。

舉個生活的栗子,小林要去一個很遠的地方旅行,制定了一個行程表,其間需先後乘坐飛機、地鐵、公交車才能抵達目的地,為此小林需要買飛機票,地鐵票等。

飛機票和地鐵票都是去往特定的地點的,每張票只能夠在某一限定區間內移動,此處的「區間內」就如同通訊網路中資料鏈路。

在區間內移動相當於資料鏈路層,充當區間內兩個節點傳輸的功能,區間內的出發點好比源 MAC 地址,目標地點好比目的 MAC 地址。

整個旅遊行程表就相當於網路層,充當遠端定位的功能,行程的開始好比源 IP,行程的終點好比目的IP 地址。

如果小林只有行程表而沒有車票,就無法搭乘交通工具到達目的地。相反,如果除了車票而沒有行程表,恐怕也很難到達目的地。

因為小林不知道該坐什麼車,也不知道該在哪裡換乘。因此,只有兩者兼備,既有某個區間的車票又有整個旅行的行程表,才能保證到達目的地。與此類似,計算機網路中也需要「資料鏈路層」和「網路層」這個分層才能實現向最終目標地址的通訊。

還有重要一點,旅行途中我們雖然不斷變化了交通工具,但是旅行行程的起始地址和目的地址始終都沒變。其實,在網路中資料包傳輸中也是如此,源IP地址和目標IP地址在傳輸過程中是不會變化的,只有源 MAC 地址和目標 MAC 一直在變化。

由於主菜比較多,怕下頓吃不了,先上一點哈。

02

主菜 —— IP 地址的基礎知識

在 TCP/IP 網路通訊時,為了保證能正常通訊,每個裝置都需要配置正確的 IP 地址,否則無法實現正常的通訊。

IP 地址(IPv4 地址)由 32 位正整數來表示,IP 地址在計算機是以二進位制的方式處理的。

而人類為了方便記憶採用了點分十進位制的標記方式,也就是將 32 位 IP 地址以每 8 位為組,共分為 4組,每組以「 . 」隔開,再將每組轉換成十進位制。

IP地址最大值也就是

也就說,最大允許 43 億臺計算機連線到網路。

就問你聽了怕不怕,如果地球上六七十億的人都是用電腦怎麼辦?

實際上,IP 地址並不是根據主機臺數來配置的,而是以網絡卡。像伺服器、路由器等裝置都是有 2 個以上的網絡卡,也就是它們會有 2 個以上的 IP 地址。

因此,讓 43 億臺計算機全部連網其實是不可能的,更何況 IP 地址是由「網路標識」和「主機標識」這兩個部分組成的,所以實際能夠連線到網路的計算機個數更是少了很多。

可能有的小夥伴提出了疑問,現在不僅電腦配了 IP, 手機、IPad 等電子裝置都配了 IP 呀,照理來說肯定會超過 43 億啦,那是怎麼能夠支援這麼多 IP 的呢?

因為會根據一種可以更換 IP 地址的技術 NAT ,使得可連線計算機數超過 43 億臺。NAT 技術後續會進一步討論和說明。

IP 地址的分類

網際網路誕生之初,IP 地址顯得很充裕,於是電腦科學家們設計了分類地址。

IP 地址分類成了 5 種類型,分別是 A 類、B 類、C 類、D 類、E 類。

上圖中黃色部分為分類號,用以區分 IP 地址類別。

什麼是 A、B、C 類地址?

其中對於 A、B、C 類主要分為兩個部分,分別是網路號和主機號。這很好理解,好比小林是 A 小區 1棟 101 號,你是 B 小區 1 棟 101 號。

我們可以用下面這個表格, 就能很清楚的知道 A、B、C 分類對應的地址範圍、最大主機個數。

A、B、C 分類地址最大主機個數是如何計算的呢?

最大主機個數,就是要看主機號的位數,如 C 類地址的主機號佔 8 位,那麼 C 類地址的最大主機個數:

為什麼要減 2 呢?

因為在 IP 地址中,有兩個 IP 是特殊的,分別是主機號全為 1 和 全為 0 地址。

  • 主機號全為 1 指定某個網路下的所有主機,用於廣播

  • 主機號全為 0 指定某個網路

因此,在分配過程中,應該去掉這兩種情況。

廣播地址用於什麼?

廣播地址用於在同一個鏈路中相互連線的主機之間傳送資料包。

學校班級中就有廣播的例子,在準備上課的時候,通常班長會喊:“上課, 全體起立!”,班裡的同學聽到這句話是不是全部都站起來了?這個句話就有廣播的含義。

當主機號全為 1 時,就表示該網路的廣播地址。例如把 172.20.0.0/16 用二進位制表示如下:

10101100.00010100.00000000.00000000

將這個地址的主機部分全部改為 1,則形成廣播地址:

10101100.00010100. 11111111.11111111

再將這個地址用十進位制表示,則為 172.20.255.255 。

廣播地址可以分為本地廣播和直接廣播兩種。

  • 在本網路內廣播的叫做本地廣播。例如網路地址為 192.168.0.0/24 的情況下,廣播地址是192.168.0.255 。因為這個廣播地址的 IP 包會被路由器遮蔽,所以不會到達 192.168.0.0/24 以外的其他鏈路上。

  • 在不同網路之間的廣播叫做直接廣播。例如網路地址為 192.168.0.0/24 的主機向192.168.1.255/24 的目標地址傳送 IP 包。收到這個包的路由器,將資料轉發給 192.168.1.0/24,從而使得所有 192.168.1.1~192.168.1.254 的主機都能收到這個包(由於直接廣播有一定的安全問題,多數情況下會在路由器上設定為不轉發。) 。

什麼是 D、E 類地址?

而 D 類和 E 類地址是沒有主機號的,所以不可用於主機 IP,D 類常被用於多播,E 類是預留的分類,暫時未使用。

多播地址用於什麼?

多播用於將包傳送給特定組內的所有主機。

還是舉班級的栗子,老師說:“最後一排的同學,上來做這道數學題。”,老師指定的是最後一排的同學,也就是多播的含義了。

由於廣播無法穿透路由,若想給其他網段傳送同樣的包,就可以使用可以穿透路由的多播。

多播使用的 D 類地址,其前四位是 1110 就表示是多播地址,而剩下的 28 位是多播的組編號。

從 224.0.0.0 ~ 239.255.255.255 都是多播的可用範圍,其劃分為以下三類:

  • 224.0.0.0 ~ 224.0.0.255 為預留的組播地址,只能在區域網中,路由器是不會進行轉發的。

  • 224.0.1.0 ~ 238.255.255.255 為使用者可用的組播地址,可以用於 Internet 上。

  • 239.0.0.0 ~ 239.255.255.255 為本地管理組播地址,可供內部網在內部使用,僅在特定的本地範圍內有效。

菜先上到這,記得光碟行動哦~ 下篇文章